Teknik Pengujian (2) Whitebox Testing

dokumen-dokumen yang mirip
Gambar (a) PDL for test design

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta

Nama : Rendi Setiawan Nim :

Materi. Definisi Test Case White Box Testing Blackbox Testing Teknik Testing yang Lain Penggunaan Metode Tes

White Box Testing Merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case.

MAKALAH DESAIN TEST CASE. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

BAB 6 METODE PENGUJIAN

PENGUJIAN PERANGKAT LUNAK

Teknik Informatika S1

Dibuat Oleh : 1. Andrey ( )

Tujuan (Objektives) Testing adalah proses eksekusi program yang bertujuan untuk menemukan error Sebuah test yang baik adalah yang mempunyai kemungkina

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

TESTING PROGRAM. Pertemuan Nurul Adhayanti

Tugas Rekayasa Perangkat Lunak

TESTING & IMPLEMENTASI SISTEM 4KA. Teknik Pengujian Perangkat Lunak. helen.staff.gunadarma.ac.id

Teknik Informatika S1

1. Dr. I Ketut Eddy Purnama, ST.,MT. 2. Ahmad Zaini, ST.,M.Sc. Asti Nurhayati

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

Software Testing Technique

White Box Testing dan Black Box Testing, Perbedaannya Serta Contohnya.

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

TEKNIK PENGUJIAN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom

Pengujian Software. Teknik Pengujian Software. Apa yang Ditunjukan Pengujian. Tujuan Pengujian. Prinsip Pengujian. Testability : Kemudahan Diuji

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

Teknik Informatika S1

Rekayasa Perangkat Lunak

Teknik Unit Testing. Pressman, Roger S/W Engineering edisi 5/7 chapter 17

PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING)

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

SOFTWARE TESTING. Ratna Wardani

Hubungan antara rencana pengujian dan proses pengembangan system. Tim RPL 1 3

A. Pengujian Perangkat Lunak

BAB I PENDAHULUAN 1.1. Latar belakang

Teknik Pengujian (3) Blackbox Testing

Testing dan Implementasi Sistem

METODE PENGUJIAN PERANGKAT LUNAK

APLIKASI KAMUS DIGITAL BAHASA INDONESIA - BAHASA ARAB DENGAN MENGGUNAKAN METODE PROTOTYPING

SISTEM INFORMASI HARGA POKOK PRODUKSI KAYU LAPIS PADA PT. KTC

TEKNIK PENGUJIAN PERANGKAT LUNAK

TESTING SW SE6161 Perancangan dan Analisis Perangkat Lunak 1

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

Dasar-dasar Pengujian Perangkat Lunak. Minggu ke 5

14. PENGUJIAN PERANGKAT LUNAK Dasar-dasar Pengujian 14.2 Teknik Pengujian 14.3 Strategi Pengujian dan V&V

Testing is the exposure of a system to trial input to see wheter it produces corect output Adalah proses eksekusi suatu program dengan maksud

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Rekayasa Perangkat Lunak

BAB I PENDAHULUAN 1.1 Latar Belakang

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

SATUAN ACARA PERKULIAHAN(SAP)

Testing dan Implementasi

BAB 9 PENGUJIAN PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK MATERI TM 13

IMPLEMENTASI DAN PENGUJIAN

Teknik-Teknik Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

BAB V IMPLEMENTASI SISTEM. tersebut siap diterapkan atau diimplementasikan. Tahap Implementasi Sistem

CONTOH PENGUJIAN BLACK BOX DAN WHITE BOX

TESTING AND IMPLEMENTATION SYSTEM Strategi Pengujian Perangkat Lunak dan Membangun Test Case

PENDEKATAN WHITE BOX TESTING UNTUK MENENTUKAN KUALITAS PERANGKAT LUNAK DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN C++ Sa diyah Noor Novita Alfisahrin

PENERAPAN METODA WHITE-BOX TESTING UNTUK MENGETAHUI KESESUAIAN KEBUTUHAN NON-FUNGSIONAL PRODUK PADA PERANGKAT A B S T R A K

PENGUJIAN PERANGKAT LUNAK

System Testing Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system.

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

SISTEM PENUNJANG KEPUTUSAN PENERIMAAN GURU BERBASIS WEB

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Rekayasa Perangkat Lunak Pengujian Perangkat Lunak. Teknik Informatika UNIKOM

Silabus dan Satuan Acara Perkuliahan

BAB III METODE PENELITIAN. testing dalam suatu siklus hidup pengebangan software. White box testing adalah

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB V IMPLEMENTASI SISTEM

SATUAN ACARA PERKULIAHAN PROGRAM STUDI : S1 SISTEM INFORMASI

Testing dan Implementasi Sistem Lukman Hakim dan Suwanto R

BAB IV IMPLEMENTASI DAN PENGUJIAN

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

