Politeknik Telkom Rekayasa Perangkat Lunak
124 Pengujian Perangkat Lunak
7.3.2 Pengorganisasian Pengujian Perangkat Lunak
Proses pengujian sebuah perangkat lunak sebaiknya melibatkan pihak yang memang secara khusus bertanggung jawab untuk melakukan proses pengujian
secara independen. Untuk itulah diperlukan Independent Test Group ITG. Peran dari ITG adalah untuk me
nghilangkan “conflict of interest“ yang terjadi ketika pengembang perangkat lunak berusaha untuk menguji produknya
sendiri. Walaupun seperti itu, sering terjadi beberapa kesalahan pemahaman
berkaitan dengan peran ITG, antara lain:
- Pengembang tidak boleh melakukan pengujian sama sekali. Pendapat ini
tidak 100 benar, karena dalam banyak kasus, pengembang juga melakukan proses unit testing dan integration test
- Perangkat lunak dilempar begitu saja untuk diuji secara sporadis. Hal
tersebut adalah salah karena pengembang dan ITG bekerja sama pada keseluruhan proyek untuk memastikan pengujian akan dilakukan.
Sementara pengujian dilakukan, pengembang harus memperbaiki kesalahan yang ditemukan
- Penguji tidak terlibat pada proyek sampai tahap pengujian dimulai. Hal
tersebut salah karena ITG merupakan bagian dari tim proyek pengembangan perangkat lunak di mana ia terlibat selama spesifikasi
proses dan tetap terlibat pada keseluruhan proyek besar
7.4 Masalah Strategis Pengujian
Masalah-masalah berikut harus diselesaikan bila pengujian ingin berlangsung sukses:
- Menspesifikasikan kebutuhan produk pada kelakuan yang terukur
sebelum pengujian dimulai. Strategi pengujian yang baik tidak hanya untuk menemukan kesalahan, namun juga untuk menilai kualitas
program
- Menspesifikasikan tujuan pengujian secara eksplisit. Sasaran spesifik dari
pengujian harus dinyatakan dalam bentuk yang terukur -
Mengidentifikasikan kategori user untuk perangkat lunak dan membuat profilnya masing-masing. Beberapa kasus yang menggambarkan skenario
interaksi bagi masing-masing kategori dapat mengurangi kerja pengujian dengan memfokuskan pengujian pada penggunaan aktual produk
- Membangun rencana pengujian yang menegaskan rapid cycle testing.
Umpan balik yang muncul dari rapid cycle testing dapat digunakan untuk mengontrol kualitas dan strategi pengujian yang sesuai
Politeknik Telkom Rekayasa Perangkat Lunak
Pengujian Perangkat Lunak 125
- Membangun perangkat lunak yang tangguh yang dirancang untuk menguji
dirinya sendiri. Perangkat lunak dirancang dengan teknik antibugging, di mana perangkat lunak dapat mendiagnosis jenis-jenis kesalahan tertentu
dan mengakomodasi pengujian otomatis dan pengujian regresi
- Menggunakan tinjauan formal yang efektif sebagai filter sebelum
pengujian. kajian teknis formal dapat mengungkap kesalahan seefektif pengujian sehingga dapat mengurangi jumlah kerja pengujian
- Mengadakan tinjauan formal teknis untuk menilai strategi dan kasus uji.
Kajian teknis formal dapat mengungkap inkonsistensi, penghapusan, dan kesalahan seketika dalam pendekatan pengujian
- Membangun pendekatan yang meningkat secara berkelanjutan untuk
proses pengujian. Strategi pengujian harus terukur. Metrik yang terkumpul selama pengujian harus digunakan sebagai bagian dari
pendekatan kontrol proses statistikal bagi pengujian perangkat lunak
7.5 Strategi Pengujian Perangkat Lunak
Proses pengujian perangkat lunak dapat digambarkan sebagai berikut:
Gambar 7.5 Strategi Pengujian Perangkat Lunak
Spiral di atas menggambarkan bagaimana rekayasa sistem membangun sebuah perangkat lunak dimulai dari penentuan kebutuhan perangkat lunak, kemudian
spiral bergerak ke dalam proses dilanjutkan ke dalam bentuk rancangan, dan akhirnya ke pengkodean di pusat spiral. Strategi pengujian serupa dengan hal
tersebut, namun bergerak dimulai dari pusat menuju keluar spiral. Dimulai dengan unit testing di pusat spiral di mana masing-masing modulunit dari
perangkat lunak yang diimplementasikan dalam source code menjadi sasaran pengujian. Kemudian bergerak keluar spiral, dilakukan integration testing
dengan fokus pengujian adalah desain dan konstruksi arsitektur perangkat