REKAYASA PERANGKAT LUNAK : PENGUJIAN PERANGKAT LUNAK

 Selamat siang, disini saya akan sedikit membahas mengenai “PENGUJIAN PERANGKAT LUNAK” pada mata kuliah REKAYASA PERANGKAT LUNAK pertemuan 12. Apa saja sih yang akan saya bahas pada pertemuan 12 kali ini?. Materi yang terdapat pada pertemuan 12 kali ini yaitu :

1.    Dasar-dasar pengujian perangkat lunak

2.    Pengujian White Box

3.    Pengujian Black Box

4.    Pengujian Larik Ortogonal

Mari kita masuk ke pembahasan dari materi materi di atas.

1.    Dasar-dasar pengujian perangkat lunak

Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat lunak 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

1.     Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.

2.     Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan.

3.     Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan.

 

B.    TESTABILITY

Testability adalah kemampuan perangkat lunak untuk dapat diuji artinya seberapa mudah sebuah program komputer untuk bisa diuji. Karakteristik testability Perangkat Lunak :

1.     Kemampuan untuk bisa dioperasikan (operability)

2.     Kemampuan untuk bisa diobservasi (observability)

3.     Kemampuan untuk dapat dikontrol (controllability)

4.     Kemampuan untuk dapat disusun (decomposability)

5.     Kesederhanaan (simplicity)

6.     Stabilitas (stability)

7.     Kemampuan untuk dapat dipahami (understandability)

 

C.    KARAKTERISTIK PENGUJIAN

1.     Pengujian yang baik memiliki probabilitas tinggi untuk menemukan kesalahan

2.     Pengujian yang baik tidak berulang-ulang, waktu dan sumber daya pengujian terbatas

3.     Pengujian terbaik harus menjadi “bibit terbaik” yaitu pengujian yang memiliki kemungkinan tertinggi dalam mengungkap seluruh kelas kesalahan

4.     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:

1.     Menjamin bahwa semua jalur independen di dalam modul telah dieksekusi sedikitnya satu kali

2.     Melaksanakan semua keputusan logis pada sisi benar dan salah

3.     Melaksanakan semua perulangan (loop) yang memenuhi semua batas operasional

4.     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)

Notasi Grafik Alir (Flow Graph)

Adalah notasi sederhana untuk merepresentasikan aliran kontrol logis. Lingkaran mewakili pernyataan kode program. Notasi flow graph seperti gambar di bawah ini:

 


Untuk menggambarkan flow graph, dengan merepresentasikan perancangan prosedural seperti gambar berikut:

 


Lingkaran menunjukkan simpul (node), merupakan satu atau lebih pernyataan-pernyataan prosedural. Panah menunjukkan edge atau link, merupakan aliran kendali. Area yang dibatasi oleh edge dan node disebut region. Flow graph menjadi rumit ketika adanya kondisi gabungan pada saat satu atau operator boolean ada dalam pernyataan bersyarat. Node yang berisi kondisi disebut node predikat dan ditandai oleh dua atau lebih edge yang berasal dari node tersebut.

 

LOGIKA GABUNGAN

 

B.    Jalur Independen (Independent Path

Adalah setiap jalur yang melalui program yang memperkenalkan setidaknya satu kumpulan pernyataan-pernyataan pemrosesan atau kondisi baru.



Jalur independen :

·       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

Adalah metrik perangkat lunak 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:

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:

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:

1.     Buat flow graph

2.     Menentukan independent path

3.     Menentukan kompleksitas siklomatik

 

 

CONTOH TESTING

 


CONTOH FLOWGRAPH

Flow Graph dari testing sebelumnya untuk deteksi diabates

 


CONTOH 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.

1.     PERULANGAN SEDERHANA

Pengujian dilakukan dengan mudah, dimana n jumlah maksimum yang diijinkan melewati perulangan:

1.     Melewati perulangan secara keseluruhan

2.     Hanya satu kali melalui perulangan

3.     Dua kali melalui perulangan

4.     Melalui perulangan sebanyak m dimana m < n 5. n – 1, n, n + 1 melalui perulangan

 

CONTOH PERULANGAN SEDERHANA

 


Berikut diberikan pseudocode tentang perulangan sederhana, dan carilah hasilnya.

x : integer

x = 1

WHILE (x < 5) DO

PRINT (x)

x = x + 1

ENDWHILE

 

2.     PERULANGAN BERSARANG

Menggunakan pendekatan perulangan sederhana, sehingga jumlah pengujian akan meningkat. Petunjuk pengujian:

1.     Mulai dari perulangan terdalam dan atur semua perulangan ke nilai minimum

2.     Lakukan pengujian perulangan sederhana untuk perulangan terdalam, sambil menjaga perulangan luar pada nilai minimum (misal counter perulangan)

3.     Lanjutkan pada perulangan ke luar dan lakukan pengujian pada perulangan berikutnya

4.     Lakukan sampai semua perulangan telah diuji

 

CONTOH PERULANGAN BERSARANG

 


Berikut diberikan pseudocode tentang perulangan bersarang, dan carilah hasilnya.

i, j : integer

FOR i = 1 TO 4 DO

FOR j = 1 TO 3 DO

PRINT (i, j)

ENDFOR

ENDFOR

 

3.     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

CONTOH PERULANGAN TERANGKAI


x, y : integer

x = 0

y = 1

WHILE (x < 20) DO

PRINT (x)

x = x + 2 ENDWHILE

WHILE (y < 20) DO

PRINT (y)

y = y + 2

ENDWHILE

 

4.     PERULANGAN TAK TERSTRUKTUR

Kapan saja memungkinkan, perulangan didisain kembali agar mencerminkan penggunaan konstruksi pemrograman terstruktur.


 

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:

a.     Fungsi yang salah atau hilang

b.     Kesalahan antarmuka

c.     Kesalahan struktur data atau akses basis data eksternal

d.     Kesalahan perilaku atau kinerja

e.     Kesalahan inisialisasi dan penghentian

 

1.     METODE PENGUJIAN BERBASIS GRAFIK

Langkah-langkah pengujian:

·       Memahami objek-objek yang dimodelkan dalam Perangkat Lunak 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

 

CONTOH PENGUJIAN EQUIVALENCE PARTITIONING

Ketentuan diskon 20% untuk pembelian barang sejenis sebanyak 2, dan diskon 30% untuk pembelian barang sejenis sebanyak 3 atau lebih

 


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

a.     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

b.     Jika kondisi input menspesifikasikan sejumlah nilai, test case harus dikembangkan untuk menguji jumlah-jumlah minimum dan maksimum.

c.     Terapkan pedoman 1 dan 2 untuk kondisi input.

d.     Jika struktur data program internal memiliki batasbatas yang telah ditentukan, pastikan untuk merancang test case untuk menguji struktur data pada batasnya.

 

CONTOH PENGUJIAN BVA

Jika sistem menampilkan jumlah stok barang adalah n, maka:

 


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 Perangkat Lunak

CONTOH


Jika rancangan aplikasi untuk login seperti gambar di atas, maka black box testing dapat dibuat berdasarkan beberapa kondisi input (5 kondisi)

 

Contoh pengujian keamanan pada User Login


Komentar