Cara Bangun AI Agent Otomasi Pengujian Unit dengan n8n + GPT (MVP 2 Hari)
· 3 menit baca
Cara Bangun AI Agent Otomasi Pengujian Unit dengan n8n + GPT (MVP 2 Hari)
Problem: Tim developer junior‑intermediate sering terkendala menulis dan menjalankan tes unit secara konsisten. Missing test coverage, flaky tests, dan manual boilerplate menghabiskan waktu yang seharusnya dipakai untuk fitur baru. Apa jadinya kalau kita bisa men‑generate, men‑run, dan memperbaiki tes unit secara otomatis lewat satu AI Agent?
1. Konsep AI Agent untuk Pengujian Unit
AI Agent di sini adalah chat‑bot yang memanggil LLM (mis. OpenAI GPT‑4o) untuk men‑generate kode tes berdasarkan deskripsi fungsi, men‑run test runner (Jest, PyTest, atau Go test), meng‑analisis hasil, lalu memberi rekomendasi perbaikan.
Intinya, workflow n8n berperan sebagai orchestrator: mengambil event (push ke Git, atau request manual), mengirim prompt ke GPT, menulis file tes, menjalankan container test, dan mengirim notifikasi hasil ke Slack/Discord.
2. Breakdown Teknis Workflow
- Trigger:
GitHub Trigger – Pull Request OpenedatauWebhook – /run-tests(REST API). - Extract Metadata: Node
HTTP Requestke GitHub API untuk dapatkan daftar file yang berubah. - Prompt Engineering: Buat prompt yang menyertakan
- Nama file & kode sumber yang berubah
- Deskripsi singkat (jika ada comment)
- Framework test yang dipilih (Jest/ PyTest)
OpenAInode dengantemperature: 0.2agar output stabil. - Write Test File: Node
Write Binary Filemenyimpan hasil GPT ketests/auto_generated/dalam repository (menggunakanGitHub API – Create/Update File). - Run Tests: Node
Execute Commandmenjalankandocker run --rm -v $(pwd):/app node:20 sh -c "npm install && npm test"(ataupython -m pytest). - Parse Output: Node
Functionmembaca stdout, meng‑extractPASS/FAIL, coverage, dan error stack. - AI Fix Loop (opsional): Jika ada
FAIL, kirim kembali ke GPT dengan log error, minta perbaikan kode tes atau bahkan kode sumber (if safe). - Notify: Node
SlackatauMicrosoft Teamsmengirim ringkasan: total tests, coverage, screenshot hasil CI, dan link PR.
3. Contoh Use Case Real
Scenario: Startup fintech menambahkan endpoint /api/transactions. Developer membuka PR, tapi belum menulis tes unit.
Workflow otomatis:
- Trigger PR event → AI Agent membaca perubahan.
- GPT menghasilkan
transactions.test.jsdengan tiga case: success, validation error, dan unauthorized. - File tes ditulis ke repo, CI menjalankan Jest, menghasilkan 100% coverage.
- Jika ada flakiness, AI Agent otomatis men‑adjust dengan men‑mock waktu dan random IDs.
- Tim menerima notifikasi “✅ Tes unit berhasil, coverage 98% – PR siap merge”.
4. Insight & Strategi Praktis
- Prompt‑Cache: Simpan prompt + response di Redis untuk menghindari duplicate generation pada file yang sama.
- Model‑Fallback: Gunakan
gpt-4o-miniuntuk bulk test generation, fallback kegpt‑4obila kualitas < 80% (ukur dengan linting). - Safety Guard: Selalu jalankan kode yang di‑generate dalam container sandbox dengan
readonly rootfsuntuk mencegah exec berbahaya. - Cost‑Aware: Batch multiple changed files per PR menjadi satu prompt (max 4‑5 file) untuk mengurangi token usage.
- Human‑in‑the‑Loop: Tambahkan approval step di GitHub (reviewer harus menyetujui test file) sebelum commit otomatis.
5. Penutup & Call to Action
Dengan kombinasi n8n sebagai orchestrator dan GPT‑4o sebagai penulis kode, Anda bisa mengubah proses testing yang manual menjadi continuous, self‑healing, dan AI‑driven. Mulailah dengan satu repo kecil, iterasi prompt, dan tingkatkan ke seluruh monorepo.
💡 Try it now: Fork template workflow di sini, sesuaikan webhook secret, dan lihat PR Anda otomatis dapat tes unit dalam hitungan menit!