• Tidak ada hasil yang ditemukan

Teknik Informatika S1

N/A
N/A
Protected

Academic year: 2021

Membagikan "Teknik Informatika S1"

Copied!
40
0
0

Teks penuh

(1)

Teknik Informatika S1

Disusun Oleh:

Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS

[email protected] +6285740278021

White Box

(2)

White Box Testing

Kadang disebut juga glass box testing atau clear box

testing, adalah suatu metode desain test case yang

(3)

Mengapa White Box Testing?

Mengapa melakukan white box testing bilamana black box

testing berfungsi untuk testing pemenuhan terhadap

kebutuhan/ spesifikasi?

 Kesalahan logika dan asumsi yang tidak benar kebanyakan dilakukan ketika coding untuk “kasus tertentu”. Dibutuhkan kepastian bahwa eksekusi jalur ini telah dites.

(4)

Mengapa White Box Testing?

 Asumsi bahwa adanya kemungkinan terhadap eksekusi jalur yang tidak benar. Dengan white box testing dapat ditemukan kesalahan ini.

 Kesalahan penulisan yang acak. Seperti berada pada jalur logika yang membingungkan pada jalur normal.

(5)

Cakupan Pernyataan, Cabang dan Jalur

 Cakupan pernyataan, cabang dan jalur adalah suatu teknik white box testing yang menggunakan alur logika dari program untuk membuat test cases.

Alur logika adalah cara dimana suatu bagian dari program tertentu dieksekusi saat menjalankan program.  Alur logika suatu program dapat direpresentasikan

(6)
(7)

Flow Graph

Suatu flow graph terbentuk dari:

Nodes (titik)  Mewakili pernyataan (atau sub program)

yang akan ditinjau saat eksekusi program

Edges (anak panah)  Mewakili jalur alur logika program

untuk menghubungkan satu pernyataan (atau sub program) dengan yang lainnya.

Branch nodes (titik cabang), titik-titik yang mempunyai

(8)

Flow Graph

Branch edges (anak panah cabang)  Anak panah yang

keluar dari suatu cabang.

Paths (Jalur)  Jalur yang mungkin untuk bergerak dari

satu titik ke lainnya sejalan dengan keberadaan arah anak panah.

(9)

Cakupan Pernyataan

 Cakupan pernyataan ditentukan dengan menilai proporsi dari

pernyataan-pernyataan yang ditinjau oleh sekumpulan test

cases yang ditentukan.

 Cakupan pernyataan 100 % adalah bila tiap pernyataan pada

program ditinjau setidaknya minimal sekali tes.

 Cakupan pernyataan berkaitan dengan tinjauan terhadap titik

(node) pada flow graph.

 Cakupan 100 % terjadi bilamana semua titik dikunjungi oleh

(10)

Contoh Cakupan Pernyataan

Pada contoh terdapat 10 titik. Misal suatu eksekusi jalur melewati titik-titik A, B, D, H, K. Berarti ada 5 titik dari 10 titik yang dikunjungi, maka cakupan pernyataan sebesar 50%.

(11)

Cakupan Cabang

 Cakupan cabang ditentukan dengan menilai proporsi dari cabang keputusan yang diuji oleh sekumpulan test

cases yang telah ditentukan.

 Cakupan cabang 100% adalah bilamana tiap cabang keputusan pada program ditinjau setidaknya minimal sekali tes.

 Cakupan cabang berkaitan dengan peninjauan anak panah cabang (branch edges) dari flow graph.

(12)

Contoh Cakupan Cabang

Pada contoh terdapat 6 anak panah cabang. Misal suatu jalur eksekusi program melewati titik-titik A, B, D, H, K. maka jalur tersebut meninjau 2 dari 6 anak panah cabang yang ada, jadi cakupannya sebesar 33%.

(13)

Cakupan Jalur

 Cakupan jalur ditentukan dengan menilai proporsi eksekusi jalur program yang diuji oleh sekumpulan

test cases yang telah ditentukan.

 Cakupan jalur 100% adalah bilamana tiap jalur pada program dikunjungi setidaknya minimal sekali tes.

 Cakupan jalur berkaitan dengan peninjauan jalur sepanjang flow graph.

(14)

Contoh Cakupan Jalur

Pada contoh terdapat 4 jalur. Bila suatu eksekusi jalur pada program melalui titik-titik A, B, D, H, K, maka eksekusi tersebut meninjau 1 dari 4 jalur yang ada, jadi cakupannya sebesar 25%.

(15)

Perbedaan antara cakupan pernyataan, cabang dan jalur

 Pencapaian cakupan pernyataan 100% dapat terjadi tanpa harus membuat cakupan cabang menjadi 100% juga.

Contoh:

(16)

Perbedaan antara cakupan pernyataan, cabang dan jalur

 Dapat pula membuat cakupan cabang 100%, dengan meninjau seluruh anak panah cabang tanpa harus meninjau semua jalur yang ada (cakupan jalur 100%) Contoh:

Contoh anak panah cabang 100% namun cakupan jalur tidak 100%.

(17)

Perbedaan antara cakupan pernyataan, cabang dan jalur

 Dapat dilihat bahwa hanya dibutuhkan 2 jalur untuk mengunjungi semua anak panah cabang, dari 4 jalur yang ada pada flow graph.

(18)

Perbedaan antara cakupan pernyataan, cabang dan jalur

 Jadi bila cakupan jalur sebesar 100%, maka secara otomatis cakupan cabang sebesar 100% pula.

 Demikian pula bila cakupan cabang sebesar 100%, maka secara otomatis cakupan pernyataan sebesar 100%.

