NURILMIYANTI WARDHANI DESAIN TEST CASE • Test case merupakan suatu tes yang dilakukan berdasarkan pada suatu inisialisasi, masukan, kondisi ataupun hasil yang telah ditentukan sebelumnya.
• Fungsi dari test case:
✔ Untuk melakukan testing kesesuaian suatu komponen/modul terhadap spesifikasi ( Black Box Testing ). ✔ Untuk melakukan testing kesesuaian suatu komponen/modul terhadap desain ( White Box Testing ). WHITE BOX TESTING/GLASS BOX TESTING
• Test Case yang menggunakan struktur kendali dari desain
prosedural
• Metode ini mencakup:
✔ Semua jalur/pernyataan/percabangan yang independen dapat diuji ✔ Semua logika keputusan dapat diuji dengan pernyataan yang salah dan pernyataan yang benar ✔ Semua perulangan/loop dapat diuji terhadap batasannya dan ikatan operasionalnya ✔ Semua Struktur Internal data internal dapat diuji untuk memastikan validasinya Mengapa melakukan White Box jika Black box testing telah memenuhi kebutuhan pengujian spesifikasi ?
• Kesalahan logika dan asumsi yang tidak benar kebanyakan
dilakukan ketika coding untuk “kasus tertentu”. Dibutuhkan kepastian bahwa eksekusi jalur ini telah dites. • 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. Cakupan Pernyataan, Cabang & Jalur White Box Testing • Merupakan Teknik White Box Testing yang menggunakan alur logika dari program untuk membuat test case. • Alur logika direpresentasikan dengan flow graph Cakupan Pernyataan
• Cakupan pernyataan berkaitan dengan tinjauan terhadap titik (node) pada
flow graph. Cakupan pengujian 100 % terjadi bila semua titik dikunjungi oleh jalur-jalur yang dilalui oleh test cases. Cakupan Cabang
• Cakupan cabang berkaitan dengan peninjauan anak panah cabang (branch
edges) dari flow graph. Cakupan 100 % adalah bilamana semua anak panah cabang ditinjau oleh jalur –jalur yang dilalui oleh test case Cakupan Jalur
• Cakupan jalur berkaitan dengan peninjauan jalur sepanjang flow graph.
Cakupan 100 % adalah bilamana semua jalur dilalui oleh test cases. Perbedaan antara cakupan pernyataan, cabang dan Jalur • Pencapaian cakupan pernyataan 100 % dapat terjadi tanpa harus membuat cakupan cabang menjadi 100 % juga. Perbedaan antara cakupan pernyataan, cabang dan Jalur • Pencapaian cakupan cabang 100 %, dengan meninjau seluruh anak panah cabang tanpa harus meninjau semua jalur yang ada (cakupan jalur 100 %). Tahapan Desain Cakupan Pengujian White Box Testing • Menganalisa source code untuk membuat flow graph. • Mengidentifikasi jalur tes untuk mencapai pemenuhan tes berdasarkan pada flow graph. • Mengevaluasi kondisi pengujian yang akan dicapai dalam tiap pengujian. • Memberikan nilai masukan dan keluaran berdasarkan pada kondisi. BASIS PATH TESTING White Box Testing • Metode ini memungkinkan perancang test case untuk melakukan pengukuran terhadap kompleksitas logika dari desain prosedural dan menggunakannya sebagai panduan dalam menentukan kelompok basis dari jalur eksekusi, dimana hal ini akan menjamin eksekusi tiap pernyataan dalam program sekurangnya sekali selama testing berlangsung. • Konsep Utama Basis Path: ✔ Tiap basis path harus diidentifikasi, tidak boleh ada yang terabaikan (setidaknya dites 1 kali). ✔ Kombinasi dan permutasi dari suatu basis path tidak perlu dites. Bagaimana membentuk basis path? • Tiap flow graph node yang disimbolkan dengan lingkaran dapat mewakili satu atau lebih pernyataan prosedural • Suatu proses yang berurutan yang digambarkan dalam bentuk kotak pada flowchart daapt diwakili oleh satu node. • Panah pada flow graph disebut dengan edges atau links mewakili alur pengiriman kendali dan merupakan analogi dari panah pada flowchart. Suatu edge harus diakhiri dengan suatu node • Area yang dibatasi oleh edge dan nodes disebut dengan regions. Bila menghitung regions, harus juga mengikutkan area di luar dari grafik sebagai bagian dari regions. CYCLOMATIC COMPLEXITY White Box Testing • Pengukuran software yang memberikan pengukuran kuantitatif dari kompleksitas logika program. • Pada konteks metode basis path testing, nilai yang dihitung oleh cyclomatic complexity ialah jumlah jalur-jalur yang independen dalam kumpulan basis suatu program dan memberikan jumlah tes minimal yang harus dilakukan untuk memastikan bahwa semua pernyataan telah dieksekusi • Komputasi Kompleksitas siklomatis digunakan untuk mengetahui banyaknya jalur yang dicari melalui salah satu cara berikut. (Menggunakan Contoh pada Basis Path) 1. Jumlah Region Flow Graph V(G) = COUNT(R) Terdapat 4 region = Terdapat 4 jalur independen 2. Menggunakan Persamaan V(G) = E – N + 2 E -> Edges dan N -> Node V(G) = 11 – 9 + 2 = 4 Jalur Independen 3. Menggunakan Persamaan V(G) = P + 1 P -> Predikat Node V(G) = 3 + 1 = 4 Jalur Independen Tahapan dalam membuat test cases dengan menggunakan cyclomatic complexity: • Gunakan desain atau kode sebagai dasar untuk membuat flow graph (Basis Path) • Berdasarkan Flowgraph, tentukan cyclomatic complexity • Tentukan Kelompok basis dari jalur independen secara linear • Siapkan test case yang akan melakukan eksekusi dari setiap jalur dalam kelompok basis Jalur independen yang terbentuk ✔ 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 GRAPH MATRIKS White Box Testing • Untuk mengembangkan perangkat lunak yang membantu pengujian berbasis path, dibutuhkan struktur data yang disebut Grap Matriks • Matrik berbentuk segi empat sama sisi, dimana jumlah baris dan kolom sama dengan jumlah node dan identifikasi baris dan kolom sama dengan identifikasi node, serta isi data adalah keberadaan penghubung antar node (edge)