AI Class

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

  1. Trigger: GitHub Trigger – Pull Request Opened atau Webhook – /run-tests (REST API).
  2. Extract Metadata: Node HTTP Request ke GitHub API untuk dapatkan daftar file yang berubah.
  3. Prompt Engineering: Buat prompt yang menyertakan
    • Nama file & kode sumber yang berubah
    • Deskripsi singkat (jika ada comment)
    • Framework test yang dipilih (Jest/ PyTest)
    Kirim ke OpenAI node dengan temperature: 0.2 agar output stabil.
  4. Write Test File: Node Write Binary File menyimpan hasil GPT ke tests/auto_generated/ dalam repository (menggunakan GitHub API – Create/Update File).
  5. Run Tests: Node Execute Command menjalankan docker run --rm -v $(pwd):/app node:20 sh -c "npm install && npm test" (atau python -m pytest).
  6. Parse Output: Node Function membaca stdout, meng‑extract PASS/FAIL, coverage, dan error stack.
  7. AI Fix Loop (opsional): Jika ada FAIL, kirim kembali ke GPT dengan log error, minta perbaikan kode tes atau bahkan kode sumber (if safe).
  8. Notify: Node Slack atau Microsoft Teams mengirim 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.js dengan 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-mini untuk bulk test generation, fallback ke gpt‑4o bila kualitas < 80% (ukur dengan linting).
  • Safety Guard: Selalu jalankan kode yang di‑generate dalam container sandbox dengan readonly rootfs untuk 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!

Artikel terkait