Bagaimana AI dengan Prompt Engineering Mendukung Pengujian Perangkat Lunak


AI menjadi alat QA utama yang membantu pembuatan skenario, deteksi risiko, dan perencanaan pengujian dengan lebih cepat. Pada Online TestConf, Arbaz Surti menunjukkan betapa efektifnya dorongan menggunakan peran, konteks, dan format keluaran membantu mendapatkan skenario pengujian yang jelas, relevan, dan dapat ditindaklanjuti. AI dapat meningkatkan kemampuan penguji, namun penilaian manusia diperlukan untuk memastikan relevansi dan kualitas.

AI akan menjadi bagian dari perangkat QA, dan penguji yang mempelajari cara membentuk perintah secara efektif akan menggunakannya untuk mempercepat pembuatan skenario, mengungkap risiko dengan lebih cepat, dan memfokuskan waktu mereka pada pekerjaan yang bernilai lebih tinggi, jelas Surti:

Dalam proyek Baskin-Robbins saya, kami harus menguji bagaimana ketersediaan item menu disinkronkan ke sistem pemesanan. Saya memberi AI petunjuk mendetail yang menjelaskan aplikasi tersebut dan memintanya untuk membuat kasus tepi. Muncul beberapa skenario yang belum saya pertimbangkan — termasuk skenario di mana item yang ditandai sebagai “tersedia” di aplikasi sebenarnya kehabisan stok di toko.

Penangkapan ini mencegah bug serius yang dapat menyebabkan pelanggan melakukan pemesanan yang tidak dapat dipenuhi dan toko menghadapi pengembalian dana yang berantakan, kata Surti.

Rekayasa yang cepat adalah perpanjangan dari hal terbaik yang telah kami lakukan: mengajukan pertanyaan yang bagus. Jika Anda memberikan perintah yang tidak jelas kepada AI, biasanya Anda akan mendapat jawaban yang tidak jelas, kata Surti. Jika Anda menerapkan disiplin yang sama yang digunakan penguji dalam menulis kasus pengujian, Anda akan mendapatkan hasil yang lebih mendekati apa yang sebenarnya dibutuhkan penguji: skenario pengujian yang jelas, relevan, dan dapat ditindaklanjuti yang dapat mereka percayai.

Menulis petunjuk yang efektif untuk kasus uji seperti menulis persyaratan yang jelas; semakin banyak konteks yang Anda berikan, semakin baik hasilnya. Dia menyarankan menggunakan struktur sederhana:

  • Tentukan peran: Anda adalah insinyur QA senior, penguji kinerja yang berfokus pada skenario beban dan tekanan, penguji keamanan yang ahli dalam mengidentifikasi kerentanan dalam alur autentikasi, atau pimpinan QA yang bertanggung jawab atas penentuan prioritas berbasis risiko.
  • Tambahkan konteks: fitur atau sistem apa yang Anda uji, aturan atau batasan apa pun.
  • Atur format output yang Anda inginkan.

Saat Anda melakukan ini, alih-alih membuat daftar kasus pengujian secara acak, Anda akan sering mendapatkan skenario terstruktur dan berprioritas yang dapat Anda masukkan langsung ke dalam alur kerja QA Anda, kata Surti. Ini tentang membimbing AI dengan cara yang sama seperti Anda memandu penguji junior.

Alur kerja pengujian yang didukung AI memberdayakan penguji alih-alih menggantikan mereka. AI dihubungkan ke berbagai bagian siklus QA, Surti menjelaskan:

Selama perencanaan ujian, ini dapat membantu Anda melakukan brainstorming cakupan lebih cepat. Untuk pembuatan kasus uji, ia dapat menyusun skenario dan bahkan menyarankan kasus tepi yang mungkin Anda lewatkan. Saat Anda mencapai eksekusi dan otomatisasi, AI dapat membantu membuat skrip atau memprioritaskan pengujian bernilai tinggi. Dan dalam pelaporan, teknologi ini dapat merangkum hasil, menemukan pola, atau menerjemahkan temuan teknis ke dalam bahasa yang ramah bisnis.

Alur kerjanya masih sama, namun AI bertindak seperti asisten cerdas di setiap langkah, membantu penguji bergerak cepat, dan fokus pada pemikiran bernilai lebih tinggi, kata Surti.

