View
48
Download
1
Category
Preview:
Citation preview
Tim Dosen
Konsep Verifikasi dan Validasi Perangkat Lunak
Dian Anggraini, M.T.
Ruang Prodi RPL Lt. II, Gedung Akademik
dian.anggraini@upi.edu
Hendriyana, ST., M. Kom
Ruang Prodi RPL Lt. II, Gedung Akademik hendriyana@upi.edu
Problem
Jamil, M. A., Arif, M., Abubakar, N. S. A., & Ahmad, A. (2016, November).
Software testing techniques: A literature review. In 2016 6th international
conference on information and communication technology for the Muslim
world (ICT4M) (pp. 177-182). IEEE.
Software Testing
Proses evaluasi sistem melalui metode tertentu untuk menentukan kebutuhan spesifikasi dengan hasil kesesuaian dengan tujuan awal.
Verifikasi dan Validasi ?
Actual X Ekspektasi
Konsep Verifikasi dan Validasi Perangkat Lunak
Level Testing PL
❏ Target Pengujian
- Satu Modul
- Sekelompok Modul (tujuan, penggunaan, prilaku atau struktur)
- Keseluruhan Sistem
❏ Tahap Pengujian
- Unit Testing
- Integrasi Testing
- Sistem Testing
Konsep Verifikasi dan Validasi Perangkat Lunak
Definisi Unit Testing
❏ Unit testing merupakan jenis pengujian yang dilakukan untuk menguji
komponen yang ada pada perangkat lunak yang bertujuan untuk
memvalidasi bahwa setiap komponen perangkat lunak berfungsi seperti
yang diharapkan.
❏ Komponen atau unit yang akan diuji dapat berupa fungsi, metode, prosedur,
modul dan objek
❏ Pengujian unit dilakukan sebelum integration dan system testing
Konsep Verifikasi dan Validasi Perangkat Lunak
Komponen Unit Testing
❏ Algoritma dan Logika
❏ Struktur data (global dan local)
❏ Interface
❏ Independent paths
❏ Boundary conditions
❏ Error handling
Konsep Verifikasi dan Validasi Perangkat Lunak
Tujuan Unit Testing
❏ Memahami fungsionalitas kode
❏ Mengidentifikasi bug dan memperbaiki bug diawal dengan cepat
❏ Meningkatkan kecepatan pengujian
❏ Menghemat waktu dan biasa
❏ Membantu pengembang untuk memahami basis kode pengujian dan memungkinkan untuk
membuat perubahan yang cepat
❏ Membantu penggunaan kembali kode pada projek yang baru
❏ Sebagai dokumentasi proyek
Konsep Verifikasi dan Validasi Perangkat Lunak
Teknik Pengujian Unit
❏ Black box testing
❏ White Box testing
❏ Grey Box testing
Konsep Verifikasi dan Validasi Perangkat Lunak
BlackBox Testing
Black box testing merupakan pengujian terhadap fungsional dari perangkat
lunak tanpa perlu mengetahui detail struktur dan internal program. Blackbox
testing akan meninjau input dan output suatu perangkat lunak
Konsep Verifikasi dan Validasi Perangkat Lunak
Jenis Pengujian Blackbox
❏ Functional Testing: Pengujian kebutuhan fungsional dari perangkat lunak bedasarkan
dokumen analisis dan dilakukan oleh software tester
❏ Non-Functional Testing: Pengujian performa, stabilitas, dan kehandalan aplikasi
❏ Regression Testing: Pengujian kembali setelah perbaikan aplikasi dilakukan. Tujuannya
adalah untuk memastikan perbaikan aplikasi sudah benar, dan tidak mempengaruhi
fungsionalitas atau performa bagian-bagian aplikasi lain.
Konsep Verifikasi dan Validasi Perangkat Lunak
Tahapan Pengujian Black Box
1. Melakukan inspeksi dokumen requirement dan spesifikasi
2. Menentukan input yang valid dan tidak valid
3. Membuat test case dari setiap inputan valid dan tidak valid
4. Pengujian sesuai dengan test case yang telah dibuat
5. Membandingkan hasil pengujian dengan luaran yang diharapkan
6. Menyusun dokumen hasil testing
7. Setelah proses perbaikan aplikasi selesai, tester kembali melakukan pengujian pada
perangkat lunak
Konsep Verifikasi dan Validasi Perangkat Lunak
White Box Testing
❏ White Box Testing merupakan pengujian yang dilakukan terhadap struktur
dan internal program. Selain itu pengujian white box juga melakukan
pengujian terhadap desain, fungsi dan detail implementasi dari perangkat
lunak
❏ Fokus pengujian terutama pada aliran input output sistem, keamanan,
desain, struktur, loop dan data flow
Konsep Verifikasi dan Validasi Perangkat Lunak
Tahapan Pengujian White Box
1. Pahami source code
2. Membuat Test Case
3. Pengujian sesuai dengan test case yang telah dibuat
4. Membandingkan hasil pengujian dengan luaran yang diharapkan
5. Menyusun dokumen hasil testing
6. Setelah proses perbaikan aplikasi selesai, tester kembali melakukan pengujian pada
perangkat lunak
Konsep Verifikasi dan Validasi Perangkat Lunak
Tujuan Pengujian Gray Box
❏ Memberikan manfaat gabungan dari pengujian white box dan black box testing
❏ Mengabungkan masukan dan sudut pandang dari pengembang dan penguji sehingga
memiliki tujuan yang sama
❏ Menghindari konflik antara penguji dan pengembang
❏ Meningkatkan kualitas secara keseluruhan
❏ Mengurangi overhead dari proses pengujian fungsional dan non fungsional
❏ Memberikan waktu yang cukup panjang kepada pengembang untuk memperbaiki kesalahan
Konsep Verifikasi dan Validasi Perangkat Lunak
Teknik Pengujian Gray Box
❏ Pengujian Matriks
Pengujian terhadap risiko bisnis dan teknis yang ditentukan oleh pengembang dalam perangkat lunak
❏ Pengujian Pola
Pengujian dengan menggunakan dokumen analisis untuk menentukan penyebab kegagalan dengan melihat internal
kode
❏ Pengujian Orthogonal Array
Pengujian yang memanfaatkan teknik black box testing
❏ Pengujian Regresi
Pengujian yang dilakukan untuk memastikan bahwa perbaikan kesalahan tidak mempengaruhi fungsionalitas
perangkat lunak lainnya
Konsep Verifikasi dan Validasi Perangkat Lunak
Tools Unit Testing
❏ JUnit: Pengujian untuk bahasa pemrograman Java. jUnit menguji data terlebih dahulu
kemudian dimasukkan ke dalam potongan kode.
❏ NUnit: Pengujian untuk bahasa pemrograman .net. NUnit adalah alat open source yang
memungkinkan penulisan skrip secara manual. Ini mendukung tes berbasis data yang dapat
berjalan secara paralel.
❏ JMockit: Pengujian Unit berbasis open source. JMockit adalah cakupan kode dengan metrik
garis dan jalur.
❏ EMMA: menganalisis dan melaporkan kode dalam bahasa pemrograman Java. Emma
mendukung jenis cakupan seperti metode, garis, blok dasar.
❏ PHPUnit: Pengujian unit untuk pemrograman PHP.
Konsep Verifikasi dan Validasi Perangkat Lunak
Definisi Integration Testing
❏ Tahapan selanjutnya setelah Unit Testing.
❏ Integration Testing disebut juga dengan kombinasi.
❏ Pengujian dari hasil pengabungan unit-unit (sekelompok modul) yang ada di
dalam software diuji secara bersama.
❏ Fokus pada pengujian komunikasi data antar modul.
❏ “I & T” → String Testing atau Thread Testing.
Konsep Verifikasi dan Validasi Perangkat Lunak
Tujuan
● Melakukan Verifikasi dan memastikan tiap-tiap modul dapat berkerja secara
kesuluruhan.
● Memastikan hubungan antar tiap modul-modul berfungsi dengan baik.
● Dirancang untuk menemukan kesalahan atau bug antar modul dan fungsinya
● Memastikan kesesuaian antara Interface pada modul dan database.
● Pengujian perangkat keras pada modul.
● Perubahaan baru yang terjadi pada modul, memungkinkan dapat melawati
Unit Testing, namun tidak dapat melewati Integration Testing.
Konsep Verifikasi dan Validasi Perangkat Lunak
Skenario Pada SistemMODUL 2
MODUL 1
MODUL 2 MODUL 3
MODUL 4 MODUL 5 MODUL 6 MODUL 7
Konsep Verifikasi dan Validasi Perangkat Lunak
Metode Integration Testing
o Big Bang
o Incremental Testing
o Bottom-up Integration Testing
o Top-down Integration Testing
Konsep Verifikasi dan Validasi Perangkat Lunak
Big Bang
Suatu pengujian dilakukan dengan cara menghubungkanseluruh modul yang ada pada suatu sistem dan dilakukanpengujian menjadi satu kesatuan.
Konsep Verifikasi dan Validasi Perangkat Lunak
Big Bang Testing
Kelebihan
● Cocok digunakan pada pengembangan sistem dengan skala kecil.
● Waktu uji lebih sedikit.
Kekurangan
● Sulit menemukan kesalahan pada modul.
● Terdapat beberapa interface yang perlu diuji, sehingga dapat terlewatkan.
● Sistem dapat diuji setelah semua modul telah dibangun.
● Waktu pengembangan akan memakan waktu yang lama.
● Pengujian secara keseluruhan pada modul, tidak ada prioritas modul.
Konsep Verifikasi dan Validasi Perangkat Lunak
Incremental Testing
Pengujian dilakukan dengan cara menghubungkan dua atau lebih modul yangerat saling berhubungan secara logis kemudian setelah itu diuji berdasarkanfungsi modul tesebut.
Bottom-up Integration Testing
Strategi dilakukan dimulai dari modul yang memilki level paling rendah ke levelpaling tinggi.
Top-Down Integration Testing
Kebalikan dari metode bottom-up, yaitu pengujian diawali dari level paling tingike level paling rendah.
Konsep Verifikasi dan Validasi Perangkat Lunak
Bottom-Up Integration Testing
Kelebihan
● Kesalahan dapat mudah ditemukan● Hemat Waktu
Kekurangan
● Level tetinggi modul pada suatu sistem teruji terakhir menyebabkan modulrentan terhadap fungsi yang tidak sesuai atau error
● Prototipe tidak dapat dirancang lebih diawal MODUL 2MODUL 1
MODUL 2
MODUL 3
MODUL 4
MODUL 5
MODUL 6
MODUL 7
Konsep Verifikasi dan Validasi Perangkat Lunak
Top-Down Integration Testing
Kelebihan
● Kesalahan dapat mudah ditemukan● Prototipe Sistem dapat dirancang diawal● Kesalahan atau error pada sistem dapat ditemukan lebih dahulu
Kekurangan
● Diperlukan lebih banyak modul untuk diuji● Modul dengan level paling rendah diuji tidak secara maximal MODUL 2MODUL
1
MODUL 2
MODUL 3
MODUL 4
MODUL 5
MODUL 6
MODUL 7
Konsep Verifikasi dan Validasi Perangkat Lunak
System Testing
❏ System testing merupakan pengujian yang melakukan validasi terhadap produk perangkat
lunak untuk memeriksa apakah perangkat lunak yang dibangun sudah dapat dijalankan
sesuai dengan tujuan
❏ Pengujian sistem biasanya digunakan untuk menilai fungsional dan non fungsional seperti
keamanan, kecepatan, akurasi, dan keandalan
❏ Pengujian sistem menguji desain, perilaku sistem dan juga harapan pelanggan
Konsep Verifikasi dan Validasi Perangkat Lunak
Tujuan System Testing
❏ Mengevaluasi spesifikasi sistem end to end
❏ Memastikan semua kebutuhan fungsional perangkat lunak terpenuhi
❏ Memastikan kinerja perangkat lunak telah sesuai dengan kebutuhan
❏ Pengujian pengalaman pengguna dengan aplikasi
❏ Verifikasi pengujian menyeluruh dari setiap input dalam aplikasi untuk memeriksa output
yang diinginkan
❏ Memastikan kebutuhan lain seperti transportability, compatibility, error recovery,
maintainability sudah terpenuhi
❏ Dokumentasi sudah benar
Konsep Verifikasi dan Validasi Perangkat Lunak
Metode Pengujian Sistem
❏ Black box testing
❏ White Box testing
Konsep Verifikasi dan Validasi Perangkat Lunak
Jenis Pengujian Sistem
❏ Usability Testing : Pengujian ini berfokus pada kemudahan pengguna dalam menggunakan
aplikasi.
❏ Load Testing: Pengujian untuk mengetahui bahwa solusi perangkat lunak akan bekerja di bawah
beban nyata.
❏ Regression Testing: Pengujian yang dilakukan untuk memastikan bahwa tidak ada kesalahan yang
terjadi ketika sudah dilakukan perubahan
❏ Recovery Testing: Pengujian untuk menunjukkan solusi perangkat lunak dapat diandalkan, dapat
dipercaya, dan dapat berhasil menutup kemungkinan terjadinya crash.
❏ Migration Testing: Pengujian untuk memastikan bahwa perangkat lunak sistem dapat
dipindahkan dari infrastruktur sistem lama ke infrastruktur infrastruktur sistem saat ini tanpa
terjadi masalah.
Konsep Verifikasi dan Validasi Perangkat Lunak
Jenis Pengujian Sistem
❏ Functional Testing: Pengujian ini memerlukan pemikiran mengenai kemungkinan terjadinya
fungsi yang hilang. Penguji membuat daftar fungsional tambahan yang bisa dikembangkan
oleh suatu produk selama proses pengujian fungsional.
❏ Hardware/ Software Testing: Pengujian ini terjadi ketika penguji fokus pada interaksi antara
perangkat keras dan perangkat lunak sistem selama proses pengujian sistem.
Konsep Verifikasi dan Validasi Perangkat Lunak
Referensi• Hidayat, T., & Muttaqin, M. (2020). Pengujian sistem informasi pendaftaran dan
pembayaran wisuda online menggunakan black box testing dengan metodeequivalence partitioning dan boundary value analysis.
• Salamah, U., & Khasanah, F. N. (2017). Pengujian Sistem Informasi PenjualanUndangan Pernikahan Online Berbasis Web Menggunakan Black Box Testing.INFORMATION MANAGEMENT FOR EDUCATORS AND PROFESSIONALS: Journal ofInformation Management, 2(1), 35-46.
• Cahyono, Andhik Budi. "Pengujian Integrasi dengan Menggunakan Metode Buttom-up Testing Untuk Sistem Informasi Sekolah." SENTIA 2019 11, no. 1 (2019).
• https://www.softwaretestinghelp.com/system-testing/
• https://socs.binus.ac.id/2020/06/30/software-testing/
Konsep Verifikasi dan Validasi Perangkat Lunak
Recommended