Untuk menunjukkan bahwa sistem yang mendasarinya juga sempurna bagi Anda
a) Perlu membuktikan bahwa mereka sempurna
- Bukti matematis
- Hanya mungkin secara realistis untuk program sepele
b) Lakukan tes yang lengkap
- Hanya mungkin untuk program sepele dan beberapa program sederhana
- Segera setelah elemen waktu memasuki tes, tidak mungkin untuk melakukan tes lengkap karena waktu dapat dibagi tanpa batas waktu.
- Di luar program-program sepele, opsi eksekusi yang mungkin meledak secara eksponensial.
Dalam pengujian perangkat lunak, pengujian lengkap hanya digunakan dalam pengujian unit terhadap beberapa fungsi sederhana.
Contoh: Anda ingin menguji input 8 karakter utf-8 ke beberapa bidang, Anda membuat pilihan untuk memotong input pada 8 kali panjang maksimum 6 dari utf-8 dalam byte yang memberikan 8 * 6 = 48 byte untuk benar-benar memiliki jumlah kemungkinan yang terbatas.
Anda sekarang bisa berpikir Anda hanya perlu menguji 1.112.064 poin kode yang valid dari masing-masing 8 karakter, yaitu. 1.112.064 ^ 8 (katakanlah 10 ^ 48) tes (yang sudah tidak mungkin mungkin), tetapi Anda benar-benar harus menguji setiap nilai masing-masing dari 48 byte atau 256 ^ 48 yaitu sekitar 10 ^ 120 yang kompleksitasnya sama dengan catur dibandingkan dengan jumlah total atom di alam semesta sekitar 10 ^ 80.
Sebagai gantinya Anda dapat menggunakannya, dengan meningkatkan urutan upaya dan setiap tes harus mencakup semua yang sebelumnya:
a) menguji sampel yang baik dan yang buruk.
b) cakupan kode, yaitu. cobalah untuk menguji setiap baris kode, yang relatif sederhana untuk sebagian besar kode. Sekarang Anda dapat bertanya-tanya apa 1% terakhir dari kode yang tidak dapat Anda uji ada ... bug, kode mati, pengecualian perangkat keras dll.
c) cakupan jalur, semua hasil dari semua cabang di semua kombinasi diuji. Sekarang Anda tahu mengapa departemen pengujian membenci Anda ketika fungsi Anda berisi lebih dari 10 kondisi. Anda juga bertanya-tanya mengapa 1% terakhir tidak dapat diuji ... beberapa cabang tergantung pada cabang sebelumnya.
d) uji data, uji sejumlah sampel dengan nilai batas, nilai bermasalah umum dan angka ajaib, nol, -1, 1, min +/- 1, maks +/- 1, 42, nilai rnd. Jika ini tidak memberi Anda cakupan jalur, Anda tahu Anda belum menangkap semua nilai dalam analisis Anda.
Jika Anda sudah melakukan ini, Anda harus siap untuk ujian dasar ISTQB.