Pengesahihan (validation) menyemak bahawa data munasabah dan dibenarkan. Pengesahan (verification) menyemak bahawa data sama dengan data asal atau nilai yang dimaksudkan. Kedua-duanya menjawab soalan yang berbeza, dan soalan peperiksaan sering meminta anda menerangkan perbezaannya atau menamakan yang manakah dimaksudkan dalam sesuatu senario.
Pelajaran ini menyambung memilih peraturan pengesahihan dan terletak dalam modul pengesahihan, pengesahan dan ujian.
Soalan apa yang dijawab oleh setiap satu?
| Validation | Verification | |
|---|---|---|
| Soalan | Adakah data ini boleh diterima? | Adakah data ini yang dimaksudkan? |
| Dilakukan oleh | Program, secara automatik | Seseorang atau langkah perbandingan |
| Contoh | Umur mesti 13 hingga 17 | Taip e-mel dua kali dan bandingkan |
| Boleh tangkap nilai salah dalam had? | Tidak | Ya |
Dua kaedah verification yang lazim ialah masukan dua kali (double entry) dan semakan visual (visual check).
Contoh berlangkah
Sebuah borang kelab rekaan diisi daripada helaian kertas. Helaian itu menyatakan umur ahli ialah 15.
Seorang penaip menekan kekunci yang salah dan memasukkan 51. Penaip lain memasukkan 16 pada borang berbeza yang umur sebenarnya juga 15.
Langkah 1, gunakan semakan julat (13 hingga 17).
| Ditaip | Umur sebenar | Lulus semakan julat? |
|---|---|---|
| 51 | 15 | Tidak, 51 > 17, jadi ditolak |
| 16 | 15 | Ya, 13 <= 16 <= 17 |
Langkah 2, lihat apa yang validation lakukan. Ia menangkap 51. Ia tidak dapat menangkap 16, kerana 16 munasabah dan dibenarkan.
Langkah 3, gunakan verification. Jika borang dimasukkan dua kali, salinan pertama menyatakan 16 dan salinan kedua menyatakan 15. Perbandingan menjumpai ketidakpadanan dan penaip menyemak helaian kertas. Semakan visual terhadap helaian itu juga akan menjumpainya.
Kesimpulan: kedua-duanya digunakan bersama. Validation menyingkirkan nilai mustahil dengan cepat. Verification menangkap nilai yang mungkin tetapi salah.
Perbandingan masukan dua kali yang ringkas dalam pseudokod:
INPUT FirstEntry
INPUT SecondEntry
IF FirstEntry = SecondEntry THEN
OUTPUT "Entries match"
ELSE
OUTPUT "Entries differ, please check the source"
ENDIF
Dengan FirstEntry = 16 dan SecondEntry = 15, syarat itu FALSE, jadi outputnya ialah “Entries differ, please check the source”.
Kesilapan yang perlu dielakkan
Jawapan yang salah: “Validation memastikan data yang dimasukkan betul.”
Pelajar menganggap “sah” bermaksud “benar”.
Validation hanya memastikan data munasabah. Nilai salah yang mematuhi peraturan akan lulus. Tulis “munasabah dan dibenarkan”, dan gunakan verification apabila maksudnya ialah memadankan dengan sumber.
Semak diri anda
1. Program menolak kuantiti -3. Adakah ini validation atau verification?
Show answer
Validation. Program memutuskan secara automatik bahawa -3 bukan kuantiti yang dibenarkan.
2. Pengguna menaip kata laluan baharu dua kali dan program membandingkannya. Namakan jenis semakan dan kaedahnya.
Show answer
Verification, melalui masukan dua kali (double entry).
3. Borang menerima 2012 sebagai tahun lahir, tetapi tahun sebenar ialah 2021. Semakan manakah masih boleh meluluskannya, dan yang manakah boleh menangkapnya?
Show answer
Semakan julat boleh meluluskannya, kerana 2012 munasabah. Langkah verification, seperti membandingkan dengan dokumen sumber, boleh menangkapnya.
Ke mana selepas ini?
Seterusnya, belajar mereka data ujian normal, sempadan dan tidak sah supaya anda boleh menyemak sama ada peraturan pengesahihan benar-benar berfungsi. Anda boleh berlatih kedua-dua idea dalam set latihan campuran.
Jika kedua-dua perkataan itu terus tertukar dalam jawapan anda, itu sesuatu yang kami bantu dalam tuisyen Computer Science dalam talian satu dengan satu.