Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehSugiarto Budiman Telah diubah "7 tahun yang lalu
1
Control-flow Testing MATA KULIAH : testing DAN implementasi sistem Dosen pengampu : catur iswahyudi s.Kom.,se.m.cS
2
DISUSUN OLEH : ZUL FAHMI HUSEIN (131. 05. 1010) KAROLUS LIYUDANUS (131
DISUSUN OLEH : ZUL FAHMI HUSEIN ( ) KAROLUS LIYUDANUS ( ) ISWANTO ( ) RIRIN SEPTRISULVIANI ( ) AHMAD AFIFUDDIN R ( ) EKA YANI ( ) RAHMAT ( )
3
APA YANG DIMAKSUD DENGAN Control Flow Testing
RUMUSAN MASALAH APA YANG DIMAKSUD DENGAN Control Flow Testing Mengapa Menggunakan Control Flow Testing Kriteria Contol Flow Testing Efektivitas dari Control-flow Testing Keterbatasan dari Control-flow Testing
4
1. Control-Flow Testing Control-flow testing adalah strategi pengujian struktural yang menggunakan aliran kontrol program sebagai model. Teknik Control-flow testing didasarkan dengan memilih satu set jalur tes (set of test paths) melalui program.
5
2. Alasan Memakai Control-flow testing
Control-flow testing yang paling berlaku untuk perangkat lunak baru sebagai unit testing. Control-flow testing mempunyai asumsi: Spesifikasi benar Data telah didefinisikan dan diakses dengan benar Tidak ada bug selain yang mempengaruhi control flow Bahasa terstruktur dan OO mengurangi jumlah kontrol aliran bug.
6
3. Jenis-Jenis Control Flow Testing a
3. Jenis-Jenis Control Flow Testing a. Outline Control Flow Testing Ini merupakan garis kontrol pengujian suatu arus
7
b. Control Flowgraphs Control flowgraph adalah representasi grafis dari struktur kontrol program. Simbol flowgraph
8
=> Flowgraphs terdiri dari tiga Primitives
Decision (Keputusan) adalah titik di mana program yang kontrol dapat menyimpang. (misal, if and case statements). Junction (Persimpangan) adalah titik program di mana aliran kontrol dapat bergabung. can merge. (misal, end if, end loop, goto label) Process block (Blok Proses) adalah urutan dari pernyataan program yang tidak terganggu oleh salah satu keputusan atau persimpangan. (yaitu, straight-line code). Sebuah proses memiliki satu entri dan satu pintu keluar. Suatu program tidak melompat ke dalam atau keluar dari suatu proses.
9
Contoh Control Flow Graph
Source: The Art of Software Testing – Glenford Myers
10
Metode pengujian White-box
White box testing adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%. Dilakukan melalui :
11
* Decision/Branch Coverage * Condition Coverage
* Statement Coverage * Decision/Branch Coverage * Condition Coverage * Decision/Condition Coverage * Path Coverage
12
=> Jenis Pengujian a. Statement Coverage
Melaksanakan semua pernyataan setidaknya sekali Berapa banyak kasus yang diuji? A=2 and B=0 (ace) Source: The Art of Software Testing – Glenford Myers
13
b. Decision/Branch Coverage
Setiap keputusan memiliki hasil yang benar dan salah setidaknya Banyak kasus yang diuji? A=2 and B=0 (ace) A=1 and X=1 (abd) Source: The Art of Software Testing – Glenford Myers
14
c. Condition Coverage Setiap kondisi dalam sebuah keputusan mengambil semua hasil yang memungkinkan, setidaknya sekali kondisi: A>1, B=0, A=2, X>1 Berapa banyak kasus yang diuji? A=2, B=0, and X=4 (ace) A=1, B=1, and X=1 (abd) Source: The Art of Software Testing – Glenford Myers
15
d. Decision/Condition Coverage
Each condition in a decision takes on all possible outcomes at least once, and each decision takes on all possible outcomes at least once How many test cases? A=2, B=0, and X=4 (ace) A=1, B=1, and X=1 (abd) What about these? A=1, B=0, and X=3 A=2, B=1, and X=1 (abe) (abe)
16
e. Path Coverage Every unique path through the program is executed at least once A=2, B=0, X=4 (ace) A=2, B=1, X=1 (abe) A=3, B=0, X=1 (acd) A=1, B=1, X=1 (abd) Source: The Art of Software Testing – Glenford Myers
17
3. Kriteria Control-flow Testing
Ada 3 kriteria: 1) Path Testing ( ): 100% path coverage. Jalankan semua control flow paths through the program.
18
Lanjutan 2) Statement Testing ( ): 3) Branch Testing ( ):
100% statement coverage. Execute all statements in a program at least once under some test. 3) Branch Testing ( ): 100% branch coverage. Execute enough tests to assure that every branch alternative has been exercised at least once under some test.
19
4. Efektivitas dari Control-flow Testing
Sekitar 65% dari semua bug dapat ditangkap di unit testing. Unit testing di dominasi menggunakan metode control-flow testing. Statement (pernyataan) dan branch testing (pengujian cabang) didominasi control-flow testing.
20
5. Keterbatasan dari Control-flow Testing
Control-flow testing sebagai teknik pengujian tunggal dibatasi oleh : Ketidaksesuaian antarmuka dan kesalahan tidak tertangkap. Tidak semua kesalahan yang terinisialisasi tertangkap dengan metode control-flow testing. Kesalahan spesifikasi tidak tertangkap.
21
Unit program untuk menentukan bilangan terbesar dari 3 bilangan.
Untuk menghitung ukuran kompleksitas logik dari suatu kode program, V(G), penguji melakukan basis path testing. Nilai V(G), menyatakan jumlah maksimum kasus uji yang harus didesain dengan mengidentifikasi sekumpulan basis ekseskusi paths untuk menjamin semua pernyataan dieksekusi paling tidak satu kali Koding:
22
Contoh CFG A, B, C 1 2 T F A > B 3 4 A > C B > C T F T F 5 6
if A>B if A>C max = A else max = B end if B>C max = C 2 T F A > B 3 4 A > C B > C T F T F 5 6 7 8 max = A max = C max = B max = C
23
Jalur yang mungkin terjadi A, B, C 1 2 T F A > B
Path Rantai Jalur 1 1-2(T)-3(T)-5 2 1-2(T)-3(F)-6 3 1-2(F)-4(T)-7 4 1-2(F)-4(F)-8 T F A > B 3 4 A > C B > C T F T F 5 6 7 8 max = A max = C max = B max = C Input Domain dan Jalur yang mungkin terjadi Input Domain Jalur A B C Terbesar pertama Terbesar kedua Terbesar ketiga 1-2(T)-3(T)-5 1-2(F)-4(T)-7 1-2(T)-3(F)-6 1-2(F)-4(F)-8
24
TERIMAKASIH Any Question ???
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.