BAB V IMPLEMENTASI SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV IMPLEMENTASI DAN PENGUJIAN. diperlukan sarana penunjang dalam bentuk Hardware dan software, sebagai

BAB 2 TINJAUAN PUSTAKA

Black-Box Testing. Julian Supardi, M.T. Sumber Slide: Oerip S. Diterjemahkan Oleh: Rosa Ariani Sukamto.

BAB V IMPLEMENTASI SISTEM

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI: S1 SISTEM INFORMASI Semester : 7

BAB II LANDASAN TEORI. pengertian. Secara garis besar ada dua kelompok pendekatan, yaitu:

SATUAN ACARA PERKULIAHAN (SAP)

BAB V IMPLEMENTASI SISTEM

BAB III METODOLOGI PENELITIAN X 0. O = Observasi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

BAB 1 PENDAHULUAN. 1.1 Aplikasi Pengolahan Nilai Sementara Mahasiswa

4/18/14 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta

SATUAN ACARA PERKULIAHAN MATA KULIAH TESTING & IMPLEMENTASI SISTEM (KA) KODE / SKS : KK / 3 SKS

BAB III OBJEK DAN METODE PENELITIAN. berlokasi di Jl. Leuwi Panjang No. 111 Bandung Telpon Terbaik dalam pelayanan servis di bengkel.

BAB I PENDAHULUAN 1.1 Latar Belakang

Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana

Transkripsi:

Teknik Pengujian (2) Whitebox Testing Pengujian Perangkat Lunak Mina Ismu Rahayu 2011

Pengujian Ujicoba merupakan proses eksekusi program dengan tujuan untuk menemukan kesalahan. Sebuah ujicoba kasus yang baik adalah yang memiliki probabilitas yang tinggi dalam menemukan kesalahan-kesalahan yang belum terungkap. Ujicoba yang berhasil adalah yang mengungkap kesalahan yang belum ditemukan.

Tujuan mendesain serangkaian tes yang secara sistematis mengungkap beberapa jenis kesalahan yang berbeda dan melakukannya dalam waktu dan usaha yang minimum

Alur Informasi Test

Faktor Dua kategori input yang disediakan untuk proses ujicoba adalah : Software configuration yang terdiri dari spesifikasi kebutuhan software, spesifikasi desain dan kode sumber. Test configuration yang terdiri dari rencana dan prosedur ujicoba, Tools ujicoba apapun yang dapat digunakan kasus ujicoba termasuk hasil yang diharapkan. Pada kenyataannya, konfigurasi ujicoba merupakan subset dari konfigurasi software.

Faktor Reliability : Hasil Akhir Kualitas dan reliabilitas software dapat diterima, atau Ujicoba tidak cukup untuk menemukan kesalahan yang fatal. Jika Tidak Menemukan Kesalahan? keraguan bahwa konfigurasi ujicoba tersebut tidak berhasil dan masih terjadi kesalahan dalam software User

mendesain test : Test Case Design tingkat kemungkinan penemuan kesalahan yang tinggi jumlah waktu dan usaha yang sedikit Cara Test : Mengetahui fungsi-fungsi yang dispesifikasikan pada produk yang didesain Mengetahui cara kerja internal dari produk

Pendekatan White Box pemeriksaan detail prosedural Alur logikal suatu software diujicoba Status dari program dapat diperiksa pada beberapa titik yang bervariasi Black Box Dilakukan pada interface software Mendemonstrasikan fungsi software yang dioperasikan Apakah input diterima dengan benar, dan ouput yang dihasilkan benar apakah integritas informasi eksternal terpelihara

White Box Testing menggunakan struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji Kasus Uji yang dihasilkan : Menjamin bahwa seluruh independent paths dalam modul telah dilakukan sedikitnya satu kali, Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah, Melakukan seluruh perulangan sesuai batasannya dan dalam batasan operasionalnya Menguji struktur data internal untuk memastikan validitasnya

Fungsi WhiteBox Sifat kerusakan alami dari software, yaitu : Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan kemungkinan bahwa alur program akan dieksekusi. Sering percaya bahwa alur logikal tidak akan dieksekusi ketika dikenyataannya, mungkin akan dieksekusi dengan basis regular. Kesalahan typographical (cetakan) bersifat random. Ketika program diterjemahkan kedalam kode sumber bahasa pemrograman, maka akan terjadi kesalahan pengetikan.

Basis Path Testing Diusulkan oleh Tom McCabe. Metode berbasis alur memungkinkan perancang kasus uji untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur eksekusi

Flow Graph Notation Basic Path Testing Cyclomatic Complexity Deriving Test Case Graph Matrix

Notasi Graf Alur Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur (flow graph)

Notasi Graf Alur edge harus berakhir pada sebuah node walaupun tidak semua node merepresentasikan perintah prosedural. Area yang dibatasi oleh edge dan node disebut region, area diluar graph juga dihitung sebagai region.

Flow Graph

