Prompt Engineering untuk Data Sintetis
Menggunakan LLM untuk membuat data sintetis adalah strategi populer bagi tim QA. Anda dapat menghasilkan ratusan rekaman kompleks dalam hitungan detik.
Namun, prompt yang generik akan menjebak Anda. Jika Anda meminta LLM untuk "menghasilkan 50 pengguna uji", ia akan memberikan data yang dapat diprediksi dan repetitif. Hal ini menciptakan rasa cakupan (coverage) yang semu. Anda mendapatkan banyak rekaman yang hanya menguji "happy path" namun melewatkan edge case dan logika bisnis yang kritis.
Untuk memperbaikinya, Anda harus beralih dari sekadar peminta (requester) menjadi seorang pengatur (orchestrator). Anda perlu menerapkan prinsip-prinsip pengujian secara langsung ke dalam prompt engineering Anda.
Gunakan tiga pola ini untuk meningkatkan kualitas data Anda:
- Equivalence Partitioning dan Boundary Value Analysis Alih-alih meminta data, paksa LLM untuk memetakan kelas pengujian terlebih dahulu. Gunakan prompting Chain-of-Thought.
- Tentukan peran Anda sebagai Senior QA Engineer.
- Berikan aturan bisnis yang spesifik (misalnya, batas kupon atau pengeluaran minimum).
- Instruksikan LLM untuk mencantumkan semua kelas ekuivalensi yang valid dan tidak valid dalam sebuah tabel.
- Tuntut tepat satu payload JSON untuk setiap skenario yang diidentifikasi.
Ini memastikan Anda menguji titik transisi yang tepat, seperti $99,99 vs $100,00, tanpa membuang ruang untuk rekaman yang redundan.
- State Transition Testing Untuk sistem seperti alur pembayaran atau manajemen pesanan, data harus mencerminkan berbagai tahapan dalam sebuah siklus hidup (lifecycle).
- Berikan daftar semua status yang memungkinkan (misalnya, Created, Paid, Shipped, Delivered).
- Minta LLM untuk menghasilkan CSV yang mencakup State Transition Matrix.
- Tuntut tiga jenis alur: Linear (valid), Exception (penyimpangan), dan Violation (transisi tidak valid).
- Tetapkan aturan untuk hanya menghasilkan satu baris per kombinasi status yang unik.
Ini mencegah rekaman duplikat dan memaksa pembuatan negative test cases.
- Variance Control dan Negative Prompting LLM sering kali menghasilkan data yang homogen, seperti menggunakan wilayah atau kelompok usia yang sama. Gunakan Negative Prompting untuk menghentikan hal ini.
- Tetapkan persyaratan eksplisit untuk distribusi (misalnya, rentang usia atau wilayah geografis tertentu).
- Tambahkan bagian "PROHIBITIONS" (Larangan).
- Secara eksplisit larang nama-nama generik seperti "John Doe."
- Larang pengulangan kombinasi variabel yang sama.
- Larang nomor ID yang berurutan atau identik.
Ini menghilangkan bias dan memastikan backend Anda menangani data yang beragam dan realistis.
Kecepatan AI hanya akan memberikan nilai jika data Anda memiliki tujuan yang jelas. Peran Anda sebagai profesional QA adalah menyusun kode untuk batasan-batasan yang mengatur model generatif ini.
Komunitas belajar opsional: https://t.me/GyaanSetuAi