TEKNIK PENGUJIAN PERANGKAT LUNAK. pdf

1. TEKNIK PENGUJIAN PERANGKAT LUNAK

Pengujian perangkat lunak adalah elem en krit is dari jam inan kualit as perangkat lunak dan m erepresent asikan kajian pokok dari spesifikasi, desain dan pengkodean. Pengujian m enyajikan anom ali yang m enarik bagi perekayasa perangkat lunak. Pada proses perangkat lunak, perekayasa pert am a-t am a berusaha m em bangun perangkat lunak dari konsep abst rak ke im plem ent asi yang dapat dilihat , baru dilakukan pengujian. Perekayasa m encipt akan sederet an t est case yang dim aksudkan unt uk “ m em bongkar” perangkat lunak yang sudah dibangun. Pada dasarnya, pengujian m erupakan sat u langkah dalam proses rekayasa perangkat lunak yang dapat dianggap (paling tidak secara psikologis) sebagai hal yang dest rukt if daripada konst rukt if.

1.1. Sasaran-sasaran pengujian

Beberapa sasaran pengujian diant aranya :

1. Pengujian adalah proses eksekusi suat u program dengan m aksud m enem ukan kesalahan

2. Test case yang baik adalah t est case yang m emiliki probabilit as t inggi unt uk menem ukan kesalahan yang belum pernah dit em ukan sebelum nya

3. Pengujian yang sukses adalah pengujian yang m engungkap sem ua kesalahan yang belum pernah dit em ukan sebelum nya.

Sasaran t ersebut m engim plikasikan adanya perubahan t it ik pandang yang dram at is. Sasaran it u berlaw anan dengan pandangan yang biasanya dipegang yang menyat akan bahw a pengujian yang berhasil adalah pengujian yang t idak ada kesalahan yang dit em ukan. Sasarannya adalah m endesain pengujian yang secara sist em atis m engungkap kelas kesalahan yang berbeda dan m elakkukannya dengan jum lah w akt u dan usaha m inim um.

Bila pengujian dilakukan secara sukses (sesuai dengan sasaran t ersebut ), m aka akan dit em ukan kesalahan di dalam perangkat lunak. Sebagai keunt ungan sekunder, pengujian m enunjukkan bahw a fungsi perangkat lunak bekerja sesuai dengan spesifikasi dan bahw a persyarat an kinerja t elah dipenuhi. Sebagai t am bahan, dat a yang dikum pulkan pada saat pengujian dilakukan m em berikan indikasi yang baik m engenai reliabilit as perangkat lunak dan beberapa m enunjukkan kualit as perangkat lunak secara keseluruhan.

1.2. Prinsip Pengujian

Prinsip Pengujian m eliput i :

- Semua pengujian harus dapat dit elusuri sampai ke persyarat an pelanggan . Sebagaimana t elah kit a ket ahui, sasaran pengujian perangkat lunak adalah unt uk mengungkapkan kesalahan. Hal ini m em enuhi krit eria bahwa cacat yang paling fat al (dari t itik pandang pelanggan) adalah cacat yang m enyebabkan program gagal mem enuhi persyarat annya. - Pengujian harus direncanakan lama sebelum pengujian it u mulai . Perencanaan pengjuian dapat dim ulai segera set elah m odel pernyarat an dilengkapi. Definisi det ail m engeani t est case dapat dim ulai segera set elah m odel desain dit eguhkan. Dengan demikian, sem ua pengujian dapat direncanakan dan dirancang sebelum sem ua kode dibangkit kan. - Prinsip Paret o berlaku unt uk pengujian perangkat lunak. Secara singkat prinsip Paret o m engim plikasikan bahw a 80 persen dari sem ua kesalahan yang dit em ukan selam a pengujian sepert inya akan dapat dit elusuri sam pai 20 persen dari sem ua m odul program. M asalahnya, bagaim ana mengisolasi m odul yang dicurigai dan m engujinya dengan t elit i. - Pengujian harus mulai “ dari yang kecil” dan berkembang ke pengujian “ yang besar” . Pengujian pert am a yang direncanakan dan dieksekusi biasanya berfokus pada m odul program individual. Selagi pengujian berlangsung m aju, pengujian m engubah fokus dalam - Semua pengujian harus dapat dit elusuri sampai ke persyarat an pelanggan . Sebagaimana t elah kit a ket ahui, sasaran pengujian perangkat lunak adalah unt uk mengungkapkan kesalahan. Hal ini m em enuhi krit eria bahwa cacat yang paling fat al (dari t itik pandang pelanggan) adalah cacat yang m enyebabkan program gagal mem enuhi persyarat annya. - Pengujian harus direncanakan lama sebelum pengujian it u mulai . Perencanaan pengjuian dapat dim ulai segera set elah m odel pernyarat an dilengkapi. Definisi det ail m engeani t est case dapat dim ulai segera set elah m odel desain dit eguhkan. Dengan demikian, sem ua pengujian dapat direncanakan dan dirancang sebelum sem ua kode dibangkit kan. - Prinsip Paret o berlaku unt uk pengujian perangkat lunak. Secara singkat prinsip Paret o m engim plikasikan bahw a 80 persen dari sem ua kesalahan yang dit em ukan selam a pengujian sepert inya akan dapat dit elusuri sam pai 20 persen dari sem ua m odul program. M asalahnya, bagaim ana mengisolasi m odul yang dicurigai dan m engujinya dengan t elit i. - Pengujian harus mulai “ dari yang kecil” dan berkembang ke pengujian “ yang besar” . Pengujian pert am a yang direncanakan dan dieksekusi biasanya berfokus pada m odul program individual. Selagi pengujian berlangsung m aju, pengujian m engubah fokus dalam

1.3. Testabilitas

Test abilit as perangkat lunak adalah seberapa m udah sebuah program kom put er dapat diuji. Karena pengujian sangat sulit , perlu diket ahui apa yang dapat dilakukan unt uk m em buat nya m enjadi m udah. Kadang-kadang pem rogram beresedia m elakukan hal-hal yang akan m em bant u proses pengujian dan checklist m engenai m asalah-m asalah desai yang m udah, fit ur dan lain sebagainya yang berguna dalam bernegosiasi dengan m ereka.

Checklist berikut m em berikan serangkaian karakt erist ik yang m em bawa kepada perangkat lunak yang dapat diuji :

• Operabilitas . “ Sem akin baik dia bekerja, sem akin efisien dia dapat diuji” - Sist em m emiliki beberapa bug (bug m enam bah analisis dan biaya pelaporan ke proses pengujian). - Tidak ada bug yang m em blok eksekusi pengujian - Produk berkem bang di dalam t ahapan fungsional (mem ungkinkan pengem abngan dan pengujian secara sim ult an)

