16
Rosa A. S. - Black Box Testing - www.gangsir.com 1 Black-Box Testing SI-318 Testing dan Implementasi Sistem Rosa Ariani Sukamto, ST

6 Black Box Testing

  • Upload
    zhal

  • View
    359

  • Download
    7

Embed Size (px)

Citation preview

Page 1: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 1

Black-Box Testing

SI-318 Testing dan ImplementasiSistemRosa Ariani Sukamto, ST

Page 2: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 2

PendahuluanBlack-Box Testing terfokus pada spesifikasi fungsional dari perangkatlunak

Tester dapat mendefinisikan kumpulan kondisi input dan melakukanpengetesan pada spesifikasi fungsional program.

Black Box Testing bukanlah solusi alternatif dari White-Box Testing tapilebih merupakan pelengkap untuk menguji hal-hal yang tidak dicakupoleh White-Box Testing.Black-Box Testing cenderung untuk menemukan hal-hal berikut:

Fungsi yang tidak benar atau tidak adaKesalahan antarmuka (interface errors)Kesalahan pada struktur data dan akses basis dataKesalahan performansi (performance errors)Kesalahan inisialisasi dan terminasi.

Pengujian didesain untuk menjawab pertanyaan-pertanyaan berikut:Bagaimana fungsi-fungsi diuji agar dapat dinyatakan valid?Input seperti apa yang dapat menjadi bahan kasus uji yang baik?Apakah sistem sensitif pada input-input tertentu?Bagaimana sekumpulan data dapat diisolasi?Berapa banyak rata-rata data dan jumlah data yang dapat ditangani sistem?Efek apa yang dapat membuat kombinasi data ditangani spesifik padaoperasi sistem?

Page 3: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 3

Black Box Testing

Equivalence PartitioningBoundary Value Analysis/Limit TestingComparison TestingSample TestingRobustness TestingBehavior TestingRequirement TestingPerformance TestingUji Ketahanan (Endurance Testing)Uji Sebab-Akibat (Cause-Effect Relationship Testing)

Page 4: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 4

Equivalence Partitioning

Membagi input menjadi kelas-kelas data yang dapat digunakan untukmenggenerasi kasus uji.Bertujuan untuk menemukan kelas-kelas kesalahan.Berdasarkan pada kesamaan kelas-kelas kondisi input.Sebuah kelas yang ekivalen merepresentasikan kumpulanstatus/kondisi yang valid atau tidak validSebuah kondisi input dapat berupa nilai numerik yang spesifik, rentangnilai, kumpulan nilai yang berkaitan, atau kondisi boolean.Kelas ekivalen dapat didefinisikan dengan kondisi berikut:

Jika kondisi input mensyaratkan rentang nilai atau nilai yang spesifik, makasebuah kelas ekivalen yang valid dan dua buah kelas ekivalen yang tidakvalid akan terbentukJika sebuah kondisi input mensyaratkan sebuah boolean atau anggota darisebuah himpunan, maka sebuah kelas ekivalen yang valid dan sebuah kelasekivalen yang tidak valid akan terbentuk.

Kasus uji untuk setiap domain input item data harus dikembangkan dandieksekusi.

Page 5: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 5

Contoh (1)

Spesifikasi sub-program yang harus diuji (status awal dan akhir)Sub-program mengambil sebuah input berupa integer pada rentang[-100,100]Keluaran sub-program adalah tanda dari nilai masukan (0 dianggappositif)

Dua buah kelas ekivalen yang validNilai masukan dengan rentang [-100,0] akan menghasilkan tandanegatif sebagai keluaranNilai masukan dengan rentang [0,100] akan menghasilkan tandapositif sebagai keluaranKeduanya bisa disatukan menjadi Nilai masukan dengan rentang [-100,100] merupakan rentang yang valid

Dua buah kelas ekivalen yang tidak validNilai masukan < -100Nilai masukan > 100

Page 6: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 6

