testing
Catatan teknis seputar web development, DevOps, dan integrasi AI.
54 artikel
- 16.57testing
Istilah Lama Harus Tetap Pensiun setelah Rebrand
Rename besar bukan satu perintah cari-ganti: tiap permukaan punya aturan aman sendiri, dan legacy-guard test menjaga istilah yang pensiun tidak kembali.
TL;DR: Jadi rename Duta Muda dan Jelajah Kota ke PESONA ternyata bukan cuma cari-ganti biasa, stringnya nempel di banyak tempat kayak metadata SEO, label admin, sama tabel pengaturan. Tiap permukaan beda penanganan, ada yang lewat SQL, ada yang harus cek test assertion biar nggak gagal. Biar istilah lama nggak balik, dipasang negative test yang jalan terus di CI.
#testing#vitest#nextjs - 05.56testing
Menjaring baris E2E yang bocor dengan test.afterAll
Jaring pengaman test.afterAll membersihkan baris E2E yang bocor saat test timeout: identitas unik per worker, sapuan terbatas, dan delete idempoten.
TL;DR: Di KotaPortal, grid announcements kebanjiran baris sisa karena test E2E-nya timeout jadi DELETE nggak pernah jalan. Fixnya nambahin hook afterAll di spec informasi-crud: login sekali, terus hapus baris berjudul persis judul run atau yang lebih tua dari awal run, plus delete dua langkah idempoten. Hasilnya baris run lama bersih tanpa ngganggu run lain.
#playwright#testing#e2e - 02.34testing
Satu Akun Admin per Bidang agar Uji RBAC Terbukti
Pemeriksaan izin per bidang mentok karena tidak ada akun admin yang cocok. Satu CLI tertutup membuat satu akun per bidang dan membuktikannya lewat login.
TL;DR: Saya harus membuat akun admin untuk setiap bidang. Akun itu dibuat dengan perintah create-bidang-users yang aman. Perintah itu hanya berjalan di environment development.
#testing#security#go - 01.01testing
Token AI Saya Bocor dari Snapshot Browser, Bukan dari Tesnya
Saya kira tesnya yang mahal. Ternyata tiap klik di agent browser mengembalikan satu snapshot accessibility tree, dan konteks habis di situ.
TL;DR: Saya punya masalah dengan QA. Saya tidak perlu biaya token tinggi. Saya ubah cara kerja agent.
#playwright#vitest#mcp - 23.04testing
Menulis E2E untuk Halaman yang Menunda Fetch-nya
Spesifikasi E2E 52 baris untuk halaman daftar ber-debounce 350 ms: nol waitForTimeout, assertion retry sendiri, lima hook data-testid, dan index QA bertambah.
TL;DR: Tes untuk halaman daftar dibuat dengan 52 baris kode. Tes ini menggunakan Playwright untuk menguji elemen berulang kali sampai kondisinya terpenuhi. Timeout assertion dinaikkan menjadi 10 detik untuk mengakomodasi jaringan yang lambat.
#playwright#testing#typescript - 02.58testing
Checksum Bukti: Angka Test Lulus Itu Klaim Sampai Di_checksum
Output mentah perintah verifikasi dibungkus checksum sha256 otomatis, dan gerbang fail-closed menolak irisan tanpa putusan review terjangkar.
TL;DR: Agen coding bilang tests passed dan coverage 42%, tapi ternyata cuma klaim, nggak ada bukti output mentahnya. Solusinya, skrip shell nyimpen bundel bukti plus checksum sha256, jadi kalau angkanya disunting, ketahuan. Ada juga gerbang fail-closed: irisan nggak boleh disebut selesai kalau review-nya belum PASS semua.
#ai-agents#testing#qa - 00.57testing
Tes yang tak bisa gagal
Assert exit code bisa dilalui jalur lain yang tidak diuji. Perbaikannya mengikat assert ke output yang diperlebar.
TL;DR: Test CLI itu cuma ngecek exit code, jadi walau fitur ekspansi dihapus, test tetap hijau alias mutannya selamat. Artinya testnya nggak bisa gagal dan lulus gara-gara jalur lain. Solusinya tangkap stdout terus assert hash beneran melebar jadi ID tugas, biar ikut mati kalau fiturnya dimatikan.
#testing#python#mutation-testing - 20.39testing
Persen Cakupan Bukan Tameng: Amankan Jalur Penolakan
Audit cakupan middleware Go dari 27 ke 96,7 persen: pelajaran uji lengan penolakan dengan httptest, dari JWT sampai CORS.
TL;DR: Cakupan test middleware cuma 27 persen padahal itu gerbang auth, jalur penolakan kayak token expired dan role mismatch nggak pernah disentuh test. Penulis nambahin 850 baris test ke tujuh file pakai httptest, tanpa ngubah kode produksi. Hasilnya middleware naik ke 96,7 persen, tapi pelajarannya: angka berhenti di tempat mock mulai bohong, yang penting tiap jalur risiko punya saksi.
#golang#testing#security - 13.45security
Lima Celah yang Dikunci, Bukan Dibenahi
Lima kelemahan autentikasi dikunci sebagai characterization test bermarker keputusan, dipetakan sebelum diperbaiki.
TL;DR: Lagi riset tes autentikasi, ketemu 5 celah keamanan tapi nggak langsung dibenerin, malah dikunci jadi characterization test lengkap sama penanda keputusan pemilik proyek. Alasannya jujur aja: benerin diam-diam itu ngehapus jejak kenapa perilakunya ada. Jadi mending dipetain dulu semua risikonya, baru owner yang mutusin urutan prioritasnya.
#testing#security#authentication