TestForge

Dasar-Dasar QAPelajaran 10 dari 13

English

Menulis test case yang benar-benar bisa dijalankan orang

Anatomi test case yang baik, lima cara test case menjadi buruk, dan seberapa rinci itu takaran yang tepat.

13 mntDasar-Dasar QAPraktik

Pelajaran ini punya latihan. Latihannya berjalan di sandbox Academy Anda — proyek TestForge sungguhan berisi ShopMini, yang disimpan terpisah dari dasbor dan daftar proyek Anda.

Satu pengujian yang menentukan

Bisakah orang kompeten yang belum pernah melihat fitur ini menjalankan case Anda dan sampai pada kesimpulan yang sama dengan Anda? Kalau ya, itu test case yang baik. Semua yang di bawah ini mengabdi pada pertanyaan itu.

Anatomi

BagianGunanyaContoh
JudulMudah dicari, dan memberi tahu pembaca apa yang dicakup tanpa membukanyaCheckout — kuantitas di atas maksimum (100) ditolak
PrakondisiKeadaan yang harus berlaku sebelum langkah 1Masuk sebagai pelanggan; keranjang berisi 1 × "Kaos Polos"; stok ≥ 200
Data ujiNilai konkret, bukan deskripsikuantitas = 100
LangkahAksi bernomor, satu aksi per langkah1. Buka keranjang. 2. Set kuantitas ke 100. 3. Klik Update.
Hasil yang diharapkanBisa diamati, spesifik, satu per langkah bila perluKuantitas tetap 99; error inline "Maksimal 99 per pesanan"; total keranjang tidak berubah
PrioritasYang dijalankan lebih dulu ketika waktu habisTinggi

TestForge memberi kolom untuk masing-masing bagian ini, dan langkahnya berupa pasangan aksi/harapan — jadi struktur di atas adalah form yang akan Anda isi.

Judul: bagian yang semua orang buru-buru

Judul dibaca seratus kali dan ditulis sekali. Pakai satu pola dan pegang terus:

[Area] — [kondisi] → [hasil yang diharapkan]

  • Checkout — kuantitas di atas maksimum (100) ditolak
  • Login — akun terkunci dengan kata sandi benar menampilkan pesan umum
  • Uji kuantitas — mencakup apa? lulus kapan?
  • Pastikan sistem berjalan dengan benar — tidak berisi apa pun
  • TC-17 — ID bukan judul

Ujinya: baca judulnya saja lalu tebak hasil yang diharapkan. Kalau Anda tidak bisa, tulis ulang.

Hasil yang diharapkan harus bisa diamati

"Berjalan dengan benar", "sesuai harapan", "sistem berperilaku semestinya" bukanlah hasil yang diharapkan — itu janji untuk berdebat belakangan. Tuliskan apa yang bisa dilihat orang:

  • Pesanan diproses dengan benar
  • Status pesanan menjadi "Paid"; email konfirmasi tiba di alamat pelanggan dalam 1 menit; stok SKU-1042 turun dari 200 menjadi 198

Kalau hasil yang diharapkan tidak bisa diamati dari luar, sebutkan di mana harus melihat — sebuah baris basis data, satu baris log, isi sebuah webhook. Itu tetap terhitung bisa diamati.

Lima cara test case menjadi buruk

1. Terlalu kabur. "Masukkan email yang tidak valid." Email tidak valid yang mana? a@b, no-at-sign, x@x., 300 karakter, unicode? Masing-masing partisi yang berbeda dan tidak berperilaku sama.

2. Terlalu rinci. Dua belas langkah untuk login, dijabarkan klik demi klik, di setiap case. Taruh persiapan bersama di prakondisi, atau di satu kelompok langkah bersama, dan mulailah case-nya di hal yang benar-benar diujinya. Sebuah case sebaiknya ~3–8 langkah.

3. Menguji lima hal sekaligus. Case yang memeriksa login, lalu dashboard, lalu halaman profil akan gagal di langkah 2 dan tidak memberi tahu apa pun tentang sisanya. Satu case, satu alasan gagal.

