REKAYASA PERANGKAT LUNAK PERTEMUAN 12 TEKNIK PENGUJIAN PERANGKAT

  • Slides: 25
Download presentation
REKAYASA PERANGKAT LUNAK PERTEMUAN 12

REKAYASA PERANGKAT LUNAK PERTEMUAN 12

TEKNIK PENGUJIAN PERANGKAT LUNAK

TEKNIK PENGUJIAN PERANGKAT LUNAK

KENAPA HARUS DIUJI ? • Kita bukan seorang programmer yg cukup baik • Kita

KENAPA HARUS DIUJI ? • Kita bukan seorang programmer yg cukup baik • Kita mungkin tidak dapat cukup berkonsentrasi untuk menghindari kesalahan • Kita kadang 2 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 3 Teknik Pengujian Per. Lunak@Berta

Latar Belakang • Pengujian P/L adalah elemen kritis dari jaminan kualitas P/L dan merupakan

Latar Belakang • Pengujian P/L adalah elemen kritis dari jaminan kualitas P/L dan merupakan review puncak terhadap spesifikasi, desain dan pembuatan program. • Pengujian P/L menghabiskan upaya 30 -40% dari total pekerjaan proyek. • Untuk proyek yang membahayakan nyawa manusia, biaya pengujian bisa 3 -5 X proyek biasa.

Tujuan Pengujian 1. Menjalankan program untuk menemukan error. 2. Test case yang bagus adalah

Tujuan Pengujian 1. Menjalankan program untuk menemukan error. 2. Test case yang bagus adalah yang memiliki kemungkinan terbesar untuk menemukan error yang tersembunyi. 3. Pengujian yang sukses adalah yang berhasil menemukan error yang tersembunyi.

DASAR 2 PENGUJIAN PERANGKAT LUNAK • Objektifitas Pengujian • Test case yg baik adalah

DASAR 2 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 6 Teknik Pengujian Per. Lunak@Berta

PERANCANGAN TEST CASE • Test case yg dirancang harus mempunyai probabilitas yg • Dua

PERANCANGAN TEST CASE • Test case yg dirancang harus mempunyai probabilitas yg • Dua metode pendekatan perancangan test case 1. White Box Testing (pada sesuatu yg kecil (modul)) berfokus pada struktur kontrol program. tinggi untuk menemukan sebuah error dalam waktu & effort yg minimum. • 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 7 Teknik Pengujian Per. Lunak@Berta

PERANCANGAN TEST CASE (lanj. ) 2. Black Box Testing (yang besar) berfokus pada kebutuhan

PERANCANGAN TEST CASE (lanj. ) 2. Black Box Testing (yang besar) berfokus pada kebutuhan fungsional software, memungkinkan perancang untuk memperoleh kondisi 2 input yg secara penuh menguji semua kebutuhan fungsional suatu program 8 Teknik Pengujian Per. Lunak@Berta

WHITE BOX TESTING : Basis Path Testing • Metode pertama yg diusulkan oleh Tom

