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.
Pengujian bertujuan untuk mencari kesalahan.
Pengujian yang baik adalah pengujian yang memiliki kemungkinan
besar dalam menemukan kesalahan sebanyak mungkin dengan usaha sekecil mungkin.
A. Tujuan Pengujian
a. Menilai apakah perangkat lunak yang dikembangkantelah
memenuhi kebutuhan pemakai.
b. Menilai apakah tahap pengembangan perangkat lunak telah
sesuai dengan metodologi yang digunakan.
c. Membuat dokumentasi hasil pengujian yang menginformasikan
kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan.
B. Testability
Testability adalah kemampuan PL untuk dapat diuji artinyaseberapa
mudah sebuah program komputer untuk bisa diuji.
Karakteristik testability PL:
- Kemampuan untuk bisa dioperasikan (operability)
- Kemampuan untuk bisa diobservasi (observability)
- Kemampuan untuk dapat dikontrol (controllability)
- Kemampuan untuk dapat disusun (decomposability)
- Kesederhanaan (simplicity)
- Stabilitas (stability)
- Kemampuan untuk dapat dipahami (understandability)
C. Karakteristik Pengujian
- Pengujian yang baik memiliki probabilitas tinggi untuk menemukan kesalahan
- Pengujian yang baik tidak berulang-ulang, waktu dan sumber daya pengujian terbatas
- Pengujian terbaik harus menjadi “bibit terbaik” yaitu pengujian yang memiliki kemungkinan tertinggi dalam mengungkap seluruh kelas kesalahan
- Pengujian yang baik tidak terlalu sederhana atau tidak terlalu rumit
2. Pengujian White Box
Disebut juga pengujian kotak kaca (glass box testing).
Merupakan 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)
Adalah 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)
B. Jalur Independen
Jalur Independen (Independent Path) adalah setiap jalur yang
melalui program yang memperkenalkan setidaknya satu kumpulan
pernyataan-pernyataan pemrosesan atau kondisi baru.
C. Kompleksitas Siklomatik
Adalah metrik PL yang menyediakan ukuran kuantitatif dari
kompleksitas logis suatu program.
Perhitungan Kompleksitas Siklomatik:
- Jumlah daerah-daerah (region) flow graph yang berhubungan dengan Kompleksitas Siklomatik
- Kompleksitas Siklomatik V (G) = E – N + 2 dimana E adalah jumlah edge, N adalah jumlah node.
- Kompleksitas Siklomatik V (G) = P + 1 dimana P adalah jumlah node predikat.
D. Menghasilkan Test Case
Diberikan Pseudocode sbb:
1 → do while record masih ada
baca
record
2 → if record ke 1 = 0
3 → then proses record
simpan di buffer naikan
counter
4 → else if record ke 2 = 0
5 → then reset counter
6 → else proses record
simpan pada
file
7a → endif
endif
7b → enddo
8 → end
Langkah-langkah untuk menurunkan basis set:
- Buat flow graph
- Menentukan independent path
- Menentukan kompleksitas siklomatik
E. Pengujian Struktur Kontrol
a. 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.
b. Pengujian Perulangan
Adalah teknik pengujian white box yang fokus pada validitas
konstruksi perulangan.
3. Pengujian Black Box
Disebut juga 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
1. Metode Pengujian Berbasis Grafik
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.
2. Partisi Kesetaraan (Equivalence Partitioning)
Adalah 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
3. 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
Komentar
Posting Komentar