Pengujian Black-Box Black-Box Bukan pengujian alternatif dari teknik White-Box, melainkan sebagai pelengkap yang mungkin dapat mengungkapkan kelas kesalahan yang belum ditemukan oleh teknik White-Box Black-Box Usaha mengungkapkan kesalahan 1. Fungsi-fungsi yang tidak benar atau hilang 2. Kasalahan Interface 3. Kesalahan struktur data atau akses database eksternal 4. Kesalahan kinerja 5. Inisialisasi dan terminasi Black-Box Pengujian didesain untuk menjawab pertanyaan • Bagaimana validitas fungsional diuji? • Kelas input apa yang akan membuat test case menjadi baik • Apakah sistem sangat sensitif terhadap harga input tertentu? • Bagaimana batasan dari suatu data diisolasi • Kecepatan dan volume data apa yang dapat ditolerir oleh sistem • Apa pengaruh kombinasi data terhadap operasi sistem Equivalence Partitioning Memisahkan domain input menjadi kelompok-kelompok data untuk menghasilkan kasus tes Equivalence class : keadaan valid atau invalid untuk kondisi input Jika kondisi input adalah sebuah range, maka didefinisikan satu equivalence class valid dan dua equivalence class invalid Jika kondisi input adalah sebuah nilai, maka didefinisikan satu equivalence class valid dan dua equivalence class invalid Jika kondisi input adalah sebuah himpunan, maka didefinisikan satu equivalence class valid dan satu equivalence class invalid Jika kondisi input adalah sebuah Boolean, maka didefinisikan satu equivalence class valid dan satu equivalence class invalid Contoh : aplikasi perbankan. User men-dial bank menggunakan PC, dengan password (enam digit) diikuti perintah untuk berbagai fungsi perbankan. Data yang diterima perangkat lunak di bank berbentuk : kode are – blank atau tiga digit angka prefix – tiga digit angka tidak berawalan 0 atau 1 suffix – empat digit angka password – enam digit nilai alfanumerik perintah – “check”, ”deposit”, ”bayar tagihan”, dll Kondisi input untuk setiap data tersebut : kode are: kondisi input, Boolean – kode area kosong atau terisi kondisi input, range – nilai antara 100 sampai 999 prefix : kondisi input, range – nilai > 200 suffix : kondisi input, nilai – panjang empat digit password : kondisi input, Boolean – password kosong atau terisi kondisi input, nilai – string enam karakter perintah: kondisi input, himpunan – mengandung perintah yang telah ditetapkan Boundary Value Analysis Jika sebuah input mempunyai range antara nilai a dan b, maka kasus tes harus dirancang dengan nilai a dan b serta diatas dan dibawah a dan b. Jika sebuah input mempunyai jumlah tertentu, maka kasus tes harus dirancang dengan jumlah minimum dan maksimum. Nilai-nilai dibawah dan diatas minimum dan maksimum juga dites. Kedua panduan diatas juga diterapkan untuk kondisi output. Kasus tes harus dirancang untuk menghasilkan output pada nilai minimum dan maksimum Jika struktur data juga mempunyai batasan (misal sebuah array mempunyai jumlah maksimal 100 item), maka harus dirancang sebuah kasus tes untuk mengetes struktur data tersebut pada nilai batasnya Comparison Testing Untuk sebuah perangkat lunak yang memiliki banyak versi beberapa implementasi untuk spesifikasi yang sama Setiap versi dites dengan data tes yang sama untuk memastikan bahwa semuanya menghasilkan output yang sama Jika output dari setiap versi sama, diasumsikan bahwa semua implementasi benar. Jika output berbeda, setiap aplikasi diperiksa untuk memastikan mana versi yang menyebabkan terjadinya perbedaan Pengujian Aplikasi dan Lingkungan Khusus Pengujian GUI Pengujian Arsitektur Client/Server Pengujian Dokumentasi dan Fasilitas Help Pengujian Sistem Real Time