Analisis nilai batas mengikuti gagasan sederhana dan praktis: kesalahan sering terjadi pada batas rentang dan kondisi. Ini adalah lokasi umum terjadinya kesalahan operator perbandingan, kesalahan batas inklusif/eksklusif, dan kesalahan penanganan nilai kosong atau ekstrem.
Apa yang dianggap sebagai batas
- →Nilai minimum yang diizinkan
- →Nilai maksimum yang diizinkan
- →Nilai tepat sebelum batas
- →Nilainya tepat pada suatu batas
- →Nilai tepat setelah batas
Contoh
Jika kata sandi harus berisi karakter 8 hingga 20, kandidat yang berguna adalah panjang 7, 8, 9, 19, 20, dan 21. Ini sering kali memberikan nilai lebih daripada panjang sewenang-wenang seperti 11 dan 14.
Dimana hal ini sangat berguna
- →Rentang numerik, batas, panjang string, dan ukuran file
- →Tanggal dan interval: mulai, berakhir, tenggat waktu, dan kedaluwarsa
- →Batas jumlah: upaya, item, permintaan, dan pengguna
- →Aturan bisnis berbasis ambang batas: diskon berdasarkan jumlah, akses berdasarkan peran, dan perubahan status setelah ketentuan terpenuhi
Kesalahan umum
- →Hanya memeriksa nilai batas dan melupakan tetangganya
- →Mengabaikan batasan logis yang tidak bersifat numerik secara eksplisit
- →Mengabaikan kondisi inklusif versus eksklusif
- →Memperlakukan BVA saja sudah cukup untuk logika bisnis yang kompleks
Analisis batas bekerja sangat baik dengan partisi ekuivalensi: identifikasi partisi terlebih dahulu, kemudian perkuat cakupan di bagian tepinya.
Contoh matriks batas: batas inklusif
Pertimbangkan kolom latihan terpisah yang menerima pengenal ASCII sepanjang 8–20 huruf, termasuk kedua batas. Semua karakter selain itu valid; hanya panjang yang berubah. ASCII dipilih agar karakter, byte, dan unit kode tidak menambahkan variabel kedua. Ini latihan desain pengujian, bukan rekomendasi keamanan kata sandi.
Panjang Contoh Hasil yang diharapkan
7 aaaaaaa Tolak: terlalu pendek
8 aaaaaaaa Terima
9 aaaaaaaaa Terima
19 aaaaaaaaaaaaaaaaaaa Terima
20 aaaaaaaaaaaaaaaaaaaa Terima
21 aaaaaaaaaaaaaaaaaaaaa Tolak: terlalu panjangUntuk aturan panjang bilangan bulat ini, kumpulan batas 2 nilai yang ringkas adalah 7, 8, 20, 21: melintasi tiap batas valid/tidak valid. Kumpulan 3 nilai juga menyertakan tetangga di sisi lain tiap batas: 7, 8, 9 dan 19, 20, 21. Kumpulan terakhir dapat mengungkap defect yang hanya memengaruhi tetangga valid terdekat. Kumpulan ini tidak mencakup seluruh aturan input lain.
Latihan: kuantitas dari 1 hingga 5
Asumsikan jumlah bilangan bulat yang diperlukan harus antara 1 dan 5 inklusif. Tuliskan calon batas tiga nilai sebelum membaca jawabannya. Pertahankan input "hilang", null, non-integer dan nonnumerik sebagai pemeriksaan terpisah; mereka tidak diwakili oleh nilai batas numerik.
Masukan Hasil yang diharapkan
0 Tolak
1 Terima
2 Terima
4 Terima
5 Terima
6 TolakJika suatu batas menjadi eksklusif, dapatkan kembali hasil yang diharapkan dari aturan baru tersebut. Untuk nilai desimal, stempel waktu, atau string Unicode, pertama-tama tentukan langkah terkecil yang relevan dan apa yang sebenarnya diukur oleh sistem. “Satu di bawah” tanggal atau batas ukuran file tidak memiliki arti pasti tanpa satuan.