Dalam proses rekayasa perangkat lunak, pelaku rekayasa perangkat lunak mulanya berusaha untuk membangun dan menyebarkan perangkat lunak dari mulai abstraksi hingga ke tahapan penerapan, barulah kemudian dilaksanakan pengujian perangkat lunak. Ketika melaksanakan pengujian perangkat lunak, pelaku membuat sekumpulan kasus atau skenario pengujian yang mau diujikan kepada perangkat lunak yang sudah selesai dibangun. Proses pengujian perangkat lunak lebih berfokus pada segi desktruktif ketimbang sisi konstruktifnya, hal ini alasannya maksudnya yakni untuk menemukan kesalahan pada perangkat lunak.
source : skelia.com |
Sasaran atau Tujuan Pengujian Perangkat Lunak
Pengujian perangkat lunak dilaksanakan dengan sasaran sebagai berikut ini :
- Pengujian yaitu proses mengeksekusi acara dengan tujuam untuk mendapatkan kerusakan maupun kesalahan pada acara.
- Kasus atau skenario uji yang bagus yakni yang memiliki tingkat kemungkinan tinggi untuk menemukan kerusakan yang belum ditemukan.
- Pengujian dapat dibilang berhasil kalau berhasil menemukan kerusakan yang belum ditemukan sebelumnya.
Dari sasaran diatas mengimplikasikan adanya pergantian cara pandang dimana pengujian yang sukses yakni pengujian yang tidak menemukan kesalahan maupun kerusakan. Apabila pengujian telah selesai dikerjakan, maka dibutuhkan ditemukan adanya kesalahan dalam perangkat lunak. Sekaligus selaku benefit perhiasan, pengujian dalam hal ini memperlihatkan bahwa fungsi perangkat lunak melakukan pekerjaan dan berjalan sesuai dengan spesifikasi bahwa kriteria kinerja telah terpenuhi.
Ketika melakukan pengujian, data perlu dikumpulkan supaya menawarkan indikasi yang bagus terhadap realibilitas perangkat lunak dan beberapa indikasi dari kualitas keseluruhan perangkat lunak. Namun, pengujian tidak mampu menawarkan ataupun menentukan bahwa perangkat lunak yang diuji tersebut tidak mempunyai cacat sama sekali.
Prinsip Pengujian Perangkat Lunak
Berikut merupakan serangkaian prinsip ketika melaksanakan pengujian perangkat lunak :
- Semua pengujian musti mampu ditelusuri hingga ke kebutuhan klien. Hal ini menyanggupi patokan bahwa kesalahan yang paling vital dilihat dari sudut pandang klien ialah cacat yang mengakibatkan program gagal memenuhi persyaratannya.
- Supaya pengujian perangkat lunak mampu lebih efektif, pengujian mesti dikerjakan oleh pihak ketiga yang independen atau terpisah. Hal ini dimaksudkan supaya pengujian memiliki tingkat kemungkinan yang tinggi dalam menemukan kesalahan. Oleh karena itu pelaku yang membuatkan perangkat lunak tersebut bukanlah orang yang paing sempurna untuk melakukan semua pengujian perangkat lunak.
- Pengujian harus dimulai dari hal yang terkecil dan meningkat ke pengujian yang lebih besar. Pengujian pertama kali berkonsentrasi pada modul perorangan perangkat lunak yang kemudian mengubah konsentrasi pengujian pada kluster modul yang berkaitan dan akibatnya pada tata cara secara keseluruhan.
- Tidak memungkinkan melaksanakan pengujian yang mendalam. Jumlah perkara maupun jalur permutasi pada program yang berskala menengah sampai sungguh besar sukar dilakukan pengujian secara mendalam. Namun, dimungkinkan untuk menguji akal acara dan menentukan bahwa segala keadaan pada rancangan sudah diuji.
- Pengujian musti direncanakan jauh-jauh hari sebelum pengujian dimulai. Perencanaan pengujian bisa dimulai secepatnya saat model kebutuhan dilengkapi dan model perancangan tamat dibentuk. Dengan ini diharapkan, semua pengujian dapat dijadwalkan dan dirancang sebelum semua arahan diimplimentasikan.
Strategi Pengujian Perangkat Lunak
Proses pengujian perangkat lunak mampu diilustrasikan pada gambar di bawah ini.
Gambar spiral diatas mengilustrasikan bagaimana rekayasa metode membangun suatu perangkat lunak diulai dari penentuan kebutuhan perangkat lunak, lalu dilanjut dengan membentuk desain sampai kesannya ke pengkodean. Strategi atau bagan pengujian dimulai dengan unit testing dimana masing-masing unit perangkat lunak yang diimplimentasikan menjadi target pengujian, kemudian dilaksanakan integration testing dengan konsentrasi pengujian ialah rancangan dan konstruksi arsitektur perangkat lunak, hingga dijalankan validation testing dengan sasaran pengujian yaitu kesesuaian dengan keperluan perangkat lunak yang sudah ditentukan di awal pengembangan, dan selsai pada system testing, dimana perangkat lunak dan keseluruhan bagian metode diuji.
Unit Testing
Unit testing lebih berkonsentrasi pada unit terkecil dari perangkat lunak. Jalur kendali yang penting diuji untuk menguak kesalahan pada modul tersebut. Pengujian ini lazimnya berorientasi white-box testing dan bisa dijalankan secara paralel untuk modul yang bertingkat.
Pengujian mengenai jalur hukuman merupakan tugas penting selama unit testing. Kasus uji musti dirancang untuk menguak kesalahan yang berhubungan dengan kesalahan komputasi, komparasi dan pemikiran kontrol yang tidak tepat.
Integration Testing
Integration testing dilakukan dengan teknik sistematis dalam mengontruksi struktur acara sambil melaksanakan pengujian dalam menguak kesalahan yang berhubungan dengan interfacing. Sasarannya adalah modul yang telah diuji pada unit testing dan kontruksi program dari modul tersebut sesuai dengan rancangan perangkat lunak.
Validation Testing
Validation testing dikerjakan sesudah perangkat lunak final dirangkai selaku satu kesatuan yang menyeluruh dan kesalahan interfacing telah didapatkan dan dikoreksi. Validasi berhasil kalau segala fungsi pada perangkat lunak sesuai dengan kebutuhan klien.
Validasi testing diperoleh melalui serangkaian pengujian black-box testing yang memperlihatkan kesesuaian kebutuhan perangkat lunak. Semua skenario uji dirancang untuk menentukan semua persyaratan fungsional telah tercukupi, semua persyaratan kinerja sudah tercapai d, semua dokumentasi teag benar, dan tolok ukur lainnya mirip kompatibilitas, maintenance dan kemampuan pulih dari keselahan sudah dipenuhi.
System Testing
System testing pengujian yang sasarannnya yaitu keseluruhan sistem. Terdapat beberapa tipe dari system testing diantaranya adalah sebagai berikut :
- Recovery testing, menguji perangkat lunak untuk gagal dengan berbagai cara dan menilik apakah perbaikan atau pemulihan dilaksanakan secara sempurna.
- Security testing, menguji apakah mekanisme keamanan yang dibangun pada tata cara akan sungguh-sungguh mampu mengamankan dari imbas yang salah dan beberapa percobaan peretasan.
- Stress testing, dirancang untuk menguji acara apakah bisa melawan keadaan yang gila.
- Perfomance testing, dirancang untuk menguji kinerja perangkat lunak yang telah terintegrasi pada sistem dikala run-time.
Referensi
Poltek Telkom
Sumber https://blogbugabagi.blogspot.com/
EmoticonEmoticon