WHITE BOX TESTING : Basis Path Testing • Metode pertama yg diusulkan oleh Tom Mc. Cabe (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 9 Teknik Pengujian Per. Lunak@Berta

BASIS PATH TESTING 2. Cyclomatic Complexity, merupakan pengukuran per. lunak yang menyediakan pengukuran kuantitatif

BASIS PATH TESTING 2. 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. 3. Independent path (jalur bebas) merupakan jalur pada program yg menunjukkan setidaknya satu kumpulan pernyataan pemrosesan baru atau kondisi baru. Langkah 2 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 10 Teknik Pengujian Per. Lunak@Berta

BASIS PATH TESTING 3. Graph Matrix merupakan matriks persegi 4 dimana sisi 2 nya

BASIS PATH TESTING 3. Graph Matrix merupakan matriks persegi 4 dimana sisi 2 nya sama dengan jumlah node pada flow graph 11 Teknik Pengujian Per. Lunak@Berta

BLACK BOX TESTING • Merupakan metode pelengkap White Box Testing. Berfokus pada kebutuhan fungsional

BLACK BOX TESTING • Merupakan metode pelengkap White Box Testing. Berfokus pada kebutuhan fungsional dari per. lunak. • Memungkinkan perancang untuk memperoleh sekumpulan kondisi 2 input yg secara penuh menguji semua kebutuhan fungsional suatu program • Metode ini berusaha menemukan kesalahan yg termasuk kategori di bawah ini - fungsi 2 yg hilang atau tidak benar - kesalahan pada ekternal - kesalahan pada antarmuka struktur data atau pengaksesan database performance inisialisasi dan terminasi 12 Teknik Pengujian Per. Lunak@Berta

Prinsip Pengujian • Harus bisa dilacak hingga sampai ke kebutuhan customer. • Harus direncanakan

Prinsip Pengujian • Harus bisa dilacak hingga sampai ke kebutuhan customer. • Harus direncanakan sejak model dibuat. • Prinsip Pareto: 80% error uncovered. • Dari lingkup kecil menuju yang besar. • Tidak bisa semua kemungkinan diuji. • Dilakukan oleh pihak ketiga yang independen.

Testablility • Kemudahan untuk diuji. • Karakteristiknya: • • Operability: mudah digunakan. Observability: mudah

Testablility • Kemudahan untuk diuji. • Karakteristiknya: • • Operability: mudah digunakan. Observability: mudah diamati. Controlability: mudah dikendalikan. Decomposability: mudah diuraikan. Simplicity: lingkup kecil, semakin mudah diuji. Stability: jarang berubah. Understandability: mudah dipahami.

Desain Kasus Pengujian • Black box testing • Memastikan fungsional P/L berjalan. • Kesesuaian

Desain Kasus Pengujian • Black box testing • Memastikan fungsional P/L berjalan. • Kesesuaian input dengan output. • Tidak memperhatikan proses logic internal. • White box testing • Pengamatan detail prosedur. • Mengamati sampai level percabangan kondisi dan perulangan.

White Box Testing • Metode: basis path testing. • Memakai notasi flow graph.

White Box Testing • Metode: basis path testing. • Memakai notasi flow graph.

Kompleksitas Cyclomatic • Menunjukkan jumlah skenario pengujian yang harus dilakukan untuk menjamin cakupan seluruh

Kompleksitas Cyclomatic • Menunjukkan jumlah skenario pengujian yang harus dilakukan untuk menjamin cakupan seluruh program.

Contoh White Box Testing • Lihat buku halaman 449 – 452.

Contoh White Box Testing • Lihat buku halaman 449 – 452.

Black Box Testing – Graph Based

Black Box Testing – Graph Based

Black Box Testing – Equivalence Partitioning • Contoh: Input NPM dalam SIAMIK • Jika

Black Box Testing – Equivalence Partitioning • Contoh: Input NPM dalam SIAMIK • Jika dikosongi? • Jika diisi dengan format yang salah? • Jika diisi dengan NPM yang benar?

Black Box Testing – Analisa Nilai Batas 1. Menguji untuk input di sekitar batas

Black Box Testing – Analisa Nilai Batas 1. Menguji untuk input di sekitar batas maupun bawah sebuah range nilai yang valid. 2. Menguji nilai maksimal dan minimal. 3. Menerapkan (1 & 2) untuk output. 4. Menguji batas struktur data yang dipakai. Misal ukuran array.

Black Box Testing – Perbandingan • Spesifikasi kebutuhan yang sama dimungkinkan menghasilkan aplikasi/ perangkat

Black Box Testing – Perbandingan • Spesifikasi kebutuhan yang sama dimungkinkan menghasilkan aplikasi/ perangkat lunak yang berbeda. • Skenario pengujian pada aplikasi yang demikian bisa digunakan untuk skenario pengujian aplikasi serupa yang lain.

Skenario Pengujian Khusus • Pengujian GUI. • Pengujian arsitektur client/ server. • Pengujian dokumentasi

Skenario Pengujian Khusus • Pengujian GUI. • Pengujian arsitektur client/ server. • Pengujian dokumentasi dan fasilitas bantuan. • Pengujian sistem waktu nyata.

CONTOH LAIN • Contoh lain White Box Testing atau Control Structure Testing adalah 1.

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 variabel 2 program 3. Loop Testing, berfokus pada validitas dari bentuk loop (simple loop, concatenated loop, nested loop, unstructured loop) 24 Teknik Pengujian Per. Lunak@Berta

CONTOH LAIN • Contoh lain Black Box Testing adalah 1. Equivalence Partitioning, membagi domain

CONTOH LAIN • Contoh lain Black Box Testing adalah 1. Equivalence Partitioning, membagi domain input dari program ke dalam klas 2 data 2. Boundary Value Analysis (BVA) melengkapi Equivalence Partitioning, dengan melakukannya dari domain output 3. Cause-effect Graphing, memvalidasi aksi 2 & kondisi yg kompleks 25 Teknik Pengujian Per. Lunak@Berta