Pengujian SAKTI : Strategi dan Metode
[You must be registered and logged in to see this image.]PENDAHULUAN
Pengujian merupakan suatu kegiatan dimana suatu sistem atau komponen dijalankan dalam kondisi tertentu, yang mana hasilnya diamati atau direkam, untuk kemudian dilakukan evaluasi (IEEE Standard Glossary).
Dalam suatu siklus pengembangan perangkat lunak, pengujian merupakan tahap yang pasti ada dan kritikal, terlepas dari metodologi dan strategi yang digunakan. Di dalam tahapan ini akan dipastikan mengenai kualitas dan kesesuaian perangkat lunak yang dikembangkan, apakah telah memenuhi kebutuhan-kebutuhan, baik kebutuhan fungsional maupun non-fungsional, serta desain yang telah didefinisikan sebelumnya. Selain itu, seringkali di tahap ini pula nasib suatu proyek pengembangan perangkat lunak ditentukan, go or not go.
[You must be registered and logged in to see this image.]da banyak jenis dan metode pengujian suatu perangkat lunak yang telah dikenal, sebut saja Unit Testing, Integration Testing, System Testing, Acceptance Testing, White Box Testing, Black Box Testing, dan lain-lain. Jenis dan metode yang ada tersebut dapat digunakan sebagian atau seluruhnya sesuai dengan kebutuhan. Lalu bagaimana dengan SAKTI?
STRATEGI DAN METODE PENGUJIAN SAKTI
SAKTI merupakan salah satu sistem yang memiliki tingkat kompleksitas tinggi. Mengintegrasikan setidaknya 8 aplikasi eksisting dengan karakteristik yang berbeda-beda tentu bukan pekerjaan yang mudah, baik dalam proses pengembangan maupun dalam menjaga konsistensi dan kualitasnya. Oleh karena itu, ketika dihadapkan pada tahap pengujian, yaitu tahap yang biasanya memerlukan waktu paling lama, maka perlu disusun strategi yang mumpuni agar proses pengujian dapat terlaksana secara efektif dan efisien.
[You must be registered and logged in to see this image.]Secara garis besar, SAKTI mengadopsi strategi pengujian SPAN yaitu dengan menggunakan pendekatan incremental testing, yaitu pengujian secara bertahap dimulai dari level terkecil (modul) secara terisolir untuk kemudian dilanjutkan ke arah integrasi yang lebih besar. Jenis pengujian utama yang dipilih pun tidak jauh berbeda, yaitu Unit Test, Integration Test, dan User Acceptance Test. Apa sajakah itu? Berikut penjelasannya.
Unit Test (UT). Pada dasarnya unit testing adalah aktivitas pengujian fungsionalitas satuan terkecil dari sebuah perangkat lunak. Satuan terkecil itu sering direpresentasikan berbeda-beda, seperti fungsi, prosedur, class, dll. Di dalam SAKTI, Unit Test dimaksud adalah pengujian fungsionalitas masing-masing modul secara independen. Pada tahap ini pengujian dilakukan oleh system analyst dari internal DTP dan juga tim pengembang dari vendor.
Integration Test (IT). Pengujian ini menitikberatkan pada integrasi/keterkaitan antar modul pada SAKTI. Berbeda dengan unit test dimana data yang digunakan adalah dummy dan hanya memastikan kesesuaian fungsionalitas hanya pada masing-masing modul, pada tahap integration test ini, masing-masing modul diharapkan dapat menerima dan mengolah data yang disediakan oleh modul lain dan juga dapat menghasilkan data yang diperlukan oleh modul lain. Seperti halnya dalam UT, pada tahap ini pengujian juga dilakukan oleh system analyst dari internal DTP dan juga tim pengembang dari vendor.
User Acceptance Test (UAT). Tahap pengujian ini biasanya merupakan tahap terakhir dari suatu pengembangan perangkat lunak sebelum diserahkan dan digunakan secara luas. UAT disini pada dasarnya adalah sama dengan IT, perbedaannya hanya pada pengujinya, yaitu calon penggunanya langsung dan kadang juga melibatkan Subject Matter Expert (para ahli di bidangnya). Perbedaan penguji ini akan menimbulkan sudut pandang dan opini yang berbeda pada saat pengujian, sehingga dapat terjadi suatu hal yang telah lulus uji pada fase pengujian sebelumnya belum tentu lulus pada tahap pengujian ini.
Selain tiga fase pengujian utama tersebut, SAKTI direncanakan juga akan melakukan Regression Test sebelum UAT untuk memastikan bahwa bugs dan error yang ditemukan selama IT sudah diperbaiki dan fungsionalitas kembali berjalan sebagaimana mestinya, serta Performance/Stress Test untuk menguji daya tahan dan stabilitas sistem secara teknis.
Sementara itu, metode pengujian yang digunakan selama tahap pengujian adalah Black Box Testing, yaitu fokus hanya pada kebenaran output yang dihasilkan atas input tertentu, dengan mengabaikan pengetahuan tentang bagaimana proses yang dilakukan di dalam sistem untuk menghasilkan output tersebut. Pemilihan dan penggunaan metode ini diharapkan dapat memangkas kebutuhan waktu dan sumber daya yang dibutuhkan untuk melakukan pengujian namun dengan tetap tidak menyampingkan kualitas SAKTI yang akan dihasilkan.