Boundary Value Analysis Untuk suatu alasan yang tidak dapat sepenuhnya dijelaskan, sebagian besar jumlah By Hendranet errors

3.3.4 Boundary Value Analysis Untuk suatu alasan yang tidak dapat sepenuhnya dijelaskan, sebagian besar jumlah By Hendranet errors

cenderung terjadi di sekitar batasan dari domain masukan daripada di “pusat”nya. Karena alasan inilah boundary va lue analysis (BVA) dikembangkan sebagai salah satu teknik testing [BCS97A]. Boundary value analysis adalah suatu teknik disain test cases yang berguna untuk melakukan pengujian terhadap nilai sekitar dari pusat domain masukan. Teknik boundary value analysis merupakan komplemen dari teknik equivalence partitioning . Setelah dilakukan pemilihan tiap elemen suatu kelas ekuivalensi (menggunakan equivalence partitioning ), BVA melakukan pemilihan nilai batas-batas dari kelas untuk test cases . BVA

tidak hanya berfokus pada kondisi masukan, BVA membuat test cases d ari domain keluaran juga [MYE79]. Petunjuk pe laksanaan untuk BVA mempunyai kemiripan dengan eq uiv alence partitioning , yaitu:

1. Jika masukan merupakan sua tu re ntan g nilai dengan batasan nil ai a dan

b, te st cases didisain terhadap nilai a da n b, di at as n ilai dan di bawah nilai a da n b.

2. Jika masu kan merupakan sejumlah n ilai tertentu, test cases d idisa in dengan jumlah minimum & maksimum, se rta n ilai di ata s dan di b awah nilai minimu m – mak simu m.

3 . Gunakan no 1 & 2 untuk disain test cases terhadap keluaran yang diharapkan dan tak diharapkan.

4. Jika struktur data program menggunakan batasan array dengan batasan tertentu, pastikan disain test cases memeriksa struktur data terhadap batasan array tersebut. Boundary-v alues merupakan nilai batasan dari kela s-k elas e kuiv alensi. Contoh: Senin dan Minggu u ntuk h ari. Januari dan De sember unt uk b ulan.

(-32767) da n 32767 untuk 16-b it inte ger s .

Satu karakt er string dan maksimum p an jang string .

Test cases dilakukan untuk menguji nilai-nil ai di ke dua sisi d ri b a atasan .

N ilai tiap sisi dari batasan yang dipilih, diusahakan mempunyai selisih sekecil mungkin dengan nilai batasan (misal: selisih 1 untuk bilangan integers ).

Gambar 3.18 Tes dipilih pada atau berikutnya dari nilai batasan.

Contoh ilustrasi

Berdasarkan pada contoh sebelumnya (lihat equivalence partitioning ) tetang fungsi generate_grading , dimana inisialisasi partisi ekuivalensi telah diidentifikasi (sama dengan teknik equivalence partitioning ), dan digunakan sebagai nilai batasan. By Hendranet Sebagai contoh, pa rtisi “Ujian” memberikan nilai batasan tes untuk mengu ji nilai “Ujian” pada –1, 0, 1, 74, 75, dan 76:

Gambar 3.19 Nilai batasan untuk masukan nilai Ujian.

Test Case

Masukan (Ujian) -1 0 1 74 75 76 Masukan (Tugas)

15 15 15 15 15 15 Total Nilai

14 15 16 89 90 91 Nilai Batasan

0 75 Keluaran yang Diharapkan

FM

D D A A FM

Suatu nilai acak 15 digunakan untuk semua masukan nilai Tugas.

Sedangkan untuk nilai Tugas mempunyai nilai batasan resiko 0 dan 25, yang menghasilkan test cases s ebagai berikut:

Test Case

Masukan (Ujian)

40 40 40 40 40 40 Masukan (Tugas)

1 24 25 26 Total Nilai

39 40 41 64 65 66 Nilai Batasan

0 25 Keluaran yang Diharapkan

FM

C C B B FM

Pada contoh equivalence partitioning juga mempe rtimb angkan partisi nilai Ujian dan Tugas untuk bilangan non -integer dan non -num eric , yaitu, bilang an real , dan nilai alfabet. Tapi perlu diingat bah wa hal ini bukan m eru pakan identifika si da ri batasan-batasan, karenanya tidak dilakukan iden tifikasi dari batasan-batasa n seb agai bahan pertimbangan dalam membuat test cases . P artisi ekuivalensi untuk hasil gradasi nilai juga dipertimbangkan. Batasan nilai dari partisi hasil gradasi nilai adalah 0, 30, 50, 70, dan 100.

By Hendranet

Gambar 3.20 Nilai batasan untuk keluaran nilai gradasi.

Test cases berdasarkan pada nilai batasan dari keluaran nilai gradasi tersebut di atas, adalah sebagai berikut:

Test Case

Masukan (Ujian) -1 0 0 29 15 6 Masukan (Tugas)

0 0 1 0 15 25 Total Nilai

-1 0 1 29 30 31 Nilai Batasan

0 30 Keluaran yang Diharapkan FM D D D C C

Test Case

Masukan (Ujian)

24 50 26 49 45 71 Masukan (Tugas)

25 0 25 20 25 0 Total Nilai

49 50 51 69 70 71 Nila i Batasan

50 70 Keluaran yang Diharapkan CBBBAA

Test Case

Masukan (Ujian)

Masukan (Tugas)

Total Nilai

Nilai Batasan

Keluaran yang Diharapkan

A A FM

Partisi salah dari hasil nilai gradasi yang digunakan pada contoh equivalence partitioning , (seperti E, A+ dan null ), tidak mempunyai batasan yang dapat diidentifikasikan, sehingga tidak dapat dibuatkan test cases yang berdasarkan nilai batasan-batasannya. Sebagai catatan, ada banyak partisi teridentifikasi yang terikat hanya pada satu sisi, seperti:

Nilai Ujian > 75 Nilai Ujian < 0 Nila i Tugas > 25

By Hendranet

Nilai Tugas < 0 Total Nilai (Nilai Ujia n + Nilai Tugas) > 100 Total Nilai (Nilai Ujian + Nilai Tugas) < 0

Partisi-pa rtisi ini akan diasumsikan terikat oleh tipe data yang digunakan sebagai masukan atau keluaran . Contoh, 16 bit integers mempunyai batasan 32767 dan –32768. Mak a dapat dibuat test cases untuk nilai U jian sebagai berikut: