• Tidak ada hasil yang ditemukan

Konsep Verifikasi dan Validasi Perangkat Lunak RL302

N/A
N/A
Protected

Academic year: 2022

Membagikan "Konsep Verifikasi dan Validasi Perangkat Lunak RL302"

Copied!
38
0
0

Teks penuh

(1)

Konsep Verifikasi dan Validasi Perangkat Lunak

RL302

(2)

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

(3)

Level Testing PL

Konsep Verifikasi dan Validasi PL

(4)

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

(5)

Level Testing PL

Target Pengujian - Satu Modul

- Sekelompok Modul (tujuan, penggunaan, prilaku atau struktur) - Keseluruhan Sistem

Tahap Pengujian - Unit Testing

- Integrasi Testing - Sistem Testing

(6)

Unit Testing

Konsep Verifikasi dan Validasi Perangkat Lunak

(7)

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

(8)

Komponen Unit Testing

❏ Algoritma dan Logika

❏ Struktur data (global dan local)

❏ Interface

❏ Independent paths

❏ Boundary conditions

❏ Error handling

Konsep Verifikasi dan Validasi Perangkat Lunak

(9)

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

(10)

Teknik Pengujian Unit

❏ Black box testing

❏ White Box testing

❏ Grey Box testing

Konsep Verifikasi dan Validasi Perangkat Lunak

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

Grey Box Testing

Konsep Verifikasi dan Validasi Perangkat Lunak

(17)

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

(18)

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

(19)

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

(20)

Integration Testing

Konsep Verifikasi dan Validasi Perangkat Lunak

(21)

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.

(22)

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

(23)

Skenario Pada Sistem

MODUL 2

MODUL 1

MODUL 2 MODUL 3

(24)

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

(25)

Big Bang

Suatu pengujian dilakukan dengan cara menghubungkan

seluruh modul yang ada pada suatu sistem dan dilakukan

pengujian menjadi satu kesatuan.

(26)

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

(27)

Incremental Testing

Pengujian dilakukan dengan cara menghubungkan dua atau lebih modul yang erat saling berhubungan secara logis kemudian setelah itu diuji berdasarkan fungsi modul tesebut.

Bottom-up Integration Testing

Strategi dilakukan dimulai dari modul yang memilki level paling rendah ke level paling tinggi.

Top-Down Integration Testing

Kebalikan dari metode bottom-up, yaitu pengujian diawali dari level paling tingi

(28)

Bottom-Up Integration Testing

Kelebihan

● Kesalahan dapat mudah ditemukan

● Hemat Waktu Kekurangan

● Level tetinggi modul pada suatu sistem teruji terakhir menyebabkan modul rentan 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

(29)

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

(30)

System Testing

Konsep Verifikasi dan Validasi Perangkat Lunak

(31)
(32)

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

(33)

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

(34)

Metode Pengujian Sistem

❏ Black box testing

❏ White Box testing

Konsep Verifikasi dan Validasi Perangkat Lunak

(35)

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

(36)

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

(37)

Referensi

Hidayat, T., & Muttaqin, M. (2020). Pengujian sistem informasi pendaftaran dan pembayaran wisuda online menggunakan black box testing dengan metode equivalence partitioning dan boundary value analysis.

Salamah, U., & Khasanah, F. N. (2017). Pengujian Sistem Informasi Penjualan Undangan Pernikahan Online Berbasis Web Menggunakan Black Box Testing.

INFORMATION MANAGEMENT FOR EDUCATORS AND PROFESSIONALS: Journal of Information 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/

(38)

Konsep Verifikasi dan Validasi Perangkat Lunak

Terima Kasih

Referensi

Dokumen terkait

Dan dimensi ke lima yang sangat menarik, adalah peran dan kontribusi Emil Salim sebagai tokoh dunia yang punya visi ke depan dan memerankan intellectual leadership bukan hanya bagi

Hal ini sangat beralasn sebab pengaturan masalah pencurian ikan/ Illegal Fishing itu sendiri masih baru saja diatur dalam Hukum positif kita, dengan

Pertumbuhan dan hasil kacang tanah budidaya sistem tanam alur menghasilkan nilai interaksi dengan perlakuan ketiga jenis pupuk lebih baik dibandingkan sistem tanam

Blog Diagram system offline Jika system klasifikasi pada email pada mail client sudah dapat bekerja dengan baik, maka metode algoritma na ïve bayes classifier akan

Ketiga , menimbang bahwa berdasarkan uraian tersebut di atas maka pasal 43 ayat (1) UU No 1 Tahun 1974 yang menyatakan, “ Anak yang dilahirkan di luar perkawinan

Berdasarkan hasil wawancara terhadap tujuh karyawan PT X, tiga orang subyek menilai pemimpin mereka memiliki kecenderungan gaya kepemimpinan transformasional dengan

Terlaksanya Promosi Produk Kelautan dan Perikanan dalam Peningkatan Nilai Tambah.. Terlaksananya Kontes Ikan Hias di Provinsi

Kejuaraan renang merupakan salah satu agenda rutin Pengurus Besar Provinsi atau Nasional Persatuan Renang Seluruh Indonesia (PRSI).. Kejuaraan renang dibedakan