Testing dan Implementasi Sistem Suwanto Raharjo Pertemuan ke 2:White Box Testing.

Slides:



Advertisements
Presentasi serupa
Metode Pengujian Perangkat Lunak (White Box)
Advertisements

TEKNIK PENGUJIAN PERANGKAT LUNAK
Testing dan Implementasi Sistem
Implementation & Testing Eri Prasetyo Bahan Kuliah MM Sistem Informasi Sources : -Juha Roning, Marko Laakso, Ari takanen, Oulu university,
REKAYASA PERANGKAT LUNAK
Testing.
Teknik Pengujian Perangkat Lunak
Testing dan Implementasi Sistem
TEKNIK PENGUJIAN PERANGKAT LUNAK
TESTING PROGRAM Materi Pertemuan ke-5 & 6.
STRATEGI PENGUJIAN PERANGKAT LUNAK
Testing dan Implementasi
Dasar-dasar Pengujian Perangkat Lunak
Testing Levels. Activities of Test Engineer Test engineer is an information technology professional who is in charge of ane or more technical test activities,
Pertemuan 5 PENGUJIAN WHITE BOX.
Testing dan implemantasi sistem
Testing.
a.k.a structural testing WHITE BOX TESTING clear box testing
Riskha Dwi Anggraeni Software Testing. Software testing adalah proses untuk menganalisa sebuah software Mendeteksi antara kondisi sekarang dengan kondisi.
Testing dan implementasi sistem
Tim RPL Teknik Informatika 2017
TEKNIK-TEKNIK PENGUJIAN PERANGKAT LUNAK
14. PENGUJIAN PERANGKAT LUNAK
TEKNIK PENGUJIAN PERANGKAT LUNAK
Control-flow Testing MATA KULIAH : testing DAN implementasi sistem Dosen pengampu : catur iswahyudi s.Kom.,se.m.cS.
Pengujian Jalur Pengujian Jalur Dasar (Basis Path Testing)
REKAYASA PERANGKAT LUNAK I
REKAYASA PERANGKAT LUNAK
TEKNIK PENGUJIAN PERANGKAT LUNAK
Rekayasa Perangkat Lunak Metode Pengujian Perangkat Lunak
TESTING PROGRAM.
White Box Testing Pembuatan Flowgraph Pembuatan Testcase.
Pengujian Perangkat Lunak
WHITE BOX TESTING PENGUJIAN BASIS PATH
Strategi Pengujian Perangkat Lunak
TEST CASE Aidil Agus( ) Apridestio Fajri ( ) Mega Desvita( ) Diki Miltra( ) Prima Maulana ( ) Isel( ) Ayu( )
Metode Pengujian Perangkat Lunak (White Box)
Testing & Implementasi Sistem
Testing dan Implementasi
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-11)
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
Dasar-dasar Pengujian Perangkat Lunak
TESTING DAN IMPLEMENTASI PERTEMUAN 3
Software Engineering ( Pressman )
TESTING DAN IMPLEMENTASI PERTEMUAN 4
Testing dan Implementasi SI220A
Testing dan Implementasi
WHITE BOX TESTING DAN BLACK BOX TESTING
Validasi dan Verifikasi Software
TEKNIK PENGUJIAN PERANGKAT LUNAK
TEKNIK PENGUJIAN PERANGKAT LUNAK
Pertemuan 5 PENGUJIAN WHITE BOX.
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-12)
Dasar-dasar Pengujian Perangkat Lunak
TEKNIK PENGUJIAN PERANGKAT LUNAK
Testing dan Implementasi
Pengujian White Box Kustanto 11/16/2018 Pengujian white box.
Strategi Pengujian Perangkat Lunak
Pengujian White Box Kustanto 11/27/2018 Pengujian white box.
TEKNIK PENGUJIAN PERANGKAT LUNAK
Tim RPL Teknik Informatika 2018
Dasar-dasar Pengujian Perangkat Lunak
White Box Testing.
Pengujian Perangkat Lunak
Pengujian Perangkat Lunak
Dasar-dasar Pengujian Perangkat Lunak
Dasar-dasar Pengujian Perangkat Lunak
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Metode Pengujian Perangkat Lunak (White Box)
WHITE BOX TESTING PENGUJIAN BASIS PATH
Transcript presentasi:

Testing dan Implementasi Sistem Suwanto Raharjo Pertemuan ke 2:White Box Testing

White Box Testing Dikenal juga dengan nama glass box, structural, clear box dan open box testing. Merupakan teknik testing perangkat lunak yang harus mengetahui secara detail tetang perangkat lunak yang akan di uji. Untuk pengujian yang lengkap maka suatu perangkat lunak harus diuji dengan white box dan black box testing

White Box Testing Dengan Menggunakan white box testing, software engineer da[at medesain suatu test cases yang dapat digunakan untu : 1. Menguji setiap jalur independent 2. Menguji keputusan logic (true atau falsa ) 3. Menguji Loops dan batasannya 4. Menguji Data Struktur internalnya

White Box dan Black Box testing

White Box Testing White Box Testing menggunakan 3 macam tahapam testing 1.Unit Testing 2.Integration testing 3.Regression Testing

White Box Testing Mendesain Test Case, Setiap membuat module/unit maka test case harus dilakukan : Test Awal yang dapat dilakukan adalah Analisa Code Coverage : Basic block coverage, Decision coverage, Condition coverage, Branch coverage, Loop coverage 1.Basis path testing  Digunakan untuk melakukan pengujian bahwa semua jalur independent terlewati semua. Paling tidak suatu jalur minimal harus terlewati sekali.

Basis Path Testing Statement Decision Path coverage ? ? ?

Basis Path Testing

White Box Testing Independent Path pada gambar di atas: (property owned, pay rent) (property owned, no money for rent) (buy house) (don't want to buy) (want to buy, don't have enough money) Cyclomatic Complecity : Suatu ukuran untuk menghitung kekomplekan suatu kode sumber : CC = Jumlah edges – jumlah node + 1 atau Jumlah Kondisi + 1

White Box Testing

public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; }

White Box Testing public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } 11

White Box Testing public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; }

White Box Testing public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F 4 T 4 T 5 T 5 T

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F 4 T 4 T 5 T 5 T 6 F 6 F

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F 4 T 4 T 5 T 5 T 6 F 6 F 9 9

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F 4 T 4 T 5 T 5 T 6 F 6 F 7 T 9 7 T 9

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F 4 T 4 T 5 T 5 T 6 F 6 F 7 T 8 F 9 7 T 8 F 9

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F 4 T 4 T 5 T 5 T 6 F 6 F 7 T 8 F 9 7 T 8 F 9

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F 4 T 4 T 5 T 5 T 6 F 6 F 7 T 8 F 9 7 T 8 F 9

White Box Testing 3 public static int binarySearch( int key, int[] sequence ) { int bottom = 0; int top = sequence.length - 1; int mid = 0; int keyPosition = -1; while( bottom <= top && keyPosition == -1 ) { mid = ( top + bottom ) / 2; if( sequence[ mid ] == key ) { keyPosition = mid; } else { if( sequence[ mid ] < key ) { bottom = mid + 1; } else { top = mid - 1; } return keyPosition; } F F 3 T T F F 4 T 4 T 5 T 5 T 6 F 6 F 7 T 8 F 9 7 T 8 F 9

Test Case Work out the number of distinct paths. –Cyclomatic Complexity CC = noEdges – noNodes + 2 CC = 13 – = 5 List the distinct paths. –1, 2, 10 –1, 2, 3, 10 –1, 2, 3, 4, 5, 9, 2… (loop again?) –1, 2, 3, 4, 6, 7, 9, 2… (loop again?) –1, 2, 3, 4, 6, 8, 9, 2… (loop again?) Figure out the conditions that cause execution of these paths.