• Observabilitas . “ Apa yang Anda lihat adalah apa yang Anda uji” - Out put yang berbeda dikeluarkan oleh m asing-m asing input - Tahap dan variabel sist em dapat dilihat at au diant rikan selam a eksekusi. - Sist em dan variabel yang lalu dapat dilihat at au diant rikan (m isal : log t ransaksi) - Sem ua fakt or yang m em pengaruhi out put dapat dilihat - Kesalahan it nernal didet eksi secara ot om at is m elalui m ekanism e selft est ing - Kesalahan int ernal dilaporkan secara ot om at is - Kode sum ber dapat diakses

• Kontrolabilitas. “ Sem akin baik kit a dapat m engont rol perangkat luank, sem akin banyak pengujian yang dapat diot om at isasi dan diopt im alkan”

- Sem ua out put yang m ungkin dapat dim nculkan m elalui beberapa kom binasi input - Sem ua kode dapat dieksekusi m elalui berbagai kom binasi input - Keadaan dan varibale perangkat lunak dan perangkat keras dapat dikont rol secara langsung oleh perekayasa pengujian - Form at input dan out put konsist em dan t erst rukt ur - Pengujian dapat dispesifikasi, diopt im asi dan direproduksi dengan baik

• Dekomposabilitas . “ Dengan mengont rol ruang lingkup pengujian, kit a dapat dengan lebih cepat m engisolasi m asalah dan m elakuakn pengujian kem bali secara lebih halus”

- Sist em perangkat luank dibangun dari m odul-m odul independen - M odul-m odul perangkat lunak dapat diuji secara independen

• Kesederhanaan . “ Sem akin sedikit yang diuji, sem akin cepat kit a dapat m engujinya” - Kesederhanaan fungsional (sepert i, kum pulan fit ur adalah kebut uhan minim um

unt uk m em enuhi persyarat an).

- Kesederhanaan st rukt ural (sepert i, arsit ekt ur dimodularisasi unt uk m em bat asi penyebaran kesalahan) - Kesederhanaan kode (sepert i, st andar pengkodean diadopsi dem i kem duahan inspeksi dan pem eliharaan).

• Stabilitas . “ Sem akin sedikt i perubahan, sem akin sedikit ganggunan dalam pengujian”

- Pengujian ke perangkat lunak t idak sering - Perubahan ke perangkat lunak t erkont rol - Perubahan ke perangkat lunak m emvalidasi pengujian yang sudah ada - Kegagalan perangkat lunak dapat diperbaiki dengan baik

• Kemampuan untuk dapat dipahami . “ Semakin banyak inform asi yang kit a miliki, sem akin halus pengujian yang akan dilakukan”

- Desain dipaham i dengan baik - Ket ergant ungan di ant ara kom ponen int ernal, ekst er nal dan yang dipakai bersam a, dipaham i dengan baik. - Perubahan ke desai dikom unikasikan - Dokum ent asi t eknik dapat diakses dengan cepat - Dokum ent asi t eknis diorganisasikan dengan baik - Dokum ent asi t eknis spesifik dan det ail - Dokum ent asi t eknis akurat

Berikut adalah at ribut -at ribut pengujian yang “ baik” :

1. Pengujian yang baik memiliki probabilit as yang t inggi unt uk menemukan kesalahan. Unt uk m encapai hal ini, penguji harus m em aham i perangkat lunak dan berusaha mengem bangkan gam baran m ent al mengenai bagaim ana perangkat lunak dapat gagal. Idealnya kelas-kelas kegagalan it u diselidiki. Sebagai cont oh, kelas kegagalan pot ensial pada GUI adalah kegagalan unt uk m engenali posisi m ouse yang sesuai. Serangkaian pengujian akan dirancang unt uk m enguji m ouse unt uk m em perlihat kan kesalahan di dalam pengenalan posisi m ouse.

2. Pengujian yang baik t idak redudan. Wakt u pengujian dan sum ber daya t erbat as. Tidak ada m anfaat nya m elakukan pengujian dengan t ujuan yang sam a dengan pengujian lainnya. Set iap pengujian arus m emiliki t ujuan yang berbeda.

3. Pengujian yang baik seharusnya “ jenis t erbaik” . Dalam suat u kelom pok pengujian yang m em iliki t ujuan yang serupa, bat asan w akt u dan sum ber daya dapat m enghalangi eksekusi hanya kelom pok kecil dari pengujian t ersebut . Pada kasus sem acam ini m aka pengujian yang m em iliki kem ungkinan paling besar unt uk m engungkap seluruh kelas kesalahan yang t inggi harus digunakan.

4. Pengujian yang baik t idak boleh t erlalu sederhana at au t erlalu kompleks. Secara um um m asing-m asing t est case harus dieksekusi secara t erpisah.

1.4. Desain Test Case

Lebih dari dua dekade t erakhir t elah berkem bang berbagai met ode desai t est case unt uk perangkat lunak. M et ode-m et ode t ersebut m em ebrikan kepada pengem bang sebuah pendekat an yang sist em at ik ke pengujian. Yang lebih pent ing, m et ode it u m em berikan m ekanism e yang dapat m em bant u m em ast ikan kelengkapan pengujian dan m em berikan kem ungkinan t ert inggi unt uk m engungkap kesalahan pada perangkat lunak.

Sem ua produk yang direkayasa dapat diuji dengan sat u at au dua cara : (1) dengan m enget ahui fungsi yang dit ent ukan dim ana produk dirancang unt uk m elakukannya, pengujian dapat dilakukan unt uk m em perlihat kan bahw a masing-m asing fungsi beroperasi sepenuhnya, pada w akt u yang sama m encari kesalahan pada set iap fungsi; (2) m enget ahui kerja int ernal suat u produk, m aka pengujian dapat dilakukan unt uk m em ast ikan bahw a “ sem ua roda gigi berhubungan” , yait u operasi Sem ua produk yang direkayasa dapat diuji dengan sat u at au dua cara : (1) dengan m enget ahui fungsi yang dit ent ukan dim ana produk dirancang unt uk m elakukannya, pengujian dapat dilakukan unt uk m em perlihat kan bahw a masing-m asing fungsi beroperasi sepenuhnya, pada w akt u yang sama m encari kesalahan pada set iap fungsi; (2) m enget ahui kerja int ernal suat u produk, m aka pengujian dapat dilakukan unt uk m em ast ikan bahw a “ sem ua roda gigi berhubungan” , yait u operasi

Jika perangkat lunak kom put er dipert im bangkan, m aka pengujian black box berkait an dengan pengujian yang dilakukan pada int erface perangkat lunak. M eskipun didesain unt uk m engungkap kesalahan, pengujian black box digunakan unt uk m em perlihat kan bahw a fungsi-fungsi perangkat lunak adalah operasional, bahw a input dit erim a dengan baik dan out put dihasilkan dengan t epat dan int egrasi inform asi ekst ernal (sepert i file dat a) dipelihara. Pengujian balck box m enguji beberapa aspek dasar suat u sist em dengan sedikit m em perhat ikan st rukt ur logika int ernal perangkat lunak t ersebut .