4. Bergantung pada sisa-sisa pengujian sebelumnya. Case 12 lulus hanya kalau case 11 dijalankan lebih dulu dan meninggalkan keranjang berisi. Ada yang menjalankan case 12 sendirian, gagal, dan semua orang membuang satu jam. Nyatakan prakondisinya, atau buat case itu menyiapkan dirinya sendiri.

5. Menyalin implementasinya. "Klik tombol berkelas .btn-primary di kanan atas." Ketika desainnya berubah, case-nya salah padahal software-nya baik-baik saja. Jabarkan maksudnya — "Konfirmasi pesanan" — bukan markup-nya.

Serinci apa yang tepat?

Tergantung siapa yang menjalankannya dan seberapa sering, dan ada pertukaran nyata di sini:

SituasiGaya
Anda jalankan sekali, hari ini, sendiriSebuah charter atau satu baris checklist. Jangan dipoles berlebihan
Anggota baru akan menjalankannyaLangkah lengkap, data eksplisit
Case regresi yang dijalankan tiap rilisLangkah lengkap — ia akan hidup lebih lama dari Anda
Diatur regulasi / bisa diauditLangkah lengkap, plus bukti run-nya
Akan Anda otomasi sprint depanData dan asersi yang presisi; lewati koreografi UI-nya

Cara khas QA junior tersandung adalah menulis 200 case rinci luar biasa yang tak seorang pun rawat. Kerincian berbiaya perawatan. Belanjakan di tempat sebuah case akan dijalankan ulang oleh orang yang bukan Anda.

Contoh dikerjakan

Kebutuhan. Keranjang ShopMini: kuantitas 1–99 per baris item.

Buruk:

Judul: Uji kuantitas Langkah: Uji kolom kuantitas dengan berbagai nilai Diharapkan: Berjalan dengan benar

Baik — dan perhatikan ini satu partisi, dengan case-nya sendiri:

Judul: Keranjang — kuantitas di atas maksimum (100) ditolak Prioritas: Tinggi Prakondisi: Masuk sebagai pelanggan buyer@shopmini.test; keranjang berisi 1 × "Kaos Polos" (SKU-1042); stok ≥ 200 Langkah:

  1. Buka /cart → baris item menunjukkan kuantitas 1
  2. Ketik 100 di kolom kuantitas untuk SKU-1042
  3. Klik Update cart

Hasil yang diharapkan: Kuantitas kembali ke 99 (atau tetap 1 dan tidak diterapkan); error inline "Maksimal 99 per pesanan" muncul di sebelah kolom; subtotal keranjang tidak berubah; tidak ada request yang dikirim ke layanan pesanan.

Saudara-saudaranya — 0, 1, 99, 2.5, "abc", kosong — adalah case terpisah, hasil kerja partisi dan batas Anda di pelajaran sebelumnya.

🛠 Giliran Anda, di TestForge

Latihan sandbox: buat case di atas (beserta saudara-saudara batasnya) di proyek ShopMini sungguhan, dengan langkah dan hasil yang diharapkan yang nyata. Checker-nya mencari sebuah case di suite Checkout dengan setidaknya tiga langkah, hasil yang diharapkan yang tidak kosong, dan nilai batas di datanya — standar yang sama yang akan diterapkan seorang peninjau.

Selanjutnya: hal lain yang akan Anda tulis setiap hari — laporan bug yang berujung diperbaiki alih-alih ditutup sebagai "tidak bisa direproduksi".

Uji pemahaman Anda

3 pertanyaan. Tidak perlu akun, dan tidak ada yang dikirim ke mana pun selain ke pemeriksa jawaban.

  1. 1. Hasil yang diharapkan mana yang bisa dipakai?

  2. 2. Case 12 hanya lulus kalau case 11 dijalankan lebih dulu dan meninggalkan item di keranjang. Apa cacat pada case itu?

  3. 3. Mana di antara ini yang layak berada di dalam sebuah test case?(pilih semua yang sesuai)

Jawab semua pertanyaan dulu.