Teknik Informatika S1 SOFTWARE QUALITY AND TESTING Black Box (2)
Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS
[email protected] +6285740278021
SILABUS MATA KULIAH 1. Pendahuluan
2. Gambaran Umum Pengujian (Definisi Pengujian, proses pengujian, Hubungan pengujian dan kualitas, dasar-dasar pengujian)
3. Konsep Dasar Pengujian (V&V, Unit Testing, Integration) 4. Siklus Pengembangan PL, Siklus Pengujian PL 5. Teknik Pengujian (White Box, Black Box, Grey Box) 6. Black Box (1)
7. Black Box (2)
Boundary Value Analysis Boundary Value Analysis (BVA) adalah suatu teknik desain test cases yang berguna untuk melakukan pengujian terhadap nilai sekitar dari pusat domain masukan.
Teknik Boundary Value Analysis (BVA) merupakan komplemen dari teknik Equivalence Partitioning. Setelah dilakukan pemilihan tiap elemen suatu kelas ekuivalensi (menggunakan equivalence partitioning), BVA melakukan pemilihan nilai batas-batas dari kelas untuk test cases.
Boundary Value Analysis Boundary Value Analysis (BVA) adalah suatu teknik desain test cases yang berguna untuk melakukan pengujian terhadap nilai sekitar dari pusat domain masukan.
Teknik Boundary Value Analysis (BVA) merupakan komplemen (melengkapi/
menyempurnakan)
dari
teknik
Equivalence
Partitioning. Setelah dilakukan pemilihan tiap elemen suatu kelas ekuivalensi (menggunakan equivalence partitioning), BVA melakukan pemilihan nilai batas-batas dari kelas untuk test cases.
Boundary Value Analysis Boundary Value
merupakan nilai batasan dari kelas-kelas
ekuivalensi. Contoh: Senin dan minggu untuk hari
Januari dan Desember untuk bulan (-32767) dan 32767 untuk 16-bit integers
Boundary Value Analysis
Contoh Berdasarkan contoh sebelumnya tentang fungsi generate_grading, dimana inisialisasi partisi ekuivalensi telah diidentifikasi (sama dengan teknik equivalence partitioning, dan digunakan sebagai nilai batasan. Sebagai contoh, partisi “Ujian” memberikan nilai batasan tes untuk menguji nilai “Ujian” pada -1, 0, 1, 74, 75, dan 76.
Contoh
Contoh
Contoh
Contoh
Contoh
Contoh
Sample Testing • Pemilihan sejumlah nilai dari sebuah equivalent class dari input data. • Nilai boleh dalam interval constant atau variable. • Misalnya [-100, 100] • Bilangan yang diambil adalah -100, -55, 0, 7, 99, 100, dll
Limit Testing • Kasus pengujian dari Limit Testing adalah nilai batas pemrosesan atau sama yaitu titik-titik batasnya atau yang mendekati.
• Limit testing juga melibatkan output data equivalent class. • Jika range [-1.0, 1.0], maka kasus uji adalah -1.0, -1.001, 1.0, 1.001
Cause-Effect Graphing Techniques • Cause-effect graphing merupakan desain teknik kasus ujicoba yang menyediakan representasi singkat mengenai kondisi logikal dan aksi yang berhubungan.
• Tekniknya mengikuti 4 tahapan berikut : 1. Causes (kondisi input), dan Effects (aksi) didaftarkan untuk modul dan identifier yang dtujukan untuk masing-masing 2. Causes-effect graph (seperti pada gambar di bawah) dibuat 3. Graph dikonversikan kedalam tabel keputusan
4. Aturan tabel keputusan dikonversikan kedalam kasus uji
Cause-Effect Graphing Techniques Versi sederhana dari simbol graph cause-effect seperti dibawah ini. Terdapat hubungan causes ci dengan effects ei. Lainnya merupakan batasan relationship yang dapat diaplikasikan
pada causes maupun effects.
Cause-Effect Graphing Techniques
Contoh Untuk mengilustrasikan cause-effect graph perhatikan kasus tagihan berikut. Terdapat 4 kasus yang didefinisikan, yaitu : 1 : residential indicator 2 : commercial indicator 3 : peak consumption >= 100 kWH 4 : off-peak consumption >= 100 kWH Berdasarkan variasi kombinasi dari causes, maka effect berikut dapat terjadi : 101 : Schedule A billing 102 : Schedule B billing 103 : Schedule C billing
Contoh Causes-effect graph untuk contoh diatas dapat dilihat pada gambar,
causes 1, 2, 3, 4 direpresentasikan di sisi kiri graph dan effects 101, 102, 103 direpresentasikan disisi kanan. Secondary causes dibagian tengah (contoh : 11, 12, 13, 14, ...). Dari gambar
tesebut dapat dibentuk decision table seperti gambar
selanjutnya.
Cause Effect Graph
Decision Table
State Transition Testing State Transition Testing menggunakan model sistem, yang terdiri
dari: Status yang terdapat di dalam program. Transisi antar status-status tersebut. Kejadian yang merupakan sebab dari transisi-transisi tersebut. Aksi-aksi yang akan dihasilkan. Model umumnya direpresentasikan dalam bentuk State Transition Diagram Test Cases didesain untuk memerikas validitas transisi antar status. Test Cases tambahan juga akan didesain untuk testing terhadap transisi-transisi yang tidak
termasuk dan tidak dispesifikasikan.
State Transition Testing Misal terdapat suatu State Transition Diagram yang menangani masukan permintaan untuk mode tampilan terhadap waktu tampilan dari suatu device, sebagai berikut:
State Transition Testing State Transition Diagram terdiri dari:
Status, seperti displaying time (S1). Transisi, seperti antara S1 dan S3 Kejadian yang menyebabkan transisi, seperti “reset” selama status S1 akan menyebabkan transisi ke S3 Aksi yang merupakan hasil dari transisi, seperti selama transisi
dari S1 ke S3 sebagai hasil dari kejadian “reset”, aksi “display time” akan terjadi.
Test cases untuk transisi yang valid Test cases didesain untuk memeriksa transisi-transisi yang valid.
Untuk tiap test case, terdapat spesifikasi sebagai berikut: Status mulai Masukan Keluaran yang diharapkan Status akhir yang diharapkan
Test cases untuk transisi yang valid Berdasarkan contoh di atas, terdapat 6 test cases:
Test cases untuk transisi yang valid Berdasarkan contoh di atas, terdapat 6 test cases:
Test cases untuk transisi yang valid Berdasarkan contoh di atas, terdapat 6 test cases:
Test cases untuk transisi yang valid Berdasarkan contoh di atas, terdapat 6 test cases:
Test cases untuk transisi yang valid Berdasarkan contoh di atas, terdapat 6 test cases:
Test cases untuk transisi yang valid Berdasarkan contoh di atas, terdapat 6 test cases:
Test cases untuk transisi yang tidak valid Tes transisi didisain untuk cakupan perubahan (switch) hanya untuk
melakukan tes sekuensial yang valid dari transisi. Testing yang komprehensif akan mencoba untuk melakukan tes terhadap transisi yang tidak valid. Diagram transisi software di atas hanya memperlihatkan transisitransisi valid. Suatu model transisi status yang secara ekplisit memperlihatkan transisi tidak valid adalah tabel status (status table).
Test cases untuk transisi yang tidak valid Sebagai contoh, terdapat tabel status untuk tampilan waktu device seperti dibawah ini:
Sel-sel dari tabel status yang diperlihatkan dalam bentuk -, melambangkan tak ada transisi (null transition), dimana bila tiap transisi tersebut dilaksanakan akan menghasilkan failure.
TERIMA KASIH