Pengujian w hit e box perangkat lunak didasarkan pada pengam at an yang t elit i t erhadap det ail prosedural. Jalur-jalur logika yang melewat i perangkat lunak diuji dengan m em berikan t est case yang m enguji serangkaian kondisi dan at au loop tert ent u. “ St at us program t ersebut ” dapat diuji pada pada berbgai t it ik unt uk m enent ukan apakah st at us yang diharapkan at au dit unt ut sesuai dengan st at us akt ual.

1.5. Pengujian W hit e-Box

Pengujian w hit e box, kadang-kadang disebut pengujian glass box, adalah m et ode desaint est case yang m enggunakan st rukt ur kont rol desain prosedural unt uk mem peroleh t est case. Dengan m enggunakan met ode pengujian w hit e box, perekayasa sist em dapat m elakukan t est case yang :

1. m em berikan jam inan bahw a sem ua jalur independen pada suat u m odal t elah digunakan, paling t idak sat u kali.

2. M enggunakan sem ua keput usan logis pada sisi t rue dan false

3. M engeksekusi sem ua loop pada bat asan m ereka dan baas operasional m ereka

4. M enggunakan st rukt ur dat a int ernal unt uk m enjam in validit asnya

Pada t it ik ini, dapat diajukan pert anyaan yang beralasan, yait u “ M engapa m enghabiskan w akt u dan energi unt uk m enguji logika jika kit a dapat dengan lebih baik m em perluas kerja yang dapat m em ast ikan bahw a persyarat an program t elah dipenuhi ?” Bila dinyat akan dengan cara lain, m engapa kit a t idak menggunakan sem ua energi kit a unt uk m elakukan pengujian black box ? Jaw abannya ada pada sifat cacat perangkat lunak :

• Kesalahan logis dan asumsi yang t idak benar berbanding t erbalik dengan probabilit as jalur program yang akan dieksekusi. Kesalahan cenderung m uncul dalam kerja kit a pada saat kit a m endesain dan m engim plem ent asi fungsi, kondisi at au kont rol yang berada di luar

m ainst raim . Pem rosesan set iap hari cenderung dipaham i dengan baik sem ent ara pem rosesan “ kasus khusus” cenderung berant akan

• Kit a sering percaya bahwa jalur logis mungkin t idak akan diseksekusi bila pada kenyat aannya akan diseksekusi pada basis reguler . Aliran logika dari suat u program kadang- kadang bersifat kont erint uit if yang berart i asum si kit a yang t idak kit a sasari m engenai aliran dan dat a kont rol dapat m enyebabkan kit a m em buat kesalahan desai yang akan t erungkap hanya set elah pengujian jalur m ulai.

• Kesalahan t ipografis adalah random. Bila sebuah program dit erjem ahkan ke dalam kode sum ber bahasa pem rogram an m aka dim ungkinkan akan t erjadi banyak kesalahan

penget ikan. Beberapa akan dit em ukan dengan m ekanism e pengecekan sint aks, t et api yang lainnya akan t et ap t idak t erdet eksi sam pai pengujian m ulai.

M asing-m asing alasan t ersebut m em berikan suat u argurm en unt uk m elakukan pengujian w hit e box. Pengujian black box, t idak peduli seberapa cerm at dilakukan, dapat m enangkap bent uk kesalahan t ersebut .

1.6. Pengujian Basis-Path

Pengujian basis pat h adalah t eknik pengujian w hit e box yang diusulkan pert am a kali oleh Tom M cCabe. M et ode basis ini m em ungkinkan desainer t est case m engukur kom pleksit as logis dari desai prosedural dan m enggunakannya sebagai pedom an unt uk m enet apkan basis set dari jalur eksekusi. Test case yang dilakukan unt uk m enggunakan basis set t ersebut dijam in m enggunakan set iap st at m ent di dalam program paling t idak sekali selam a pengujian.

1.6.1. Notasi Diagram Alir

Sebelum met ode babsis pat h diperkenalkan, t erlebih dahulu akan dijelaskanm engenasi not asi sederhana dalam bent uk diagram alir (grafik alir). Diagral alir menggam barkan aliran kont rol logika yang m enggunakan not asi sepert i dit unjukkan pada gam bar 1. M asing-m asing gagasan t erst rukt ur m em iliki sim bol diagram alir yang sesuai.

Sequence

If While

Unt il

Case

Gam bar 1. Not asi diagram aliran

Gam bar 2 m erepresent asikan desain prsedural grafik alir. Paga gam bar t ersebut t am pak st rukt rul kont rol progrm . Gam bar 3 mem et akan grafik alir t ersebut ke dalam grafik alir yang sesuai. Pada gam bar t ersebut m asing-m asing lingkaran disebut sim pulu grafik alir, m erepresent asikan sat u at au lebih st at em en prosedural. Urut an kot ak proses dan belahket upat keput usan dapat m em et akan sim pul t unggal. Anak panah pada grafik alir t ersebut disebut edges at au links, m erepresent asikan aliran kont rol dan analog dengan anak panah bagan alir. Edge harus berhent i pada suat u sim pul, m esikipun nila sim pul t ersebut t idak m erepresent asikan st at em en prosedural (misal sim pul unt uk bangun if-t hen-else). Area yang dibat asi oleh edge dan sim pul disebt u region. Pada saat m enghit ung region kit a perlu m em asukkan area di luar grafik dan m enghit ungnya sebgai sebuah region.

Gam bar 2. Bagan Alir

Gam bar 3. Grafik Alir

Set iap represent asi desain prosedural dapat dit erjem ahkan ke dalam suat u grafik alir. Gam bar 4 m em perlihat kan segm en PDL dan grafik airnya yang sesuai. Tam pak bahawa st at em en PDL t elah diberi nom or dan penom oran yang sesuai digunakan unt uk grafik alir t ersebut .

Gam bar 4. M ent erjem ahkan PDL ke grafik alir

Bila ada kondisi gabungan dalam desain prosedural, m aka pem buat an grafik alir m enjadi sangat rum it . Kondisi gabungan t erjadi bila sat u at au lebih operat or Boolean (logika OR, AND, NAND, NOR) ada pada st at em en kondisional. Gam bar 5 m enunjukkan sebauh saegm en PDL m ent erjem ahkan ke dalam grafik alir. Tam pak bahw a sim pul (node) yang t erpisah dicipt akan unt uk

PDL Procedure : sor t

1 : do w hile records rem ain Read record;

2: if recor d field 1 = 0

3 : t hen process record; St ore in buffer; Increm ent count er;

4 : elseif record field 2 = 0

5 : t hen reset count er;

6: else process record; St ore in file; 7a: endif

Endif

7b: enddo

8 : end

2,3

6 4,5

10

11

Edge

Node

Regio

R3

R2

m asing-m asing kondisi a dan b pada st at emen IF a OR b. M asing-m asing sim pul yang berisi sebuah kondisi disebut sim pul predikat dan dit andai dengan dua at au lebih edge yang berasal darinya.

Simpul Predikat

a IF a OR b Then procedure x

Else pr ocedure y

ENDIF

Gam bar 5. Logika gabungan

