← Back to list

Nulis API Test Case yang Proper

Belajar SQA Bareng #15 · API Testing

Isna Nur Amalia · 2026-05-17 11:26 · 0 claps · 3.1 min read
#api #api-testing #test-case #template-test-case #software-quality-testing
Open on Medium ↗

Nulis API Test Case yang Proper

Belajar SQA Bareng #15 · API Testing

Ada bedanya antara pakai Postman dan test API dengan benar.

Selama jadi developer, aku termasuk yang pertama. Buka Postman, kirim request, lihat response, kalau datanya sesuai ya sudah. Tidak ada dokumentasi, tidak ada assertion, tidak ada struktur. Pure coba-coba.

Setelah belajar API Testing dari sisi QA, aku bikin sesuatu yang berbeda: API test case yang proper, lengkap dengan test plan, execution log, defect report, dan metrics. Dan bedanya jauh sekali.

Dari Coba-coba ke Terstruktur

Waktu coba-coba di Postman sebagai developer, yang ada di kepala hanya satu pertanyaan “endpoint ini return apa?”

API test case yang proper menjawab pertanyaan yang jauh lebih banyak:

Semua itu terdokumentas, bisa direproduksi siapa saja, dan bisa dijalankan ulang kapan saja.

Struktur API Test Case yang Aku Pakai

Untuk project STI Alumni, ini kolom yang aku gunakan di setiap test case:

Struktur API Test Case

Struktur API Test Case

Contoh Nyata: Auth Endpoint

Ini tiga test case dari module Auth yang menunjukkan perbedaan antara positive, negative, dan validation case:

TC-AUTH-001 — Login Berhasil (Positive)

Contoh Positive Test Case — Auth

Contoh Positive Test Case — Auth

TC-AUTH-002 — Login Gagal (Negative)

Contoh Negative Test Case — Auth

Contoh Negative Test Case — Auth

TC-AUTH-003 — Body Kosong (Validation)

Contoh Edge Case — Auth

Contoh Edge Case — Auth

Tiga test case, tiga skenario berbeda, semuanya terdokumentasi dengan jelas.

Yang Membedakan API Test Case yang Bagus

1. Pre-condition yang spesifik

Bukan hanya “aplikasi running”, tapi kondisi yang benar-benar spesifik: “User sudah terdaftar di DB”, “Token valid tersimpan di environment variable”, “Email belum pernah dipakai.”

Tanpa pre-condition yang jelas, test case yang sama bisa menghasilkan hasil yang berbeda tergantung kondisi data.

2. Expected Status Code yang tepat, bukan sekadar “sukses atau gagal”

  • 200 untuk GET yang berhasil
  • 201 untuk POST yang berhasil membuat resource baru
  • 401 untuk unauthorized
  • 404 untuk resource tidak ditemukan
  • 409 untuk conflict (misalnya email sudah terdaftar)
  • 422 untuk validation error

3. Postman Assertion yang otomatis

Bukan cuma lihat response secara visual, tapi menulis script yang memverifikasi secara otomatis. Ini bikin collection bisa dijalankan ulang tanpa perlu cek manual satu per satu.

🔍 Dev Lens

Waktu jadi developer, aku tidak pernah mendokumentasikan testing apapun. Kalau berhasil ya lanjut, kalau gagal ya debug, kalau ada yang nanya ya coba lagi dari awal.

Struktur seperti ini memaksa untuk mendokumentasikan semuanya: apa yang ditest, bagaimana cara testnya, hasilnya apa, dan kalau ada bug, ada di mana.

Bukan berarti sebagai developer harus bikin yang serapih ini untuk setiap testing. Tapi sebagai QA, dokumentasi ini adalah hasil kerja yang bisa ditunjukkan, diverifikasi, dan direproduksi oleh orang lain. Itu yang membedakannya dari sekadar coba-coba.

💬 Jujur Corner

Jujurnya, bikin template ini lebih lama dari yang aku kira. Bukan karena teknisnya susah, tapi karena harus mikirin edge case untuk setiap endpoint: skenario apa saja yang perlu dicakup, pre-condition apa yang dibutuhkan, dan assertion apa yang paling relevan.

Dan aku belum testing langsung ke API-nya. Template ini masih akan terus berkembang setelah eksekusi berjalan dan ketemu hal-hal yang tidak terpikir sebelumnya.

Itu juga bagian dari prosesnya.

Takeaway

  • API test case yang proper bukan sekadar “kirim request dan lihat hasilnya” tapi dokumentasi lengkap yang bisa direproduksi siapa saja
  • Pre-condition yang spesifik dan expected status code yang tepat adalah dua hal yang paling membedakan test case yang bagus dari yang seadanya
  • Postman assertion mengubah testing dari proses manual menjadi sesuatu yang bisa diverifikasi dan dijalankan ulang secara otomatis
  • Execution log, defect report, dan metrics bukan formalitas, tapi alat untuk tahu seberapa baik coverage testing yang sudah dilakukan

Artikel berikutnya kita masuk ke topik yang sedikit berbeda: bagaimana cara QA menguji fitur AI dan chatbot. Ini yang paling relevan dengan industri sekarang dan paling jarang dibahas. Follow dulu biar nggak ketinggalan! 👋

— Isna, developer yang lagi belajar ngobrak-abrik software


메타데이터
post_id
f4aaefdfef02
slug
nulis-api-test-case-yang-proper-f4aaefdfef02
url
https://medium.com/@isnanramalia/nulis-api-test-case-yang-proper-f4aaefdfef02
canonical_url
https://medium.com/@isnanramalia/nulis-api-test-case-yang-proper-f4aaefdfef02
author_url
https://medium.com/@isnanramalia
status
ok
fetched_at
2026-06-09 15:37:30