Cyclomatic Complexity software metric yang menyediakan ukuran kuantitatif dari komplesitas logikal suatu program nilai yang dikomputasi untuk kompleksitas cyclomatic mendefinisikan jumlah independent path dalam himpunan basis suatu program menyediakan batas atas untuk sejumlah ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah dieksekusi sedikitnya satu kali Independent path adalah alur manapun dalam program yang memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi baru

Cara menentukan Kompeksitas Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic Kompleksitas cyclomatic untuk graf alur G didefinisikan : V(G) = E N + 2; E = jumlah edge, dan N = jumlah node Kompleksitas cyclomatic untuk graf alur G didefinisikan : V(G) = P + 1 P = jumlah predicates nodes

Contoh Path 1 : 1 11 Path 2 : 1 2 3 4 5 10 1 11 Path 3 : 1 2 3 6 8 9 10 1 11 Path 4 : 1 2 3 6 7 9 10 1 11 1. Flow graph mempunyai 4 region 2. V(G) = 11 edges 9 nodes + 2 = 4 3. V(G) = 3 predicates nodes + = 4

Deriving Test Case Menyiapkan kasus uji yang akan mengeksekusi setiap alur dalam himpunan basis Data harus dipilih sehingga kondisi pada predicate nodes dapat di uji dengan tepat

Contoh DTC

Contoh DTC (2)

Contoh DTC (3)

Contoh DTC (4)

Graph Matrix Prosedur untuk menghasilkan graf alur dan menentukan himpunan alur basis dapat di mekanisasi Graph matrix merupakan matrik persegi yang jumlah baris dan kolomnya sesuai dengan jumlah node pada graf alur Setiap baris dan kolom mengacu kepada sebuah node dan isi dari matrix mengacu kepada edge merupakan representasi tabular dari flow graph,

Graph Matrix (2) Hal Yang Harus Diperhatikan : Kemungkinan suatu link/ edge akan dieksekusi Waktu proses yang dibutuhkan selama traversal suatu link Memori yang diperlukan selama traversal suatu link Sumber daya yang diperlukan selama traversal suatu link

Contoh Graph Matrix

Control Structure Testing Condition Test Data Flow Test Loop test

Condition Test rancangan metode ujicoba kasus yang menguji kondisi logikal yang ada didalam modul program E1 <operator relasional> E2 Jenis-jenis kesalahan dalam kondisi meliputi : Kesalahan operator boolean ( keberadaan operator boolean yang salah/berlebih/kurang) Kesalahan variable Boolean Kesalahan parantesis Boolean Kesalahan operator relasional Kesalahan ekspresi aritmatika

Data Flow Testing memilih alur dari program berdasarkan lokasi pendefinisian dan penggunaan variabel dalam program Untuk perintah dengan S sebagai nomor perintah : DEF (S) = {X perintah S mengandung definisi X} USE (S) = {X Perintah S mengandung penggunaan X} Jika perintah S merupakan perintah if atau loop, himpunan DEF = kosong (empty) himpunan USEberdasarkan pada kondisi perintah S Definisi variable X pada perintah S akan ada pada perintah S` jika ada alur(path) dari perintah S ke perintah S` yang tidak mengandung pendefinisian lain dari variable X.

Loop Testing ujicoba whitebox yang memfokuskan secara khusus pada validitas pembentukan loop Jenis : simple loop concatenated loop nested loop unstructured loop

Loop Testing Simple Loop Nested Loop Concatenated Loop Unstructured Loop

Simple Loop serangkaian ujicoba harus diaplikasikan pada loop sederhana, dimana n merupakan jumlah maksimum yang diperbolehkan dalam loop Teknik : Lewati loop secara keseluruhan (skip the loop entirely) Hanya satu yang melalui loop (only one pass through the loop) 2 melalui loop (two passes through the loop) m melalui loop, jika m < n (m passes the loop where m < n) n 1, n, n+1 passes the loop

Pendekatan : Nested Loop Mulai dari loop terdalam, Tetapkan loop lainnya pada nilai minimum Lakukan uji loop sederhana untuk loop terdalam dan loop luar tetap pada parameter iterasi minimum. Tambahkan ujicoba lainnya untuk out-of-range atau nilai lainnya (exclude value) Lakukan mengarah keluar, dan tetap mempertahankan loop luarnya dalam nilai minimum dan nested loop lainnya dengan nilai yang sesuai. Lanjutkan sampai seluruh loop teruji.

Concatenated Loop dapat diuji dengan menggunakan pendekatan yang didefinisikan untuk loop sederhana jika setiap loop saling independen Jika loop digabungkan (concatenated) dan counter untuk loop1 digunakan sebagai nilai awal dari loop2, maka loop saling bergantung dan pendekatan untuk nested loop direkomendasikan

Unstructured Loop Jika mungkin sebaiknya loop jenis ini didesain ulang untuk merefleksikan kegunaanpembentukan struktur program.

Gambaran

Next -> Blackbox The End