Control-flow Testing MATA KULIAH : testing DAN implementasi sistem Dosen pengampu : catur iswahyudi s.Kom.,se.m.cS.

Slides:



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

Review Pertemuan 12 (Terakhir).
TEKNIK PENGUJIAN PERANGKAT LUNAK
Control Flow Testing Software Quality Eko Prasetyo Teknik Informatika
Testing dan Implementasi Sistem
REKAYASA PERANGKAT LUNAK
Testing dan Implementasi Sistem
Teknik Pengujian Perangkat Lunak
Testing dan Implementasi Sistem
TESTING PROGRAM Materi Pertemuan ke-5 & 6.
PERANCANGAN KASUS UJI.
Testing dan Implementasi Sistem Suwanto Raharjo Pertemuan ke 2:White Box Testing.
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,
Kriteria Rekayasa Perangkat Lunak (lanjutan)
Pertemuan 5 PENGUJIAN WHITE BOX.
TEKNIK TESTING DAN STRATEGI TESTING
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Pengujian Cacat (Defect Testing) l Pengujian program untuk mengungkap adanya.
Testing dan implemantasi sistem
Testing.
a.k.a structural testing WHITE BOX TESTING clear box testing
Proses defect testing.
VALIDASI SOFTWARE (Nelly Sofi).
Testing dan implementasi sistem
TEKNIK-TEKNIK PENGUJIAN PERANGKAT LUNAK
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 dan Implementasi Sistem Desain Test case Lainnya
TESTING PROGRAM.
White Box Testing Pembuatan Flowgraph Pembuatan Testcase.
Rekayasa Perangkat Lunak
Pengujian Perangkat Lunak
WHITE BOX TESTING PENGUJIAN BASIS PATH
Teknik 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 & IMPLEMENTASI SISTEM
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-11)
Dasar-dasar Pengujian Perangkat Lunak
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-10)
TESTING DAN IMPLEMENTASI PERTEMUAN 3
Software Engineering ( Pressman )
TESTING DAN IMPLEMENTASI PERTEMUAN 4
TESTING & IMPLEMENTASI “WHITE BOX TESTING”
DIAGRAM ALUR (FLOWCHART)
WHITE BOX TESTING DAN BLACK BOX TESTING
Teknik Pengujian Software
Validasi dan Verifikasi Software
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.
Pengujian Perangkat Lunak
Pengujian White Box Kustanto 11/27/2018 Pengujian white box.
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:

Control-flow Testing MATA KULIAH : testing DAN implementasi sistem Dosen pengampu : catur iswahyudi s.Kom.,se.m.cS

DISUSUN OLEH : ZUL FAHMI HUSEIN (131. 05. 1010) KAROLUS LIYUDANUS (131 DISUSUN OLEH : ZUL FAHMI HUSEIN (131.05.1010) KAROLUS LIYUDANUS (131.05.1017) ISWANTO (131.05.1030) RIRIN SEPTRISULVIANI (131.05.1060) AHMAD AFIFUDDIN R (131.05.1076) EKA YANI (131.05.1092) RAHMAT (131.05.10)

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

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.

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.

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

b. Control Flowgraphs Control flowgraph adalah representasi grafis dari struktur kontrol program. Simbol flowgraph

=> 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.

Contoh Control Flow Graph Source: The Art of Software Testing – Glenford Myers

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 :

* Decision/Branch Coverage * Condition Coverage * Statement Coverage * Decision/Branch Coverage * Condition Coverage * Decision/Condition Coverage * Path Coverage

=> 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

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

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

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)

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

3. Kriteria Control-flow Testing Ada 3 kriteria: 1) Path Testing ( ): 100% path coverage. Jalankan semua control flow paths through the program.

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.

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.

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.

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:

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

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

TERIMAKASIH  Any Question ???