Hi, Assalamualaikum Warahmatulahi Wabarakatuh.
Bismillahirahmanirahim.
Kali ini aku bakal share penjelasan materi mata kuliah RPL Pertemuan 12 yaitu mengenai Pengujian Perangkat Lunak.
Semoga Bermanfaat! ✨
1. Dasar-Dasar Pengujian Perangkat Lunak
Pengujian
perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah PL secara
manual maupun otomatis untuk menguji apakah PL sudah memenuhi persyaratan atau
belum, atau untuk menentukan perbedaan antara hasil yang diharapkan dengan
hasil sebenarnya.
Tujuannya
untuk mencari kesalahan, menilai apakah perangkat lunak yang dikembangkan telah
memenuhi kebutuhan pemakai, menilai apakah tahap pengembangan perangkat lunak
telah sesuai dengan metodologi yang digunakan, dan membuat dokumentasi hasil
pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan
spesifikasi yang telah ditentukan.
Testability
adalah kemampuan PL untuk dapat diuji seberapa mudah sebuah program komputer
untuk bisa diuji. Karakteristik
testability PL:
a. Kemampuan untuk bisa dioperasikan
(operability)
b.
Kemampuan
untuk bisa diobservasi (observability)
c.
Kemampuan
untuk dapat dikontrol (controllability)
d.
Kemampuan
untuk dapat disusun (decomposability)
e.
Kesederhanaan
(simplicity)
f.
Stabilitas
(stability)
g. Kemampuan untuk dapat dipahami (understandability)
Karakteristik
Pengujian :
a. Pengujian yang baik memiliki
probabilitas tinggi untuk menemukan kesalahan
b.
Pengujian
yang baik tidak berulang-ulang, waktu dan sumber daya pengujian terbatas
c.
Pengujian
terbaik harus menjadi “bibit terbaik” yaitu pengujian yang memiliki kemungkinan
tertinggi dalam mengungkap seluruh kelas kesalahan
d. Pengujian yang baik tidak terlalu
sederhana atau tidak terlalu rumit
Pengujian
yang baik adalah pengujian yang memiliki kemungkinan besar dalam menemukan
kesalahan sebanyak mungkin dengan usaha sekecil mungkin.
2. Pengujian White Box
Pengujian white box (glass box testing) ialah sebuah
filosofi perancangan test case yang menggunakan struktur kontrol.
Test case pada white box: Menjamin bahwa semua jalur
independen di dalam modul telah dieksekusi sedikitnya satu kali, Melaksanakan
semua keputusan logis pada sisi benar dan salah, Melaksanakan semua perulangan
(loop) yang memenuhi semua batas operasional, Melakukan struktur data internal
untuk memastikan kebenarannya.
a. Pengujian Jalur Dasar (Basis Path
Testing)
Merupakan teknik
pengujian yang memungkinkan perancangan test case untuk menurunkan ukuran kompleksitas
logis dari suatu rancangan prosedural dan menggunakan ukuran ini sebagai
pedoman untuk menentukan rangkaian dasar jalur eksekusi.
Test case diturunkan untuk menguji rangkaian dasar
yang dijamin untuk mengeksekusi setiap pernyataan dalam program, setidaknya
satu kali selama pengujian. Menggambarkan arus kontrol logis dengan menggunakan
Notasi Grafik Alir (Flow Graph)
*
Notasi
Grafik Alir (Flow Graph) : Notasi sederhana untuk merepresentasikan aliran
kontrol logis. Lingkaran mewakili pernyataan kode program. Notasi flow graph
seperti gambar di bawah ini:
b. Pengujian Jalur Independen
Jalur Independen (Independent Path) adalah setiap jalur yang melalui program yang memperkenalkan setidaknya satu kumpulan pernyataan-pernyataan pemrosesan atau kondisi baru. Jalur independen gambar dibawah :
Path
1: 1-11. Path 2: 1-2-3-4-5-10-1-11. Path 3: 1-2-3-6-8-9-10-1-11. Path 4:
1-2-3-6-7-9-10-1-11. Path 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 tidak dianggap jalur
independen karena tidak melintasi setiap edge baru. Path 1 sampai 4 merupakan
basis set.
c. Kompleksitas Siklomatik
Metrik PL yang menyediakan ukuran kuantitatif dari kompleksitas logis suatu program. Perhitungan Kompleksitas Siklomatik: a. Jumlah daerah-daerah (region) flow graph yang berhubungan dengan Kompleksitas Siklomatik b. Kompleksitas Siklomatik V (G) = E – N + 2 dimana E adalah jumlah edge, N adalah jumlah node. c. Kompleksitas Siklomatik V (G) = P + 1 dimana P adalah jumlah node predikat
Dari kasus independent path diatas :
Jumlah region adalah 4, V (G) = 11 edge – 9 node + 2 = 4, V (G) = 3 node
predikat + 1 = 4. Jadi Kompleksitas Siklomatiknya adalah 4.
d.
Menghasilkan
Test Case
Diberikan pseudocode sbb:
Langkah-langkah
untuk menurunkan basis set: 1. Buat flow graph 2. Menentukan independent path
3. Menentukan kompleksitas siklomatik.
e. Pengujian Struktur Kontrol
*
Pengujian
Kondisi : Pengujian kondisi adalah metode perancangan test case yang menguji
kondisi logis yang terdapat dalam modul program. Kondisi sederhana adalah
variabel boolean atau ekspresi relasional, kemungkinan didahului oleh satu
operator NOT. Jenis kesalahan dalam kondisi meliputi kesalahan operator
boolean, kesalahan variabel boolean, kesalahan kurung boolean, kesalahan
operator relasional, dan kesalahan ekspresi aritmatika.
*
Pengujian
Perulangan : Teknik pengujian white box yang fokus pada validitas konstruksi
perulangan. Dalam pengujian perulangan terdapat:
-
Perulangan
Sederhana : Pengujian dilakukan dengan mudah, dimana n jumlah maksimum yang
diijinkan melewati perulangan: (a) Melewati perulangan secara keseluruhan (b)
Hanya satu kali melalui perulangan (c) Dua kali melalui perulangan (d) Melalui
perulangan sebanyak m dimana m < n (e) n – 1, n, n + 1 melalui perulangan.
-
Perulangan
Bersarang : Menggunakan pendekatan perulangan sederhana, sehingga jumlah
pengujian akan meningkat. Petunjuk pengujian: (a) Mulai dari perulangan
terdalam dan atur semua perulangan ke nilai minimum (b) Lakukan pengujian
perulangan sederhana untuk perulangan terdalam, sambil menjaga perulangan luar
pada nilai minimum (misal counter perulangan) (c) Lanjutkan pada perulangan ke
luar dan lakukan pengujian pada perulangan berikutnya (d) Lakukan sampai semua
perulangan telah diuji.
-
Perulangan
Terangkai : Pengujian menggunakan pendekatan perulangan sederhana bila
masing-masing perulangan independen. Tetapi bila dua perulangan dirangkai dan
counter perulangan 1 digunakan sebagai harga awal perulangan 2 maka perulangan
tersebut menjadi tidak independen, dan direkomendasikan ke perulangan tersarang.
-
Perulangan
Tak Terstruktur : Kapan saja memungkinkan, perulangan didisain kembali agar
mencerminkan penggunaan konstruksi pemrograman terstruktur.
3. Pengujian Black Box
Pengujian black box (pengujian perilaku). Pengujian
black box memungkinkan untuk membuat beberapa kumpulan kondisi input yang akan
melakukan semua kebutuhan fungsional untuk program.
Kategori kesalahan pada pengujian black box: Fungsi
yang salah atau hilang, Kesalahan antarmuka, Kesalahan struktur data atau akses
basis data eksternal, Kesalahan perilaku atau kinerja, Kesalahan inisialisasi
dan penghentian.
a. Metode Pengujian Berbasis Grafik.
Memiliki langkah-langkah pengujian:
Memahami objek-objek yang dimodelkan dalam PL dan
penghubung yang menghubungkan objek-objek tersebut, Menentukan serangkaian pengujian yang
memastikan bahwa semua objek memiliki hubungan satu sama lain seperti yang
diharapkan Node direpresentasikan sebagai lingkaran, Hubungan direpresentasikan dengan anak panah, Hubungan
satu arah (directed link) bahwa hubungan bergerak hanya satu arah, Hubungan dua arah atau hubungan simetris
(bidirection link) bahwa hubungan berlaku dua arah, Hubungan paralel digunakan
ketika ada sejumlah hubungan yang berbeda yang dibangun di antara node-node
grafik.
b. Partisi Kesetaraan (Equivalence
Partitioning)
: Metode pengujian
black box yang membagi daerah input program ke dalam kelas-kelas data dari test
case yang dapat diturunkan. Sebuah kelas kesetaraan merepresentasikan keadaan
valid atau tidak valid dari kondisi input. Contoh: kesalahan terhadap semua
data karakter yang mungkin mengharuskan banyak test case sebelum kesalahan umum
teramati. Kelas kesetaraan dapat didefinisikan:
*
Jika
kondisi input menspesifikasikan range, satu kelas kesetaraan yang valid dan dua
kelas kesetaraan yang tidak valid didefinisikan
*
Jika
kondisi input membutuhkan nilai tertentu, satu kelas kesetaraan yang valid dan dua
kelas kesetaraan yang tidak valid didefinisikan
*
Jika
kondisi input menspesifikasikan anggota dari himpunan, satu kelas kesetaraan
yang valid dan dua kelas kesetaraan yang tidak valid didefinisikan
*
Jika
kondisi input adalah boolean, satu kelas kesetaraan yang valid dan dua kelas
kesetaraan yang tidak valid ditentukan.
c. Analisis Nilai Batas (Boundary
Value Analysis) : Merupakan teknik perancangan test case yang melengkapi
partisi kesetaraan dengan fokus pada kondisi input, dan juga akan menghasilkan
output. Banyak kesalahan terjadi pada kesalahan input. BVA mengijinkan untuk
menyeleksi kasus uji yang menguji batasan nilai input. BVA merupakan komplemen
dari equivalence partitioning, lebih memilih pada elemen-elemen di dalam kelas
ekivalen pada bagian sisi batas dari kelas. Pedoman BVA:
*
Jika
kondisi input menspesifikasikan range yang dibatasi oleh nilai a dan b, test
case harus dirancang dengan nilai a dan b dan hanya di atas dan di bawah nilai
a dan b
*
Jika
kondisi input menspesifikasikan sejumlah nilai, test case harus dikembangkan
untuk menguji jumlah-jumlah minimum dan maksimum
*
Terapkan
pedoman 1 dan 2 untuk kondisi input
*
Jika
struktur data program internal memiliki batas-batas yang telah ditentukan,
pastikan untuk merancang test case untuk menguji struktur data pada batasnya.
4. Pengujian Larik Ortogonal
Dapat diterapkan untuk masalah-masalah dimana input
domain relatif kecil tapi terlalu besar untuk mengakomodasi pengujian yang
lengkap. Bermanfaat dalam menemukan kesalahan yang terkait dengan logika yang
salah dalam komponen PL.
Comments
Post a Comment