Pakai AI Buat Nulis Test: yang Membantu dan yang Tetap Saya Cek Manual

Nulis test itu kerjaan yang sering saya tunda-tunda. Bukan karena susah — cuma karena berulang dan makan waktu, dan kalau lagi ngejar deadline, test selalu jadi yang paling gampang dikorbanin duluan. AI coding agent ternyata pas banget buat nutupin bagian yang paling ngebosenin dari ini, tapi setelah beberapa bulan pakai serius, saya juga jadi lebih jelas soal di mana batasnya.
Yang beneran membantu
Generate test case buat skenario yang jelas itu kerjaan yang paling enak dilempar ke AI — input valid, input invalid, edge case umum kayak string kosong atau array kosong. Saya kasih satu function, terus minta cover semua kombinasi input yang masuk akal, dan hasilnya biasanya udah 80% jadi tanpa saya perlu mikir ulang dari nol. Boilerplate setup/teardown juga gampang — polanya biasanya udah jelas dari test lain di file yang sama, jadi AI cuma perlu niru pola yang udah ada.
Contoh konkret: minggu lalu saya nambahin validasi buat form input di salah satu project client, dan cuma butuh dua-tiga prompt buat dapet coverage test yang biasanya makan waktu setengah jam kalau saya tulis manual satu-satu.
Yang tetap saya cek manual
Ini bagian yang lebih penting dari yang kelihatan: apakah test-nya beneran nge-test hal yang penting, atau cuma nge-cover baris kode tanpa assertion yang bermakna. Saya pernah nemu test yang “hijau” tapi assertion-nya cuma ngecek expect(result).toBeDefined() — teknisnya lolos, tapi nggak bakal ke-detect sama sekali kalau logic-nya berubah jadi salah total. Itu test yang lebih berbahaya dari nggak ada test, karena dia ngasih rasa aman palsu ke siapa pun yang liat coverage report-nya ijo semua.
Edge case yang spesifik ke domain bisnis juga tetap saya yang harus mikirin sendiri. AI nggak tau bug apa yang pernah bikin masalah di production bulan lalu — dia nggak bakal otomatis nulis regression test buat kasus spesifik itu kecuali saya yang eksplisit minta. Saya sekarang punya kebiasaan: tiap kali ada bug production yang ke-fix, saya minta AI generate regression test-nya sendiri, sambil saya jelasin persis kenapa bug itu kejadian.
Review test hasil AI sepenting review kode produksi
Ini yang saya pelajari paling lambat. Awalnya saya cenderung skim aja test yang di-generate — liat semua “passed”, langsung commit. Sekarang saya baca tiap assertion satu-satu, sama disiplinnya kayak saya baca diff kode produksi. Test yang salah itu bukan cuma nggak berguna, tapi aktif berbahaya — dia bikin saya percaya sesuatu yang ternyata nggak beneran ke-cover.
Hasilnya sekarang: saya nulis test jauh lebih cepat buat bagian yang repetitif, dan waktu yang kesisa itu saya pakai buat mikirin skenario yang beneran butuh judgment manusia — hal-hal yang cuma saya tau karena saya paham konteks bisnisnya, bukan yang bisa ditebak dari pola kode doang.