Nama
: I Nyoman Resa Aji Prayudha
Nim :
G.231.10.0149
Software
Assurance by Bounded Exhaustive Testing
(Jaminan
Perangkat Lunak oleh Bounded Exhaustive Testing)
Abstrak
Bounded
Exhaustive Testing
(BET) adalah teknik verifikasi masukan perangkat lunak. Penelitian
sebelumnya mengatakan bahwa BET hanya bisa mengungkapkan faults
di sistem kecil dengan masukan yang tidak begitu kompleks. Namun kini
hasil penelitian terbaru mengatakan bahwa BET, dikombinasikan dengan
abstraksi terhadap spesifikasi dan teknik pemfaktoran, bisa menjadi
tools
verifikasi perangkat lunak yang bisa diandalkan.
Pengenalan
Penelitian
sebelumnya menunjukkan bahwa BET mampu digunakan untuk mengetes modul
perangkat lunak dengan struktur data sederhana.
Yang menjadi
pertanyaan-nya mampukah BET diterapkan pada modul perangkat lunak
besar. Dengan mengacu pada hipotesa Jackson, bahwa pengetesan masukan
kecil bisa mengungkapkan fault,
maka kalau diterapkan pada pengetesan masukan besar akan mampu
mengungkapkan fault
dalam porsi yang lebih besar .
Untuk itu,
pengetesan dilakukan dengan subjek Galileo , tools
untuk memodelkan dan menganalisis reliability
(dengan pemodelan DFT, Dynamic
Fault Trees
), fault-tolerant,
sistem terkomputerisasi.
Percobaan dilakukan
dengan mengabstraksi spesifikasi masukan yang di-offload-kan
ke Alloy , agar Alloy tidak kehabisan memori bila berjalan secara
onload.
Lalu detail abtraksi
dicatat, dengan menggunakan TestEra untuk membangkitkan masukan
abstrak. kemudian, mengkombinasikan masukan abstrak dengan
detail-detailnya untuk menyusun masukan space-nya.
Dengan teknik
tersebut, mampu mengungkapkan fault-fault
yang ada. Percobaan diterapkan pada lebih dari 250.000 masukan DFT.
Materi dan Bahan
*DFT*
DFT adalah grafik
pemodelan sistem, terdiri dari basic
node
(representasi event
dalam sistem), gates
node
(representasi failure
event
yang muncul sebagai fungsi dari event
lainnya, bisa statik [And
Gates]
atau dinamik [Priority-And
Gates]),
dan constraint
(representasi batasan dari event,
bisa FDEP [kegagalan yang terjadi secara cascade]
atau SEQ [kegagalan sesuai urutan]).
Gambar 1. DFT dengan
spare gate, 3 event dan sebuah pembatas FDEP
Spare gates
terjadi jika dan hanya jika semua masukannya gagal atau menjadi tidak
ada. Sistem bekerja bila event1
memberi masukan. Bila event1
gagal atau menjadi tidak ada, maka spare
gate
akan mendapat masukan dari event2.
FDEP mengindikasikan bahwa bila terjadi kegagalan pada event1
maka event3
juga ikut gagal. Akibatnya, sistem akan berhenti total, bila event1
dan event2
mengalami kegagalan.
*Galileo*
Adalah tools
untuk menganalisa DFT. Galileo akan menguraikan pohon DFT ke dalam
sub-sub pohon untuk dipecahkan secara terpisah dengan menggunakan DFT
solvers
(dynamic
solver
yang menterjemahkan Markov chains atau static
solver
yang menterjemahkan menjadi BDD), nantinya hasil akan dirangkai
kembali untuk memperoleh hasil akhir.
Penelitian BET ini
bertujuan untuk mengevaluasi apakah mungkin untuk menggunakan BET
untuk mengetes Galileo.
Pengetesan dilakukan
dengan membangkitkan masukan dengan menggunakan TestEra (framework
testing class-class
pada Java). Lalu output-nya dicek menggunakan Nova solver
(Galileo dynamic
analyzer)
sebagai oracle-nya.
Pengetesan dilakukan
dengan lingkup kecil terlebih dahulu. Penelitian tahap ini berhenti
saat lingkup tujuan telah dipenuhi atau saat pengetesan perangkat
lunak menjadi tidak mungkin akibat kegagalan sistem.
Hasil
Dari hasil
pengetesan, kecepatan oracle
menurun seiring dengan meningkatnya masukan fault
tree.
Sedikit sulit untuk mengetes dengan 6 masukan tanpa mengoptimalkan
kinerja oracle.
Tabel 1. Jumlah DFT
dan AFT yang di-generate
Jumlah masukan yang
dibangkitkan, hingga 8 cakupan event.
Pengetesan mampu meng-instansiasi semua DFT konkrit hingga 6 event.
Selain itu, BET
mampu mengungkapkan 8 faults
pada galileo, 3 faults
pada spesifikasi dan 3 faults
pada oracle.
Discussion and
Recommendations
Ada keterbatasan
dalam penelitian ini, yaitu:
-
TestEra kurang mampu menangani tipe data numeric
dengan baik.
-
Alloy tidak mendukung data integer.
-
Bila ada fault
di oracle
atau di spesifikasi, maka BET tidak dapat diterapkan.
-
Hasil statistic reliabilitas sistem tidak dapat didasarkan pada
penggunaan BET.
Akan tetapi, dengan
keterbatasan tersebut, BET merupakan tools
verifikasi yang mampu mengungkap fault,
baik yang sifatnya substansial maupun fault
yang halus, pada suatu sistem dengan ukuran tertentu.
0 komentar:
Posting Komentar