QA & Testing

QA Tester: Jenis Pengujian dan Cara Menulis Test Case yang Baik

Mengenal jenis pengujian software (unit, integrasi, sistem, regresi, UAT, performa, keamanan), cara menulis test case dan laporan bug yang jelas, serta contohnya untuk aplikasi kesehatan.

Tester bukan sekadar "orang yang mencari kesalahan programmer". Tester adalah wakil pengguna di dalam tim: orang yang memastikan aplikasi benar-benar bisa dipakai untuk pekerjaan nyata sebelum sampai ke tangan pengguna. Di aplikasi kesehatan, kesalahan kecil seperti hasil lab tertukar atau tagihan terhitung ganda bisa berdampak besar.

Jenis-jenis pengujian

JenisYang diujiBiasanya oleh
Unit testFungsi atau kelas terkecil secara terpisahProgrammer, otomatis
Integration testInteraksi antarmodul atau dengan sistem luar (database, API BPJS, SATUSEHAT)Programmer / QA
System testAplikasi utuh dari sudut pandang penggunaQA
Regression testMemastikan fitur lama tidak rusak karena perubahan baruQA, sebaiknya otomatis
UATKesesuaian dengan kebutuhan dan alur kerja klienPengguna / klien
Performance testKecepatan dan ketahanan saat banyak penggunaQA / DevOps
Security testCelah keamanan: akses tanpa izin, injeksi, kebocoran dataQA / spesialis keamanan

Anatomi test case yang baik

Test case yang baik bisa dijalankan oleh orang lain tanpa bertanya, dan hasilnya jelas: lulus atau gagal. Contoh:

BagianIsi
IDTC-DAFTAR-012
JudulMencegah pendaftaran ganda pasien dengan NIK yang sama
PrasyaratLogin sebagai petugas pendaftaran. Pasien dengan NIK uji 3202xxxxxxxx0001 sudah terdaftar.
Langkah1. Buka menu Pasien Baru. 2. Isi NIK 3202xxxxxxxx0001 dan data lain. 3. Klik Simpan.
Hasil yang diharapkanMuncul pesan "NIK sudah terdaftar" beserta tautan ke data pasien lama. Tidak ada data baru yang tersimpan.
PrioritasTinggi

Perhatikan bahwa hasil yang diharapkan harus spesifik dan bisa diperiksa. "Sistem berjalan normal" bukanlah hasil yang diharapkan.

Teknik mencari skenario uji

  • Boundary value: uji nilai di batas. Jika umur harus 0–150 tahun, uji -1, 0, 150, dan 151.
  • Equivalence partitioning: kelompokkan input yang perilakunya sama, lalu uji satu wakil dari setiap kelompok, misalnya pasien umum, BPJS, dan asuransi swasta.
  • Negative test: apa yang terjadi jika input kosong, format salah, koneksi terputus, atau tombol diklik dua kali?
  • Alur nyata: ikuti perjalanan pasien dari pendaftaran, poli, lab, farmasi, sampai kasir, dan pastikan data mengalir dengan benar di setiap langkah.
  1. Judul yang spesifik: "Total tagihan ganda saat resep diubah setelah dicetak", bukan "Kasir error".
  2. Langkah untuk mereproduksi, langkah demi langkah.
  3. Hasil yang diharapkan vs hasil sebenarnya.
  4. Bukti: screenshot, rekaman layar, atau potongan log.
  5. Lingkungan: versi aplikasi, browser, dan akun yang dipakai.
  6. Tingkat keparahan: kritis, tinggi, sedang, atau rendah.

Jangan pernah melampirkan data pasien asli di laporan bug. Gunakan data uji, atau samarkan identitasnya.

Otomatisasi: mulai dari mana?

Tidak semua pengujian perlu diotomatisasi. Prioritaskan yang sering diulang dan berisiko tinggi: perhitungan tagihan, alur login dan hak akses, serta integrasi yang sering berubah. Test otomatis ini dijalankan di pipeline CI setiap kali ada perubahan. Penjelasannya ada di artikel DevOps untuk tim kecil.

Mengukur hasil pengujian

Ringkas hasil pengujian dengan angka yang mudah dipahami manajer dan klien: execution rate, pass rate, dan defect removal efficiency. Hitung dengan kalkulator metrik QA.