Dokumen tersebut membahas tentang software testing, dengan mendefinisikan tujuan dan manfaat software testing serta menjelaskan beberapa teknik dan tingkat pengujian perangkat lunak.
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan TestingTri Sugihartono
Ìý
1. Lingkup Pengujian
2. Masalah-masalah Umum pada Software Testing
3. Tahap Pengujian
4. Pengujian System Development Life Cycle (SDLC)
5. Verifikasi Kegiatan
6. Is it bugs?
Dokumen tersebut membahas berbagai strategi pengujian perangkat lunak, termasuk tujuan, metode, dan jenis pengujian perangkat lunak seperti unit testing, integration testing, functional testing, acceptance testing, regression testing, dan beta testing.
Dokumen tersebut membahas tentang pengujian perangkat lunak dan kualitas perangkat lunak. Pengujian perangkat lunak meliputi verifikasi dan validasi untuk memastikan perangkat lunak sesuai dengan spesifikasi dan kebutuhan pengguna. Kualitas perangkat lunak penting untuk menjamin operabilitas, kemudahan memahami, dan stabilitas sistem.
Dokumen tersebut membahas tentang pengujian perangkat lunak, meliputi pengertian pengujian perangkat lunak, tujuan pengujian, tahap-tahap pengujian, dan jenis-jenis pengujian seperti black box testing dan white box testing.
Strategi testing software berfokus pada empat tahapan yaitu unit testing, integration testing, validation testing, dan system testing. Unit testing memeriksa fungsi komponen secara individual, integration testing mengintegrasikan komponen, validation testing memastikan kesesuaian dengan kebutuhan, dan system testing menguji seluruh sistem. Terdapat berbagai teknik testing sesuai dengan tahapan dan tingkat abstraksi yang diuji.
Dokumen tersebut membahas tentang pengujian perangkat lunak, termasuk definisi pengujian menurut IEEE, dua strategi pengujian utama (big bang testing dan incremental testing), dua jenis pengujian (black box testing dan white box testing), serta beberapa jenis pengujian khusus seperti unit testing, integration testing, dan regression testing.
Ringkasan dokumen tersebut adalah:
1. Dokumen tersebut membahas tentang kualitas sistem informasi dan perangkat lunak, termasuk definisi kualitas, faktor-faktor kualitas, dan cara mengidentifikasi kesalahan pemrograman kritis.
2. Ada tiga kategori model faktor kualitas perangkat lunak menurut McCall yaitu operasi produk, revisi produk, dan transisi produk.
3. Beberapa poin untuk menilai kualitas sistem informasi
Teknik pengujian perangkat lunak meliputi pengujian black box dan white box. Pengujian white box melibatkan pengujian struktur kontrol logika perangkat lunak untuk memastikan semua jalur dieksekusi. Metode pengujian berbasis jalur menggunakan graf aliran untuk mengidentifikasi jalur independen dan menetapkan jumlah kasus pengujian minimum.
Teknik pengujian perangkat lunak meliputi pengujian black box dan white box. Pengujian white box melibatkan pengujian struktur kontrol logika perangkat lunak untuk memastikan semua jalur dieksekusi. Metode pengujian berbasis jalur menggunakan graf aliran untuk mengidentifikasi jalur independen dan menentukan jumlah kasus pengujian minimum.
Teknik pengujian perangkat lunak meliputi pengujian black box dan white box. Pengujian white box melibatkan pengujian struktur kontrol program dengan merancang kasus tes yang mengeksekusi setiap jalur logika. Kompleksitas siklomatik digunakan untuk mengukur jumlah jalur independen dan menentukan jumlah tes minimum.
Ringkasan dokumen tersebut adalah:
Kelompok 10 membahas pengujian perangkat lunak seperti whitebox testing, blackbox testing, dan greybox testing serta model kualitas perangkat lunak seperti model McCall dan spiral model.
Teknik pengujian perangkat lunak meliputi pengujian black box dan white box. Pengujian black box hanya melihat keluaran tanpa melihat proses, sedangkan pengujian white box melihat struktur kode program. Beberapa teknik pengujian meliputi unit testing, integration testing, system testing, testing method, dan class testing.
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information SystemsAinul Yaqin
Ìý
File ini adalah lembar kerja mahasiswa untuk mata kuliah Applied Artificial Intelligence in Information Systems. Tujuan pembelajarannya mencakup pemahaman tentang Decision Support Systems (DSS), Business Intelligence (BI), proses pengambilan keputusan, analisis bisnis, manajemen kinerja bisnis, kolaborasi, manajemen pengetahuan, serta teknologi canggih dan tren terkini dalam sistem informasi.
Lembar kerja ini terdiri dari 14 bab yang mencakup berbagai topik, yaitu:
Decision Support and Business Intelligence
Decision Making, Systems, Modeling, and Support
Decision Support Systems Concepts, Methodologies, and Technologies
Modeling and Analysis
Data Mining for Business Intelligence
Artificial Neural Networks for Data Mining
Text and Web Mining
Data Warehousing
Business Performance Management
Collaborative Computer-Supported Technologies and Group Support Systems
Knowledge Management
Artificial Intelligence and Expert Systems
Advanced Intelligent Systems
Management Support Systems – Emerging Trends and Impacts
Setiap babnya memiliki format yang sama, yaitu tujuan pembelajaran, pengantar materi, kegiatan belajar (pemahaman konsep, tugas, diskusi kelompok), penilaian, dan refleksi. Kegiatan belajar sangat bervariasi, mulai dari menjawab pertanyaan, menggambar diagram, analisis kasus, melakukan eksperimen menggunakan tools tertentu, hingga diskusi kelompok dan presentasi.
Referensi utama yang digunakan dalam mata kuliah ini adalah buku Decision Support and Business Intelligence Systems oleh Turban, E., Sharda, R., & Delen, D.
Lembar kerja ini memberikan kerangka kerja yang komprehensif bagi mahasiswa untuk memahami dan menerapkan konsep-konsep penting dalam kecerdasan buatan terapan pada sistem informasi, melalui kombinasi pembelajaran teoretis dan tugas-tugas praktis.
Daftar Judul Paper Artificial Intelligence in Information SystemAinul Yaqin
Ìý
Penelitian mengenai "Analisis Model Pengambilan Keputusan Berbasis Sistem Pendukung Keputusan dalam Lingkungan Bisnis Dinamis" menyoroti bagaimana teknologi Decision Support Systems (DSS) berperan dalam mendukung pengambilan keputusan yang efektif di lingkungan bisnis yang berubah cepat. Dengan memanfaatkan teknik pemodelan dan analisis, DSS dapat membantu organisasi mengidentifikasi peluang serta mengelola risiko secara lebih optimal. Sementara itu, "Analisis Peran Sistem Pendukung Keputusan dalam Pengelolaan Risiko dan Perencanaan Strategis Perusahaan" meneliti bagaimana DSS berkontribusi dalam mengelola ketidakpastian bisnis melalui pendekatan berbasis data.
Dalam ranah Business Intelligence, penelitian "Pemanfaatan Business Intelligence untuk Menganalisis Perilaku Konsumen dalam Industri E-Commerce" membahas bagaimana BI digunakan untuk memahami pola belanja konsumen, memungkinkan personalisasi layanan, serta meningkatkan retensi pelanggan. Selain itu, "Integrasi Business Intelligence dan Machine Learning dalam Meningkatkan Efisiensi Operasional Perusahaan" mengeksplorasi sinergi antara BI dan Machine Learning dalam mengoptimalkan pengambilan keputusan berbasis prediksi dan otomatisasi.
Di sektor industri manufaktur, penelitian "Peran Algoritma Genetik dalam Optimasi Pengambilan Keputusan pada Industri Manufaktur" menyoroti bagaimana Genetic Algorithm digunakan untuk mengoptimalkan produksi, mengurangi biaya operasional, serta meningkatkan efisiensi rantai pasok. Sejalan dengan itu, penelitian "Analisis Efektivitas Artificial Neural Networks dalam Prediksi Risiko Kredit Perbankan" mengevaluasi penggunaan Artificial Neural Networks (ANN) dalam memitigasi risiko kredit melalui model prediksi yang lebih akurat dibandingkan metode tradisional.
Dalam ranah kolaborasi organisasi dan manajemen pengetahuan, penelitian "Analisis Efektivitas Group Support Systems dalam Meningkatkan Kolaborasi dan Pengambilan Keputusan Organisasi" membahas bagaimana teknologi Group Support Systems (GSS) dapat meningkatkan efektivitas kerja tim dan proses pengambilan keputusan bersama. Selain itu, "Analisis Faktor Keberhasilan Knowledge Management System dalam Organisasi Berbasis Teknologi" berfokus pada faktor-faktor utama yang mempengaruhi keberhasilan implementasi Knowledge Management Systems (KMS) dalam organisasi berbasis teknologi, termasuk peran budaya organisasi, adopsi teknologi, dan keterlibatan pengguna.
Pada bidang kecerdasan buatan dan sistem pendukung keputusan berbasis AI, penelitian "Evaluasi Kinerja Sistem Pakar dalam Mendukung Pengambilan Keputusan di Sektor Keuangan" mengeksplorasi efektivitas sistem pakar dalam meningkatkan keakuratan keputusan finansial, sementara "Implementasi Intelligent Agents dalam Meningkatkan Efisiensi Operasional pada E-Commerce" membahas bagaimana agen cerdas dapat mengotomatisasi proses bisnis, meningkatkan pengalaman pelanggan, serta mempercepat pengambilan keputusan strategis.
Dokumen tersebut membahas tentang pengujian perangkat lunak, meliputi pengertian pengujian perangkat lunak, tujuan pengujian, tahap-tahap pengujian, dan jenis-jenis pengujian seperti black box testing dan white box testing.
Strategi testing software berfokus pada empat tahapan yaitu unit testing, integration testing, validation testing, dan system testing. Unit testing memeriksa fungsi komponen secara individual, integration testing mengintegrasikan komponen, validation testing memastikan kesesuaian dengan kebutuhan, dan system testing menguji seluruh sistem. Terdapat berbagai teknik testing sesuai dengan tahapan dan tingkat abstraksi yang diuji.
Dokumen tersebut membahas tentang pengujian perangkat lunak, termasuk definisi pengujian menurut IEEE, dua strategi pengujian utama (big bang testing dan incremental testing), dua jenis pengujian (black box testing dan white box testing), serta beberapa jenis pengujian khusus seperti unit testing, integration testing, dan regression testing.
Ringkasan dokumen tersebut adalah:
1. Dokumen tersebut membahas tentang kualitas sistem informasi dan perangkat lunak, termasuk definisi kualitas, faktor-faktor kualitas, dan cara mengidentifikasi kesalahan pemrograman kritis.
2. Ada tiga kategori model faktor kualitas perangkat lunak menurut McCall yaitu operasi produk, revisi produk, dan transisi produk.
3. Beberapa poin untuk menilai kualitas sistem informasi
Teknik pengujian perangkat lunak meliputi pengujian black box dan white box. Pengujian white box melibatkan pengujian struktur kontrol logika perangkat lunak untuk memastikan semua jalur dieksekusi. Metode pengujian berbasis jalur menggunakan graf aliran untuk mengidentifikasi jalur independen dan menetapkan jumlah kasus pengujian minimum.
Teknik pengujian perangkat lunak meliputi pengujian black box dan white box. Pengujian white box melibatkan pengujian struktur kontrol logika perangkat lunak untuk memastikan semua jalur dieksekusi. Metode pengujian berbasis jalur menggunakan graf aliran untuk mengidentifikasi jalur independen dan menentukan jumlah kasus pengujian minimum.
Teknik pengujian perangkat lunak meliputi pengujian black box dan white box. Pengujian white box melibatkan pengujian struktur kontrol program dengan merancang kasus tes yang mengeksekusi setiap jalur logika. Kompleksitas siklomatik digunakan untuk mengukur jumlah jalur independen dan menentukan jumlah tes minimum.
Ringkasan dokumen tersebut adalah:
Kelompok 10 membahas pengujian perangkat lunak seperti whitebox testing, blackbox testing, dan greybox testing serta model kualitas perangkat lunak seperti model McCall dan spiral model.
Teknik pengujian perangkat lunak meliputi pengujian black box dan white box. Pengujian black box hanya melihat keluaran tanpa melihat proses, sedangkan pengujian white box melihat struktur kode program. Beberapa teknik pengujian meliputi unit testing, integration testing, system testing, testing method, dan class testing.
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information SystemsAinul Yaqin
Ìý
File ini adalah lembar kerja mahasiswa untuk mata kuliah Applied Artificial Intelligence in Information Systems. Tujuan pembelajarannya mencakup pemahaman tentang Decision Support Systems (DSS), Business Intelligence (BI), proses pengambilan keputusan, analisis bisnis, manajemen kinerja bisnis, kolaborasi, manajemen pengetahuan, serta teknologi canggih dan tren terkini dalam sistem informasi.
Lembar kerja ini terdiri dari 14 bab yang mencakup berbagai topik, yaitu:
Decision Support and Business Intelligence
Decision Making, Systems, Modeling, and Support
Decision Support Systems Concepts, Methodologies, and Technologies
Modeling and Analysis
Data Mining for Business Intelligence
Artificial Neural Networks for Data Mining
Text and Web Mining
Data Warehousing
Business Performance Management
Collaborative Computer-Supported Technologies and Group Support Systems
Knowledge Management
Artificial Intelligence and Expert Systems
Advanced Intelligent Systems
Management Support Systems – Emerging Trends and Impacts
Setiap babnya memiliki format yang sama, yaitu tujuan pembelajaran, pengantar materi, kegiatan belajar (pemahaman konsep, tugas, diskusi kelompok), penilaian, dan refleksi. Kegiatan belajar sangat bervariasi, mulai dari menjawab pertanyaan, menggambar diagram, analisis kasus, melakukan eksperimen menggunakan tools tertentu, hingga diskusi kelompok dan presentasi.
Referensi utama yang digunakan dalam mata kuliah ini adalah buku Decision Support and Business Intelligence Systems oleh Turban, E., Sharda, R., & Delen, D.
Lembar kerja ini memberikan kerangka kerja yang komprehensif bagi mahasiswa untuk memahami dan menerapkan konsep-konsep penting dalam kecerdasan buatan terapan pada sistem informasi, melalui kombinasi pembelajaran teoretis dan tugas-tugas praktis.
Daftar Judul Paper Artificial Intelligence in Information SystemAinul Yaqin
Ìý
Penelitian mengenai "Analisis Model Pengambilan Keputusan Berbasis Sistem Pendukung Keputusan dalam Lingkungan Bisnis Dinamis" menyoroti bagaimana teknologi Decision Support Systems (DSS) berperan dalam mendukung pengambilan keputusan yang efektif di lingkungan bisnis yang berubah cepat. Dengan memanfaatkan teknik pemodelan dan analisis, DSS dapat membantu organisasi mengidentifikasi peluang serta mengelola risiko secara lebih optimal. Sementara itu, "Analisis Peran Sistem Pendukung Keputusan dalam Pengelolaan Risiko dan Perencanaan Strategis Perusahaan" meneliti bagaimana DSS berkontribusi dalam mengelola ketidakpastian bisnis melalui pendekatan berbasis data.
Dalam ranah Business Intelligence, penelitian "Pemanfaatan Business Intelligence untuk Menganalisis Perilaku Konsumen dalam Industri E-Commerce" membahas bagaimana BI digunakan untuk memahami pola belanja konsumen, memungkinkan personalisasi layanan, serta meningkatkan retensi pelanggan. Selain itu, "Integrasi Business Intelligence dan Machine Learning dalam Meningkatkan Efisiensi Operasional Perusahaan" mengeksplorasi sinergi antara BI dan Machine Learning dalam mengoptimalkan pengambilan keputusan berbasis prediksi dan otomatisasi.
Di sektor industri manufaktur, penelitian "Peran Algoritma Genetik dalam Optimasi Pengambilan Keputusan pada Industri Manufaktur" menyoroti bagaimana Genetic Algorithm digunakan untuk mengoptimalkan produksi, mengurangi biaya operasional, serta meningkatkan efisiensi rantai pasok. Sejalan dengan itu, penelitian "Analisis Efektivitas Artificial Neural Networks dalam Prediksi Risiko Kredit Perbankan" mengevaluasi penggunaan Artificial Neural Networks (ANN) dalam memitigasi risiko kredit melalui model prediksi yang lebih akurat dibandingkan metode tradisional.
Dalam ranah kolaborasi organisasi dan manajemen pengetahuan, penelitian "Analisis Efektivitas Group Support Systems dalam Meningkatkan Kolaborasi dan Pengambilan Keputusan Organisasi" membahas bagaimana teknologi Group Support Systems (GSS) dapat meningkatkan efektivitas kerja tim dan proses pengambilan keputusan bersama. Selain itu, "Analisis Faktor Keberhasilan Knowledge Management System dalam Organisasi Berbasis Teknologi" berfokus pada faktor-faktor utama yang mempengaruhi keberhasilan implementasi Knowledge Management Systems (KMS) dalam organisasi berbasis teknologi, termasuk peran budaya organisasi, adopsi teknologi, dan keterlibatan pengguna.
Pada bidang kecerdasan buatan dan sistem pendukung keputusan berbasis AI, penelitian "Evaluasi Kinerja Sistem Pakar dalam Mendukung Pengambilan Keputusan di Sektor Keuangan" mengeksplorasi efektivitas sistem pakar dalam meningkatkan keakuratan keputusan finansial, sementara "Implementasi Intelligent Agents dalam Meningkatkan Efisiensi Operasional pada E-Commerce" membahas bagaimana agen cerdas dapat mengotomatisasi proses bisnis, meningkatkan pengalaman pelanggan, serta mempercepat pengambilan keputusan strategis.
Lembar Kerja Mahasiswa Rekayasa Perangkat LunakAinul Yaqin
Ìý
Lembar Kerja Mahasiswa (LKM) Dasar-Dasar Rekayasa (Engineering Foundations) dirancang untuk membekali mahasiswa dengan pemahaman komprehensif mengenai prinsip-prinsip rekayasa yang menjadi dasar dalam pengembangan perangkat lunak. LKM ini mencakup berbagai konsep penting, seperti prinsip rekayasa yang berfokus pada efisiensi, keandalan, dan keamanan sistem, serta metode empiris yang digunakan untuk menguji dan mengevaluasi performa perangkat lunak. Mahasiswa akan mempelajari teknik eksperimen dan validasi, seperti A/B testing, pengujian terkendali, serta pendekatan berbasis survei untuk menilai efektivitas desain dan fungsionalitas perangkat lunak. Selain itu, LKM ini juga mengeksplorasi penerapan simulasi dalam rekayasa perangkat lunak, termasuk metode seperti Simulasi Monte Carlo, Agent-Based Modeling, dan Discrete Event Simulation (DES) yang digunakan dalam pemodelan sistem kompleks. Mahasiswa akan belajar bagaimana menggunakan alat dan teknik pemodelan sistem, seperti Unified Modeling Language (UML), Petri Nets, dan State Machines untuk mendesain serta menganalisis sistem perangkat lunak dengan lebih terstruktur. Selain itu, aspek analisis statistik juga menjadi bagian integral dalam LKM ini, dengan menyoroti teknik seperti Mean Time Between Failures (MTBF), Regression Analysis, dan Hypothesis Testing untuk mengevaluasi keandalan sistem perangkat lunak. Dalam bagian optimasi sistem, mahasiswa akan memahami bagaimana teknik seperti Genetic Algorithms, Linear Programming, dan Simulated Annealing digunakan untuk meningkatkan performa dan efisiensi perangkat lunak dalam berbagai aplikasi industri. Melalui studi kasus nyata, mahasiswa akan diberikan kesempatan untuk menerapkan teori yang dipelajari ke dalam konteks praktis, seperti optimasi rute dalam aplikasi logistik, analisis keandalan sistem IoT dalam lingkungan smart city, dan perancangan sistem reservasi online berbasis pemodelan matematis. LKM ini juga menekankan pentingnya pendekatan rekayasa dalam pengambilan keputusan teknis yang berkaitan dengan manajemen sumber daya, pemilihan arsitektur sistem, serta integrasi berbagai teknologi dalam siklus hidup perangkat lunak. Dengan kombinasi teori dan aplikasi praktis, mahasiswa diharapkan dapat mengembangkan keterampilan analitis, pemecahan masalah, dan pemikiran sistematis dalam mengembangkan solusi perangkat lunak yang lebih efisien, aman, dan inovatif. LKM ini juga memberikan wawasan tentang bagaimana prinsip-prinsip rekayasa dapat diterapkan dalam berbagai disiplin ilmu teknologi informasi, termasuk kecerdasan buatan, pemrosesan data berskala besar, dan arsitektur berbasis layanan (Service-Oriented Architecture). Dengan pendekatan yang holistik dan berbasis standar industri, LKM ini menjadi panduan penting bagi mahasiswa yang ingin memperdalam pemahaman mereka mengenai fondasi rekayasa dalam dunia perangkat lunak.
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptxAinul Yaqin
Ìý
Dokumen tersebut membahas tentang audit menggunakan sistem informasi dengan fokus pada catatan kejadian (event log), format event log, process mining, algoritma process mining, kemiripan model proses bisnis, dan penemuan fraud berdasarkan data dan proses.
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptxAinul Yaqin
Ìý
Dokumen tersebut membahas proses perencanaan sistem informasi organisasi yang meliputi identifikasi portofolio aplikasi, integrasi sistem, dan memastikan fungsi sistem mendukung tujuan organisasi. Proses perencanaan terdiri atas beberapa fase mulai dari menentukan konteks, kebutuhan bisnis, penilaian sistem saat ini, hingga menyiapkan rencana implementasi. Aspek-aspek yang perlu diperhatikan meliputi sistem informasi, infrastrukt
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptxAinul Yaqin
Ìý
Dokumen ini membahas tentang kecerdasan dalam sistem informasi, termasuk keputusan dalam organisasi, otomasi keputusan, penentuan titik keputusan, decision mining, arsitektur kecerdasan dalam sistem informasi, dan algoritma kecerdasan dalam sistem informasi.
Materi Kuliah Sistem Informasi 07 Enterprise System.pptxAinul Yaqin
Ìý
This document discusses key concepts related to enterprise systems including Porter's value chain model, enterprise resource planning (ERP), supply chain management, customer relationship management, and e-business. It focuses on how these concepts help organizations manage resources and relationships with customers and suppliers in today's digital business environment.
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...Ainul Yaqin
Ìý
Dokumen tersebut membahas tentang berbagai komponen sistem komputer dan jaringan seperti server, perangkat keras, perangkat lunak, dan perangkat input-output yang mendukung berbagai sistem komputer.
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptxAinul Yaqin
Ìý
Dokumen tersebut membahas tentang sistem informasi dalam organisasi, termasuk visi dan misi organisasi, arsitektur bisnis, struktur organisasi, deskripsi pekerjaan, prosedur operasi standar, proses bisnis, dan pengelolaan proses bisnis.
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptxAinul Yaqin
Ìý
Dokumen ini membahas tentang sistem informasi, termasuk definisi dari fakta, data, informasi, dan pengetahuan. Juga membahas komponen sistem informasi dan klasifikasi sistem informasi berdasarkan tingkat organisasi, area fungsional, dukungan yang diberikan, dan arsitektur sistem informasi.
2. Definisi Software Testing
• Suatu proses untuk mengevaluasi dan
memverifikasi software dengan tujuan
untuk menemukan kesalahan atau
kelemahan dalam software sehingga
dapat diperbaiki dan meningkatkan
kualitas software.
3. Tujuan Software Testing
• Meningkatkan kualitas software
• Menjamin keandalan dan kinerja
software
• Menemukan bug, kesalahan, dan
kelemahan dalam software
• Memastikan kesesuaian software
dengan kebutuhan pengguna
4. Manfaat Software Testing
• Meningkatkan kualitas software
• Mengurangi risiko kesalahan dan kerusakan pada
software
• Menghemat waktu dan biaya pengembangan
• Menjaga kepuasan pengguna
• Memperbaiki reputasi organisasi
• Meningkatkan efisiensi dan produktivitas
pengembangan software
• Menjaga keamanan data dan privasi pengguna
5. Masalah Utama dalam
Software Testing
• Kriteria seleksi pengujian
• Efektifitas pengujian
• Pengujian penemuan cacat
• Masalah oracle
• Batasan teoritis dan praktis pengujian
• Masalah jalur tidak layak
• Testabilitas
6. Kriteria seleksi pengujian
• Sarana untuk memilih kasus uji atau
menentukan bahwa serangkaian kasus
uji cukup untuk tujuan tertentu.
• Seperangkat kriteria yang digunakan
untuk memilih kasus uji yang paling
tepat untuk memastikan kualitas
software.
8. Efektifitas pengujian
• Sejauh mana pengujian dapat menemukan bug
atau kesalahan pada software dan memastikan
bahwa software memenuhi persyaratan
fungsional dan non-fungsional yang
diinginkan oleh pengguna akhir.
• Faktor yang mempengaruhi efektifitas
pengujian :
– Kualitas tes
– Penggunaan metode dan teknik yang tepat
– Ketersediaan lingkungan dan alat yang memadai
– Kompetensi tim pengujian
– Tujuan pengujian yang jelas
9. Pengujian untuk menemukan
cacat
• Pengujian yang berhasil adalah
pengujian yang menyebabkan sistem
gagal.
• Pengujiannya terdiri dari:
– Pengujian fungsional
– Pengujian keamanan
– Pengujian kinerja
– Pengujian keseluruhan
10. Oracle Problem
• Oracle adalah setiap agen manusia atau
mesin yang memutuskan suatu program
berperilaku benar dalam pengujian yang
diberikan.
• Penyebab oracle problem:
– Dokumentasi spesifikasi kurang lengkap
– Pengujian fungsional yang hanya
memperhatikan output tanpa memperhatikan
bagaimana output tersebut dihasilkan
11. Oracle Problem
• Cara mengatasi oracle problem:
– Dokumentasi spesifikasi harus lengkap dan
jelas
– Pengujian fungsional memperhatikan input
dan proses untuk menghasilkan output
– Pengujian pengguna untuk memastikan
bahwa software berfungsi dengan benar
dari perspektif pengguna
12. Batasan Pengujian Teoritis dan
Praktis
• Pengujian software dapat digunakan
untuk menunjukkan adanya bug, tetapi
tidak dapat menunjukkan tidak adanya
bug.
• Pengujian teoritis menentukan
spesifikasi software sesuai dengan
tujuan bisnis
• Pengujian praktis menunjukkan kinerja
software dalam dunia nyata
13. Masalah Jalur Tidak Layak
• Jalur tidak layak (infeasible path) dalam
pengujian perangkat lunak adalah masalah
yang terjadi ketika suatu jalur dalam kode
program tidak dapat diakses atau tidak dapat
dijalankan selama pengujian.
• Hal ini dapat terjadi karena beberapa faktor,
seperti kegagalan dalam penggunaan variabel,
kondisi tak terduga, atau pengaturan alur
logika yang tidak benar.
14. Masalah Jalur Tidak Layak
• Salah satu solusi untuk masalah jalur tidak
layak adalah dengan melakukan analisis jalur
(path analysis) sebelum melakukan pengujian.
• Pengujian dengan menggunakan teknik
pengujian semu (symbolic testing) atau teknik
pengujian mutasi (mutation testing) juga dapat
membantu mengatasi masalah jalur tidak
layak.
15. Testability
• Kemudahan dalam memenuhi kriteria
cakupan tes tertentu.
• Seberapa mudah kita dapat menemukan
kesalahan atau kegagalan dalam
perangkat lunak melalui pengujian.
16. Hubungan Pengujian dengan
Aktifitas Lain
• Pengujian vs Teknik manajemen
kualitas perangkat lunak
• Pengujian vs Bukti kebenaran dan
verifikasi formal
• Pengujian vs Debugging
• Pengujian vs Konstruksi program
17. Tingkat Pengujian
• Target pengujian
– Objek yang akan diuji
• Tujuan pengujian
– Pengujian dilakukan berdasarkan tujuan
tertentu, yang kurang lebih dinyatakan
secara eksplisit dan dengan berbagai
tingkat presisi.
20. Acceptance Testing
• Penerimaan / pengujian kualifikasi
menentukan apakah suatu sistem
memenuhi kriteria penerimaannya,
biasanya dengan memeriksa perilaku
sistem yang diinginkan terhadap
persyaratan pelanggan.
22. Pengujian alfa dan beta
• Pengujian alfa ïƒ pengujian yang
dilakukan oleh sekelompok kecil
pengguna potensial; dalam lingkungan
pengembangan.
• Pengujian beta ïƒ pengujian yang
dilakukan oleh sekelompok besar
pengguna nyata; dalam lingkungan
operasional.
23. Pencapaian keandalan dan
evaluasi
• Meningkatkan keandalan perangkat lunak
dengan mengidentifikasi dan memperbaiki
kesalahan yang ada
• Pengujian operasional ïƒ model pertumbuhan
keandalan digunakan untuk meningkatkan
keandalan perangkat lunak dengan
memperbaiki kesalahan yang terdeteksi dan
menghasilkan kasus uji secara acak yang
sesuai dengan profil operasional perangkat
lunak.
24. Pencapaian keandalan dan
evaluasi
• Evaluasi keandalan perangkat lunak dapat
dilakukan dengan menggunakan uji kehidupan
dan evaluasi program yang diuji.
• Uji kehidupan digunakan untuk mengukur
keandalan perangkat lunak selama digunakan
dalam jangka waktu tertentu
25. Pengujian Regresi
• Pengujian ulang selektif dari sistem atau
komponen untuk memverifikasi bahwa
modifikasi tidak menyebabkan efek
yang tidak diinginkan dan bahwa sistem
atau komponen masih sesuai dengan
persyaratan yang ditentukan.
26. Pengujian Kinerja
• Pengujian kinerja memverifikasi bahwa
perangkat lunak memenuhi persyaratan
kinerja yang ditentukan dan menilai
karakteristik kinerja
27. Pengujian Keamanan
• Pengujian keamanan difokuskan pada
verifikasi bahwa perangkat lunak
dilindungi dari serangan eksternal.
• Secara khusus, pengujian keamanan
memverifikasi kerahasiaan, integritas,
dan ketersediaan sistem dan datanya.
28. Pengujian Stress
• Pengujian stres melatih perangkat lunak
pada beban desain maksimum, serta di
luarnya, dengan tujuan menentukan
batas perilaku, dan untuk menguji
mekanisme pertahanan dalam sistem
kritis.
29. Pengujian Back-to-back
• Pengujian di mana dua atau lebih varian
program dieksekusi dengan input yang
sama, output dibandingkan, dan
kesalahan dianalisis jika ada perbedaan
31. Pengujian Antarmuka
• Memverifikasi apakah komponen
antarmuka benar untuk menyediakan
pertukaran data dan informasi kontrol
yang benar
• Mensimulasikan penggunaan API oleh
aplikasi pengguna akhir.
32. Pengujian Konfigurasi
• Menguji konfigurasi software yang
dibangun untuk melayani kebutuhan
user yang berbeda dan kebutuhan user
yang berbeda.
33. Pengujian Usabilitas dan HCI
• Mengevaluasi seberapa mudah
pengguna akhir mempelajari dan
menggunakan perangkat lunak
• Melibatkan pengujian fungsi perangkat
lunak yang mendukung tugas pengguna,
dokumentasi yang membantu pengguna,
dan kemampuan sistem untuk
memulihkan dari kesalahan pengguna
34. Teknik Pengujian
• Berdasarkan pengalaman dan intuisi insinyur
• Teknik berbasis domain masukan
• Teknik berbasis kode
• Teknik berbasis kesalahan
• Teknik berbasis penggunaan
• Teknik pengujian berbasis model
• Teknik berdasarkan sifat aplikasi
• Memilih dan menggabungkan teknik
35. Teknik Pengujian Berdasarkan
Intuisi dan Pengalaman Insinyur
• Ad-hoc
– Tes diturunkan dengan mengandalkan
keterampilan, intuisi, dan pengalaman
insinyur perangkat lunak dengan program
serupa.
– Pengujian ad hoc dapat berguna untuk
mengidentifikasi kasus uji yang tidak
mudah dihasilkan oleh teknik yang lebih
formal.
36. Teknik Pengujian Berdasarkan
Intuisi dan Pengalaman Insinyur
• Pengujian eksplorasi
– Pembelajaran simultan
– Desain pengujian
– Pelaksanan pengujian
– Tidak ada definisi yang ditetapkan
sebelumnya dalam rencana pengujian,
melainkan dirancang, dijalankan, dan
dimodifikasi secara dinamis
38. Partisi Ekivalensi
• Teknik pengujian partisi ekivalensi adalah
teknik pengujian perangkat lunak yang
membagi input ke dalam kelompok atau
partisi, di mana setiap partisi mewakili kelas
yang sama dalam hal pengujian, dan menguji
setiap partisi secara terpisah.
• Metode ini didasarkan pada asumsi bahwa
jika satu nilai pada partisi telah diuji, maka
nilai-nilai lain pada partisi tersebut akan
memiliki perilaku yang sama.
39. Langkah-langkah Pengujian
Partisi Ekivalensi
• Identifikasi input yang
diperlukan untuk menguji
sistem.
• Bagi setiap input menjadi
kelompok atau partisi
yang sesuai dengan kelas
yang sama dalam hal
pengujian.
• Tentukan nilai ekstrem
pada masing-masing
partisi.
• Uji satu nilai pada
masing-masing partisi
secara terpisah.
• Verifikasi apakah hasil
pengujian sesuai dengan
harapan.
• Uji kombinasi nilai dari
partisi yang berbeda.
• Verifikasi apakah hasil
pengujian sesuai dengan
harapan.
40. Pengujian Berpasangan
• Metode pengujian perangkat lunak yang
digunakan untuk menguji kombinasi input
yang berbeda dalam sebuah sistem dengan
menggunakan jumlah tes minimal.
• Teknik pengujian berpasangan bekerja dengan
memilih beberapa kombinasi input yang
mewakili semua kemungkinan kombinasi
input yang mungkin dalam sistem.
41. Boundary Value Analysis
• Suatu teknik pengujian perangkat lunak
yang digunakan untuk mengidentifikasi
masalah atau kesalahan yang mungkin
terjadi di sekitar batas nilai input yang
diterima oleh suatu program.
42. Pengujian Acak
• metode pengujian perangkat lunak yang
didasarkan pada pemilihan input atau
data uji secara acak untuk mengetahui
apakah program dapat menghasilkan
keluaran yang sesuai dengan spesifikasi
atau tidak.
43. Langkah-langkah Pengujian
Acak
• Membuat kumpulan data uji
• Menentukan jenis pengujian yang dilakukan;
fungsional, integrasi, atau performa
• Menentukan metrik keberhasilan
• Menentukan pengaturan pengujian
• Menjalankan pengujian
• Analisis hasil pengujian
• Mengulangi pengujian
44. Teknik Berbasis Kode
• Kriteria berbasis aliran kontrol
• Kriteria berbasis aliran data
• Model referensi untuk pengujian
berbasis kode
45. Kriteria Berbasis Aliran
Kontrol
• Metode pengujian perangkat lunak yang
berfokus pada struktur kontrol dari kode
• Setiap jalur dalam kode diuji untuk
memastikan bahwa semua kemungkinan
pernyataan dan kondisi telah diuji
dengan benar
46. Kriteria dalam Pengujian
Berbasis Aliran Kontrol
• Coverage Statement
• Coverage Branch
• Coverage Path
• Kriteria Kondisional + Loop
47. Kriteria Berbasis Aliran Data
• Kriteria pengujian yang memperhatikan
aliran data di dalam kode dan
memastikan bahwa setiap variabel telah
diinisialisasi dengan benar sebelum
digunakan dan nilai yang benar diproses
di setiap kondisi.
48. Kriteria Berbasis Aliran Data
• Memastikan bahwa setiap baris kode dijalankan
setidaknya satu kali selama pengujian
• Memeriksa apakah setiap cabang atau kondisi
dijalankan setidaknya satu kali selama pengujian
• Memastikan bahwa setiap cabang atau kondisi
dijalankan setidaknya satu kali dengan nilai input
yang berbeda
49. Kriteria Berbasis Aliran Data
• Memastikan bahwa setiap variabel diinisialisasi
sebelum digunakan dan setiap penggunaan variabel
memiliki nilai yang benar
• Memeriksa aliran data di dalam program dan
memastikan bahwa setiap definisi variabel digunakan
dalam aliran data yang benar
50. Model Referensi untuk
Pengujian Berbasis Kode
• Kerangka kerja atau panduan yang
digunakan oleh tim pengujian perangkat
lunak untuk melakukan pengujian pada
kode program yang telah dibuat.
• ISO/IEC 29119
• V-Model
• Spiral Model
• Agile
• Rapid Software
Testing
52. Menebak Kesalahan
• Teknik pengujian perangkat lunak yang
dilakukan dengan mengasumsikan bahwa
pengujian yang dilakukan seharusnya
memperkirakan kesalahan yang paling
mungkin terjadi pada perangkat lunak
• Pengujian dilakukan dengan melakukan
serangkaian aksi dan masukan yang
diasumsikan dapat memicu kesalahan atau
bug tertentu.
53. Pengujian Mutasi
• Teknik pengujian perangkat lunak yang
digunakan untuk mengevaluasi
kehandalan (reliabilitas) suatu sistem
dengan menghasilkan program-program
varian (mutan) dari kode sumber yang
asli
55. Profil Operasional
• Teknik pengujian perangkat lunak yang
berfokus pada menguji performa
(kinerja) perangkat lunak dalam kondisi
penggunaan nyata.
• Digunakan untuk memastikan bahwa
perangkat lunak berfungsi dengan baik
di bawah beban kerja atau kondisi
penggunaan yang realistis.
56. Profil Operasional
• Skenario pengujian dapat mencakup
pengujian beban (load testing),
pengujian stress (stress testing),
pengujian ketahanan (endurance
testing), dan pengujian ketahanan
berulang (reliability testing).
57. User Observation Heuristic
• Teknik pengujian perangkat lunak yang
dilakukan dengan cara mengamati dan
memeriksa interaksi pengguna dengan
perangkat lunak
• Memahami bagaimana pengguna
berinteraksi dengan perangkat lunak dan
mengidentifikasi masalah atau kelemahan
yang mungkin tidak terdeteksi melalui
teknik pengujian tradisional.
58. Teknik Pengujian Berbasis
Model
• Tabel keputusan
• Finite state machine
• Spesifikasi formal
• Model alur kerja
• Teknik pengujian perangkat lunak yang dilakukan dengan
menggunakan model matematis sebagai dasar untuk menguji
perangkat lunak
• Model matematis yang digunakan dapat berupa model proses
bisnis, model diagram aliran data, atau model lainnya yang
digunakan untuk merepresentasikan perilaku sistem.
• Mengidentifikasi masalah atau kelemahan dalam perangkat
lunak sebelum dirilis ke pasar
59. Tabel Keputusan
• Teknik ini digunakan untuk menguji
sistem dengan mencocokkan kombinasi
input dengan output yang diharapkan
• Merepresentasikan skenario pengujian
dan membuat keputusan berdasarkan
kombinasi input yang diberikan
60. Tabel Keputusan
• Tabel Keputusan terdiri dari dua bagian
utama, yaitu kondisi (condition) dan
tindakan (action).
– Kondisi merepresentasikan input atau data
masukan yang diberikan ke sistem
– Tindakan merepresentasikan output atau
hasil yang diharapkan dari sistem.
61. Finite State Machine
• Sebuah model matematis yang digunakan untuk
merepresentasikan perilaku sistem yang terdiri dari
kumpulan status (state) dan transisi antar status
tersebut
• FSM digunakan untuk merepresentasikan perilaku
sistem dalam bentuk diagram
• FSM digunakan untuk membuat testcase. TestCase
dihasilkan dari FSM diagram yang telah dibuat
dengan cara melakukan kombinasi transisi dari setiap
status pada FSM tersebut
62. Spesifikasi Formal
• Deskripsi formal dari perilaku yang diharapkan dari
sistem atau komponen perangkat lunak
• Menghasilkan model yang dapat diuji dan diuji untuk
memastikan bahwa perilaku sistem sesuai dengan
yang diharapkan.
• Aljabarik
• Keluarga urutan
• Logika
• State Machine
63. Model Alur Kerja
• Model alur kerja dalam konteks pengujian
perangkat lunak berbasis model (model-based
testing) mengacu pada proses pengembangan,
pengujian, dan verifikasi perangkat lunak
dengan menggunakan model matematika
formal sebagai dasar untuk menghasilkan
kasus uji.
64. Teknik Berbasis pada Sifat
Aplikasi
• Teknik di atas berlaku untuk semua
jenis perangkat lunak.
• Teknik tambahan untuk derivasi dan
eksekusi pengujian didasarkan pada
sifat perangkat lunak yang diuji
65. Memilih dan Menggabungkan
Teknik
• Menggabungkan fungsional dan
struktural
– Teknik pengujian berbasis model dan
berbasis kode sering dikontraskan sebagai
pengujian fungsional vs. struktural.
– Kedua pendekatan untuk menguji seleksi
ini tidak dilihat sebagai alternatif
melainkan sebagai pelengkap
66. Memilih dan Menggabungkan
Teknik
• Deterministik dan acak
– Pengujian deterministik dilakukan dengan menguji setiap
fitur dan fungsi perangkat lunak secara sistematis dan
berurutan
– Pengujian acak dilakukan dengan cara yang tidak
terstruktur dan tidak berurutan
– Kombinasi pengujian deterministik dan acak dapat
menghasilkan pengujian yang lebih efektif. Pengujian
deterministik membantu memastikan bahwa setiap fitur dan
fungsi diuji dengan baik, sementara pengujian acak dapat
menemukan kelemahan yang mungkin terlewatkan dalam
pengujian deterministik
67. Test-Related Measures
• Evaluasi program yang diuji
– Pengukuran program yang membantu
perencanaan dan perancangan pengujian
– Jenis kesalahan, klasifikasi, dan statistik
– Kerapatan kesalahan
– Life test, evaluasi keandalan
– Model pertumbuhan keandalan
68. Test-Related Measures
• Evaluasi pengujian yang dilakukan
– Cakupan / pengukuran ketelitian
– Penyemaian kesalahan
– Skor mutasi
– Perbandingan dan efektifitas relatif dari
berbagai teknik
69. Aktifitas Pengujian
• Perencanaan
• Pembangkitan kasus uji
• Pengembangan lingkungan pengujian
• Pelaksanaan
• Evaluasi hasil pengujian
• Pelaporan masalah
• Pelacakan cacat