1.6.2. Kompleksitas Siklomatis

Kom pleksit as siklom at is adalah m et riks perangkat lunak yang m em berikan pengukuran kuant it at if t erhadap kom pleksit as logis suat u program . Bila m et riks ini digunakan dalam kont eks m et ode pengujian basis pat h, m aka nilai yang t erhit ung unt uk kom pleksit as siklom atis m enent ukan jum lah jalur independen dalam basis set suat u pr ogram an m em beri bat as at as bagi jum lah pengujian yang harus dilakukan unt uk m em ast ikan bahw a sem ua st at em en t elah dieksekusi sedikit nya sat u kali.

Jalur independen adalah jalur yangm em lalui progarm yang m engint roduksi sedikit nya sat u rangkaian st at em en proses baru at au suat u kondisi baru. Bila dinyat akan dengan t erm inologi grafik alir, jalur independen harus bergerak sepanjang paling t idak sat u edge yang t idak dilew at kan sebelum jalur t ersebut dit ent ukan. Cont oh, serangkaian jalur independen unt uk grafik alir yang dit unjukkan pada gam bar 3 adalah :

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

Tam pak bahw a m asing-m asing jalur baru m em eperkenalkan sebuah edge baru.

Jalur 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 t idak dianggap jalur independen karena m erupakan gabungan dari jalur-jalur yang sudah dit ent ukan dan t idak m elew at i beberapa edge baru.

Jalur 1,2,3 dan 4 yang dit ent ukan di at as t erdiri dari sebuah basis set unt uk grafik alir pada gam bar 3. Bila pengujian dapat dilakukan unt uk m em aksa adanya eksekusi dari jalur-jalur t ersebut , m aka set iap st at em en pada program t ersebut akan diseksekusi paling t idak sat u kali dan set iap kondisi sudah akan dieksekusi pada sisi t rue dan fale-nya. Perlu dicat at bahw a basis set t idaklah unik. Pada dasarnya sem ua jumlah basis set yang berbeda dapat diperoleh unt uk suat u desain prosedural yang diberikan.

Bagaimana kit a t ahu banyaknya jalur yang dicari ? Kom put asi kom pleksit as siklom at is m em ebrikan jaw aban. Fondasi kom pleksit as siklom at is adalah t eori grafik dan m em beri kit a m et riks perangkat lunak yang sangat berguna. Kom pleksit as dihit unga dalam sat u adari t iga cara berikut :

1. Jum lah region grafik alir sesuai dengan kom pleksit as siklom at is

2. Kom pleksit as siklom at is V(G) unt uk grafik alir G dit ent ukan sebagai V(G)=E-N+2 dim ana E adalah jum lah edge grafik alir dan N adalah jum lah simpul grafik alir

3. Kom pleksit as siklom at is V(G) unt uk grafik alir G dit ent ukan sebagai V(G)=P+1, dim ana P adalah jum lah sim pul predikat yang diisikan dalam grafik alir G.

Pada gam bar 3, kom pleksit as siklom at is dapat dihit ung dengan m enggunakan m asing-m asing algorit m a di at as :

1. Grafik alir m em punyai 4 region

2. V(G) = 11 edge – 9 sim pul + 2 = 4

3. V(G) = 3 sim pul yang diperkirakan + 1 = 4 Dengan dem ikian, kom pleksit as siklom atis dari grafik alir pada gam bar 3 adalah 4. Yang lebih pent ing, nilai unt uk V(G) m em eberi kit a bat as at as unt uk jum lah jalur independen yang m em bent uk basis set , dan im plikasinya, bat as at as jum lah pengujian yang harus didesain dan dieksekusi unt uk m enjam in sem ua st at em en program.

1.6.3. M elakukan Test Case

M et ode pengujian basis pat h dapat diaplikasikan pada desain prosedural at au kode sum ber. Pengujian basis pat h m em iliki sederet an langkah. Average prosedur, yang digam barkan dalam PDL pada gam bar 6 m enggam barkan m asing-m asing langkah pada m et ode desain t est case. Tam pak bahw a average, m eskipun m erupakan suat u algorit ma yang sederhana berisi kondisi gabungan dan loop.

PROCEDURE average

* This procedure compute t he average of 100 or few er numbers t hat lie bet w een bounding values; it also compute t he sum and t eh tot al number valid

INTERFACE RETURNS average, t ot al.input , t ot al valid; INTERFACE ACCEPTS value, minimum, maximum;

TYPE value[1:11] IS SCALAR ARRAY; TYPE average, t ot al.input , t ot al valid;

minimum, maximum, sum IS SCALAR TYPE i IS INTEGER

i=1; 1 t ot al.input = t ot al.valid = 0; 2

sum = 0; DO WHILE value[i] < > -999 and tot al.input < 100 3

4 Increment tot al.imput by 1 IF value[i] >= minimum AND value[i] <= maximum 6

5 THEN increment t ot al.valid by 1;

7 Sum = sum + value[i]

ELSE skip 8 ENDIF

increment i by 1; 9 ENDDO IF tot al.valid > 0

10 11 THEN average = sum / t ot al.valid;

12 ELSE average = -999; ENDIF

13 END average

Gam bar 6. PDL unt uk desain t est case dengan sim pul-sim pul yang diident ifikasikan

1. Dengan m enggunakan desain at au kode sebagai dasar, gam barkan sebuah grafik alir yang sesuai. Grafik alir dicipt akan dengan m enggunakan sim bol dan at uran konst ruksi yang 1. Dengan m enggunakan desain at au kode sebagai dasar, gam barkan sebuah grafik alir yang sesuai. Grafik alir dicipt akan dengan m enggunakan sim bol dan at uran konst ruksi yang

Gambar 7. Grafik aliran dari average prosedur

2. Tent ukan kompleksit as siklomatis dari grafik alir result an. Kompleksit as siklomat is , V(G) dit ent ukan dengan mengaplikasikan sat u dari algoritma-algorit ma yang telah digambarkan di at as. Perlu dicat at bahwa V9G) dapat dit entukan t antpa mengembangkan grafik alir dengan menghitung semua st at emen kondisional dalam PDL (unt uk average prosedur, kondisi gabungan menghit ung 2) dan penambahan 1. Pada gambar 7 : V(G) = 6 region V(G) = 18 edge – 14 simpul + 2 = 6 V(G) = 5 simpul prekdikat + 1 = 6

3. Tent ukan sebuah basis set dari jalur independen secara linier. Harga V(G) memeberikan jumlah jalur independen secara linier melalui st rukt ur kont rol program . Dalam kasus average prosedur, kit a dapat menent ukan enam jalur : Jalur 1 : 1-2-10-11-13 Jalur 2 : 1-2-10-12-13 Jalur 3 : 1-2-3-10-11-13 Jalur 4 : 1-2-3-4-5-8-9-2- .... Jalur 5 : 1-2-3-4-5-6-8-9-2-.... Jalur 6 : 1-2-3-4-5-6-7-8-9-2-.........

