Berikut adalah slide yang saya presentasikan pada Kuliah Umum di Universitas Muria Kudus dengan topik Manajemen Pengujian Perangkat Lunak.
Beberapa poin penting pada materi:
- Pengujian merupakan salah satu aspek terpenting dalam proses pengembangan perangkat lunak untuk memastikan pengguna dapat dan mau menggunakan aplikasi kita dengan baik.
- Setiap membuat program, kita sudah melakukan pengujian sederhana dengan exploratory testing, namun hal tersebut masih belum cukup.
- Sebelum bisa melakukan pengujian kita harus merencanakan test case terlebih dahulu untuk memastikan kita tidak melewatkan pengujian hal penting.
- Test case dapat dirancang dengan menelurusi cara proses bisnis, mengumpulkan user story, menetapkan acceptance criteria, dan terakhir baru merancang test case.
- Test case bersifat organik dan dapat berubah ketika diperlukan.
- Setelah membuat test case, kita bisa melakukan pengujian secara manual. Namun sebaiknya kita melakukannya secara otomatis dengan bantuan perangkat pengujian.
- Otamatisasi pengujian bertujuan agar konsistensi kualitas perangkat lunak selalu terjaga pada seluruh tahapan pengembangan.
- Pengujian fungsional otomatis dapat menggunakan bantuan Selenium yang dapat membuka browser dan melakukan aksi-aksi secara otomatis.
- Karena pengujian fungsional terlalu berat dan bersifat superfisial, kita perlu melakukan pengujian unit yang dapat dijalankan setiap waktu.
- Contoh pengujian otomatis diberikan pada source code dengan menggunakan framework python django. Namun konsep pengujian otomatis dapat diterapkan di semua bahasa pemrograman mainstream (PHP, Javascript, Node.Js, Java-termasuk Android-, Ruby, C#, dan lain sebagainya)
- Selain pengujian tersebut ada bentuk pengujian lain yang sebaiknya melibatkan pihak di luar pengembang utama, beberapa contohnya adalah: Pengujian performa, pengujian keamanan, dan pengujian Beta / User Acceptance Testing.
- Pengujian performa bertujuan untuk memastikan aplikasi yang dibuat dapat berjalan baik sesuai dengan target jumlah pengguna.
- Pengujian keamanan bertujuan untuk memastikan aplikasi tidak mudah ditembus oleh peretas.
- Pengujian penerimaan pengguna oleh Beta tester bertujuan memastikan aplikasi yang kita buat benar-benar sesuai dengan yang diinginkan pengguna akhir.