Otomasi Perancangan Test Case
Proses perancangan test case yang merupakan aktivitas kedua dari siklus pengujian dapat diotomasi. Otomasi perancangan test case memungkinkan para penguji untuk mendapatkan sejumlah test case dalam jumlah banyak, serta dalam waktu yang singkat. Terlebih lagi dengan penerapan algoritma optimasi, test case yang dihasilkan secara otomatis dapat dimaksimalkan untuk mendapatkan coverage pengujian yang luas untuk menyesuaikan keterbatasan waktu pengujian. Sarana yang digunakan untuk membantu dalam menghasilkan test case secara otomatis disebut sebagai input generation tool. Input generation tool dapat dibagi menjadi tiga jenis, berdasarkan code, interface dan spesifikasi.
- Input generation tool berdasarkan code.
Alat bantu ini menghasilkan test case dengan mengecek struktur dari kode program itu sendiri, seperti yang diilustrasikan pada gambar 1. Sebuah path pada kode program disusun dari segmen-segmen yang ditentukan oleh percabangan kondisional. Path yang dibuat secara otomatis dari kode program dapat menjangkau coverage yang lebih menyeluruh dibandingkan pembuatan test case secara manual. Pendekatan ini dapat membuat test input, namun expected output harus disiapkan secara manual.
- Input generation tool berdasarkan interface
Fokus dari input generation tool ini adalah user interface yang menjadi perantara antara user dan kode program, atau yang lebih sering disebut sebagai Graphical User Interface (GUI). Komponen-komponen yang terdapat pada GUI seperti menu, button, checkbox, dll akan menjadi focus pembuatan test case. Test case yang dibuat memastikan semua komponen pada GUI telah dikunjungi atau dieksekusi setidaknya sekali. Input generation tool berdarkan kode program berguna untuk mengidentifikasikan defect dari komponen GUI yang tidak dapat dijalankan, seperti link yang tidak dapat di-click. Pendekatan ini dapat menghasilkan test input dan sebagian hasil pengujian dapat diramalkan (menghasilkan sebagian expected outcome).
- Input generation tool berdasarkan spesifikasi sistem
Tipe ketiga dari input generation tool didasarkan pada spesifikasi sistem yang dapat berupa natural language terstruktur, aturan bisnis, atau data teknikal seperti state dan transition. Beberapa tool dapat menghasilkan test case dari spesifikasi berbahasa Inggris yang terstruktur atau dari graph sebab-akibat. Spesifikasi berorientasi obyek seperti UML diagram juga dapat dijadikan dasar pembuatan test case yang memiliki informasi yang cukup detail. Keuntungan dari pendekatan ini adalah pembuatan test case berfokus pada apa yang seharusnya dilakukan oleh sistem sesuai dengan requirement yang telah ditentukan, bukan apa yang bisa dilakukan oleh sistem. Selain itu, dengan bersumber pada spesifikasi sistem, pembuatan test case dapat dilakukan pada tahap awal pengembangan perangkat lunak. Expected outcome dapat dihasilkan pada pendekatan ini apabila informasi tersebut terdapat pada spesifikasi yang digunakan.
Referensi:
Fewster, M., & Graham, D. (1999). Software test automation: effective use of test execution tools. ACM Press/Addison-Wesley Publishing Co.