MENYUSUN TEST CASE YANG BAIK
Malang Quality Assurance (MQA) pada tanggal 25 October 2018 kemarin telah mengadakan meetup rutin bulanan dengan dua speaker yang keren-keren. Salah satu speakernya adalah Mbak Nurikawati Restiani, dengan panggilan akrabnya mbak Ika. Beliau adalah seorang QA yang telah bekerja di salah satu startup ternama, yaitu Rimbunesia dan Pixil. Topik yang dibahas pada meetup kemarin adalah Career Journey as Quality Assurance. Beliau menceritakan perjalanannya selama menjadi seorang QA dalam dua tahun ini. Disamping pengalaman yang ia ceritakan selama bekerja di dua perusahaan (remote dan on site), ada materi yang tak kalah pentingnya yaitu bagaiamana seorang QA dituntut untuk menyusun test case yang baik. Berikut adalah rangkuman dari materi yang disampaikan oleh beliau.
Test Case Definition
Apasih test case itu?
Test case adalah sekumpulan skenario yang disusun oleh tester agar sistem yang akan dites dapat memenuhi ketentuan, standar tertentu serta dapat berfungsi dengan baik. Penyusunan test case dapat membantu tester untuk menemukan masalah pada dokumen ketentuan dan pada desain dari aplikasi itu sendiri.
Test Case Creation
Test case creation dibutuhkan untuk memudahkan seorang QA untuk melakukan testing menurut perspektif end user terhadap aplikasi yang sedang dikembangkan agar sesuai dengan kebutuhan. Test creation tentunya membuat QA melakukan investasi waktu dalam pengujian aplikasi agar lebih efektif. Berikut adalah yang perlu disiapkan oleh QA untuk membuat test case yang baik:
- Requirement’s description.
Tester harus paham bagaimana cara aplikasi berjalan, paham dengan business goal dari pembuatan aplikasi tersebut sehingga pembuatan test case tidak berseberangan dengan requirement yang telah ditetapkan sebelumnya. - System explanation.
Tester dapat menjelaskan ke developer mengenai aplikasi terkait, karena pada umumnya pekerjaan developer dibagi menjadi beberapa bagian dan bagian lainnya dikerjakan oleh orang lain. - Crystal clear and compact test cases.
Dikarenakan pembaca test case bukan hanya tester, penggunaan bahasa dan langkah-langkah pengetesan harus jelas. Langkah pengetesan diusahakan tidak rumit dan kompleks. - Inputs and outputs or actions (positive-negative scenarios) and expected results.
Tester harus memahami hasil yang tampil setelah mengeksekusi langkah-langkah yang dituliskan dalam langkah pengetesan. - Proofs.
Untuk kemudahan tracking dan dokumentasi, ada baiknya tester merekam atau menyertakan bukti output dari test case yang gagal dieksekusi. Ini juga memudahkan developer dalam memperbaiki sebab kegagalan dari sistem yang sedang diuji. - Updates.
Setiap tester menemukan skenario baru, ada baiknya untuk terus memperbarui test case yang sudah ada. Sehingga kemungkinan test case dapat mencakup seluruh aspek dari aplikasi, semakin besar. - Naming.
Konsisten dalam penamaan pembuatan test case berguna untuk kemudahan dalam tracking. Contoh : setelah menggunakan istilah ‘Login’ kemudian muncul istilah ‘Sign In’.
Reviewing Test Case
Berikut point-point yang perlu diperhatikan untuk membuat test case yang baik:
- Simple and transparent.
Semua langkah pelaksanaanya pun juga harus jelas dan tidak ada yang terlewat. Contoh : untuk melakukan order, harus ‘Login’ terlebih dahulu. Apabila langkah sudah terlalu banyak, login bisa dicantumkan di pre-condition. - End-user mind.
Tester bermindset bahwa ia adalah end-user. Untuk itu, kemudahan dalam penggunaan aplikasi juga perlu diperhatikan karena kepuasan konsumen adalah saat aplikasi tidak memiliki kegagalan sistem yang bisa menghambat berjalannya sistem tersebut. - Don’t assume.
Tester diharapkan tidak berasumsi bahwa end-user mengerti keseluruhan dari aplikasi. Jadi usahakan susun test case walaupun hal yang termudah. - 100% Coverage.
Kemungkinan test case bisa mengcover 100% dari semua aspek dari aplikasi tidaklah mudah. Tetapi apabila tester terus berfokus pada kualitas testing, bukan tidak mungkin 100% coverage bisa tercapai. - Easy to understand.
Pemilihan bahasa sewaktu menyusun test case juga harus diperhatikan karena pengguna test case bukan hanya tester saja. Bahasa yang sederhana dan mudah dipahami lebih disukai karena bisa dimengerti bahkan oleh end-user yang mungkin awam. - Repeatable.
Artinya test case harus mempunyai kondisi hasil yang sama di seluruh platform yang sedang dites. Contoh : apabila di OS Android setelah login, maka akan tampil halaman my profile maka di iOS pun akan demikian. - Peer review.
Meminta tolong pada tester lain atau orang lain untuk me-review test case yang kita susun. Apabila pemili-han bahasa yang dipilih kurang baik dan menimbul-kan banyak pertanyaan, tester perlu melakukan peru-bahan agar test case lebih mudah untuk dipaha-mi.
Untuk lebih jelasnya, kita bisa bandingkan test case yang membingungkan dan test case yang jelas.