dasar-dasar pengujian perangkat lunak -...
TRANSCRIPT
![Page 1: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/1.jpg)
Teknik-Teknik Pengujian
Perangkat Lunak
Fakultas Ilmu Komputer dan Teknologi Informasi
Jurusan Sistem Informasi
Univesitas Gunadarma
![Page 2: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/2.jpg)
Tujuan Pembelajaran
Memahami teknik yang terdapat pada
pengujian perangkat lunak.
![Page 3: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/3.jpg)
Materi Perkuliahan
Pengujian Black Box
Pengujian untuk Sistem Waktu Nyata
Peralatan Uji Otomatis
![Page 4: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/4.jpg)
Black Box Testing
Blackbox testing menfokuskan pada keperluan
fungsional dari software.
Blackbox testing merupakan pendekatan untuk
menemukan kesalahan selain menggunakan whitebox
testing.
Blackbox testing mengabaikan struktur kontrol dan
difokuskan pada informasi domain.
![Page 5: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/5.jpg)
Keuntungan Black Box Testing
Pengujian tidak berupa non teknis.
Pengujian kasus dirancang segera setelah spesifikasi
fungsional yang lengkap.
Digunakan untuk memverifikasi kontradiksi dalam
sistem aktual dan spesifikasi.
![Page 6: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/6.jpg)
Kekurangan Black Box Testing
Inputan pengujian berasal dari ruang sampel yang
besar.
Sulit untuk mengidentifikasi semua inputan dalam
waktu pengujian yang terbatas. Test case menjadi
lambat dan sulit.
Kemungkinan memiliki jalur yang tidak dikenal selama
pengujian.
![Page 7: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/7.jpg)
Kesalahan dalam Black Box Testing
Fungsi-fungsi yang salah atau hilang
Kesalahan interface
Kesalahan dalam struktur data atau akses data
eksternal
Kesalahan performansi
Kesalahan inisialisasi dan terminasi
![Page 8: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/8.jpg)
Metode Black Box Testing
Equivalence Partitioning
Boundary Value Analysis
Comparison Testing
Sample Testing
RobustnessTesting
Behavior Testing
Requirement Testing
Performance Testing
Smoke Test
Regression Testing
Sanity
Graph Based Testing Methods
Error Guessing Testing
![Page 9: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/9.jpg)
Equivalence Partioning
Equivalence Partioning adalah metode blackbox
testing yang membagi domain input dari program
menjadi beberapa kelas data dari kasus uji coba yang
dihasilkan.
Equivalence Partioning mendefinisikan kasus uji untuk
menemukan kesalahan dan menguraikan kasus uji yang
dibuat.
Equivalence Partioning berdasarkan evaluasi dari
ekuivalensi jenis/class untuk kondisi input.
Class yang ekuivalen merepresentasikan sekumpulan
keadaan valid dan invalid untuk kondisi input.
![Page 10: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/10.jpg)
Contoh Equivalence Partioning
Spesifikasi sub-program yang harus diuji (status awal dan akhir)
a. Sub-program mengambil sebuah input berupa integer pada rentang [-100,100]
b. Keluaran sub-program adalah tanda dari nilai masukan (0 dianggap positif)
Dua buah kelas ekivalen yang valid
a. Nilai masukan dengan rentang [-100,0] akan menghasilkan tanda negatif sebagai keluaran
b. Nilai masukan dengan rentang [0,100] akan menghasilkan tanda positif sebagai keluaran
c. Keduanya bisa disatukan menjadi Nilai masukan dengan rentang [-100,100] merupakan rentang yang valid
Dua buah kelas ekivalen yang tidak valid
a. Nilai masukan < -100
b. Nilai masukan > 100
![Page 11: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/11.jpg)
Boundary Value Analysis
Kesalahan terjadi dalam batasan domain input dari
pada nilai tengah.
Baoundary Value Analysis mengarahkan pada
pemilihan kasus uji yang melatih nilai-nilai batas.
Boundary Value Analysis adalah desain teknik kasus uji
yang melengkapi equivalence partitioning.
Boundary Value Analysis menghasilkan kasus uji dari
domain output.
![Page 12: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/12.jpg)
Comparison Testing
Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting.
Redundansi perangkat keras dan perangkat lunak mungkin digunakan untuk meminimalisir kesalahan (error).
Untuk redundansi perangkat lunak, gunakan tim yang terpisah untuk mengembangkan setiap versi perangkat lunak yang independen.
Uji setiap versi dengan data yang sama untuk memastikan semua versi menghasilkan keluaran yang sama.
Jalankan semua versi dengan paralel dan perbandingan keluaran secara real-time.
Walau hanya dijalankan sebuah versi pada akhirnya, untuk beberapa aplikasi yang penting dapat mengembangkan versi independen dan menggunakan comparison testing atau back-to-back testing.
Ketika output dari versi berbeda, maka setiap versi diinvestigasi jika ada kemungkinan defect.
Metode ini tidak untuk menemukan kesalahan dari spesifikasi.
![Page 13: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/13.jpg)
Sampel Testing dan Robustness Testing
Sample Testing
a. Melibatkan beberapa nilai yang terpilih dari sebuah kelas ekivalen
b. Mengintegrasikan nilai pada kasus uji
c. Nilai-nilai yang terpilih mungkin dipilih dengan urutan tertentu atau interval tertentu
Robustness Testing
a. Data input dipilih diluar spesifikasi yang telah didefinisikan
b. Tujuan dari pengujian ini adalah membuktikan bahwa tidak ada kesalahan jika masukan tidak valid
![Page 14: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/14.jpg)
Behavior Testing dan Performance Testing
Behavior Testing
a. Hasil uji tidak dapat dievaluasi jika hanya melakukan pengujian sekali, tapi dapat dievaluasi jika pengujian dilakukan beberapa kali, misalnya pada pengujian struktur data stack
Performance Testing
a. Mengevaluasi kemampuan program untuk beroperasi dengan benar dipandang dari sisi acuan kebutuhan misalnya: aliran data, ukuran pemakaian memori, kecepatan eksekusi, dll
b. Untuk mencari tahu beban kerja atau kondisi konfigurasi program
c. Spesifikasi mengenai performansi didefinisikan pada saat tahap spesifikasi atau desain
d. Dapat digunakan untuk menguji batasan lingkungan program
![Page 15: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/15.jpg)
Requirement Testing
Spesifikasi kebutuhan yang terasosiasi dengan perangkat lunak (input/output/fungsi/performansi) diidentifikasi pada tahap spesifikasi kebutuhan dan desain.
Requirement testing melibatkan pembuatan kasus uji untuk setiap spesifikasi kebutuhan yang terkait dengan program
Untuk memfasilitasinya, setiap spesifikasi kebutuhan bisa ditelusuri dengan kasus uji dengan menggunakan traceability matrix
![Page 16: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/16.jpg)
Cause-effect Relationship Testing
Teknik ini merupakan suplemen dari equivalence testing dengan menyediakan cara untuk memilih kombinasi data input
Melibatkan kondisi input (cause) dan kondisi output (effect) untuk mencegah pendefinisian kasus uji yang terlalu banyak
Langkah
a. Bagi-bagi spesifikasi kebutuhan menjadi bagian yang memiliki kemungkinan kerja
b. Definisikan cause dan effect berdasarkan spesifikasi kebutuhan
c. Analisa spesifikasi kebutuhan untuk membuat hubungan logika
d. Tandai graf untuk jalur yang tidak mungkin berhubungan dengan kombinasu cause/effect sesuai dengan batasan spesifikasi kebutuhan
e. Ubah graf menjadi tabel keputusan
f. Kolom --> test case
g. Baris --> cause/effect
h. Ubah kolom dari tabel keputusan menjadi kasus uji
![Page 17: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/17.jpg)
Web Site Test Tools
http://www.softwareqatest.com/qatweb1.html
![Page 18: Dasar-Dasar Pengujian Perangkat Lunak - Gunadarmaadam_huda.staff.gunadarma.ac.id/Downloads/files/...Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting. Redundansi](https://reader033.vdocuments.pub/reader033/viewer/2022052816/60acf4f733f7dd7ef612e297/html5/thumbnails/18.jpg)
Kategori Pengujian Blackbox
Load Performance : http://loadimpact.com
Link Checkers : http://validator.w3.org/checklink
HTML Validators : http://validator.w3.org Cross-browser (Browser Compatibility) :
http://browsershots.org
Website Security : Nikto (http://www.activestate.com/activeperl/downloads dan http://cirt.net/Nikto2)
Mobile Web : https://gtmetrix.com/ dan https://developers.google.com/speed/pagespeed/insights/ dan https://www.google.com/webmasters/tools/mobile-friendly/?hl=ID