Otomatisasi Desain Test Case Pengujian Perangkat Lunak Metode PDF
Otomatisasi Desain Test Case Pengujian Perangkat Lunak Metode PDF
ABSTRAK
Pengujian black-box sangat penting karena teknik tersebut mampu mengidentifikasi kesalahan dalam
fungsi, antar muka, model data, dan akses kesumber data eksternal. Dalam pelaksanaan sering timbul
masalah penguji tidak perna yakin apakah perangkat lunak yang diuji telah benar-benar lolos dalam
pengujian. Hal ini terjadi karena kemungkinan masih ada beberapa jalur eksekusi yang belum perna
teruji. Penguji seharusnya membuat setiap kemungkinan kombinasi data masukan untuk pengujian.
Pemilihan data masukan untuk menemukan kesalahan menjadi masalah bagi penguji karena memiliki
probabilitas yang tinggi, sehingga desain test case secara otomatis dapat menjadi solusi. Untuk
menghasilkan desain test case secara otomatis dalam pengujian perangkat lunak metode black-box
dengan teknik equivalence partitioning dibutuhkan sebuah teknik artificial intelligence. Artificial
intelligence yang digunakan dalam optimasi dan efisiensi desain test case adalah algoritma genetika.
Algoritma genetika adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan
genetika. Terkait dengan pengujian black-box algoritma genetika dapat digunakan dalam pencarian
kemungkinan-kemungkinan data masukan untuk desain test case secara otomatis.
Kata Kunci : algoritma genetika, equivalence partitioning, black-box testing
47
Dalam pelaksanaan sering timbul masalah (Desiani, Anita; Arhami, Muhammad, 2006).
penguji tidak perna yakin apakah perangkat Terkait dengan pengujian black-box, algoritma
lunak yang diuji telah benar-benar lolos dalam genetika dapat digunakan dalam pencarian
pengujian. Hal ini terjadi karena kemungkinan kemungkinan-kemungkinan data masukan
masih ada beberapa jalur eksekusi yang belum dalam medesain test case dengan teknik
perna teruji. Penguji seharusnya membuat Equivalence Partitioning yang optimal.
setiap kemungkinan kombinasi data masukan
Penelitian terkait perna dilakukan oleh Lionel
untuk pengujian (Hendraputra, Ade; Pratondo,
C. Briand dengan menggunakan algoritma
Agus; wijaya, Dedy Rahman; dkk;, 2009).
C4.5 dapat membantu menganalisis kelemehan
Pemilihan data masukan untuk menemukan
dan redudansi spesifikasi pengujian perangkat
kesalahan menjadi masalah bagi penguji
lunak (Briand, Lionel C.; Labiche, Yvan;
karena memiliki probabilitas yang tinggi
Bawar, Zaheer, 2008). Selain itu pada tahun
(Agarwal, B. B.; Tayal, S.P.; Gupta, M.,
2010 Abdul rauf mampu menunjukan optimasi
2010).
test case dalam pengujian Graphical User
Tingginya probabilitas data masukan pada Interface (GUI) dengan menggunakan
pengujian black-box, para vendor mengalami algoritma genetika (Rauf, Abdul; Anwa, Sajid;
kesulitan dalam merancang test case Jaffer, M. Arfan; Shahid, Arshad Ali, 2010).
pengujian. Menurut Jason Bau pada
Dengan pertimbangan bahwa algoritma
penelitianya “State of the Art Automated
genetika mampu mengoptimasi desain test
Black-Box Web Application Vulnerability
case pada pengujian GUI, maka akan dipilih
Testing”, Hal tersebut merupakan salah satu
algoritma genetika untuk optimasi dan
faktor yang mengakibatkan tingginya
otomatisasi desain test case pada pengujian
kerentanan dalam berbagai aplikasi web (Bau,
perangkat lunak metode black-box testing
Jason; Bursztein, Elie; Gupta, Divij; Mitchell,
dengan teknik equivalence partitioning.
John, 2010).
Dalam pengujian black-box terdapat tiga 1.2 Landasan Teori
motode antara lain: Equivalence Partitioning, 1. Tinjauan Studi (Related Research)
Boundary value testing, Use case testing. Dari Penelitian yang dilakukan oleh Lionel C.
tiga motode tersebut panguji harus mampu Briand, Yvan Labiche, and Zaheer Bawar pada
medesain test case yang di mungkin dengan tahun 2008. Permasalahan dalam penelitian
tepat. Secara konvensional, medesain test tersebut antara lain, keterbatasan tester dalam
case untuk menetukan keluaran yang benar memahami test suite dan adanya redudansi test
adalah pekerjaan yang banyak membutuhkan suite pada pengujian black-box untuk
waktu sehingga kurang efisien (Dick, S.; perangkat lunak open source. Lionel
Kandel, A., 2005). menggunakan metode algoritma C4.5 dalam
mengatasi permasahan diatas. Dengan
Medesain test case secara otomatis dapat
pendekatan sebagai berikut: mengidentifikasi
menjadi solusi. Untuk menghasilkan test case
masalah pada keputusan C4.5 dan
secara otomatis dibutuhkan sebuah teknik
menghubungkannya dengan test suite
Artificial Intelligence (Dick, S.; Kandel, A.,
potensial atau CP spesifikasi kekurangan.
2005). Artificial Intelligence digunakan untuk
Kemudian menambah strategi untuk test suite.
membuat formulasi dan optimasi pemilihan
Hasil penelitian Lionel yang tersebut diatas
data dalam medesain test case. Adapun
adalah Algoritma C4.5 membantu tester
Artificial Intelligence yang dapat digunakan
perangkat lunak menganalisis kelemahan dan
antara lain: Fuzzy logic, Neural network,
redundansi spesifikasi pengujian dan test suite
Algoritma genetika (genetic algorithm), Case
dan iteratif diperbaiki. Hasil analisis
Based Reasoning dan algoritma yang lain.
menunjukan pengurangan test suit mencapai
Dari beberapa komputasi cerdas tersebut yang 50% (Briand, Lionel C.; Labiche, Yvan;
sangat tepat dalam penyelesaian masalah Bawar, Zaheer, 2008).
optimasi kompleks, yang sulit dilakukan oleh
Berikutnnya penelitian yang dilakukan oleh
metode konvensional adalah algoritma
Abdul Rauf, Sajid Anwa, M. Arfan Jaffer, and
genetika. Algoritma genetika adalah suatu
Arshad Ali Shahid pada tahun 2010. Abdul
algoritma pencarian yang berbasis pada
rauf menyatakan bahwa setiap pengembang
mekanisme seleksi alam dan genetika
48
perangkat lunak selalu ingin untuk menguji kondisi input dapat berupa spesifikasi nilai
perangkat lunak secara menyeluruh untuk numerik, kisaran nilai, kumpulan nilai yang
mendapatkan kepercayaan yang maksimal berhubungan atau kondisi boolean
tentang kualitas. Tapi ini memerlukan upaya (Hendraputra, Ade; Pratondo, Agus; wijaya,
besar untuk menguji GUI karena kompleksitas Dedy Rahman; dkk;, 2009).
yang terlibat dalam aplikasi tersebut. Abdul
b. Boundary value testing
Rauf menggunakan Algoritma genetika dalam
mengatasi permasalahannya. Dengan Merupakan teknik desain testing yang paling
algoritma genetika dilakukan pencarian dasar. Itu membantu tester untuk memilih
kombinasi tes yang sebaik mungkin dengan subset yang kecil untuk membuat test case
parameter beberapa kriteria uji yang telah yang mungkin. Yang menjadi fokus pada
ditetapkan. Hasil penelitian Abdul Rauf yang teknik ini adalah batasan-batasan yang simple
tersebut diatas adalah Algoritma genetika karena di situlah kebanyakan cacat pada
mampu mengoptimasi “fungsi cakupan” yang perangkat lunak tersembuyi (Hendraputra,
memenuhi kriteria tes atau pengujian. Analisis Ade; Pratondo, Agus; wijaya, Dedy Rahman;
cakupan uji funsi fitness menunjukan bahwa dkk;, 2009).
sistem mampu mencapai lebih dari 85% c. Use case testing
cakupan (Rauf, Abdul; Anwa, Sajid; Jaffer, M.
Arfan; Shahid, Arshad Ali, 2010). Dalam hal pengujian perangkat lunak,
2. Tinjauan Pustaka informasi yang ada pada use case sangat
Pengujian Black-box berguna bagi tester. Komponen utama dari
pengujian dari suatu transaksi adalah data
Pengujian Black-box merupakan strategi testing. Boris Beizer dalam bukunya
testing di mana hanya memperhatikan atau menyarankan bahwa 30 sampai dengan 40
memfokuskan kepada faktor fungsionalitas persen dari pengujian suatu transaksi adalah
dan spesifikasi perangkat lunak (Hendraputra, generating, capturing, or extracting test data
Ade; Pratondo, Agus; wijaya, Dedy Rahman; (Hendraputra, Ade; Pratondo, Agus; wijaya,
dkk;, 2009). Pengujian black-box Dedy Rahman; dkk;, 2009).
mengidenatifikasi jenis kesalahan antara lain
kesalahan suatu fungsi, kesalahan suatu antar Algoritma Genetika
muka, kesalahan dalam pemodelan data dan Algoritma Genetika adalah suatu algorima
kesalahan dalam akses ke sumber data pencarian yang berbasi pada mekanisme
eksternal (Agarwal, B. B.; Tayal, S.P.; Gupta, seleksi alam dan genetika. Algoritma genetika
M., 2010). merupakan salah satu algoritma yang sangat
Pengujian black-box sangat diperlukan dalam tepat digunakan dalam menyelesaikan masalah
meningkatkan kualitas dan kepercayaan dari optimasi kompleks, yang sulit dilakukan oleh
suatu perangkat lunak. Semakin besar tingkat metode konvensional (Desiani, Anita; Arhami,
kompleksitas suatu perangkat lunak akan Muhammad, 2006).
membutuhkan pengujian yang semakin luas. Dalam pemrograman, algoritma genetika
Hal ini terlihat pada proses pemilihan jenis diimplementasikan dengan menggunakan
input yang dimungkinkan dalam pengujian. array yang berisi bit atau karakter untuk
Metode dalam pengujian black-box meliputi mewakili kromosom. Flow chart dari genetika
(Hendraputra, Ade; Pratondo, Agus; wijaya, algoritma dapat digambarkan sebagai berikut
Dedy Rahman; dkk;, 2009): (Nedjah, Nadia; Abraham, Ajith; Mourelle,
Luiza de Macedo, 2006).
a. Equivalence partitioning
Merupakan teknik yang digunakan untuk
mengurangi jumlah test case yang ada pada
saat pengujian. Kasus uji yang didesain untuk
equivalence partitioning berdasarkan pada
evaluasi dari ekuivalensi jenis/class untuk
kondisi input. Class-class yang ekuevalen
mempresentasikan sekumpulan keadaan valid
dan invalid untuk kondisi input. Biasanya
49
Menginitialisasi
populasi
Solusi
ditemukan ?
Tidak Seleksi
Ya
End
Gambar 1. Siklus Algoritma Genetika Gambar 3. Tampilan aplikasi yang akan diuji
Tidak
Crossover
meningkat otomatisasi to.setText(Byte.toString(a));
}else if(b>a && b>c){
Mutasi to.setText(Byte.toSt
ring(b));
}else if (c>a && c>b){
Test case optimal
? to.setText(Byte.toSt
ring(c));
Ya }
Data test
Test case }catch(Exception e){
optimal
to.setText("Data tidak sesuai");
}
}
50
masukan bertipe byte, dalam bahasa Gambar 6 Partisi ekuivalensi untuk masukan
pemrograman java tipe data byte memiliki “c”
range dari -127 sampai dengan 128 sehingga d. Partisi ekuivalensi untuk keluaran
ada kemungkinan untuk melakukan kombinasi -127 128
sebanyak 255 * 3 atau 765. Sebuah nilai
a
kombinasi yang tinggi untuk memastikan Data tidak sesuai
a>b & a>c
Data tidak sesuai
c
Petujuk pelaksanaan dalam penyusunan test c>a & c>b
51
diharapkan sesuai sesuai sesuai sesuai Analisa partisi data
Mutasi
Test cases 9 10 11 12
Genetika algoritma
Tidak
Masukan -128 -128 60 40
“a” Test case optimal
?
“c”
Partisi c>a c>a c>a c>a
yang dites && && && && Gambar 3 Model algortima gentika dalam
c>b c>b c>b c>b desain test case uji
Keluaran Data Data Data Data Model yang menjadi usulan akan diterapkan
yang tidak tidak tidak tidak pada perangkat lunak/ bahasa pemrograman
diharapkan sesuai sesuai sesuai sesuai matlab. Hasil luaran akan dilakukan
pengukuran pencapaian tingkat optimasi dan
efisiensinya.
Tabel 4. Desain Test cases untuk partisi
masukan valid 3. Eksperimen Dan Pengujian
Model/Metode
Test cases 13 14 15 a. Reprensentasi
Masukan “a” 60 90 60 Setiap data dipresentasikan sebagai vektor
biner yang berkaitan dengan input dari
Masukan “b” 40 120 10
perangkat lunak yang diuji (Kusumadewi,
Masukan “c” 20 60 90 Sri, 2003). Setiap bilangan atau nilai dari
Partisi yang a>b b>a c>a && a, b atau c akan diwakili 8 bit sekaligus
dites && a>c && c>b akan mengisi gen-gen, hal ini melihat
b>c bahwa panjang tipe data dari Byte adalah 8
bit. Sehingga panjang biner untuk
Keluaran yang a b c
diharapkan mewakili satu set uji 8 X 9 atau 72. Hal
tersebut terkait dengan nilai yang dicari a,
b dan c dengan batasan tengah, batasan
3. Metode yang Diusulkan
bawah dan batasan atas.
b. Penentuan parameter
Parameter Nilai
52
Jumlah gen (JumGen) Nvar*Nbit
(
Batas bawah interval (Rb) -127
c. Inisialisasi ( )
( | ⁄ |)
( )
Proses inisialisasi dilakukan dengan cara ( | ⁄ |)
memberikan nilai awal gen-gen dengan nilai
biner secara acak sesuai dengan batasan yang Untuk mengkonversi fungsi objektif kedalam
telah ditentukan. Sebagai contoh: fungsi fitness dilakukan dengan perumusan:
Chromosom[1] = Cakupan_uji[1], atau
Cakupan_uji[1] = [batas_tengah, batas_bawah, ( )
batas_atas], atau
Cakupan_uji[1] = {{00000101, 11110001, BilKecil merupakan bilangan yang digunakan
00010100}, {00010000, 01111111, untuk menghindari pembagian dengan nol,
01111111}, {11111111, 11110001, misal 10^-1. Setelah nilai fitness diketahui
00000110}} berikutnya menskalakan nilai fitness kedalam
ranking sehingga diperoleh nilai-nilai fitness
d. Evaluasi individu baru yang berada dalam rentang [nilai fietness
Sebelum dilakukan evaluasi terhadap test case maximum, nilai fietness minimum].
atau individu dilakukan konversi dari biner Perumusan:
kereal telebih dahulu sehingga perhitungan () (
evaluasi/fitness dapat dilakukan. Dalam )( ( ) )
mengevaluasi individu didekatkan dengan Keterangan:
metode Equivalence Partitioning. Sehingga Fmax: fietness maximum
untuk mengevaluasi objektif individu dapat Fmin: fietness minimum
ditentukan dengan perumusan (Agarwal, B. R: populasi ke-i
B.; Tayal, S.P.; Gupta, M., 2010): N: ukuran populasi
e. Seleksi
Seleksi ini bertujuan untuk memberikan
( )⁄ kesempatan reproduksi yang lebih besar bagi
( | |)
anggota populasi yang paling fit atau yang
memiliki nilai fitness yang tinggi. Metode
( )⁄ yang digunakan roulette-wheel, individu
( | |) dipetakan dalam suatu segmen garis secara
berurutan sedemikian hingga tiap-tiap segmen
individu memiliki ukuran yang sama dengan
ukuran fietness-nya. Sebuah bilangan random
dibangkitkan dan individu yang memiliki
segmen dalam kawasan bilangan random
tersebut akan terseleksi. Proses ini diulang
hingga diperoleh sejumlah individu yang
diharapkan (Desiani, Anita; Arhami,
53
Muhammad, 2006) (Kusumadewi, Sri; NO Fitness Variabel
Purnomo, Hari, 2010). terbaik
A B C
f. Crossover
a. 1.7750 -107 -51 -64
Metode crossover yang digunakan adalah satu
titik dengan kromosom yang berbentuk string b. 2.5334 -119 114 72
biner. Sebuah bilangan antara 1 sampai jumlah c. 2.3422 -95 122 117
gen (JumGen) dibangkitkan secara acak untuk
menentukan posisi persilangan. Kemudian d. 2.3172 50 89 -125
ditukarkan bagian kanan titik potong dari e. 1.6763 -1 54 -94
kedua induk kromosom tersebut untuk
menghasilkan kromosom anak (Kusumadewi, f. 2.3068 -115 106 123
Sri, 2003). g. 2.5128 -12 -107 124
g. Mutasi h. 2.6072 -126 112 -19
Mutasi yang digunakan dengan kromosom i. 1.9430 -70 -109 -91
biner. Mutasi terjadi secara acak pada setiap
gen dalam kromosom. Kemudian mengganti j. 1.9606 13 49 -127
bit 1 dengan 0 , atau mengganti bit 0 dengan 1. k. 1.9264 -4 105 -73
Pada mutasi ini sangat dimungkinkan
munculnya kromosom baru yang semula l. 2.3202 100 27 -116
belum muncul dalam populasi awal
(Kusumadewi, Sri, 2003).
h. Pengujian model/metode 4. Kesimpulan
Berdasarkan hasil yang telah dicapai terkait
Dalam melakukan pengujian model yang dengan Otomatisasi Desain Test Case
diusulkan dilakukan running program Pengujian Perangkat Lunak Metode Black-Box
sebanyak 12 kali. Testing Dengan Teknik Equivalence
Partitioning Menggunakan Algoritma
Genetika. Maka dapat disimpulkan bahwa
algoritma genetika dapat digunakan untuk
mengotomatisasikan desain test cases pada
pengujian perangkat lunak metode black-box
testing dengan teknik equivalence partitioning.
5. Daftar Pustaka
Agarwal, B. B.; Tayal, S.P.; Gupta, M. (2010).
Software Engineering & Testing.
Sudbury, Massachusetts: Johanes and
Bartlett Publishers.
54
Box Test Specifications and Test
Suites. Quality Software, 2008. QSIC
'08, 135 - 144.
55