Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Reka data ujian normal, sempadan dan tidak sah

Anda diminta data ujian lalu menulis tiga nombor yang semuanya berfungsi, yang hampir tidak membuktikan apa-apa tentang program.

Dalam halaman ini
  1. Bagaimana membina jadual ujian?
  2. Contoh berlangkah
  3. Kesilapan yang perlu dielakkan
  4. Semak diri anda
  5. Ke mana selepas ini?

Data ujian ialah set input yang anda pilih untuk menyemak bahawa program berfungsi. Set yang baik meliputi tiga jenis: normal, sempadan (boundary) dan tidak sah (invalid). Untuk setiap input, anda juga menulis hasil dijangka daripada keperluan, sebelum program dijalankan.

Pelajaran ini menyambung pengesahihan berbanding pengesahan dan tergolong dalam modul pengesahihan, pengesahan dan ujian.

Bagaimana membina jadual ujian?

Ambil keperluan: “Terima umur nombor bulat dari 13 hingga 17 termasuk kedua-duanya; tolak yang lain.”

JenisMaksudNilai ujianHasil dijangka
NormalBiasa, dibenarkan15Diterima
Sempadan (diterima)Tepat pada had13, 17Diterima
Sempadan (ditolak)Tepat di luar had12, 18Ditolak
Tidak sahJenis salah atau jauh di luar“abc”, -5, 200Ditolak

Mengapa memilih 12 dan 18 serta 13 dan 17? Kerana kesilapan sempadan ialah kesilapan tentang sebelah mana had sesuatu nilai jatuh. Anda hanya melihatnya dengan menguji kedua-dua belah.

Contoh berlangkah

Seorang pengaturcara menulis semakan ini. Ia sepatutnya menerima umur 13 hingga 17 termasuk kedua-duanya.

INPUT Age
IF Age > 13 AND Age < 17 THEN
  OUTPUT "Accepted"
ELSE
  OUTPUT "Rejected"
ENDIF

Langkah 1, jalankan nilai normal. Age = 15: 15 > 13 ialah TRUE dan 15 < 17 ialah TRUE, jadi output “Accepted”. Dijangka: Accepted. Lulus.

Langkah 2, jalankan sempadan yang diterima.

AgeAge > 13Age < 17OutputDijangkaKeputusan
13FALSETRUERejectedAcceptedGagal
17TRUEFALSERejectedAcceptedGagal

Langkah 3, jalankan sempadan yang ditolak. Age = 12: 12 > 13 ialah FALSE, jadi “Rejected”. Age = 18: 18 < 17 ialah FALSE, jadi “Rejected”. Kedua-duanya sepadan dengan hasil dijangka, maka lulus.

Langkah 4, diagnosis. Nilai normal lulus, dan itu menyembunyikan kesalahan. Hanya ujian sempadan 13 dan 17 yang gagal. Kesalahannya ialah > dan < sepatutnya >= dan <=.

Baris yang dibetulkan:

IF Age >= 13 AND Age <= 17 THEN

Menjalankan semula 13 dan 17 kini menghasilkan “Accepted”, seperti dijangka.

Kesilapan yang perlu dielakkan

Jadual ujian yang salah: Normal 14, 15, 16. Dijangka: semuanya diterima.

Pelajar memilih tiga nilai di tengah, jadi tiada nilai yang dapat mendedahkan kesalahan sempadan.

Tiga nilai normal hampir tidak menambah apa-apa. Gantikan dua daripadanya dengan 13, 17, 12 dan 18, dan tambah satu nilai tidak sah seperti teks. Setiap baris patut mempunyai tujuan yang berbeza.

Semak diri anda

1. Peraturan berkata: “Kuantiti mesti 1 hingga 10 termasuk kedua-duanya.” Beri dua nilai sempadan yang diterima dan dua nilai yang ditolak tepat di luar.

Show answer

Sempadan diterima: 1 dan 10. Ditolak tepat di luar: 0 dan 11.

2. Untuk peraturan yang sama, beri satu nilai normal dan satu nilai tidak sah, masing-masing dengan hasil dijangka.

Show answer

Normal: 5, dijangka diterima. Tidak sah: “five” (teks), dijangka ditolak. Nilai seperti 500 juga ialah data ujian yang sah untuk penolakan.

3. Kodnya ialah IF Quantity > 1 AND Quantity <= 10 THEN OUTPUT "OK". Nilai ujian manakah yang mendedahkan kesalahan dan apa yang program lakukan?

Show answer

1. Hasil dijangka ialah diterima. Tetapi 1 > 1 ialah FALSE, jadi program tidak mengeluarkan “OK”. Perbandingan pertama sepatutnya >=.

Ke mana selepas ini?

Seterusnya, latih menerangkan hasil dijangka sebelum menjalankan kod, tabiat yang menjadikan jadual ujian bermakna. Kemudian anda akan mencari cabang yang belum dicapai oleh mana-mana ujian. Kotak pasir penaakulan Python selamat membolehkan anda menjalankan semakan seperti ini terhadap jadual, dan set latihan campuran menguji semuanya bersama.

Jika anda mahu seseorang menyemak jadual ujian bersama anda, itu sebahagian daripada tuisyen Computer Science dalam talian satu dengan satu.

Soalan lazim

Apakah tiga jenis data ujian?

Data normal ialah data biasa yang patut diterima. Data sempadan (boundary) berada di tepi apa yang dibenarkan, dan nilai tepat di luarnya patut ditolak. Data tidak sah (invalid) ialah jenis yang salah atau jauh di luar peraturan dan juga patut ditolak. Sesetengah kertas menyebut kumpulan terakhir sebagai data abnormal atau erroneous.

Apakah data sempadan untuk julat umur 13 hingga 17?

Nilai sempadan yang diterima ialah 13 dan 17. Nilai yang ditolak tepat di luar ialah 12 dan 18. Ujian yang baik menggunakan kedua-dua pasangan, kerana kesilapan antara kurang daripada dengan kurang daripada atau sama dengan muncul tepat di situ.

Mengapa setiap ujian perlu ada hasil dijangka?

Tanpa hasil dijangka, anda tidak dapat menyatakan sama ada program lulus. Anda menentukan apa yang patut berlaku daripada keperluan dahulu, kemudian jalankan ujian dan bandingkan. Ini juga mengelakkan anda mempercayai apa-apa sahaja yang dipaparkan program.

Berapa banyak nilai ujian yang cukup?

Cukup untuk meliputi setiap jenis dan setiap sempadan peraturan. Untuk satu semakan julat, itu sekurang-kurangnya satu nilai normal, dua nilai sempadan, dua nilai tepat di luar, dan satu jenis tidak sah seperti teks. Lebih banyak nilai daripada jenis yang sama tidak banyak membantu.

Dikemas kini:

Langkah seterusnya

Jika jadual ujian anda nampak lengkap tetapi terlepas nilai yang memecahkan kod, guru satu dengan satu boleh menyemak setiap jadual bersama anda dan menunjukkan baris mana yang akan menangkap kesilapan.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80. Yuran lain, jadual dan susunan seterusnya disahkan terus bersama guru selepas kelas percubaan.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa atau penjaga? Tanya di sini

9,000+ pelajar telah dibantu melalui perkhidmatan kami