4. Siapkan t est case yang akan memaksa adanya eksekusi set iap basis set. Dat a harus dipilih sehingga kondisi pada simpul-simpul predikat t erpasang secara tepat pada saat masing-masing juluar diuji. Test case yang memenuhi basis set yang digambarkan di at as adalah :

• Test case jalur 1 : Harga (k)= input valid, dimana k < i yang dt et eapkan di baw ah Harga (i) = -999 dimana 2 ≤ 2i ≤ 100 Hasil yang diharapkan : rat a-rat a yang benar berdasarkan nilai k dan t ot al yang t epat . Cat at an : jalur 1 t idak dapat diuji sendirian karena harus diuji sebagai bagian dari pengujian jalur 4,5 dan 6

• Test case jalur 2 : Harga (i) =-999 Hasil yang diharapakan : rat a-rat a -999, t otal yang lain pada nilai aw al

• Test case jalur 3 : Usahakan unt uk memproses 101 nilai at au lebih

100 nilai pert ama harus valid

Hasil yang diharapkan : sama sepert i test case 1

• Test case jalur 4 : Nilai (i) = input valid dimana i < 100

Nilai (k) < minimum, dimana k < i Hasil yang diharapkan : rat a-rat a yang benar berdasarkan nilai-nilai n dan t ot al yang tepat

• Test case jalur 5 : Nilai (i) = input valid dimana i< 100 Nilai (k) > maksimum, dimana k ≤ i Hasil yang diharapkan : rat a-rat a yang benar berdasarkan nilai-nilai n dan t ot al yang tepat

• Test case jalur 6 : Nilai (i) = input valid dimana i < 100 Hasil yang diharapkan : rat a-rat a yang benar berdasarkan nilai-nilai ni dan tot al yang t epat .

M asing-masing test case dieksekusi dan dibandingkan untuk mendapat hasil yang diharapkan. Sekali semua t est t elah dilengkapi maka penguji dapat yakin bahw a semua st at emen pada program telah dieksekusi paling t idak sat u kali. Pent ing unt uk dicat at bahaw beberapa jalur independ (misal jalur 1 pada cont oh di at as) tidak dapat diuji secara t erpisah (sendiri) karena kombinasi dat a yang diperlukan unt uk melint asi jalur t ersebut t idak dapat dicapai di dalam aliran normal dari program. Dalam kasus semacam ini, jalur-jalur diuji sebgai bagian dari pengujian jalur yang lain.

1.6.4. M atriks Grafik

Prosedur untuk mendapt akan grafik alir dan menent ukan serangkaian basis pat h , cocok dengan mekanisasi. Unt uk mengembangkan peranti perangkat lunak yangmembant u pengujian basis pat ha, st rukt ur dat a yang disebut mat riks grafis dapat sangat berguna.

M at riks garfis adalah mat riks bujur sangkar yang ukurannya sama dengan jumlah simpul pada grafik alir. M asing- masing baris dan kolom sesuai dengan simpul yang diident ifikasikan dan ent ri mat riks sesuai dengan edge di at ant ara simpul. Cont oh sederhana grafik air dan mat riks grafisnya yang sesuai diperlihat kan pada gambar 8.

1 ke simpul a 1 2 3 4 Dari simpul 5 e 3 1 a

Grafik alir

M at riks grafik

Gambar 8. M at riks koneksi

Pada gambar t ersebut , masing-masing simpul pada grafik alir diident ifikasikan oleh bilangan, sement ara masing- masing edge diidentifikas dengan huruf. Ent ri huruf dibuat di dalam at riks t ersebut unt uk pencocokan dengan koneksi di ant ara dua simpul. Sebgai cont oh, simpul 3 disambungkan dengan simpul 4 oleh edge b. Unt uk t it ik ini, mat riks grafis t idak lebih dari sekedar represent asi t abuler dari grafik alir. Tet api denganmenambahkan sebuah link weighy pada masing- masing ent ri mat riks, maka mat riks grafis dapat menjadi alat yang sangat kuat unt uk mengevaluasi st rukt ur kont rol program selama pengujian. Link w eight memberikan informasi t ambahan mengenai aliran kont rol. Dalam bentuknya yang paling sederhana, link w eight adalah 1 (ada hubungan) at au 0 (tidak ada hubungan). Tet api link w eight dapt a dit et apkan lain, yaitu propert i yang lebih menarik :

• Probabilit as di mana sebuah link (edge) akan dieksekusi • Wakt u perosesan yang digunakan slama pelew at an sebuah link • M emori yang diperlukan selama peleaw at an link • Sumber daya yang diperlukan selama pelewat an link

Unt uk menggambarkanya, kit a gunakan pembebanan sederhana unt uk menunjukkan hubungan (0 at au 1). M at riks grafis pada gambar 8 digambar lagi sepert i dit unjukkan pada gambar 9. M asing-masng hruuf telah diganti dengan angka 1 yang menunjukkan bahw a ada hubungan (nol t elah dihilangkan supaya jelas). Dengan bentuk seperti it u, mat rriks grafis disebut mat riks koneksi. Pada gambar 9 masing-masing baris dengan dua ent ri at au lebih merepresent asikan sebauah simpul predikat . Dengan demikian dengan mengejrjakan arit matika yang diperlihat kan di sebelah kanan sambungan mat riks akan memberi kit a met ode lain untuk menent ukan kompleksit as siklomat is (subbab 1.6.2).

ke simpul 1 2 3 4 5 Dari simpul Koneksi

3+ 1 = 4 ................ Kompl eksitas siklomatik

Gam bar 9. M at riks Koneksi

Beizer m em berikan perlakukan yang t elit i dari algorit m a m at em at ika t am bahan yang dapat diaplikasikan pada m at riks-m at riks grafis. Dengan m enggunakan t eknik t ersebut , m aka analisis yang dipergunakan unt uk m endesain t est case dapat diot om asi sebagian at au sepenuhnya.

1.7. Pengujian Struktur Kontrol

Teknik pengujian basis pat h yang digam barkan pada subbab di at as adalah salah sat u dari sejum lah t eknik unt uk pengujian st rukt ur kont rol. M eskipun pengujian basis pat h sederhana dan efekt if, t et api pengujian it u t idak m em adai. Dalam bagian ini akan dibahas variasi lain pada pengujian st rukt ur kont rol. Hal ini m em perluas kupasan pengujian dan m eningkat kan kualit as pengujian w hit e-box.

1.7.1. Pengujian Kondisi

Pengujian kondisi adalah sebuah m et ode desain t est case yang m enggunakan kondisi logis yang ada pada suat u program . Kondisi sederhana adalah variabel Boolean at au suat u persam aan

hubungan, dapat didahului dengan sat u operat or NOT (“ ¬ ” ). Persam aan relasional m engam bil bent uk :

E 1 (operat or-relasional) E 2

Dim ana E 1 dan E 2 m erupakan persam aan arit m at ika dan (operat or relasional) adalah salah sat u dari