Untuk mendorong QA, Surti menyarankan untuk fokus pada prinsip-prinsip panduan daripada langkah-langkah spesifik:

  • Kejelasan dibandingkan kelengkapan: prioritaskan menanyakan apa yang saya perlukan daripada mencoba mendapatkan semuanya dalam satu waktu.
  • Format untuk digunakan kembali: menyusun keluaran sehingga dapat dimasukkan langsung ke dalam rencana pengujian, tabel, atau daftar periksa.
  • Berpikirlah seperti seorang penguji: perlakukan respons AI sebagai sesuatu untuk divalidasi dan diulangi, sama seperti hasil pengujian.
  • Dorongan sadar risiko: mengarahkan AI untuk fokus pada skenario yang berdampak besar atau kasus yang sulit, bukan pada jawaban yang umum.
  • Iterasi reflektif: setiap perintah adalah peluang untuk menyempurnakan dan mempelajari, meningkatkan hasil seiring waktu.

AI adalah akselerator yang kuat, bukan pengganti penguji, kata Surti. Ini bersinar dalam bertukar pikiran, menghasilkan skenario, atau memunculkan kasus-kasus rumit yang mungkin Anda lewatkan karena tekanan waktu. Namun nilai sebenarnya muncul ketika Anda membimbingnya dengan petunjuk yang baik dan kemudian menerapkan penilaian manusia untuk menyaring hal-hal yang penting. AI membantu Anda menjangkau lebih banyak wilayah dengan lebih cepat, namun pengujilah yang memastikan kedalaman dan relevansi cakupan tersebut, ia menyimpulkan.

InfoQ mewawancarai Arbaz Surti tentang permintaan pengujian perangkat lunak.

InfoQ: Bagaimana kita bisa menulis perintah yang efektif untuk menghasilkan kasus uji?

Arbaaz Surti: Berikut ini contoh prompt dengan output yang dihasilkan:


Peran: Anda adalah insinyur QA senior yang berpengalaman dalam pengujian pembayaran e-niaga.



Konteks: Fitur yang diuji adalah alur pembayaran e-niaga untuk aplikasi web. Itu harus mendukung checkout tamu dan diautentikasi, beberapa metode pembayaran (kartu kredit, kartu hadiah, PayPal), kode promo, kelanjutan multi-perangkat, opsi pengiriman, dan perhitungan pajak. Sistem menerapkan validasi pembayaran dan harus menahan serangan keamanan umum (SQLi, XSS). Ada batas waktu sesi/checkout 15 menit.



Batasan: Buat tabel penurunan harga dengan kolom berikut:


| Skenario Tes | Kategori (Fungsional / Kasus Tepi / Keamanan / Kegunaan) | Masukan/Tindakan | Hasil yang Diharapkan | Prioritas (Tinggi / Sedang / Rendah) |



Persyaratan:


– Menyediakan 15-20 skenario berbeda yang mencakup Fungsional, Kasus Edge, Keamanan, dan Kegunaan.


– Sertakan jalur bahagia inti, kasus kegagalan pembayaran/negatif, kasus edge (keranjang kosong, batas waktu, multi-perangkat), dan uji keamanan (injeksi SQL, XSS).




Keluarkan hanya tabel Markdown (tidak ada komentar tambahan).


Hasil:








Skenario Tes Kategori Masukan / Tindakan Hasil yang Diharapkan Prioritas
Tambahkan item ke keranjang Fungsional Pilih item dan klik “Tambahkan ke Keranjang” Barang muncul di keranjang dengan harga yang benar Tinggi
Terapkan kode diskon Fungsional Masukkan kupon yang valid/tidak valid Valid: diskon berlaku; Tidak valid: pesan kesalahan Tinggi
Masuk saat checkout Fungsional Masuk di tengah pembayaran Keranjang dipertahankan, pengguna dialihkan ke pembayaran Sedang


InfoQ: Teknik prompting apa saja yang ada, dan bagaimana Anda menggunakan teknik tersebut?

keluar: Teknik yang diambil dari Survei Sistematis Teknik Rekayasa Cepat yang memberikan dampak paling besar kepada penguji adalah:


  • Dorongan peran membantu membentuk “suara” dan keahlian AI – misalnya, menjadikannya bertindak seperti insinyur QA senior.
  • Dekomposisi adalah memecah tugas-tugas besar menjadi langkah-langkah yang lebih kecil dan lebih dapat diuji.
  • Output terstruktur juga merupakan kuncinya, karena ketika Anda meminta hasil dalam tabel, JSON, atau piagam pengujian, Anda mendapatkan sesuatu yang dapat Anda masukkan ke dalam alur kerja Anda.
  • Dan Anda dapat meminta AI untuk mengevaluasi sendiri cakupannya, sehingga membantu menemukan kesenjangan.


Ada teknik yang lebih canggih seperti Chain-of-Thought prompting (CoT), di mana Anda memandu AI untuk bernalar langkah demi langkah. Namun bagi sebagian besar penguji, memulai dengan teknik inti ini sudah dapat mengubah kualitas keluaran.





Bagaimana AI dengan Prompt Engineering Mendukung Pengujian Perangkat Lunak

Leave a Reply

Your email address will not be published. Required fields are marked *