Aturan Kelas Ekivalen (1)Jika sebuah kondisi mengacu pada nilai masukan yang memiliki rentangmaka nilai yang ada dalam rentang masuk menjadi sebuah kelas ekivalenvalid, dan nilai masukan diluar kedua sisi ambang batas menjadi dua buahkelas ekivalen yang tidak valid.Jika sebuah kondisi mengacu pada satu atau sejumlah nilai masukandengan nilai tertentu maka akan menjadi sebuah kelas ekivalen yang valid yang berisi satu atau sejumlah nilai yang valid dan dua buah kelas ekivalenyang tidak valid yaitu kelas yang berisi masukan kosong dan masukandiluar nilai yang dispesifikasikanJika sebuah kondisi mengacu pada himpunan nilai masukan tertentu makaakan menjadi sejumlah anggota himpunan kelas ekivalen yang valid dansebuah kelas ekivalen yang tidak valid dimana jika masukan memiliki nilaidiluar anggota himpunanJika sebuah kondisi mengekspresikan sebuah kalimat yang berisi “harus”misal, awal masukan harus berupa karakter maka akan menjadi sebuahkelas ekivalen yang valid yaitu semua masukan yang diawal karakter dansebuah kelas ekivalen yang tidak valid yaitu masukan yang tidak diawalikarakterJika ada alasan yang menyatakan bahwa elemen di dalam sebuah kelasekivalen diproses dengan cara yang berbeda maka kelas ekivalen itu harusdibagi-bagi lagi menjadi kelas-kelas ekivalen yang lebih kecil berdasarkanpendekatan lojik dari sub-program pada level algoritma.

Page 7: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 7

Aturan Kelas Ekivalen (2)Jika sub-program memiliki beberapa masukan yang independen, maka kelas ekivalen atau kasus uji harus dibuat berdasarkan per masukan dan kombinasi kemungkinan per masukan dimana per masukan dibuat dua buah kelas ekivalen yang valid dan sebuahkelas ekivalen yang tidak validTulis kasus uji untuk setiap kelas ekivalen yang tidak valid

Contoh:Sebuah spesifikasi menyatakan untuk memasukkan masukan berupatipe dan nomor mobilDalam kasus uji harus dibuat dimana jika kedua masukan bukanmerupakan nilai yang valid

Untuk menguji sebuah sub-program yang memiliki beberapamasukan yang saling bergantung maka kelas ekivalen harusdibuat berdasarkan kombinasi masukan

Page 8: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 8

Contoh (2)

Spesifikasi KebutuhanDiberikan 3 nilai yang merepresentasikan panjang sisisegitiga, definisikan segitiga apakah merupakan segitigasama sisi, sama kaki, atau segitiga sembarang

Tiga buah kelas ekivalen yang valid3 nilai sama dan positif3 nilai positif dan 2 nilai sama dan jumlah kedua kaki lebihbesar dibandingkan nilai sisi yang bukan kaki3 nilai positif dan jumlah dua buah nilai lebih besar dari nilailainnya

Dua kelas ekivalen yang tidak valid2 nilai positif dan sebuah nilai negatif atau nol3 nilai positif dan jumlah dua buah nilai sama atau kurang darisisi lainnya

Page 9: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 9

Boundary Value Analysis / Limit Testing

Banyak kesalahan terjadi pada kesalahan masukan.BVA mengijinkan untuk menyeleksi kasus uji yang mengujibatasan nilai input.BVA merupakan komplemen dari equivalence partitioning. Lebihpada memilih elemen-elemen di dalam kelas ekivalen padabagian sisi batas dari kelas.Contoh:

Untuk rentang yang dibatasi a dan b maka uji (a-1), a, (a+1), (b-1), b, (b+1).Jika kondisi input mensyaratkan sejumlah n nilai maka uji dengansejumlah (n-1), n dan (n+1) nilai.Aplikasikan dua aturan sebelumnya pada kondisi output (buat tabelpengujian hasil outputnya untuk nilai maksimal dan minimal).Jika struktur data internal dari program memiliki cakupan (misal: ukuran buffer, batas array) gunakan data input yang menguji batascakupan.

Page 10: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 10

