Keuntungan:
- Kemampuan untuk mengubah persyaratan dan kriteria penerimaan menjadi kasus uji komprehensif dengan teknik seperti kelas kesetaraan, analisis nilai batas, dan tabel keputusan, dengan dukungan kecerdasan buatan
- Kemampuan untuk menghasilkan skenario kasus positif, negatif, dan edge secara terpisah dan menyelesaikan kasus edge yang terlewatkan oleh kecerdasan buatan dengan informasi produk
- Kemampuan untuk membangun ketertelusuran dan menghilangkan kesenjangan cakupan dan pembengkakan yang tidak perlu dengan menghubungkan kasus uji ke kriteria penerimaan
Pekerjaan penguji sering kali dimulai dengan kertas kosong ini: ia memiliki persyaratan ("pengguna harus dapat menyetel ulang kata sandinya") dan ia perlu mengubah satu kalimat ini menjadi lusinan pemeriksaan konkrit yang akan membuktikan bahwa perangkat lunak benar-benar berfungsi dengan benar. Transformasi ini disebut desain pengujian. Mengetahui perbedaan antara skenario pengujian — tujuan tingkat tinggi yang menjelaskan apa yang akan diuji, seperti "kata sandi yang tidak valid harus ditolak" — dan kasus pengujian — unit yang dapat dieksekusi yang merinci skenario tersebut dengan langkah-langkah konkret, masukan, dan hasil yang diharapkan adalah kuncinya. Kecerdasan buatan (AI) mempercepat momen halaman kosong ini: mengubah satu persyaratan menjadi lusinan rancangan skenario dalam hitungan detik. Tapi ingat — AI mereplikasi situasi yang dapat Anda pikirkan; Anda memilih dengan pengetahuan produk Anda situasi mana yang benar-benar penting.
Dalam unit ini, Anda akan mempelajari langkah demi langkah cara mengubah persyaratan menjadi rangkaian pengujian yang komprehensif namun tidak berantakan dengan dukungan AI.
Langkah demi langkah: dari persyaratan hingga set pengujian
Langkah 1 — Perjelas persyaratannya. Kumpulkan kriteria penerimaan (persyaratan yang harus dipenuhi suatu pekerjaan agar dianggap “selesai”) sebelum memberikan persyaratan mentah kepada AI. "Kata sandi harus dapat disetel ulang" saja tidak cukup; Aturan seperti "tautan reset berlaku selama 30 menit", "kata sandi yang sama tidak dapat digunakan kembali" adalah sumber pengujian sebenarnya.
Langkah 2 — Menerapkan teknik pengujian. Jangan hanya mengatakan "tulis naskah" tentang AI; Tanyakan teknik desain tes klasik berdasarkan nama:
- Kelas kesetaraan (equivalence partisi): Membagi input ke dalam kelompok-kelompok yang diharapkan menghasilkan perilaku yang sama. Misalnya, untuk bidang usia, "rentang valid", "terlalu kecil", dan "terlalu besar" adalah kelas; Menguji satu contoh dari setiap kelas sudah cukup.
- Analisis nilai batas: Menguji nilai ambang batas berdasarkan fakta bahwa kesalahan paling banyak terjadi pada batas. Ini seperti menguji 17, 18, 19 secara terpisah untuk batas usia 18 tahun.
- Tabel keputusan: Membuat tabulasi kombinasi beberapa kondisi dan hasil yang diharapkan dari setiap kombinasi.
- Transisi status: Menguji transisi sistem dari satu negara bagian ke negara bagian lainnya (misalnya, pesanan: dibuat → dibayar → dikirimkan) dan transisi yang tidak valid.
Langkah 3 — Pisahkan status positif, negatif, dan tepi. Mintalah tes positif (hasil yang diharapkan dengan masukan yang benar), tes negatif (kesalahan yang tepat dengan masukan yang tidak valid), dan kasus tepi — kasus batas atau tidak biasa. AI umumnya menekankan hal positif; Kasus negatif dan kasus tepi tidak lengkap kecuali Anda memintanya secara eksplisit.
Langkah 4 — Prioritaskan dan pangkas. AI dapat menghasilkan 60 skenario; Tidak semuanya mempunyai nilai yang sama. Prioritaskan yang berisiko tinggi (uang, keamanan, kehilangan data) dan gabungkan yang duplikat.
Tip: Kirim permintaan terpisah ke AI yang mengatakan "hasilkan 5 kasus tepi yang tidak terpikirkan dari persyaratan ini". Kontribusi AI yang paling berharga adalah AI sering kali mengingatkan Anda akan situasi luar biasa yang telah Anda abaikan.
Perintah lemah / Perintah kuat
Lemah: "Tulis kasus uji untuk menyetel ulang kata sandi."
Kuat: "Buat kasus uji untuk fitur 'reset kata sandi' dengan kriteria penerimaan berikut: tautan valid selama 30 menit, sekali pakai, 3 kata sandi terakhir tidak dapat digunakan kembali, akun dikunci selama 15 menit setelah 5 kali salah mencoba. Terapkan kelas kesetaraan dan analisis nilai batas. Berikan kasus positif, negatif, dan tepi dalam judul terpisah. Untuk setiap kasus: ID, prasyarat, langkah, data pengujian, hasil yang diharapkan, kriteria penerimaan terkait. Sorot skenario keamanan/penguncian ambillah."
Perintah yang kuat; Ini memberikan aturan, teknik, format keluaran dan urutan prioritas. Oleh karena itu, AI menghasilkan kasus uji yang dapat dieksekusi dan dilacak, bukan kasus uji dekoratif.
Format keluaran kasus uji
Mintalah format terstruktur yang dapat diimpor langsung ke alat manajemen pengujian tim Anda (misalnya TestRail, Zephyr, Xray). Tabel berikut menunjukkan komponen-komponen test case yang baik:
daerah
Deskripsi
contoh
tanda pengenal
tanda pengenal unik
TC-PWD-014
Judul
tujuan singkat
Tautan yang kedaluwarsa akan ditolak
prasyarat
Kondisi diperlukan sebelum pengujian
Tautan reset dibuat 31 menit yang lalu
langkah
Tindakan berurutan
1. Klik pada link 2. Masukkan kata sandi baru
data uji
Nilai-nilai konkrit yang digunakan
tautan lama, kata sandi baru "Abc!2345"
hasil yang diharapkan
Perilaku yang harus diverifikasi
Kesalahan "Tautan kedaluwarsa", kata sandi tidak berubah
Kriteria penerimaan
tautan ketertelusuran
AK-3: tautan berlaku selama 30 menit
prioritas
Tingkat risiko
tinggi
Empat templat yang dapat disalin
1) Produksi skenario berbasis teknis:
Peran Anda: perancang pengujian senior.Buat kasus pengujian untuk fitur: [kriteria fitur dan penerimaan].Terapkan: kelas kesetaraan, analisis breakpoint, tabel keputusan.Berikan output dalam 3 grup: Kasus Positif / Negatif / Tepi.Setiap kasus: ID, prasyarat, langkah, data pengujian, hasil yang diharapkan, kriteria penerimaan terkait, prioritas (Tinggi/Sedang/Rendah).
2) Pemburu kasus tepi:
Daftar 10 kasus tepi yang biasanya diabaikan untuk fitur berikut: [fitur]. Tulis dalam satu kalimat mengapa hal itu berisiko bagi masing-masing orang. Pikirkan tentang sumbu seperti kosong/null, input terlalu panjang, konkurensi, batas waktu, kesalahan format, Unicode/emoji, negatif/nol, pemadaman jaringan.
3) Produksi tabel keputusan:
Buat tabel keputusan untuk aturan bisnis berikut: [aturan].Kolom: kombinasi kondisi; baris: setiap kondisi dan tindakan yang diharapkan. Tandai kombinasi yang tidak dapat dicapai atau bertentangan. Kemudian usulkan kasus uji untuk setiap kombinasi.
4) Kontrol ketertelusuran:
Diberikan daftar kriteria penerimaan berikut dan kasus uji berikut:[kriteria] / [kasus]. Tunjukkan dalam bentuk tabel kriteria penerimaan mana yang dipenuhi oleh kasus uji NO (kesenjangan cakupan) dan kasus mana yang tidak memenuhi kriteria apa pun (kasus redundan).
tiga kasus mini
Kasus 1 — Nilai status tepi. Seorang ahli dari tim fintech telah menulis 18 skrip untuk fitur transfer uang. Dia menerapkan template “edge case hunter” ke AI; AI mengingatkan situasi "mentransfer saldo yang sama dari dua perangkat pada waktu yang sama" (konkurensi). Saat skenario ini diuji, kerentanan pembelanjaan ganda ditemukan dan ditutup sebelum diluncurkan. Situasi pinggiran tunggal mencegah potensi kerugian enam digit.
Kasus 2 — Memangkas tonjolan. Sebuah tim meminta AI membuat naskah untuk formulir keanggotaan dan 74 kasus berhasil diselesaikan. Saat menjalankan template ketertelusuran, ditemukan bahwa 74 kasus hanya memenuhi 9 kriteria penerimaan, dan banyak di antaranya melakukan pengujian ulang pada kelas kesetaraan yang sama. Jumlah kasus tersebut berkurang dari 74 menjadi 23 kasus signifikan; waktu berjalan berkurang 68%, cakupan tidak berkurang.
Kasus 3 — Asumsi yang salah. AI menyarankan untuk menguji tanggal yang tidak valid seperti “31 Februari” untuk bidang tanggal, tetapi tidak mengetahui bahwa komponen kalender yang digunakan tim telah memblokirnya. Pakar menghilangkan 4 dari 6 skenario tanggal yang dihasilkan oleh AI karena tidak diperlukan dalam konteks produk. Kemungkinan yang dihasilkan AI; membuat pilihan informasi produk.
Kesalahan umum
- Meminta naskah tanpa memberikan kriteria penerimaan. Tanpa mengetahui kebenarannya, AI menghasilkan skenario dangkal yang sering kali mengabaikan risiko sebenarnya.
- Hanya menerima tes yang positif. Secara eksplisit tidak menginginkan kasus-kasus negatif dan tepian. Di sinilah letak kesalahan yang sering terjadi.
- Menerima apa yang dihasilkan apa adanya. Lupa bahwa AI tidak mengetahui konteks produk dan meninggalkan skenario yang tidak perlu atau tidak mungkin di lokasi syuting.
- Melewati ketertelusuran. Tidak mengaitkan kasus dengan kriteria penerimaan; Akibatnya tidak terlihat kriteria mana yang tidak diuji (coverage gap).
- Kekeliruan kuantitas. Senang karena "60 skrip telah dirilis". Nilainya bukan pada angkanya, tapi pada cakupan yang mencakup risikonya.
Singkatnya
Desain pengujian adalah tentang menerjemahkan persyaratan satu kalimat ke dalam kasus konkret yang dapat dieksekusi yang membuktikan kebenaran perangkat lunak. AI sangat mempercepat transformasi ini: AI menghasilkan cetak biru yang komprehensif ketika Anda memberikan kriteria penerimaan, teknik pengujian klasik (kelas kesetaraan, breakpoint, tabel keputusan, transisi keadaan) dan format keluaran yang jelas. Namun AI bias terhadap hal-hal positif, tidak mengetahui konteks produk, dan dapat menghasilkan pembengkakan yang tidak perlu. Tugas Anda adalah secara eksplisit meminta kasus negatif dan kasus edge, menetapkan ketertelusuran, membuat prioritas berdasarkan risiko, dan memangkas.
Tugas aplikasi
Pilih fitur dari proyek Anda sendiri dan tuliskan kriteria penerimaannya. Minta AI menghasilkan kasus uji dengan templat “pembuatan skenario berbasis teknik”. Kemudian terapkan templat “edge case hunter” dan “traceability check”. Hasilnya: (1) menambahkan setidaknya 3 kasus tepi yang dilewati AI, (2) memangkas kasus yang tidak sesuai dengan kriteria penerimaan apa pun, (3) menulis kasus baru jika ada kriteria penerimaan yang belum diuji. Tuang set terakhir ke dalam spreadsheet.
daftar periksa
- [ ] Sebelum meminta naskah, saya mengklarifikasi kriteria penerimaan.
- [ ] Saya meminta YZ untuk kelas kesetaraan dan analisis nilai batas berdasarkan nama.
- [ ] Saya menghasilkan status positif, negatif, dan tepi secara terpisah.
- [] Saya menghubungkan setiap kasus uji ke kriteria penerimaan (kemampuan penelusuran).
- [] Saya memeriksa kesenjangan cakupan dan kasus yang tidak perlu dengan tabel.
- [ ] Saya memprioritaskan berdasarkan risiko dan memangkas bagian yang bengkak.