Sebuah perangkat lunak yang berkualitas membutuhkan proses pengujian sebelum digunakan. Pengujian perangkat lunak diperlukan untuk menemukan cacat/kesalahan yang ada dalam program, baik itu kesalahan penulisan kode program maupun kesalahan tampilan program. Agar perangkat lunak tersebut terhindar ataupun bebas dari kesalahan/cacat dan dapat bekerja dengan baik sesuai yang diharapkan, maka diperlukan adanya pengujian perangkat lunak/testing
Pengujian perangkat lunak harus dilakukan secara opetimal, teliti dan harus sesuai dengan tujuan pengembangan perangkat lunak. Oleh karena itu dalam melakukan pengujian perangkat lunak perlu kiranya memegang teguh prinsip pengujian dasar sebagai berikut :
Berikut adalah 7 (tujuh) prinsip pengujian perangkat lunak yang umum digunakan secara luas di industri
1. Pengujian menunjukkan adanya cacat
Dalam melakukan pengujian perangkat lunak proses yang dilakukan sebenarnya adalah mencari cacat/kesalahan pada perangkat lunak yang dikembangkan. Seorang tester harus membuat perangkat lunak menjadi gagal. Hal itu diperlukan agar proses pengujian perangkat lunak bisa menemukan kegagalan program sebanyaknya, sehingga bisa segera diperbaiki dan perangkat lunak yang dihasilkan berkualitas. Meskipun dalam beberapa proses pengujian sangat mustahil untuk memastikan bahwa sebuah perangkat lunak 100% bebas dari cacat/bug. Namun, dengan adanya pengujian perangkat lunak sebelum perangkat lunak tersebut dirilis ke publik dapat mengurangi bug/cacat dari perangkat lunak meskipun tidak 100%.
2. Mustahil Melakukan Pengujian Secara Menyeluruh
Melakukan pengujian perangkat lunak secara menyeluruh itu sangat tidak mungkin, karena membutuhkan waktu yang panjang sehingga akan berdampak pada waktu rilis program dan biaya dan tenaga yang diperlukan dalam proses pengembangan perangkat lunak tersebut. Oleh karena itu, dalam pengujian perangakat lunak yang harus diutamakan adalah mempertimbangkan risiko dan prioritas perangkat lunak yang dikembangkan.
Langkah yang diperlukan adalah melakukan pengujian pada fungsional utama dari perangkat lunak tersebut. Khususnya pada fungsional yang membutuhkan masukan user dan keluaran informasi ke user. Pengujian dilakukan untuk melihat respon aplikasi jika menerima inputan benar maupun inputan salah, hasilnya harus sesuai dengan yang diperlukan.
3. Pengujian Dilakukan Lebih Awal
Melakukan pengujian di awal proses pengembangan perangkat lunak sangat disarankan, karena akan menekan biaya perbaikan. Selain itu juga akan meningkatkan kinerja perangkat lunak itu sendiri. Sehingga proses pengujian perangkat lunak dari awal sejak tahapan analisis akan membuat pengembangan dan pengujian perangkat lunak akan semakin efektif dan efisien.
4. Mengelompokkan Cacat
Dalam melakukan pengelompokan cacat/kerusana perangkat lunak dapat menggunakan prinsip Pareto dengan aturan 80-20, dimana 80% masalah yang ditemukan bersumber dari 20% modul yang ada pada perangkat lunak, kemudian 20% masalah yang tersisa merupakan masalah dari 80% modul perangkat lunak. Sehingga dalam melakukan pengujian perangkat lunak yang paling utama adalah menekan 20% modul, karena dalam 20% modul yang akan dihadapi adalah 80% masalah dari perangkat lunak.
Artinya dalam pengelompokan cacat sebuah perangkat lunak pada proses pengujian lebih diutamakan melakukan pengujian pada modul atau fungsional program yang kecil, karena berdasarkan prinsip pareto diatas dalam modul yang kecil akan ada masalah yang besar/banyak.
5. Paradoks Pestisida
Analogi yang tepat untuk menjelaskan tentang Paradok Pestisida adalah sebagaimana penamaannya.
Jika anda selalu menggunakan pestisida yang sama dalam mengusir hama di kebun/sawah, maka hama tersebut lama kelamaan akan menjadi kebal karena sudah bisa menyesuaikan.
Dalam bukunya yang berjudul Software Testing Techniques (1990) Boris Beizer memperkenalkan istilah Pesticide Paradox dimana proses pengujian yang dilakukan secara berulang pada akhirnya tidak akan menemukan cacat dari program. Karena mungkin pengembang (Developer) perangkat lunak sudah mengetahui/belajar dari proses kesalahan sebelumnya. Sehingga seorang tester harus selalu memperbaharui teknik pengujian agar bisa menemukan bug yang lebih banyak ketika melakukan pengujian perangkat lunak. Hal itu diperlukan agar terhindar dari paradok pestisida.
6. Pengujian Bergantung Pada konteks
Proses pengujian perangkat lunak harus sesuai dengan konteks perangkat lunaknya. Dalam melakukan pengujian terhadap perangkat lunak perbankan tentu tidak bisa menggunakan cara pengujian untuk perangkat lunak penjualan. Sehingga proses pengujian perangkat lunak harus benar-benar sesuai dengan konteks dari perangkat lunak itu sendiri. Setiap perangkat lunak memiliki cara pengujiannya masing-masing tidak bisa dipukul rata sama semua.
7. Tidak Ada Bug Merupakan Kesalahan
Pengujian perangkat lunak diperlukan untuk menghasilkan perangkat lunak yang berkualitas. Salah satu indikator perangkat lunak berkualitas adalah dibuat sesuai dengan kebutuhan pengguna. Oleh karena itu, jika dalam pengujian tidak ditemukan adanya bud/cacat maka itu perlu dicurigai apakai perangkat lunak tersebut sudah sesuai dengan kebutuhan bisnis pengguna. Atau jangan-jangan tidak adalah bug karena memang tidak sesuai dengan kebutuhan. Makanya pengujian yang menyatakan tidak ada bug dari perangkat lunak perlu ditinjau ulang untuk memastikan proses pengujian yang dilakukan sudah benar dan perangkat lunak yang dikembangkan memang sudah sesuai dengan kebutuhan bisnis pengguna agar perangkat lunak yang dirilis bisa digunakan sebagaimana yang diharapkan.
Kesimpulan
Pengujian perangkat lunak merupakan tahapan penting dalam proses pengembangan perangkat lunak (SDLC), karena pada tahapan ini perangkat lunak diverifikasi sesuai dengan kegunaan dan kebutuhan pengguna.
Oleh karena itu memahami prinsip dasar pengujian sebagaimana dijelaskan diatas menjadi penting agar seorang teste bisa menghasilkan/menemukan cacat perangkat lunak sebanyak-banyaknya.
Prinsip pengujian perangkat lunak merupakan aturan yang perlu diikuti dan dilaksanakan oleh seorang tester agar proyek pengembangan perangkat lunak.
Jika salah satu atau sebagian dari prinsip tersebut diabaikan dampaknya adalah pembengkakan biaya dalam proyek pengembangan perangkat lunak tersebut.
cuma ini artikel 7 prinsip testing bahasa indonesia yg mudah dipahami, artikel yg lain hasil translate dari bahasa inggris semua, jadinya membingungkan. makasih banyak ya om udah buat artikelnya 🙏
BalasHapus