operat or berikut : “ <” ,” ≤ ” ,” =” ,” ≠ ” ,” “ ¬ =” (pert idaksam aan),” >” at au “ ≥ ” . Kondisi gabungan t erdiri dari dua at au lebih kondisi sederhana, oprat or Boolean dan t anda kurung. Diasum sikan bahw a operat or Boolean yang diijinkan dalam suat u kondisi gabungan m eliput i OR (“ | ” ), AND(“ & ” ) dan NOT (“ ¬ ” ). Kondisi t anpa persam aan realsional disebut persam aan Boolean.

Dengan dem ikian, t ipe-t ipe kom ponen yang m ungkin di dalam suat u kondisi m eliput i operat or Boolean, sebuah variabel Boolean, sepasang t anda kurung Boolean (yang mengelilingi) suat u kondisi gabungan at au sederhana), sebuah operat or relasional at au sebuah persam aan arit m at ika. Bila suat u kondisi t idak benar, m aka palling t idak sat u kom ponen dari kondisi it u salah. Dengan dem ikian, t ipe kesaahan pada suat u kondisi meliput i berikut ini :

- Kesalahan operat or Boolean (adanya operat or Boolenan yang salah/ hilang/ ekst ra) - Kesalahan variabel Boolean - Kesalahan t anda kurung Boolean - Kesalahan operat or relasional - Kesalahan persam aan aritm at ika

M et ode pengujian kondisi berfokus pada pengujian m asing-m asing kondisi di dalam program . St rat egi pengujian kondisi biasanya m emiliki dua keunt ungan. Pert am a, pengukuran kupasan pengujian dari suat u kondisi adalah sederhana. Kedua, cakupan pengujian t erhadap kondisi di dalam suat u program m em berikan pedom an unt uk m elakukan pengujian t am bahan unt uk program t ersebut .

Tujuan pengujian kondisi adalah m endet eksi t idak hanya kesalahan di dalam kondisi program , t et api juga kesalahan lain pada program . Jika pengujian dit ent ukan unt uk program P efekt if unt uk m endet eksi kesalahan pada kondisi yang ada pada P, m aka kem ungkinan besar pengujian juga efekt if unt uk m endet eksi kesalahan lain pada P. Sebgai t am bahan, jika st rat egi pengujian efekt if unt uk m endet eksi kesalahan-kesalahan pada suat u kondisi, m aka kem ungkinan bear st rat egi t ersebut juga efekt if unt uk m endet eksi kesalahan pada suat u program .

Sejum lah st rat egi pengujian kondisi t elah diusulkan. Pengujian cabang m ungkin m erupakan st rat egi pengujian kondisi yang paling sederhana. Unt uk sudat u kondisi gabunga C, cabang-cabang t rue dan false dari C dan set iap kondisi sederhana pada C perlu dieksekusi paling t idak sat u kali.

Pengujian domain mem but uhkan t iga at au em pat pengujian unt uk dilaukan pada sebuah persam aan realsional. Karena perasam aan relasional m engam bil bent uk :

E 1 (operat or-relasional) E 2 M aka diperlukan t iga pengujian unt uk m em buat nilai E 1 lebih t inggi, sam a dengan at au kurang dari nilai E 2 secara berurut an. Bila operat or relasional salah dan E 1 dan E 2 benar, m aka ketiga pengujian it u m enjamin pendet eksian kesalahan operat or relasional. Unt uk m endet eksi kesalahan pada E 1 dan

E 2 m aka t es yang m em buat harga E 1 lebih besar at au kurang dari harga E 2 harus m em buat perbedaan ant ara dua harga it u m enjadi sekecil m ungkin.

n Unt uk persam aan Booleand dengan n variabel, sem ua 2 pengujian yang m ungkin (n > 0) perlu dilakukan. St rat egi it u dapat m endet eksi operat or, variabel dan kesalahan t anda kurung

Boolean, t at api hanya prakt is jika n kecil. Pengujian error sensit ive unt uk persam aan Boolean dapat juga dilakukan. Unt uk persam aan Boolean t unggal (persam aan Boolean dim ana m asing-m asing variabel Boolean t erjadi hanya sekali) dengan n variable Boolean (n > 0), kit a dapat dengan m udah m em unculkan serangkaian pengujian dengan kurang dari 2 n pengujian sehingga rangkaian pengujian it u m enjamin pendet eksian kesalahan opert aor Boolean bert ingkat sert a efekt if unt uk m endet eksi kesalahan-kesalahan yang lain.

Tai m engusulkan st rat egi pengujiankondisi yang didasarkan at as t eknik yang sudah diuraikan. Disebut pengujian BRO (branch and relat ional operat or), t ekni t ersebut menjamin pendet eksian kesalahan cabgan dan operat or relasional, dengan kondisi bahw a sem ua variabel Boolean dan opert aor relasional pada kondisi it u t erjadi hanya sekali dan t idak m emiliki variabel um um .

St rat egi BRO menggunakan bat asan kondisi bagi suat u kondisi C. Bat asan kondisi unt uk C

dengan n kondisi sederhana dit ent ukan sebagai (D 1 , D 2 , .....D n ) dim ana D i (0 < i ≤ n) m erupakan

sim bol yangmenent ukan bat asan pada hasil akhir dari kondisi sederhana ke-i dalam kondisi C. Bat asan kondisi D unt uk kondisi C dikat akan dipenuhi oleh eksekusi dari C bila selam a eksekusi dari

C, hasil akhir dari m asing-m asing kondisi sederhana di dalam C m emeneuhi bat asan yang bersesuaian di dalam D. Unt uk variable Boolean B, kit a m enent ukan baasan pada hasil akhir B yang m enyat akan bahw a B harus t rue (t ) at au false (f). Dengan carayang sam a, unt uk persam aan realsional, sim bol- sim bol >, = dan < digunakan unt uk m enent ukan bat asan pada hasil akhir persam aan.

Cont oh-1, diket ahui kondisi berikut :

C 1 :B 1 & B 2

Dim ana B 1 dan B 2 adalah variabel Boolean. Bat asan kondisi unt uk C i adalah bent uk (D 1 ,D 2 ) dim ana m asing-m asing dari D 1 dan D 2 adalah “ t ” at au “ f ” . Nilai t , f adalah bat asan kondisi unt uk C1 dan dicakup oleh pengujian yang m em buat harga B 1 m enjadi t rue (t ) dan harga B 2 m enjadi false (f). St rat egi pengujian BRO m engharuskan him punan batasan [(t ,t ),(f,t ),(t ,f)] dicakup oleh eksekusi C 1 .

Bila C 1 t idak benar karena sat u at au lebih kesalahan operat or Boolean, m aka sedikit inya sat u anggot a dari him punan bat asan akan m em aksa C 1 unt uk gagal.

Cont oh-2 diket ahui kondisi berikut :