Comparison Testing

Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangatpenting.Redundansi perangkat keras dan perangkat lunak mungkin digunakanuntuk meminimalisir kesalahan (error).Untuk redundansi perangkat lunak, gunakan tim yang terpisah untukmengembangkan setiap versi perangkat lunak yang independen.Uji setiap versi dengan data yang sama untuk memastikan semua versimenghasilkan keluaran yang sama.Jalankan semua versi dengan paralel dan perbandingan keluaransecara real-time.Walau hanya dijalankan sebuah versi pada akhirnya, untuk beberapaaplikasi yang penting dapat mengembangkan versi independen danmenggunakan comparison testing atau back-to-back testing.Ketika output dari versi berbeda, maka setiap versi diinvestigasi jikaada kemungkinan defect.Metode ini tidak untuk menemukan kesalahan dari spesifikasi.

Page 11: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 11

Sample and Robustness Testing

Sample TestingMelibatkan beberapa nilai yang terpilih dari sebuah kelasekivalenMengintegrasikan nilai pada kasus ujiNilai-nilai yang terpilih mungkin dipilih dengan urutantertentu atau interval tertentu

Robustness TestingData input dipilih diluar spesifikasi yang telah didefinisikanTujuan dari pengujian ini adalah membuktikan bahwa tidakada kesalahan jika masukan tidak valid

Page 12: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 12

Behavior Testingn dan Performance TestingBehavior Testing

Hasil uji tidak dapat dievaluasi jika hanya melakukanpengujian sekali, tapi dapat dievaluasi jika pengujiandilakukan beberapa kali, misalnya pada pengujian strukturdata stack

Performance TestingMengevaluasi kemampuan program untuk beroperasi denganbenar dipandang dari sisi acuan kebutuhan misalnya: alirandata, ukuran pemakaian memori, kecepatan eksekusi, dllUntuk mencari tahu beban kerja atau kondisi konfigurasiprogramSpesifikasi mengenai performansi didefinisikan pada saattahap spesifikasi atau desainDapat digunakan untuk menguji batasan lingkungan program

Page 13: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 13

Requirement Testing

Spesifikasi kebutuhan yang terasosiasi dengan perangkat lunak(input/output/fungsi/performansi) diidentifikasi pada tahapspesifikasi kebutuhan dan desain.Requirement testing melibatkan pembuatan kasus uji untuksetiap spesifikasi kebutuhan yang terkait dengan programUntuk memfasilitasinya, setiap spesifikasi kebutuhan bisaditelusuri dengan kasus uji dengan menggunakan traceability matrix

Page 14: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 14

Endurance Testing

Endurance Testing melibatkan kasus uji yang diulang-ulang dengan jumlah tertentu dengan tujuan untukmengevaluasi program apakah sesuai denganspesifikasi kebutuhan.Contoh:

Untuk menguji keakuratan operasi matematika (floating point, rounding off, dll)Untuk menguji manajemen sumber daya sistem (resources)(pembebasan sumber daya yang tidak benar, dll)input/outputs (jika menggunakan framework untukmemvalidasi bagian input dan output)

Spesifikasi kebutuhan pengujian didefinisikan padatahap spesifikasi kebutuhan atau desain

Page 15: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 15

Cause-effect Relationship Testing

Teknik ini merupakan suplemen dari equivalence testing denganmenyediakan cara untuk memilih kombinasi data inputMelibatkan kondisi input (cause) dan kondisi output (effect) untukmencegah pendefinisian kasus uji yang terlalu banyakLangkah

Bagi-bagi spesifikasi kebutuhan menjadi bagian yang memilikikemungkinan kerjaDefinisikan cause dan effect berdasarkan spesifikasi kebutuhanAnalisa spesifikasi kebutuhan untuk membuat hubungan logikaTandai graf untuk jalur yang tidak mungkin berhubungan dengankombinasu cause/effect sesuai dengan batasan spesifikasikebutuhanUbah graf menjadi tabel keputusankolom --> test casebaris --> cause/effectUbah kolom dari tabel keputusan menjadi kasus uji

Page 16: 6 Black Box Testing

Rosa A. S. - Black Box Testing -www.gangsir.com 16

ContohSebuah mobil CITROEN dilambangkan dengan A, B atau C sebagaikarakter pertama dan harus memiliki karakter X sebagai karakterkedua. Pesan M1 dan M2 harus dikirim pada pemasukan karakterpertama dan kedua jika terjadi kesalahan (error). Jika masukan benar, maka akan dimasukkan ke basis data.Kondisi input (causes) dan kondisi output (effect) dapatdideterminasikan sebagai berikut: