320 likes | 610 Views
WHITE BOX TESTING. Testing dan implemantasi sistem. Tiga Tingkatan Testing secara Umum. Unit testing Testing penulisan kode-kode program dalam satuan unit terkecil secara individual. System Testing
E N D
WHITE BOX TESTING Testing danimplemantasisistem
Tiga Tingkatan Testing secara Umum • Unit testing Testing penulisankode-kode program dalamsatuan unit terkecilsecara individual. • System Testing Proses testing padasistemterintegrasiuntukmelakukanverifikasibahwasistemtelahsesuaispesifikasi. • Acceptance Testing Testing formal yang dilakukanuntukmenentukanapakahsistemtelahmemenuhikriteriapenerimaandanmemberdayakanpelangganuntukmenentukanapakahsistemdapatditerimaatautidak.
Praktikunit testing secaraumum • Tujuan Konfirmasibahwamodultelahdikodedenganbenar. • Pelaku Biasanyaprogramer. • Apayang dites -Fungsi(Black Box). -Kode(White Box). -Kondisiekstrim dan batasan-batasan. • Kapanselesai Biasanyasaatprogramertelahmerasapuasdantidakdiketahuilagikesalahan. • Alatbantu Tidakbiasadigunakan. • Data Biasanyatidakdidata.
Praktiksystem testing secaraumum • Tujuan Merakitmodulmenjadisuatusistem yang bekerja. Dan menentukankesiapanuntukmelakukanAcceptance Test. • Pelaku Pemimpintimataugruptes. • Apayang dites Kebutuhandanfungsisistem. Antarmukasistem. • Kapanselesai Biasanyabilamayoritaskebutuhantelahsesuaidantidakadakesalahan mayor yang ditemukan. • Alatbantu Sistempustakadanpustakatest case. Generator, komparatordan simulator data testing. • Data Data kesalahan yang ditemukan. Test case.
Praktikacceptance testing secaraumum • Tujuan Mengevaluasi kesiapan untuk digunakan. • Pelaku Penggunaakhiratauagen. • Apayang dites Fungsimayor. Dokumentasi. Prosedur. • Kapanselesai Biasanyabilapenggunatelahmerasapuasatautesberjalandenganlancar / sukses. • Alatbantu Komparator. • Data Formalitasdokumen.
DefinisiTest Case • Test case merupakan suatu tes yang dilakukan berdasarkan pada suatu inisialisasi, masukan, kondisi ataupun hasil yang telah ditentukan sebelumnya.
Guna test case • Untukmelakukan testing kesesuaiansuatukomponenterhadapspesifikasi – Black Box Testing. • Untukmelakukan testing kesesuaiansuatukomponenterhadapdisain – White Box Testing.
White Box Testing • Kadangdisebutjugaglass box testing atauclear box testing, adalahsuatumetodedisaintest case yang menggunakanstrukturkendalidaridisainprosedural. • Pendekatansecara internal yaitumemeriksaspesifikasiataukomponenproduk.
Mengapa white box testing • Banyak error dalam “special case” code yang jarang dieksekusi • Control Flow tidak dapat diprediksi secara akurat dalamblack-box testing. • Type error dapat terjadi dimana saja !
Kelebihan white box testing • Semua jalur (path) yang independen / terpisah dapat dites setidaknya sekali tes. • Semua logika keputusan dapat dites dengan jalur yang salah dan atau jalur yang benar. • Semua loop dapat dites terhadap batasannya dan ikatan operasionalnya. • Semua struktur internal data dapat dites untuk memastikan validitasnya.
Teknik White Box Testing • Cakupan pernyataan, cabang dan jalur menggunakan alur logika yang sering disebut flow graph.
Flow Graph (alurLogika) • Nodes (titik), mewakili pernyataan (atau sub program) yang akan ditinjau saat eksekusi program. • Edges (anakpanah), mewakilijaluralurlogika program untukmenghubungkansatupernyataan (atau sub program) dengan yang lainnya. • Branch nodes (titikcabang), titik-titik yang mempunyailebihdarisatuanakpanahkeluaran. • Branch edges (anakpanahcabang), anakpanah yang keluardarisuatucabang • Paths (jalur), jalur yang mungkinuntukbergerakdarisatutitikkelainnyasejalandengankeberadaanarahanakpanah.
Perbedaancakupanpernyataan, cabangdanjalur • Contohcakupancabang 100 % namuncakupanjalurtidak 100 %.
Perbedaancakupanpernyataan, cabangdanjalur • Contoh anak panah cabang 100 % namun cakupan jalur tidak 100 %.
Basis Path Testing Proposed by Tom McCabe Disebutjuga branch testing ataucontrol-flow testing Hadirdalam 2 bentuk : • Zero Path: Jalur penghubung yang tidak penting atau jalur pintas yang ada pada suatu sistem. • One Path: Jalurpenghubung yang pentingatauberupa proses padasuatusistem.
Basis Path Testing • Bertujuanuntukmelakukanpengukurankompleksitaslogikaldarirancanganprosedurdanmenggunakannyasebagai guide untukmenentukan set dari path yang dieksekusi • Basic set akandieksekusiolehsetiapstatementpaling tidaksekali • Isu - Flow Graph Notation - CyclomaticComplexity • Deriving Test Cases • Graph Matrices
Notasi flow graph Padaflow graph: • Panahdisebut edges menggambarkan flow of control • Lingkarandisebut nodes, menggambarkansatuataulebihaksi • Area yang dibatasioleh edges dan nodes diebut regions • Predicate Nodes adalah nodes yang mengandungkondisi Setiapprocedural design dapatditranslasikanke flow graph notation
Cyclomatic Complexity • Memberikan ukuran kuantitatif dari kompleksitas logikal. • Nilainya memberikan jumlah dari independent path dalam basis set dan upper bound dari jumlah test untuk memastikan bahwa setiapstatement dieksekusi paling tidak satu kali. • Independent path adalah setiap path padaprogram yang mengenalkan paling tidak satu set baru statement yang sedang diproses atau kondisi baru (mis. Edge baru)
Jalurindependenadalahtiapjalurpada program yang memperlihatkan 1 kelompokbarudaripernyataan proses ataukondisibaru. [Region / Complexity] V(G) = E (edges) – N (nodes) + 2 V(G) = 11 – 9 + 2 = 4 V(G) = P (predicate node) + 1 V(G) = 3 + 1 = 4 Berdasarkan urutan alurnya, didapatkan suatu kelompok basis flow graph : - Jalur 1 : 1–11 - Jalur 2 : 1-2-3-4-5-10-1-11 - Jalur 3 : 1-2-3-6-7-9-10-1-11 - Jalur4 : 1-2-3-6-8-9-10-1-11
Tahapan test case dengancyclomatic complexity • Gunakandisainataukodesebagaidasar, gambarlahflow graph • Berdasarkanflow graph, tentukancyclomatic complexity • Tentukankelompok basis darijalurindependensecara linier • Siapkantest cases yang akanmelakukaneksekusidaritiapjalurdalamkelompokbasis #Note:Beberapa path mungkinhanyadapatdieksekusisbgbagiandari test yang lain.
Matriks Graph • Dapatmengotomatisasiturunandari flow graph danmenentukan set dari basis path • Graph matrix: • Adalahbujursangkardengan #sides samadengan #nodes • Barisdankolommenggambarkannodes • Isi matriksmenggambarkanedges • Gunakannilai 1 untukmenghitungcyclomaticcomplexity • Untuksetiapbaris, jumlahkannilaikolomdankurangkandengan1 • Jumlahkantotalnyadantambahkandgn 1 = CC
Matriks Graph • Link dapat diberikan bobot, sehingga dapat menentukan: • Probabilitas bahwa sebuah link (edge) akan dieksekusi • Waktu proses yang dihabiskan selama mengunjungi sebuah link • Memory dan resource yang dibutuhkan selama mengunjungi sebuah link
SEKIAN danTerimakasih • Referensi : http://staf.cs.ui.ac.id/WebKuliah/TPL/Sotfware%20Testing.pdf Romeo, 2003, Testing danImplementasiSistem, Surabaya, STIKOM.
tugas • JelaskandansertakancontohControl structure testing meliputi: • Testing kondisi(Condition Testing) • Testing alur data (Data Flow Testing) • Testing loop (Loop Testing) Kirim ke email rahmad_mosa@yahoo.com paling lambat tanggal 6 November 2012