C 2 :B 1 & (E 3 =E 4 ) Dim ana B 1 adalah persam aan Boolean dan E 3 dan E 4 adalah persam aan arit m at ika. Bat asan kondisi unt uk C 2 adalah bent uk (D 1 ,D 2 ) dim ana D 1 adalah “ t ” at au “ f” dan D 2 adalah >, = at au <. Karena C 2 sam a sepert i C 1 kecuali bahw a kondisi sederhana kedua di dalam C 2 adalah persam aan elasional, kit a dapat m em bangun him punan bat asan unt uk C 2 denganm em odifikasi him punan pem bat as [(t ,t ),(f ,t ),(t ,f)] yang dit ent ukan unt uk C 1 . Perhat ikan bahw a “ t ” unt uk (E 3 =E 4 ) m engim plikasikan “ =” dan bahw a “ f” unt uk (E 3 =E 4 ) m engim plikasikan “ <” at au “ >” . Dengan m enggant ikan (t ,t ) dengan (t ,=) m aka hasil him punan bat asan unt uk C 2 adalah {t ,=),(t ,<), (t ,>). Cakupan him punan bat asan t ersebut akan m enjam in pendet eksian Boolean dan kesalahan-kesalahan operat or realsional pada C 2 .

Cont oh 3, diket ahui kondisi sebagai berikut :

C 3 : (E 1 >E 2 ) & (E 3 =E 4 )

Dim ana E 1 ,E 2 ,E 3 dan E 4 adalah persam aan arit m at ika. Pem bat as kondisi unt uk C 3 adalah bent uk (D 1 ,

D 2 ), dim ana m asing-masing dari D 1 dan D 2 adalah >, = at au <. Karena C 3 sam a seperti C 2 , kecuali bahw a kondisi sederhana yang pert am a pada C 3 adalah persamaan relasional, m aka kit a dapat m m em bangun him punan bat asan unt uk C 3 denganmem odifikasi him punan bat asan unt uk C 2 dan akan diperoleh :

Cakupan dari him punan bat asan t ersebut akan m enjam in pendet eksian kesalahan operat or relasional pada C 3 .

1.7.2. Pengujian Aliran Data

M et ode pengujian aliran dat a m emilih jalur pengujian dari suat u program sesuai dengan lokasi definisi da menggunakan variabel-variabel pada program . Sejumlah pengujian aliran dat a t elah dipelajari dan dibandingkan.

Unt uk m enggam barkan pendekat an pengujian aliran dat a, diasum sikan bahw a m asing- m asaing st at em ent pada suat u program diberi nom or st at em en yang unik dan set iap fungsi t idak m em odfikasi param et er at au variabel globalnya. Unt uk st at em en dengan S sebgai nom or st at em ent nya :

DEF(S) ={X| st at em en S berisi sebuah definisi dari X} USE(S) = X| st at em en S berisi suat u penggunaan dari X}

Bila st at em en S adalah st at em en if at au loop, m aka him punan DEF-nya kosong dan him punan USE- nya didasarkan pada kondisi st at em en S. Definisi variabel X pada st at em en S dikat akan hidup pada st aem en S’ jika ada suat u jalur dari st at em en S ke st at em en S’ yang t idak berisi defiisi yang lain dari

X. Rant ai definit ion-use (at au rant ai DU) dari variabel X berbent uk [X,S,S’] dim ana S dan S’ adalah nom or st at em en X pada DEF(S’) dan USE(S’) dan definisi X pada st at em en S hidup pada st at em en S’.

St rat egi pengujian aliran dat a sederhana m engharuskan set iap rant ai DU dicakup paling t idak sat u kali. St rat egi ini disebut st rat egi pengujian DU. Pengujian DU t idak menjam in percakupan sem ua cabang sebuah program . Akan t et api, sat u cabang t idak dijamin dicakup oleh pengujian DU hanya pada sit uasi jarang sepert i konst ruksi if-t hen-else dim ana bagian t hen t idak m em ilii definisi m engenai sem barang variabel dan bagian else t idak ada. Dalam sit uasi sepert i ini, cabgan else dari st at em en if t ersebut t idak perlu dicakup oleh pengujian DU.

St rat egi pengujian aliran dat a berguna unt uk m em ilih jalur pengujian dari suat u program yang berisi st at em en if dan loop yang t ersarang. Unt uk m enggam barkannya, perhat ikan aplikasi pengujian DU unt uk m em ilih jalur pengujian pada PDL berikut :

Proc x B1;

Do w hile C1 If C2

Then If C4

Then B4; Else B5; Endif;

Else

If C3 Then B2; Else B3;

Endif;

Endif Enddo; B6;

Endproc;

Unt uk m em buat st rat egi pengujian DU m em ilih jalur pengujian dari diagaram aliran kont rol, kit a perlu t ahu t erdefinisi dan penggunaan m asing-m asing kondisi at au blok pada PDL. Anggap

bahw a variabel X didefinisikan pada st at em en t erakhir dari blok B1, B2, B3, B4 dan B5 dan digunakan dalam st at em en pert am a dari blok B2, B3, B4, B5 dan B6. St art egi pengujian DU mem erlukan ekseusi jalur t erpendek m asing-m asing dari B i , 0 < i ≤

6. Pengujian sem acam it u m encakup banyak penggunaan variabel X dalam kondisi C1, C2, C3 dan C4). M eskipun ada 25 rant ai DU dari variabel X, kit a hanya m em but uhkan lim a jalur unt uk m encakup rant ai-ranat ai

5 ke m asing-m asing dari B j , 1 < j ≤

DU t ersebut . Alasannya adalah diperlukan lim a jalur unt uk m encakup rant ai DU X dari B i ,0<i ≤ 5 ke B6 dan rant ai Du yang lain dapat dicakup degan m em buat lim a jalur t ersebut berisi it erasi dari loop.

Bila kit a m engaplikasikan st rat egi pengujian cabang unt uk m em ilih jalur pengujian dari PDL t ersebut di at as, kit a t idak mem erlukan inform asi t am bahan. Unt uk m emilih jalur dari diagram pengujian BRO, kit a perlu t ahu st rukt ur m asing-m asing kondisi at au blok (set elah pem ilihan suat u jalur dari suat u program , kit a harus m enent ukan apakah jalur t ersebut m ungkin dikerjakan dengan m udah unt uk program it u, m isal apakah ada paling t idak sat u inut yang menggunakan jalur t ersebut ).

Karena st at em en pada suat u program berhubungan sat u dengan yang lainnya sesuai dengan definisi dan penggunaan variabel, m aka pendekat an aliran dat a efekt if unt uk perlindungan dan kesalahan. Tet api, m asalah cakpan pengujian pengukuran dan pem ilihan jalur pengujian unt uk pengujian aliran dat a lebih sulit daripada m asalah yang berhubugan dengan pengujian kondisi.

1.7.3. Pengujian Loop

Pengujian loop m erupakan t eknik pengujian w hit e-box yang secara ekslusif berfokus pada validit as konst ruksi loop. Em pat kelas loop yang berbeda dapat didefinisikan : loop seerhana, loop t erangkai, loop t ersarang dan loop t idak t erst rukt ur.

Loop sederhana

Loop t ersarang

