Dalam proses rekayasa perangkat lunak, pelaku rekayasa perangkat lunak mulanya berupaya untuk membangun dan berbagi perangkat lunak dari mulai abstraksi sampai ke tahapan penerapan, barulah kemudian dilaksanakan pengujian perangkat lunak. Ketika melakukan pengujian perangkat lunak, pelaku menciptakan sekumpulan perkara atau skenario pengujian yang mau diujikan kepada perangkat lunak yang sudah akhir dibangun. Proses pengujian perangkat lunak lebih berfokus pada sisi desktruktif ketimbang segi konstruktifnya, hal ini sebab maksudnya yaitu untuk mendapatkan kesalahan pada perangkat lunak.
source : skelia.com |
Sasaran atau Tujuan Pengujian Perangkat Lunak
Pengujian perangkat lunak dikerjakan dengan target selaku berikut ini :
- Pengujian yakni proses mengeksekusi acara dengan tujuam untuk menemukan kerusakan maupun kesalahan pada acara.
- Kasus atau skenario uji yang baik yaitu yang mempunyai tingkat kemungkinan tinggi untuk menemukan kerusakan yang belum ditemukan.
- Pengujian dapat dibilang berhasil kalau berhasil menemukan kerusakan yang belum ditemukan sebelumnya.
Dari target diatas mengimplikasikan adanya perubahan cara pandang dimana pengujian yang sukses yakni pengujian yang tidak memperoleh kesalahan maupun kerusakan. Apabila pengujian sudah selesai dijalankan, maka diperlukan ditemukan adanya kesalahan dalam perangkat lunak. Sekaligus sebagai benefit komplemen, pengujian dalam hal ini menunjukkan bahwa fungsi perangkat lunak melakukan pekerjaan dan berjalan sesuai dengan spesifikasi bahwa tolok ukur kinerja telah terpenuhi.
Ketika melakukan pengujian, data perlu dikumpulkan supaya menunjukkan indikasi yang bagus terhadap realibilitas perangkat lunak dan beberapa indikasi dari kualitas keseluruhan perangkat lunak. Namun, pengujian tidak dapat memperlihatkan ataupun memastikan bahwa perangkat lunak yang diuji tersebut tidak mempunyai cacat sama sekali.
Prinsip Pengujian Perangkat Lunak
Berikut ialah serangkaian prinsip saat melakukan pengujian perangkat lunak :
- Semua pengujian musti mampu ditelusuri sampai ke kebutuhan klien. Hal ini memenuhi persyaratan bahwa kesalahan yang paling vital dilihat dari sudut pandang klien yaitu cacat yang menimbulkan program gagal memenuhi persyaratannya.
- Supaya pengujian perangkat lunak bisa lebih efektif, pengujian mesti dijalankan oleh pihak ketiga yang independen atau terpisah. Hal ini dimaksudkan supaya pengujian memiliki tingkat kemungkinan yang tinggi dalam mendapatkan kesalahan. Oleh alasannya adalah itu pelaku yang menyebarkan perangkat lunak tersebut bukanlah orang yang paing sempurna untuk melakukan semua pengujian perangkat lunak.
- Pengujian harus dimulai dari hal yang terkecil dan berkembang ke pengujian yang lebih besar. Pengujian pertama kali berkonsentrasi pada modul perorangan perangkat lunak yang kemudian mengganti fokus pengujian pada kluster modul yang berkaitan dan risikonya pada tata cara secara keseluruhan.
- Tidak memungkinkan melakukan pengujian yang mendalam. Jumlah perkara maupun jalur permutasi pada program yang berskala menengah sampai sungguh besar susah dikerjakan pengujian secara mendalam. Namun, dimungkinkan untuk menguji logika program dan memastikan bahwa segala kondisi pada desain telah diuji.
- Pengujian musti direncanakan jauh-jauh hari sebelum pengujian dimulai. Perencanaan pengujian mampu dimulai segera saat model kebutuhan dilengkapi dan versi perancangan final dibentuk. Dengan ini dibutuhkan, semua pengujian mampu direncanakan dan dirancang sebelum semua aba-aba diimplimentasikan.
Strategi Pengujian Perangkat Lunak
Proses pengujian perangkat lunak mampu diilustrasikan pada gambar di bawah ini.
Gambar spiral diatas mengilustrasikan bagaimana rekayasa tata cara membangun suatu perangkat lunak diulai dari penentuan keperluan perangkat lunak, lalu dilanjut dengan membentuk rancangan sampai kesudahannya ke pengkodean. Strategi atau bagan pengujian dimulai dengan unit testing dimana masing-masing unit perangkat lunak yang diimplimentasikan menjadi target pengujian, lalu dilakukan integration testing dengan fokus pengujian ialah rancangan dan konstruksi arsitektur perangkat lunak, hingga dikerjakan validation testing dengan target pengujian yaitu kesesuaian dengan kebutuhan perangkat lunak yang telah ditentukan di permulaan pengembangan, dan rampung pada system testing, dimana perangkat lunak dan keseluruhan unsur tata cara diuji.
Unit Testing
Unit testing lebih berfokus 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 mampu dikerjakan secara paralel untuk modul yang bertingkat.
Pengujian perihal jalur hukuman merupakan tugas penting selama unit testing. Kasus uji musti dirancang untuk menguak kesalahan yang berkaitan dengan kesalahan komputasi, komparasi dan pemikiran kendali yang tidak tepat.
Integration Testing
Integration testing dikerjakan dengan teknik sistematis dalam mengontruksi struktur program sambil melakukan pengujian dalam menguak kesalahan yang bekerjasama dengan interfacing. Sasarannya yakni modul yang sudah diuji pada unit testing dan kontruksi acara dari modul tersebut sesuai dengan rancangan perangkat lunak.
Validation Testing
Validation testing dikerjakan setelah perangkat lunak final dirangkai sebagai satu kesatuan yang menyeluruh dan kesalahan interfacing sudah ditemukan dan dikoreksi. Validasi berhasil bila segala fungsi pada perangkat lunak sesuai dengan keperluan klien.
Validasi testing diperoleh melalui serangkaian pengujian black-box testing yang memperlihatkan kesesuaian keperluan perangkat lunak. Semua skenario uji dirancang untuk memastikan semua kriteria fungsional telah terpenuhi, semua tolok ukur kinerja telah tercapai d, semua dokumentasi teag benar, dan kriteria yang lain seperti kompatibilitas, maintenance dan kemampuan pulih dari keselahan telah dipenuhi.
System Testing
System testing pengujian yang sasarannnya adalah keseluruhan metode. Terdapat beberapa tipe dari system testing diantaranya yakni sebagai berikut :
- Recovery testing, menguji perangkat lunak untuk gagal dengan aneka macam cara dan menilik apakah perbaikan atau pemulihan dikerjakan secara tepat.
- Security testing, menguji apakah mekanisme keamanan yang dibangun pada tata cara akan benar-benar dapat mengamankan dari efek yang salah dan beberapa percobaan peretasan.
- Stress testing, dirancang untuk menguji acara apakah bisa melawan keadaan yang abnormal.
- Perfomance testing, dirancang untuk menguji kinerja perangkat lunak yang sudah terintegrasi pada metode dikala run-time.
Referensi
Poltek Telkom
Sumber https://blogbugabagi.blogspot.com/
EmoticonEmoticon