Apa itu Test Case ?
Sebuah test case merupakan dokumen atau skenario yang dirancang untuk menguji fitur atau fungsi tertentu dari sebuah perangkat lunak. Isinya mencakup deskripsi tujuan pengujian, persyaratan pra-kondisi yang harus dipenuhi sebelum pengujian dimulai, langkah-langkah detail yang harus diikuti untuk menjalankan pengujian, serta data uji yang digunakan bersama dengan hasil yang diharapkan dari pengujian tersebut.
Fokus utama dari test case adalah untuk mendeteksi bug atau kesalahan dalam kode, memastikan perangkat lunak beroperasi sesuai dengan spesifikasi yang telah ditetapkan, dan memverifikasi kualitas serta kehandalan perangkat lunak sebelum dirilis kepada pengguna atau dalam produksi. Ada beberapa langkah untuk menyusun test case dalam aktivitas pengujian, berikut ini penjelasannya.
Anatomi Sebuah Test Case
Sebuah test case yang lengkap umumnya memuat elemen-elemen berikut:
- ID Test Case: pengenal unik untuk merujuk dan melacak (misalnya TU01).
- Deskripsi: penjelasan singkat apa yang diuji dan konteksnya.
- Prasyarat (pre-condition): kondisi yang harus terpenuhi sebelum tes dijalankan, misalnya data awal atau akun yang sudah login.
- Langkah-langkah tes: urutan tindakan yang harus diikuti, jelas dan berurutan.
- Data uji: input spesifik yang dipakai, seperti username dan password.
- Hasil yang diharapkan: perilaku yang seharusnya terjadi setelah langkah dijalankan.
- Hasil aktual & status: apa yang benar-benar terjadi, lalu ditandai Lulus atau Gagal.
Elemen tambahan seperti prioritas (Tinggi/Sedang/Rendah), lingkungan pengujian, dan keterhubungan ke dokumen spesifikasi sering ikut dicantumkan untuk proyek yang lebih besar.
Contoh Metode Menulis Test Case dalam Testing Manual
Langkah 1. Test case sederhana untuk menjelaskan skenario
| Test Case # | Deskripsi Test Case |
| 1 | Memeriksa respon sistem ketika memasukkan username dan password salah (invalid) |
Langkah 2. Data Pengujian
Untuk menjalankan Test Case, Anda memerlukan Data Uji. Menambahkannya di bawah
| Test Case # | Deskripsi Test Case | Data Uji |
| 1 | Memeriksa respon sistem ketika memasukkan username dan password salah (invalid) | username : [email protected] Kata sandi: 123456# |
Mengidentifikasi data uji dapat memakan waktu dan terkadang memerlukan pembuatan data uji kembali. Alasan tersebut perlu didokumentasikan.
Langkah 3. Lakukan tindakan.
Untuk menjalankan Test Case, seorang software tester perlu melakukan serangkaian tindakan tertentu.
Hal tersebut perlu didokumentasikan seperti di bawah ini:
| Test Case # | Deskripsi Test Case | Langkah-Langkah Tes | Data Uji |
| 1 | Periksa respons ketika email dan kata sandi yang valid dimasukkan | 1). Masukkan username 2). Masukkan Kata Sandi 3). Klik Masuk | Username : [email protected] Kata sandi: 123456# |
Seringkali langkah uji tidak sesederhana seperti contoh di atas, oleh karena itu diperlukan dokumentasi mendetail untuk setiap tindakan yang dilakukan. Hal ini bertujuan untuk memudahkan Software Tester lain untuk melanjutkan pengujian, langkah-langkah yang terdokumentasi akan membantu dan juga memfasilitasi tinjauan oleh pemangku kepentingan lainnya.
Langkah 4. Periksa perilaku.
Tujuan dari test case dalam pengujian perangkat lunak adalah untuk memeriksa perilaku untuk hasil yang diharapkan. Contoh dokumentasi dari pengujian tersebut dapat dilihat seperti di bawah ini
| Test Case # | Deskripsi Test Case | Data Uji | Hasil yang diharapkan |
| 1 | Periksa respons ketika email dan kata sandi yang valid dimasukkan | Username : [email protected] Kata sandi: 123456# | Login harus gagal |
Selama waktu pelaksanaan tes, Software Tester akan memeriksa hasil yang diharapkan terhadap hasil aktual dan menetapkan status lulus atau gagal
| Test Case # | Deskripsi Test Case | Data Uji | Hasil yang diharapkan | Hasil Sebenarnya | Lulus/Gagal |
| 1 | Periksa respons ketika email dan kata sandi yang valid dimasukkan | Username : [email protected] Kata sandi: 123456# | Login harus gagal | Login gagal | Lulus |
Langkah 5. Selain test case ini, mungkin akan ada elemen lain seperti Pra-Kondisi yang menetapkan hal-hal yang harus dipenuhi sebelum tes dapat dilakukan. Untuk test case pada umumnya, prasyaratnya adalah memiliki browser yang terinstal untuk mengakses situs yang sedang diuji. Test case juga dapat mencakup Post-Kondisi yang menjelaskan kondisi atau tindakan yang berlaku setelah test case selesai.
Format Test Case Standar
Di bawah ini adalah format contoh Test Case login standar.
| ID Test Case | Deskripsi Test Case | Langkah-Langkah Tes | Data Uji | Hasil yang diharapkan | Hasil nyata | Lulus/Gagal |
| TU01 | Periksa Login Pelanggan dengan Data yang valid | 1). Pergi ke situs https://badr.co.id 2). Masukkan Username 3). Masukkan kata kunci 4). Klik Kirim | User ID = BADR01 Kata Sandi = 123456# | Pengguna harus Masuk ke dalam aplikasi | Seperti yang diharapkan | Lulus |
| TU02 | Periksa Login Pelanggan dengan Data yang tidak valid | 1). Pergi ke situs https://badr.co.id 2). Masukkan Username 3). Masukkan kata kunci 4). Klik Kirim | User ID = BADR02 Kata sandi = 123456! | Pengguna tidak boleh Masuk ke dalam aplikasi | Seperti yang diharapkan | Lulus |
Saat menyusun Test Case untuk memasukkan informasi berikut:
- Sebuah pengenal unik untuk test case, biasanya berupa nomor atau kode, yang digunakan untuk merujuk dan melacak test case dalam dokumentasi dan pelaporan.
- Penjelasan singkat tentang apa yang diuji oleh test case, termasuk tujuan dan konteks pengujian.
- Kondisi atau setup yang harus dipenuhi sebelum test case dapat dijalankan, seperti data awal, konfigurasi sistem, atau akses yang diperlukan.
- Rincian langkah-langkah yang harus diikuti untuk menjalankan test case, mulai dari memulai aplikasi hingga melakukan tindakan yang relevan.
- Deskripsi tentang apa yang seharusnya terjadi setelah langkah-langkah test case dijalankan. Ini termasuk hasil akhir dan bagaimana aplikasi harus bereaksi terhadap input yang diberikan.
- Data spesifik yang digunakan dalam pengujian, seperti nilai input atau parameter, yang diperlukan untuk menjalankan test case. Ini mencakup informasi seperti nama pengguna, kata sandi, atau nilai formulir.
- Status dari test case, seperti “Belum Dijalankan,” “Berhasil,” “Gagal,” atau “Dalam Proses.” Ini membantu dalam melacak kemajuan pengujian dan hasil yang diperoleh.
- Informasi tentang konfigurasi sistem, perangkat keras, perangkat lunak, atau versi aplikasi tempat test case dijalankan. Ini memastikan bahwa pengujian dilakukan dalam lingkungan yang sesuai.
- Menandai pentingnya test case, misalnya “Tinggi,” “Sedang,” atau “Rendah.” Ini membantu dalam menentukan urutan pelaksanaan test case berdasarkan dampaknya pada sistem.
- Menghubungkan test case dengan dokumen spesifikasi atau kasus penggunaan tertentu yang diujinya. Ini memastikan bahwa pengujian terkait langsung dengan kebutuhan atau fitur yang diinginkan.
Bagaimana Menyusun Test Case yang Baik ?
1. Jelas dan Ringkas
Test case harus ditulis dengan bahasa yang mudah dipahami dan langsung ke inti. Hindari informasi yang tidak perlu dan gunakan kalimat singkat untuk menjelaskan langkah-langkah dan ekspektasi.
2. Memiliki Identifikasi Unik
Setiap test case harus memiliki ID unik yang memudahkan referensi dan pelacakan. Ini membantu dalam mengidentifikasi dan mengelompokkan test case dengan mudah, terutama saat melaporkan hasil pengujian.
3. Menyertakan Prasyarat
Jelaskan kondisi atau setup yang harus ada sebelum test case dapat dijalankan. Ini termasuk data awal, konfigurasi sistem, atau login yang diperlukan untuk memulai pengujian.
4. Langkah-Langkah yang Terperinci
Rinci langkah-langkah yang perlu diikuti untuk menjalankan test case. Setiap langkah harus jelas dan terurut dengan baik untuk memastikan konsistensi selama eksekusi.
5. Hasil yang Diharapkan
Deskripsikan hasil yang diharapkan setelah setiap langkah atau setelah test case dijalankan secara keseluruhan. Ini memudahkan verifikasi apakah aplikasi berfungsi sesuai dengan yang diharapkan.
6. Menguji Kondisi Positif dan Negatif
Test case harus mencakup pengujian untuk kondisi positif (fungsi berjalan sesuai harapan) dan negatif (menangani kesalahan atau input yang tidak valid). Ini memastikan aplikasi robust dan tahan terhadap berbagai situasi.
7. Mengacu pada Dokumen Spesifikasi
Test case harus berdasarkan pada persyaratan dan spesifikasi yang tercantum dalam dokumen proyek. Ini memastikan bahwa pengujian sesuai dengan kebutuhan pengguna dan tujuan aplikasi.
8. Mudah Dipahami oleh Orang Lain
Test case harus cukup jelas sehingga orang lain, termasuk anggota tim yang mungkin baru atau tidak familiar dengan test case tersebut, dapat memahaminya tanpa penjelasan tambahan.
9. Reproduksibilitas
Test case harus dapat diulang dengan hasil yang konsisten. Langkah-langkah dan hasil yang diharapkan harus cukup spesifik sehingga pengujian dapat dilakukan berulang kali dengan hasil yang sama.
10. Keterhubungan dengan Kasus Penggunaan
Pastikan bahwa test case terhubung dengan kasus penggunaan atau skenario yang relevan. Ini membantu memastikan bahwa setiap aspek dari aplikasi diuji sesuai dengan cara pengguna akan berinteraksi dengannya.
Dari Requirement ke Test Case
Test case yang baik tidak muncul dari tebakan, melainkan diturunkan dari kebutuhan yang sudah didokumentasikan. Setiap persyaratan di dokumen Software Requirement Specification (SRS) idealnya punya minimal satu test case yang memverifikasinya. Ketika sebuah fitur tidak bisa dipetakan ke test case mana pun, itu pertanda cakupan pengujian masih bolong.
Bagi perusahaan yang membangun sistem berskala besar, proses QA yang terdokumentasi bukan sekadar formalitas, melainkan penentu apakah kualitas bisa dijaga saat tim dan fitur bertambah. Jika Anda ingin memastikan aplikasi enterprise Anda teruji dengan benar, pelajari layanan Quality Assurance BADR, atau diskusikan kebutuhan pengujian tim Anda dengan kami.
FAQ
Test case adalah dokumen berisi skenario terstruktur untuk menguji satu fitur atau fungsi software. Isinya mencakup tujuan, prasyarat, langkah-langkah, data uji, dan hasil yang diharapkan, sehingga pengujian bisa dijalankan ulang dengan hasil yang konsisten.
Test scenario adalah gambaran tingkat tinggi tentang apa yang akan diuji (misalnya “menguji fungsi login”), sedangkan test case adalah penjabaran detail langkah demi langkah dari skenario tersebut, lengkap dengan data uji dan hasil yang diharapkan.
Minimal sebuah test case memuat ID unik, deskripsi, prasyarat, langkah-langkah, data uji, hasil yang diharapkan, serta kolom hasil aktual dan status Lulus atau Gagal.
Kondisi negatif menguji bagaimana aplikasi menangani input yang salah atau tidak terduga. Fitur yang berfungsi saat input benar belum tentu aman saat input keliru, dan justru di situlah banyak bug serius ditemukan.