Loop t erangkai

Loop t idak t erst ruktur

Gambar 10. Beragam jenis loop

• Loop sederhana . Him punan berikut harus diaplikasikan pada loop sederhana, dim an n adalah jum lah m aksim um yang diijinkan m elew at i loop t ersebut .

1. Abaikan keselurhan loop

2. Hanya sat u yang m elew at i loop

3. Dua yang m elew at i loop

4. m m elew at i loop dim an m < n

5. n – 1, n, n+1 m elew at i loop • Loop tersarang . Bila kit a ingin mem perluas pendekatan pengujian bagi loop sederhana ke

loop t ersarang, jum lah pengujian m ungkin akan berkem bang secara geom et ris sesuai t ingkat pert am bahan persarangan sehingga sejum lah pengujian menjadi t idak prakt is. Beizer m engusulkan suat u pendekat an yang m em bant u m engurangi jumlah pengujian :

1. M ulai pada loop yang paling dalam . At ur sem a loop ke nilai minim um .

2. Lakukan pengujian loop sederhana unt uk loop yang paling dalam sem ent ara m enjaga loop yang paling luar pada nilai param eter it erasi m inim um nya (misal pencacah loop). Tam bahkan pengujian yang lain unt uk nilai out of range aau nilaiyang t idak diperbolehkan

3. Bekerja menuju ke luar, dengan m elakukan pengujian unt uk loop selanjut nya, t et eapi m enjaga sem ua loop bagian luar yang lain pada nilai minim um nya dan loop t ersarang lainnya pada harga “ t ert ent u” .

4. Lanjut kan sam pai sem ua loop t elah t ersarang. • Loop terangkai . Loop t erangkai dapat diuji denganm enggunakan pendekat an yang

dit ent ukan unt uk loop sederhana bila m asing-m asing dari loop it u independen t erhadap yang lain. Tet api bila dua loop dirangkai dan pencacah loop unt uk loop 1 digunakan sebagai harga aw al unt uk loop 2, kem udian loop t ersebut m enjadi t idak independen, m aka pendekat an diaplikasikan ke loop t ersarang direkomendasi. • Loop tidak terstruktur . Kapan saja m em ungkinkan kelas loop ini harus didesain lagi unt uk m encerm inkan penggunaan konsepsi pem rogram an t erst rukt ur.

1.8. Pengujian Black-Box

Pengujian black-box berfokus pada persyarat an f ungsional perangkat lunak. Dengan dem ikian, pengjian black-box m em ungkinkan perekayasa perangkat lunak m endapat kan serangkaian kondisi input yang sepenuhnya m enggunakan sem ua peryarat an fungsional unt uk suat u program . Pengujian black-box bukan m erupakan alt ernat if dari t eknik w hit e-box t et api m erupakan pendekat an kom plem ent er yang kem ungkinan besar m am pu m engungkap kelas kesalahan daripada m et ode w hit e-box.

Pengujian black-box berusaha m enem ukan kesalahan dalam kat egori sebagai berikut :

1. Fungsi-fungsi yang t idak benar at au hilang

2. Kesalahan int erface

3. Kesalahan dalam st rukt ur dat a at au akses dat abase ekst ernal

4. Kesalhan kinerja

5. Inisialisasi dan kesalahan t erminasi

Tidak sepert i pengujian w hit e box yang dilakukan pada aw al proses pengujian, pengujian black box cenderung diaplikasikan selam a t ahap akhir pengujian. Karena pengujianblack box m em perhat ikan st rukt ur kont rol, m aka perhat ian berfokus pada dom ain inform asi. Pengujian didesain unt uk m enjaw ab pert anyaan-pert anyaan berikut :

- Bagiamana vaidit as fungsional diuji ?

- Kelas input apa yang akan m em buat t est cse m enjadi baik ? - Apakah sist em sangat sensit if t erhadap harga input t ert ent u ? - Bagaimana bat asan dari suat u dat a diisolasi ? - Kecepat an dat a apa dan volum e dat a apa yang dapat dit olerir oleh sist em ? - Apa pengaruh kom binasi t ert ent u dari dat a t erdahap operasi sist em ?

Dengan m engaplikasikan t eknik black box, m aka kit a m enarik serangkaian t est case yang m em enuhi krit eria berikut ini :

1. Test case yang mengurangi, dengan harga lebih dari saat u, jum lah t est case t am bahan yang harus didesain unt uk m encapai pengujian yang dapat dipert anggungjaw abkan.

2. Test case yang m em beri t ahu kit a sesuat u m engenaikehadiran at au ket idakhadiran kelas kesalahan daripada mem beri t ahu kesalahan yang berhubugnan hanya dengan pengujian spesifik yang ada.

1.8.1. M etode Pengujian Graph-based

Langkah pert am a pada pengujian black box adalah “ m em ahami objek” yang dim odelkan di dalam perangkat lunak dan hubungan yang akan m enghubungkan objek t ersebut . Set elah hal it u dilakukan m aka langkah selanjut nya adalah m enent ukan sederaet an pengujian yang m em bukt ikan bahw a “ sem ua objek m em iliki hubungan yang diharapakan sat u dengan yang lainnya” . Dengan kat a lain, pengujian perangkat lunak dim ulai dnegan m embuat grafik dari objek-objek yang pent ing dan hubungan objek-objek sert a kem udian m emikirkan sedereet an pengujian yang akan m encakup grafik t ersebut sehingga m asing-m asing objek dan hubungan digunakan dan kesalahan dit em ukan. Unt uk m elakuka langkah-langkah t ersebut , perekayasa perangkat lunak m em ulianya dengan m em buat

suat u grafik, sekkum pulan sim pul yangm erepresent asikan objek; link yang m erepresent asikan hubungan ant ar objek; node weight yang m enggam barkan propert i dari suat u sim pul (misal : nilai dat a t ert ent u at au t ingkah laku keadaan) dan links w eight yang m enggam barkan beberapa karakt erist ik suat u link.

Represent asi sim boki dari grafik diperihat kan pada gam bar 11. Sim pul-sim pul direpresent asikan sebagai lingkaran yang dihubungkan oleh ling yang m em akai sejumlah bent uk yang berbeda. Link t erarah (direpresent asikan oleh sebuah anak panah) m enunjukkan bahw a hubungan bergerak hanya dalam sat u arah. Link dua arah yang disebut link sim et ris, m engim plikasikan bahw a hubungan t ersebut berlaku dalam dua arah. Link paralel digunakan pada saat sejum lah hubungan yang berbeda dibangun di ant ara sim pul-sim pul grafik.

Sebagai cont oh sederhana, perhat ikan bagian dari suat u grafik unt uk aplikasi pengolah kat a gam bar 12 :

Link t erarah

(link w eight )

Node w eight

(nilai)

Link t idak t erarah

Link paralel

Objek

Gam bar 11. Not asi Grafik

M enu select membangkit kan

(w akt u pembagkit an < 1.0 det )

new

Doc

file w indow

M embol ehkan edit ing