E N D
Saatinisudahbanyakberkembangberbagaimetodeuntukpengujianperangkatlunak. Metode-metodetersebutmemberikanpendekatan yang sistematikuntukpengujianperangkatlunakkepadapengembang. Selainitu, metode-metodetersebutmemberikanmekanismeyang dapatmembantumemastikankelengkapanpengujiandanmemberikankemungkinantertinggiuntukmengungkapkesalahanpadaperangkatlunak.
Semuaproduk yang direkayasadapatdiujidengansatuatauduacara, yaitu: 1. Denganmengetahuifungsi yang ditentukanuntukdilakukanolehsuatuproduk, pengujiandapatdilakukanuntukmemperlihatkanbahwamasing-masingfungsiberoperasisepenuhnyadanpadawaktu yang samamencarikesalahanpadasetiapfungsi/Black box. 2. Denganmengetahuikerja internal suatuproduk, makapengujiandapatdilakukanuntukmemastikanbahwaseluruhoperasi internal bekerjasesuaispesifikasidansemuakomponen internal telahdiamatidenganmemadai/ white box.
Pengujian black-box berkaitandenganpengujian yang dilakukanpadaantarmukaperangkatlunak. Meskipundirancanguntukmengungkapkesalahan, pengujian black-box digunakanuntukmemperlihatkanbahwafungsi-fungsiperangkatlunakdapatberoperasi, bahwa input diterimadenganbaikdan output dihasilkandengantepat, danintegritasinformasieksternal (seperti file data) dipelihara. Dalampengujianblack-box Tidakadapengetahuantentangstruktur internal bendaujiitu.
SIFAT-SIFAT BLACK BOX TESTING Robustness testing (mengujikekuatansistem yang ada) untukmenjaminsistemsekalipundimasukandata-data abnormal sekalipun ex. pengambilanuang di ATM pecahan 10.000,- denganotomatissistemakanmenolakperintahtersebut Performance testing (mengujikinerjasistem yang ada) menguji software bagiandarisistem/orientasikepada hardware Endurance testing (mengujidayatahansistem) mengujidayatahanterhadap software apakahsistemtersebutdapatbertahandarigangguangangguan yang mengganggu Behavior testing (mengujiprilakusistemapakahsudahsesuaidenganpermintaan) mengujitingkahlakusistemberdasarkanpolanya “di desainsebagaimanamulanya”
Denganmenggunakanmetodepengujianwhite-box,perekayasasistemdapatmelakukankasusuji yang: 1. Memberikanjaminanbahwasemuajalurindependenpadasuatumodultelahdigunakan paling tidaksatu kali 2. Menggunakansemuakeputusanlogispadasisitrue dan false 3. Mengeksekusisemualooppadabatasanmerekadanpadabatasoperasionalmereka 4. Menggunakanstruktur data internal untukmenjaminvaliditasnya
Jenispengujian White-Box testing antara lain: - Basis path testing - Control Structure Testing, yang terdiri dari: - Condition Testing - Data Flow Testing - Loop Testing
Basis Path Testing Teknikpengujianinipertama kali diperkenalkanoleh Tom McCabe. Metodeinimemungkinkanperancangkasusujiuntukmengukurkompleksitaslogisdarirancanganproseduraldanmenggunakannyasebagaipedomanuntukmenetapkansekumpulanjalureksekusidasar (basis set). Metodeinimenggunakannotasi flow graph yang menggambarkanalirankontrollogika yang menggunakannotasi yang ditunjukkanpadagambar di bawahini.
UntukmenentukanjalurindependendapatdigunakannilaiKompleksitasSiklomatis. Kompleksitassiklomatisadalahmetrikperangkatlunak yang merupakanukurankuantitatifterhadapkompleksitaslogikasuatu program. BilametriksinidigunakanuntukBasis Path Testing, makanilai yang terhitunguntukkompleksitassiklomatismenentukanjumlahjalurindependendalam basis set suatu program danmemberikanbatasatasbagijumlahpengujian yang harusdilakukanuntukmemastikanbahwasemuastatementelahdieksekusisedikitnyasatu kali.
Jalur independen adalah jalur yang melalui program yang menghasilkan sedikitnya satu rangkaian statemen proses baru atau suatu kondisi baru. Bila dinyatakan dengan terminologi flow graph, jalur independen bergerak sepanjang paling tidak satu edge yang tidak dilewatkan sebelum jalur tersebut ditentukan
Contoh, serangkaian jalur independen untuk flow graph pada gambar b . Jalur 1 : 1-11 Jalur 2 : 1-2-3-4-5-10-1-11 Jalur 3 : 1-2-3-6-8-9-10-1-11 Jalur 4 : 1-2-3-6-7-9-10-1-11 Perhatikan bahwa masing-masing jalur baru memperkenalkan sebuah edge baru. Jalur 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 tidak dianggap jalur independen karena merupakan gabungan dari jalur-jalur yang telah ditentukan dan tidak melewati edge baru.
Jalur 1, 2, 3, dan 4 yang ditentukan di atas terdiri dari sebuah basis set untuk flow graph. Bila pengujian dapat dieksekusi pada jalur-jalur tersebut, maka setiap statemen pada program tersebut akan dieksekusi minimal sekali dan setiap kondisi telah dieksekusi pada sisi true dan false-nya.
Kompleksitas siklomatis dihitung menggunakan salah satu dari ketiga cara berikut ini: 1. Jumlah region flow graph 2. Kompleksitas siklomatis V(G) untuk flow graph G dihitung sebagai V(G) = E-N+2 di mana E adalah jumlah edge dan N adalah jumlah node 3. V(G) = P+1 di mana P adalah jumlah node predikat pada flow graph G
Untuk mengembangkan piranti perangkat lunak yang membantu Basis Path Testing, dapat digunakan struktur data berbentuk matriks yang disebut sebagai matriks graph. Matriks graph merupakan matriks bujur sangkar yang ukurannya adalah sesuai dengan jumlah node pada flow graph. Masing-masing baris dan kolom sesuai dengan node masing-masing, dan entri matriks sesuai dengan edge di antara simpul.
Contoh : Pada gambar tersebut, terlihat bahwa masing-masing isi matriks merepresentasikan edge antara kedua node, misalkan dari node 3 ke node 4 dihubungkan oleh edge b.
Jika isi dari matriks diganti dengan link weight, maka akan diperoleh sebuah metode yang ampuh untuk mengevaluasi struktur kontrol program selama pengujian. Link weight dapat berupa: - Probabilitas sebuah edge akan dieksekusi - Waktu pemrosesan yang digunakan selama melewati suatu link - Memori yang diperlukan selama melewati suatu link - Sumber daya yang diperlukan untuk melewati suatu link Jika link weight direpresentasikan dengan angka 1 dan 0 di mana angka 1 jika ada link dan 0 jika tidak (matriks dengan bentuk seperti ini sering disebut matriks koneksi), maka akan didapatkan metode lain untuk menghitung kompleksitas siklomatis.
Black-Box Testing Pengujian ini fokus kepada persyaratan fungsional perangkat lunak. Pengujian ini memungkinkan pelaku RPL mendapatkan serangkaian kondisi input yang memenuhi persyaratan fungsional suatu program.
Pengujianiniberusahamenemukankesalahandengankategorisebagaiberikut: 1. Fungsi-fungsi yang salahatauhilang 2. Kesalahanantarmuka 3. Kesalahanstruktur data atauaksesbasisdataeksternal 4. Kesalahankinerja 5. Kesalahan inisialisasi atau terminasi
Pengujianinicenderunguntukdilakukanpadatahapakhirpengujianberbedadengan white-box testing. Pengujidituntutuntukmenjawabpertanyaan-pertanyaanberikut: - Bagaimanavaliditasfungsionaldiuji? - Kelas input apa yang akanmembuatkasusujimenjadibaik? - Apakahsistemsangatsensitifterhadapnilai input tertentu? - Bagaimana batasan suatu data diisolasi? - Berapakecepatandan volume data yang dapatditolerirsistem? - Apapengaruhkombinasitertentudari data terhadapoperasisistem?
Denganmengaplikasikanteknikpengujianini, pengujimembuatserangkaiankasusuji yang: - Mengurangijumlahkasusujitambahan yang harusdirancanguntukmencapaipengujian yang benar - Memberitahumengenaiadaatautidaknyakesalahan Contohpengujian Black-Box testing antara lain: ― Graph Based Testing Method ― Equivalence Partitioning ― Boundary Value Analysis ― Comparison Testing ― Orthogonal Array Testing
Boundary Value Analysis Merupakanteknikpengujian yang membagi domain-domain input darisuatu program kedalamkelompok-kelompok data, kemudianmelakukanpengujianhanyapadabatas-batas domain input tersebut. Metodeinimerupakanpengembangandarimetodesebelumnya, Equivalence Partitioning, yang hanyamembagi domain input, namunmelakukanpengujiannyabukanpadanilaibatasnya.
Pedomanuntuk BVA: - Bilasuatukondisi input mengkhususkansuatu range dibatasiolehnilai a dan b, makakasusujiharusdirancangdengannilai input a, b, persis di atas a, persis di bawah a, persis di atas b, danpersis di bawah b - Bilasuatukondisi input mengkhususkansejumlahnilai, makakasusujiharusdikembangkandenganmenggunakanjumlah minimum danmaksimum. Nilaitepat di atasdan di bawah minimum danmaksimumjugadiuji - Pedoman 1 dan 2 diaplikasikankekondisi output. Kasusujiharusdirancang agar menghasilkan output maksimumdan minimum dari program - Bilastruktur data memilikibatasan, makakasusujiharusdirancangsesuaibatasantersebut
TERIMA KASIH