Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Kenal pasti cabang yang belum diuji

Semua ujian anda lulus, namun satu bahagian program tidak pernah benar-benar dijalankan.

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

Program yang ada keputusan mempunyai beberapa laluan melaluinya. Cabang yang belum diuji (untested branch) ialah laluan yang tidak pernah diikuti oleh mana-mana data ujian anda. Kesalahan sering bersembunyi di situ, kerana kod di dalamnya tidak pernah dijalankan.

Pelajaran ini yang terakhir dalam modul pengesahihan, pengesahan dan ujian. Ia menyambung meramal hasil dijangka.

Bagaimana menyenaraikan cabang?

Untuk setiap IF, tulis setiap laluan. Kemudian beri setiap laluan syarat yang menghantar program ke situ. Untuk peraturan gred tiga hala:

CabangSyarat untuk mencapainya
AScore >= 80
BScore < 80 dan Score >= 50
CScore < 50

Cabang C tiada syarat ditulis dalam kod. Ia berjalan apabila kedua-dua syarat terdahulu FALSE, jadi anda mesti mencari inputnya sendiri.

Contoh berlangkah

Sebuah program rekaan sepatutnya memberi gred A untuk 80 atau lebih, B untuk 50 hingga 79 dan C untuk bawah 50.

INPUT Score
IF Score >= 80 THEN
  Grade ← "A"
ELSE
  IF Score >= 50 THEN
    Grade ← "B"
  ELSE
    Result ← "C"
  ENDIF
ENDIF
OUTPUT Grade

Seorang penguji menjalankan dua ujian: Score = 85 dan Score = 70.

Langkah 1, jejak Score = 85. 85 >= 80 ialah TRUE, jadi Grade ← “A”. Output: A. Dijangka A. Lulus. Ini mencapai cabang A.

Langkah 2, jejak Score = 70. 70 >= 80 ialah FALSE. Kemudian 70 >= 50 ialah TRUE, jadi Grade ← “B”. Output: B. Dijangka B. Lulus. Ini mencapai cabang B.

Langkah 3, tandakan jadual.

CabangDicapai oleh ujian?
AYa (85)
BYa (70)
CTidak

Langkah 4, tambah ujian untuk cabang C. Pilih Score = 40. 40 >= 80 ialah FALSE dan 40 >= 50 ialah FALSE, jadi cabang C berjalan. Barisnya ialah Result ← "C", jadi Grade tidak pernah ditetapkan. Outputnya kosong atau tidak ditakrif. Dijangka C. Gagal.

Kesalahan itu tidak kelihatan sehingga cabang yang tertinggal diuji. Baris itu sepatutnya Grade ← "C".

Kemudian tambah ujian sempadan 80, 79, 50 dan 49 untuk menyemak perbandingan. Setiap satu patut memberi A, B, B dan C mengikut turutan.

Kesilapan yang perlu dielakkan

Kesimpulan yang salah: “Kedua-dua ujian lulus, jadi program berfungsi.”

Pelajar melihat keputusan, bukan kod mana yang dicapai oleh ujian.

Ujian yang lulus hanya memberitahu anda tentang laluan yang dijalankannya. Sebelum membuat kesimpulan, kira cabang dan kira laluan yang diliputi ujian anda. Jika nombornya berbeza, program belum diuji sepenuhnya.

Semak diri anda

1. Satu IF ada ELSE IF dan ELSE terakhir. Berapa banyak cabang?

Show answer

Tiga: cabang IF, cabang ELSE IF dan cabang ELSE.

2. Dalam program gred, nilai ujian manakah yang mencapai cabang C?

Show answer

Mana-mana skor di bawah 50, contohnya 40 atau 0. Pilihan sempadan ialah 49.

3. Ujian: 90 dan 95 sahaja. Cabang manakah yang belum diuji?

Show answer

Kedua-dua ujian mencapai cabang A. Cabang B dan C belum diuji.

Ke mana selepas ini?

Uji diri anda pada setiap idea dalam modul dengan set latihan campuran. Untuk kembali ke permulaan modul, lihat memilih peraturan pengesahihan. Alat jejak pseudokod terhad berguna untuk menjejak setiap cabang.

Jika anda mahu bantuan membina pelan ujian yang lengkap, itu sesuatu yang kami bantu dalam tuisyen Computer Science dalam talian satu dengan satu.

Soalan lazim

Apakah cabang (branch) dalam program?

Cabang ialah salah satu laluan yang boleh diambil program pada satu keputusan. IF dengan ELSE ada dua cabang, dan IF dengan ELSE IF serta ELSE terakhir ada tiga cabang. Setiap cabang ialah sekeping kod berasingan yang mungkin atau mungkin tidak dijalankan untuk input tertentu.

Bagaimana mencari cabang yang belum diuji?

Senaraikan setiap cabang, kemudian jalankan setiap input ujian melalui kod dan tandakan cabang yang dicapai. Mana-mana cabang tanpa tanda belum diuji. Kemudian pilih input baharu yang menjadikan syarat cabang itu benar.

Adakah semua ujian lulus bermakna program betul?

Tidak. Ujian hanya menunjukkan bahawa laluan yang dicapainya berfungsi untuk input itu. Cabang yang tidak dicapai mana-mana ujian mungkin mengandungi kesalahan yang tiada siapa nampak. Sebab itu set ujian yang baik bertujuan mencapai setiap cabang.

Perlukah saya ujian untuk setiap sempadan juga?

Ya. Mencapai setiap cabang ialah tahap minimum. Nilai sempadan kemudian menyemak bahawa syarat ditulis dengan betul, seperti 80 mencapai cabang gred A jika peraturan menyatakan 80 atau lebih.

Dikemas kini:

Langkah seterusnya

Jika ujian anda sentiasa lulus tetapi anda tidak pasti seluruh program diliputi, guru satu dengan satu boleh menyemak kod anda bersama anda dan memadankan setiap laluan dengan satu ujian.

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