Pengertian dari non-functional testing adalah pengujian dari aspek non-fungsional suatu aplikasi, seperti kinerja, keandalan, kegunaan, keamanan, dan sebagainya. Non-functional testing dilakukan setelah functional testing selesai.
Dengan menerapkan non-functional testing, kita dapat meningkatkan kualitas perangkat lunak hingga tingkat yang sangat tinggi. Sebenarnya functional testing juga meningkatkan kualitas, tetapi dengan non-functional testing, kita mempunyai peluang untuk menjadikan perangkat lunak tersebut lebih baik. Pada hakikatnya, non-functional testing sebagai “pemoles” perangkat lunak kita. Pengujian semacam ini bukan tentang apakah perangkat lunak itu berfungsi atau tidak. Sebaliknya, ini tentang seberapa baik perangkat lunak berjalan, dan lain sebagainya.
Biasanya non-functional testing dilakukan menggunakan tools tertentu. Hal ini disebabkan, sulit untuk melakukan pengujian semacam ini secara manual.
Ada beberapa jenis non-functional testing, seperti:
- Documentation Testing
- Performance Testing
- Reliability Testing
- Security Testing
Documentation Testing
Documentation testing membantu memperkirakan upaya pengujian yang diperlukan dan menguji cakupannya. Dokumentasi perangkat lunak termasuk test plan, test cases, dan bagian requirements.
Berikut ini merupakan cakupan dalam melakukan documentation testing, yaitu :
- Instructions → Jika suatu aktivitas tertentu telah mempunyai instruksi yang spesifik maka tester akan mulai membuat scenario test untuk aktivitas tersebut.
- Examples → Example lebih menjelaskan tentang contoh langkah-langkah yang dilakukan agar menampilkan output yang diharapkan dan input apa saja yang dibutuhkan.
- Messages → Ketika kita menemukan masalah, misalnya error message, kita harus memverifikasi bahwa dokumentasi untuk pesan itu telah benar.
- Samples → Sampel terkadang didokumentasikan untuk hal-hal seperti inisialisasi atau mengeset parameter file input.
Installation Testing
Installation testing adalah suatu pengujian yang bertujuan untuk menginstal dan mengatur perangkat lunak baru dengan sukses. Proses pengujian dapat melibatkan proses install/uninstall sepenuhnya, sebagian atau upgrade.
Berikut ini tips untuk melakukan installation testing, antara lain :
- Instal versi lengkap dari aplikasi
- Membuat automate testing
- Mengecek ketersediaan disk space untuk proses instalasi
- Menggunakan Distributed Testing Environment
- Secara otomatis memeriksa file yang diinstal setelah instalasi
- Mengkonfirmasi perubahan registri setelah instalasi
- Negative testing dalam installation testing
- Uninstallation testing
Performance Testing
Performance testing adalah jenis pengujian perangkat lunak yang bertujuan untuk memastikan aplikasi akan bekerja dengan baik di bawah beban kerja yang diharapkan.
Terdapat beberapa jenis dari performance testing, antara lain :
- Load Testing → Jenis performance testing yang dilakukan untuk mengevaluasi perilaku suatu sistem dengan kondisi peningkatan beban kerja.
- Stress Testing → Jenis performance testing yang dilakukan untuk mengevaluasi perilaku sistem dengan kondisi di luar batas beban kerja yang diantisipasi.
- Endurance Testing → Jenis performance testing yang dilakukan untuk mengevaluasi perilaku suatu sistem ketika beban kerja yang signifikan diberikan terus menerus.
- Spike Testing → Jenis performance testing yang dilakukan untuk mengevaluasi perilaku suatu sistem ketika beban tiba-tiba dan secara substansial meningkat.
Reliability Testing
Reliability testing bertujuan untuk memastikan bahwa produk tersebut bebas dari kesalahan dan dapat diandalkan untuk tujuan yang dimaksud. Pengujian ini dilakukan dengan menjalankan aplikasi untuk menemukan kegagalan-kegagalan sebelum sistem di deploy.
Terdapat beberapa jenis reliability testing, antara lain :
- Feature Testing → Setiap fungsi dalam perangkat lunak harus dijalankan setidaknya satu kali. Selain itu, interaksi antara dua fungsi atau lebih harus dikurangi
- Regression Testing → Setiap kali ada fungsionalitas baru ditambahkan atau fungsionalitas lama dihapus dalam aplikasi, jadi harus dilakukan regression testing untuk memastikan tidak ada bug baru.
- Load Testing → Load testing dilakukan untuk menguji apakah aplikasi mendukung beban yang diperlukan tanpa mengalami breakdown. Untuk menemukan breakpoint suatu aplikasi, beban ditingkatkan secara bertahap hingga aplikasi mengalami hung, breakdown, unavailable, dll.
- Objectives of Reliability Testing → Pembatasan seperti perilaku perangkat lunak dalam kondisi tertentu, tujuan yang layak (feasible objectives), dan batasan waktu (time constraints) berlaku sebelum menentukan objectives of reliability testing.
Security Testing
Security testing adalah jenis pengujian perangkat lunak yang bertujuan untuk memastikan bahwa aplikasi bebas dari loopholes. Security testing itu tentang menemukan kelemahan sistem yang mungkin mengakibatkan kehilangan informasi.
Terdapat berberapa area yang fokus diuji dalam security testing ini, antara lain :
- Network Security → Mencari kerentanan dalam infrastruktur jaringan.
- System Software Security → Mencari kelemahan di berbagai perangkat lunak yang bergantung pada aplikasi.
- Client-side Application Security → Memastikan bahwa data dari client-side tidak dapat dimanipulasi.
- Server-side Application Security → Memastikan bahwa kode server dan teknologinya cukup kuat untuk menangkis gangguan apa pun.
Subscribe by Email
Follow Updates Articles from This Blog via Email
No Comments