System Testing Beta test, yakni pengujian yang dilakukan pada perangkat lunak oleh

Politeknik Telkom Rekayasa Perangkat Lunak 130 Pengujian Perangkat Lunak perbaikan dievaluasi untuk menentukan apakah masih dapat ditolerir atau tidak

2. Security testing berusaha untuk membuktikan apakah mekanisme

perlindungan yang dibangun pada sebuah sistem akan benar-benar dapat melindungi dari pengaruh yang salah

3. Stress testing dirancang untuk melawan program pada keadaan

abnormal. Pengujian ini mengeksekusi sistem dalam kondisi kuantitas sumber daya yang abnormal

4. Performance testing dirancang untuk menguji kinerja perangkat lunak

yang telah terintegrasi pada sistem pada saat run-time. Pengujian ini sebenarnya terjadi pada setiap tahapan, mulai dari unit testing pada modul, sampai kepada system testing ketika perangkat lunak telah terintegrasi pada sistem. Pengujian ini sering dikolaborasikan dengan stress testing dan menggunakan instrumen perangkat lunak dan perangkat keras untuk mengukur penggunaan sumber daya dengan cara yang tepat sehingga dapat mengungkap situasi yang menyebabkan kegagalan sistem.

7.5.5 Strategi Pengujian Perangkat Lunak Berorientasi Objek

Strategi pengujian untuk perangkat lunak beriorientasi objek serupa dengan strategi pengujian yang telah dibahas sebelumnya. Namun terdapat beberapa perbedaan dengan beberapa strategi yang telah dibahas sebelumnya, yakni: 1. Pada unit testing Bagian terkecil yang diuji pada unit testing adalah kelas atau objek, tidak seperti unit testing konvensional yang fokus pada detail algoritmik dari perangkat lunak Tidak menguji operasi yang ada secara terpisah, seperti halnya unit testing konvensional, karena operasi-operasi pada satu kelas diuji bersamaan pada satu kelas 2. Pada integration testing Memiliki dua strategi yakni thread-based testing dan use-based testing Thread-based testing yang mengintegrasikan sekumpulan kelas yang dibutuhkan untuk merespon suatu input atau event pada sistem. Setiap thread diintegrasikan dan diuji secara individual, kemudian dilakukan pengujian regresi untuk memastikan tidak ada efek samping yang muncul Politeknik Telkom Rekayasa Perangkat Lunak Pengujian Perangkat Lunak 131 Use-based testing yang menguji kelas independen kelas yang menggunakan sangat sedikit kelas server kemudian kelas yang menggunakan layanan kelas tersebut, kemudian dilanjutkan sampai keseluruhan perangkat lunak dibangun Tahapan cluster testing di mana sekumpulan kelas yang berkolaborasi diuji untuk menemukan kesalahan pada saat berinteraksi

7.6 Debugging

Debugging bukan merupakan pengujian, namun merupakan konsekuensi dari pengujian yang berhasil. Jika sebuah kasus uji berhasil menemukan kesalahan, maka proses debugging bertujuan untuk menghilangkan kesalahan tersebut. Debugging merupakan proses yang sulit untuk dilakukan karena adanya beberapa karakteristik bug seperti: Gejala dan penyebab dari bug bisa saja sangat jauh, gejala dapat muncul pada bagian tertentu dari program dan penyebabnya bisa saja berada pada bagian lain yang sangat jauh dari tempat munculnya gejala Gejala dapat hilang ketika kesalahan yang lain diperbaiki Gejala dapat ditimbulkan oleh sesuatu yang tidak salah mis. pembulatan yang tidak akurat Gejala dapat disebabkan oleh kesalahan manusia yang sulit untuk ditelusuri Gejala dapat disebabkan oleh masalah timing Kemungkinan sulit untuk memproduksi kondisi input secara akurat Gejala dapat terjadi tiba-tiba Gejala dapat disebabkan oleh sesuatu yang didistribusikan melewati sejumlah tugas yang bekerja pada prosesor yang berbeda-beda Terdapat tiga jenis pendekatan debugging antara lain: 1. Brute Force Merupakan teknik yang paling sering digunakan dan paling tidak efisien dalam mengisolasi penyebab kesalahan. Dengan prinsip “biarkan komputer menemukan kesalahan”, maka seluruh sumber daya komputer digunakan dengan tujuan untuk menemukan penyebab kesalahan 2. Backtracking Merupakan pendekatan yang dimulai dari penemuan gejala kemudian menelusuri balik hingga ke penyebab