(19)

Desain Cakupan Tes

 Untuk mendesain cakupan dari tes, perlu diketahui

tahap-tahap sebagai berikut:

1. Menganalisa source code untuk membuat flow graph.

2. Mengidentifikasi jalur tes untuk mencapai pemenuhan tes berdasarkan pada flow graph.

3. Mengevaluasi kondisi tes yang akan dicapai dalam tiap tes. 4. Memberikan nilai masukan dan keluaran berdasarkan pada

(20)

Teknik Testing White Box

 Basis Path Testing

 Graph Matrix

 Control Structure Testing  Data Flow Testing

 Loop Testing  Lines of Code

(21)

Pengujian Basis Path

Teknik White Box Testing dikenalkan oleh Tom McCabe.

 Digunakan untuk mengukur kompleksitas logis dari desain procedural dan menggunakannya sebagai pedoman untuk menetapkan himpunan basis dari semua jalur eksekusi.

 Test case yang didapat digunakan untuk mengerjakan

basis set yang menjamin pengerjaan setiap perintah min 1x selama uji coba.

(22)

Pengujian Basis Path

• Tujuannya meyakinkan bahwa himpunan test case akan

menguji setiap path pada suatu program paling sedikit satu kali.

• Titik awal untuk path testing adalah suatu program flow graph yang menunjukkan node-node yang menyatakan program decisions (mis.: if-then-else condition) dan busur menyatakan alur kontrol

(23)

Pengujian Basis Path

 Tahapan:

1: Gambarkan control flow graph 2: Hitung Cyclomatic complexity 3: Pilih jalur “basis set”

(24)

Control Flow Graph

Setiap desain prosedural dapat diterjemahkan ke dalam control flow graph:

Lines (atau arrows) disebut edges merepresentasikan

kontrol aliran

Circles atau nodes merepresentasikan satu atau lebih aksi

Daerah yang dibatasi oleh tepi dan node disebut regions

Sebuah predicate node adalah node yang mengandung

(25)

Struktur Control Flow Graph

Basic Control Flow Graph Structures:

(26)
(27)

Control Flow Graph Structure

(28)

Control Flow Graph Structure

Step 2: Hitung Cyclomatic Complexity Model: V(G) = edges – nodes + 2p

(29)

Control Flow Graph Structure

Step 2: Hitung Cyclomatic Complexity

Model: V(G) = edges – nodes + 2p

(30)

Control Flow Graph Structure

Latihan:

Hitung Cyclomatic Complexity untuk Graph di bawah

(31)

Control Flow Graph Structure

Hitung Cyclomatic Complexity? Edges: ?

Nodes: ?

(32)

Control Flow Graph Structure

Hitung Cyclomatic Complexity? Edges: ? Nodes: ?

(33)

Control Flow Graph Structure

Hitung Cyclomatic Complexity?

Edges: ? Nodes: ?

(34)

Control Flow Graph Structure

Hitung Cyclomatic Complexity? V(G) = edges – nodes +2p

(35)

Control Flow Graph Structure

(36)

Control Flow Graph Structure

(37)
(38)

Step 4: Generate Test Cases

Path 1: 1, 2, 5 Test case 1

Path 1 can not be tested stand-alone & must be tested as part of path 2, 3 or 4

Path 2: 1, 2, 3, 4, 2, 5 Test case 2

(39)

Control Flow Graph Structure

Step 4: Generate Test Cases

Path 3: 1, 2, 3, 6, 7, 4, 2, 5 Test case 3

Enter a valid PIN number on the first try

Path 4: 1, 2, 3, 6, 8, 7, 4, 2, 5 Test case 4

Enter an invalid on the first try & a valid PIN on the second try

(40)

Referensi

Dokumen terkait

Untuk kelompok perlakuan MRP dengan Kinesiotaping didapatkan nilai p sebesar 0,996 (p>0.05) sehingga dapat dikatakan bahwa tidak ditemukan perbedaan yang

Judul : Pemanfaatan Limbah Pengolahan Udang Beku Sebagai Bahan Sumber Protein Hewani Ransum Itik Petelur. Program : IPTEK Tahun : 2005 Status :

Apabila kaki anda sudah terasa gatal, rendamlah kaki anda selama 15 menit dengan air hangat dicampur garam dapur, tujuanya adalah agar kuman atau bakteri yang ada akan dimatikan oleh

Kita juga melihat pengaruh di bidang seni arsitektur rumah peribadatan atau masjid di Indonesia yang banayak dipengaruhi. oleh arsitektur masjid yang ada di wilayah

Dalm pemhaman Karate-do murni yang berlndaskan Zen ia tidak dianggap sebagai sebuah bentuk pertarungan, namun didefinisikan lebih jauh sebagai sebuah bentuk

26 Dan kepada imam Abyatar raja berkata: "Pergilah ke Anatot, ke tanah milikmu, sebab engkau patut dihukum mati, tetapi pada hari ini aku tidak akan membunuh engkau, oleh

Untuk mengatasi permasalahan tersebut ,salah satu usaha yang dilakukan adalah merencanakan dan menggunakan model pembelajaran belajar yang dapat

Umpan balik yang diberikan oleh penguji ini bertujuan untuk meningkatkan ketrampilan dalam menganalisa suatu kasus dan mempresentasikannya pada saat menghadapi