Materi
Masukan sebuah fungsi hampir selalu tidak terbatas: semua bilangan bulat, semua teks. Test tidak bisa mencoba semuanya, jadi ruang masukan dibagi menjadi partisi — kelompok masukan yang diperlakukan sama oleh spesifikasi. Bacaan Testing dari kuliah MIT 6.005 menyebut syaratnya: setiap masukan masuk tepat ke satu partisi, dan semua partisi bersama-sama menutup seluruh ruang masukan. Satu wakil dari setiap partisi lalu dijadikan kasus uji.
Contohnya aturan denda perpustakaan: keterlambatan 0 hari bebas denda, 1 sampai 7 hari Rp1.000 per hari, lebih dari 7 hari Rp7.000 ditambah Rp2.000 untuk setiap hari sesudah hari ketujuh, dan jumlah hari negatif ditolak. Aturan itu menghasilkan empat partisi, termasuk satu partisi yang ditolak.
| Partisi | Wakil | Hasil harapan |
|---|---|---|
| hari negatif (ditolak) | -3 | ValueError |
| tepat 0 hari | 0 | 0 |
| 1 sampai 7 hari | 4 | 4000 |
| lebih dari 7 hari | 10 | 13000 |
Partisi juga dibuat untuk masukan yang ditolak. Spesifikasi yang menyebut rentang sah sekaligus menyebut apa yang ada di luarnya, dan aturan penolakan termasuk perilaku yang diuji. Bila fungsi menerima dua masukan, partisinya disilangkan: dua partisi berat dikali dua partisi zona menjadi empat kombinasi, dan setiap kombinasi mendapat wakilnya sendiri, karena kesalahan bisa bersembunyi di satu kombinasi saja.
Partisi ditarik dari spesifikasi, bukan dari kode, sehingga bisa disusun sebelum kodenya ada. Bacaan yang sama menyebut cara ini pengujian kotak hitam (blackbox testing): kasus uji dipilih hanya dari spesifikasi, tanpa melihat isi fungsinya.