TEKNIK PENGUJIAN PERANGKAT LUNAK Software Engineering Bertalya
Teknik Pengujian Per.Lunak@Berta KENAPA HARUS DIUJI ? Kita bukan seorang programmer yg cukup baik Kita mungkin tidak dapat cukup berkonsentrasi untuk menghindari kesalahan Kita kadang2 lupa menggunakan pemrograman terstruktur secara penuh, perancangan atas-bawah utk mendapatkan solusi Kita kadang buruk dalam mengerjakan sesuatu Kita seharusnya dapat membedakan apa yg dikatakan programmer lain atau pelanggan dan apa yg sebenarnya mereka pikirkan Kita seharusnya merasa bersalah apabila seseorang harus menguji koding kita Pengujian merupakan suatu perizinan terhadap kesalahan Teknik Pengujian Per.Lunak@Berta
DASAR2 PENGUJIAN PERANGKAT LUNAK Objektifitas Pengujian Test case yg baik adalah yg mempunyai probabilitas yg tinggi untuk menemukan error yg tak diketemukan Pengujian merupakan suatu proses eksekusi program yang ditujukan untuk menemukan error Uji yg sukses adalah yg dapat ‘membuka’ error yang tak diketemukan Dua klas input yg disediakan untuk proses uji 1. konfigurasi software, termasuk Software Requirement Specification, Design Specification dan Source code 2. konfigurasi uji, termasuk Test Plan & Procedure, perangkat testing yg akan digunakan, test case dan hasil yg diharapkan Teknik Pengujian Per.Lunak@Berta
Teknik Pengujian Per.Lunak@Berta PERANCANGAN TEST CASE Test case yg dirancang harus mempunyai probabilitas yg tinggi untuk menemukan sebuah error dalam waktu & effort yg minimum. Dua metode pendekatan perancangan test case 1. White Box Testing (pada sesuatu yg kecil (modul)) berfokus pada struktur kontrol program. Dijamin semua independent path (jalur bebas) telah dijalankan setidaknya satu kali Menjalankan semua keputusan logis pada sisi true & false Menjalankan semua looping Melakukan struktur data internal untuk menjamin validitas Teknik Pengujian Per.Lunak@Berta
PERANCANGAN TEST CASE (lanj.) 2. Black Box Testing (yang besar) berfokus pada kebutuhan fungsional software, memungkinkan perancang untuk memperoleh kondisi2 input yg secara penuh menguji semua kebutuhan fungsional suatu program Teknik Pengujian Per.Lunak@Berta
WHITE BOX TESTING : Basis Path Testing Metode pertama yg diusulkan oleh Tom McCabe (1976). Metode ini memungkinkan perancangan memperoleh pengukuran yang kompleksitas dari perancangan prosedural dan menggunakan pengukuran ini sebagai pedoman pendefinisian sekumpulan basis dari jalur eksekusi Perangkat yang digunakan 1. Notasi Flow Graph atau Program Graph Contoh : - sequence - if - until Teknik Pengujian Per.Lunak@Berta
Teknik Pengujian Per.Lunak@Berta BASIS PATH TESTING Cyclomatic Complexity, merupakan pengukuran per.lunak yang menyediakan pengukuran kuantitatif dari kompleksitas logis suatu program. Nilai cyclomatic complexity mendefinisikan jumlah jalur bebas pada basis program. Independent path (jalur bebas) merupakan jalur pada program yg menunjukkan setidaknya satu kumpulan pernyataan pemrosesan baru atau kondisi baru. Langkah2 Basis Path Testing - gunakan rancangan atau kode sebagai pondasi, lalu gambarkan flow graph - tentukan cyclomatic complexity, dinyatakan V(G) dari flow graph - tentukan sekumpulan basis secara linear jalur bebas - persiapkan test case yg akan memperkuat eksekusi setiap jalur pada sekumpulan basis program Teknik Pengujian Per.Lunak@Berta
Teknik Pengujian Per.Lunak@Berta BASIS PATH TESTING 3. Graph Matrix merupakan matriks persegi 4 dimana sisi2nya sama dengan jumlah node pada flow graph Teknik Pengujian Per.Lunak@Berta
Teknik Pengujian Per.Lunak@Berta BLACK BOX TESTING Merupakan metode pelengkap White Box Testing. Berfokus pada kebutuhan fungsional dari per.lunak. Memungkinkan perancang untuk memperoleh sekumpulan kondisi2 input yg secara penuh menguji semua kebutuhan fungsional suatu program Metode ini berusaha menemukan kesalahan yg termasuk kategori di bawah ini - fungsi2 yg hilang atau tidak benar - kesalahan pada antarmuka - kesalahan pada struktur data atau pengaksesan database ekternal - kesalahan pada performance - kesalahan pada inisialisasi dan terminasi Teknik Pengujian Per.Lunak@Berta
Teknik Pengujian Per.Lunak@Berta CONTOH LAIN Contoh lain White Box Testing atau Control Structure Testing adalah 1. Condition Testing, menjalankan kondisi logis yang terdapat pada modul program 2. Data Flow Testing, metode yg menyeleksi jalur test program menurut lokasi pendefinisian & menggunakan variabel2 program 3. Loop Testing, berfokus pada validitas dari bentuk loop (simple loop, concatenated loop, nested loop, unstructured loop) Teknik Pengujian Per.Lunak@Berta
Teknik Pengujian Per.Lunak@Berta CONTOH LAIN Contoh lain Black Box Testing adalah 1. Equivalence Partitioning, membagi domain input dari program ke dalam klas2 data 2. Boundary Value Analysis (BVA) melengkapi Equivalence Partitioning, dengan melakukannya dari domain output 3. Cause-effect Graphing, memvalidasi aksi2 & kondisi yg kompleks Teknik Pengujian Per.Lunak@Berta