Software Testing Technique

dokumen-dokumen yang mirip
Nama : Rendi Setiawan Nim :

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

Dibuat Oleh : 1. Andrey ( )

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

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 Software. Teknik Pengujian Software. Apa yang Ditunjukan Pengujian. Tujuan Pengujian. Prinsip Pengujian. Testability : Kemudahan Diuji

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

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

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

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

A. Pengujian Perangkat Lunak

PENGUJIAN PERANGKAT LUNAK

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

BAB 6 METODE PENGUJIAN

Teknik Pengujian (2) Whitebox Testing

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

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

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

CONTOH PENGUJIAN BLACK BOX DAN WHITE BOX

SOFTWARE TESTING. Ratna Wardani

Rekayasa Perangkat Lunak

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

Tugas Rekayasa Perangkat Lunak

TESTING PROGRAM. Pertemuan Nurul Adhayanti

Gambar (a) PDL for test design

Testing dan Implementasi Sistem

Definisi Black Box. pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu. q Menurut Myers (1979) :

Sistem (3 sks) Black Box Testing (1) Black Box Testing

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

Teknik Informatika S1

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

Teknik Informatika S1

METODE PENGUJIAN PERANGKAT LUNAK

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

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

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

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

Blackbox testing black box berfokus pada pengujian persyaratan fungsional perangkat lunak

Teknik Pengujian (3) Blackbox Testing

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

Testing Implementasi Sistem. Black Box Testing Equivalence Partitioning & Boundary Value Analysis

Rekayasa Perangkat Lunak Pengujian Perangkat Lunak. Teknik Informatika UNIKOM

Testing dan Implementasi

REKAYASA PERANGKAT LUNAK MATERI TM 13

TESTING DAN IMPLEMENTASI SISTEM APLIKASI DATA MATA KULIAH

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

Teknik Informatika S1

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX

BAB 9 PENGUJIAN PERANGKAT LUNAK

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

Teknik Informatika S1

SATUAN ACARA PERKULIAHAN(SAP)

BAB V IMPLEMENTASI SISTEM

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

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

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING)

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

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

TEKNIK PENGUJIAN PERANGKAT LUNAK

SATUAN ACARA PERKULIAHAN PROGRAM STUDI : S1 SISTEM INFORMASI

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

Silabus dan Satuan Acara Perkuliahan

Rekayasa Perangkat Lunak

Pengujian Perangkat Lunak

BAB 1 PENDAHULUAN. 1.1 Aplikasi Pengolahan Nilai Sementara Mahasiswa

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

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGUJIAN PERANGKAT LUNAK

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

SATUAN ACARA PERKULIAHAN (SAP)

Dasar-dasar Pengujian Perangkat Lunak. Minggu ke 5

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

BAB II LANDASAN TEORI. sehingga komputer dapat memproses input menjadi output.

BAB I PENDAHULUAN 1.1. Latar belakang

TESTING SW SE6161 Perancangan dan Analisis Perangkat Lunak 1

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

TINJAUAN PUSTAKA. Pengujian adalah proses eksekusi program untuk menemukan kesalahan.

Testing dan Implementasi Sistem Informasi

Teknik Informatika S1

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

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

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

BAB III OBJEK DAN METODE PENELITIAN

BAB V IMPLEMENTASI SISTEM

Tujuan. entitas yang kemudian akan dibangun. ó Menghasilkan suatu model atau representasi dari. Tim RPL 1 2

Black box testing ISQA

BAB V IMPLEMENTASI SISTEM

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI SISTEM

Program Development Cycle

Rekayasa Perangkat Lunak TI1153

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

BAB II TINJAUAN PUSTAKA. Kuliah Kerja Nyata (KKN) Universitas Lampung bertujuan untuk menjamin

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Transkripsi:

Software Testing Technique -- Materi 10 -- -- P e r t e m u a n 1 4 -- bestpowerpointtemplates.com

Acknowledgement Materi dalam slide ini sebagian besar diambil dari slide buku [Pressman, 2010], mohon tidak digunakan untuk keperluan lain selain kuliah TIS. Sumber lain: Materi Testing dan Implementasi [Ayuliana, 2011] Teknik Pengujian Perangkat Lunak [Nur Cahyo] White Box Testing Materi Testing dan Implementasi Sistem [Romeo, 2006] 2

Desain Test Case Bugs bersembunyi di sudut dan berkerumun di batasan dinding - Boris Beizer - Tujuan Kriteria Kendala Untuk menemukan errors Secara lengkap dengan usaha dan waktu minimal 3

Pengujian yang Melelahkan loop < 20 X Terdapat kemungkinan 10 14 jalur! Jika untuk eksekusi 1 test perlu 1 ms, maka akan memerlukan 3.170 tahun untuk menguji seluruh program. 4

Selektif Testing Jalur terpilih loop < 20 X 5

Sebelum Testing Software Dilakukan Dua bahan yg disediakan untuk proses uji: 1. Konfigurasi software, termasuk Spesifikasi Software saat Requirement dan Source code 2. Konfigurasi uji, termasuk Test Plan & Procedure, perangkat testing yg akan digunakan, test case dan hasil yg diharapkan 6

Pengujian Software Metode white-box Metode black-box Metode Strategi 7

Metode Testing Software Dua metode pendekatan perancangan test case: 1. White Box Testing (pada sesuatu yg kecil (modul)) berfokus pada struktur kontrol program. Dijamin semua independent path (jalur bebas) telah dijalankan setidaknya satu kali Menjalankan semua keputusan logis pada sisi true & false Menjalankan semua looping Melakukan struktur data internal untuk menjamin validitas 2. Black Box Testing (yang besar) fokus pada fungsional software, secara penuh menguji semua kebutuhan fungsional suatu program. Memastikan semua input diterima dengan benar dan ouput yg dihasilkan juga benar-benar tepat, integrasi dari eksternal data berjalan dengan baik. 8

Metode Testing Software Dalam Bahasa Sederhana White-box : untuk testing sebuah program Black-box : untuk testing hubungan antar program dalam sebuah sistem. 9

White-Box Testing 10

Metode White-Box... Tujuannya adalah untuk meyakinkan bahwa semua statement dan kondisi telah dieksekusi paling tidak sekali 11

Mengapa Harus Ditelusuri? Kesalahan logika dan asumsi yang tidak benar berbanding terbalik dengan probabilitas eksekusi suatu jalur Seringkali kita percaya bahwa suatu jalur kelihatannya tidak tereksekusi. Kenyataannya seringkali berlawanan dengan intuisi Kesalahan penulisan sering random; dimungkinkan pada jalur yang tidak teruji memuat beberapa. 12

Basis Path Testing Merupakan teknik white box testing yang dikenalkan oleh Tom McCabe. Metode identifikasi yang berdasarkan pada jalur, struktur atau koneksi yang ada dari suatu sistem ini biasa disebut juga sebagai branch testing, karena cabang-cabang dari kode atau fungsi logika diidentifikasi dan dites, atau disebut juga sebagai control-flow testing.

Basis Path Testing Basis path hadir dalam 2 bentuk, yaitu: Zero Path: Jalur penghubung yang tidak penting atau jalur pintas yang ada pada suatu sistem. One Path: Jalur penghubung yang penting atau berupa proses pada suatu sistem. 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.

Basis Path Testing 1. Notasi Flow Graph atau Program Graph Contoh struktur dalam flow graph: Sequence While If Case Until 2. Cyclomatic Complexity, merupakan pengukuran software yang menyediakan pengukuran kuantitatif dari kompleksitas logis suatu program. Nilai cyclomatic complexity mendefinisikan jumlah jalur bebas pada basis program.

Basis Path Testing 3. Independent path (jalur bebas) merupakan jalur pada program yg menunjukkan setidaknya satu kumpulan pernyataan pemrosesan baru atau kondisi baru. Langkah2 Basis Path Testing: - gunakan rancangan atau kode sebagai pondasi, lalu gambarkan flow graph - tentukan cyclomatic complexity, dinyatakan V(G) dari flow graph - tentukan sekumpulan basis secara linear jalur bebas - persiapkan test case yg akan memperkuat eksekusi setiap jalur pada sekumpulan basis program 16

Notasi Flow Chart Jika tadi sudah diperlihatkan Notasi Flow Graph, maka berikut adalah notasi untuk flow chart: Sequence If While Until Case 17

Basis Path Testing Dari kode sumber dibuatkan gambar flow chart untuk kemudian ditentukan berapa banyak jalur test yang harus dilakukan 1 Do while records remain read record; 2 Calculate proses; 3 If record field 1 = 0 4 Then process record; 5 Store in buffer; Increment counter; 6 Else If record field 2 = 0 8Then reset counter; 7 Else process record; Store in file; 9Endif 10 Endif 11 Enddo End 18

Basis Path Testing dalam Flow Graph Flow Chart Flow Graph 19

Kompleksitas Cyclomatic Adalah pengukuran software yang memberikan pengukuran kuantitatif dari kompleksitas logika program. Pada konteks metode basis path testing, nilai yang dihitung pada cyclomatic complexity menentukan: 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 sekurangnya satu kali. Jalur independen adalah tiap jalur pada program yang memperlihatkan 1 kelompok baru dari pernyataan proses atau kondisi baru.

Kompleksitas Cyclomatic Berdasarkan urutan alurnya, didapatkan suatu kelompok basis flow graph: Jalur 1 : 1 11 Jalur 2 : 1-2-3-4-5-10-1-11 Jalur 3 : 1-2-3-6-7-9-10-1-11 Jalur 4 : 1-2-3-6-8-9-10-1-11

Kompleksitas Cyclomatic Nilai Kompleksitas V(G) = E (edges) N (nodes) + 2 V(G) = 11 9 + 2 = 4 V(G) = P (predicate node) + 1 V(G) = 3 + 1 = 4

Kompleksitas Cyclomatic Tahapan dalam membuat test cases dengan menggunakan cyclomatic complexity: Gunakan disain atau kode sebagai dasar, gambarlah flow graph Berdasarkan flow graph, tentukan cyclomatic complexity Tentukan kelompok basis dari jalur independen secara linier Siapkan test cases yang akan melakukan eksekusi dari tiap jalur dalam kelompok basis 23

Contoh Lain White Box Testing Pengujian White Box Testing yang lain adalah Control Structure Testing yang meliputi: 1. Condition Testing, menjalankan kondisi logis yang terdapat pada modul program 2. Data Flow Testing, metode yg menyeleksi jalur test program menurut lokasi pendefinisian & menggunakan variabelvariabel program 3. Loop Testing, berfokus pada validitas dari bentuk loop (simple loop, concatenated loop, nested loop, unstructured loop) 24

Loop Testing Loop testing adalah suatu teknik white box testing yang berfokus pada validitas konstruksi loop secara eksklusif. Gambar pada slide berikutnya memperlihatkan empat tipe yang berbeda dari loop, yaitu: Simple Loops Nested Loops Concatenated Loops Unstructured Loops 25

Jenis Loop Testing Simple Loop Nested Loops Concatenated Loops Unstructured Loops 26

Loop Testing Simple Loops. Sekumpulan tes berikut ini dapat digunakan untuk simple loops, dimana n adalah jumlah maksimum yang dapat dilewatkan pada loop. Kondisi minimum simple loop: Lompati loop secara keseluruhan, tak ada iterasi/lewatan pada loop. Lewati hanya satu kali iterasi pada loop. Lewati dua kali iterasi pada loop. Lewati m kali iterasi pada loop dimana m<n. Lewati(n-1), n, dan (n+1) kali iterasi pada loop.

Loop Testing Nested Loops. Jika pendekatan tes untuk simple loops dikembangkan pada nested loops, jumlah kemungkinan tes akan berkembang secara geometris searah dengan semakin tingginya tingkat dari nested loops. Menurut Beizer, nested loop memberikan suatu pendekatan yang akan menolong untuk mengurangi jumlah tes. Mulailah dari loop yang paling dalam. Set semua loops lainnya dengan nilai minimum. Lakukan tes simple loops untuk loop yang paling dalam, dengan tetap mempertahankan loops yang ada di luarnya dengan iterasi yang minimum. Kerjakan dari dalam ke luar, lakukan tes untuk loop berikutnya, tapi dengan tetap mempertahankan semua loop yang berada di luar pada nilai minimum dan nested loop lainnya pada nilai yang umum. Teruskan hingga keseluruhan dari loops telah dites.

Loop Testing Concatenated Loops. Concatenated loops dapat dites dengan menggunakan pendekatan simple loops, jika tiap loops independen (tidak saling bergantung) satu sama lain. Jika dua loops tidak independen, maka gunakan pendekatan nested loops. Unstructured Loops. Tidak dapat dites dengan efektif. Dan bila memungkinkan loops jenis ini harus didisain ulang.

Black-Box Testing 30

Black Box Testing requirements output input events 31

Black Box Testing Pendekatan pengujian dimana program dianggap sebagai suatu black-box ( kotak hitam ) Program test case berbasiskan spesifikasi Test planning dapat dimulai sejak awal proses pengembangan sistem 32

Black Box Testing Input test data I e Inputs causing anomalous behaviour System Output test results O e Outputs which reveal the presence of defects 33

Black Box Testing Merupakan metode pelengkap White Box Testing. Berfokus pada kebutuhan fungsional dari software Memungkinkan perancang untuk memperoleh sekumpulan input yg secara penuh menguji semua kebutuhan fungsional suatu program Metode Black Box berusaha menemukan kesalahan yg termasuk kategori di bawah ini: - fungsi-fungsi yg hilang atau tidak benar - kesalahan pada antarmuka - kesalahan pada struktur data atau pengaksesan database ekternal - kesalahan pada performance - kesalahan pada inisialisasi dan terminasi 34

Contoh Penggunaan Black Box Testing Contoh lain Black Box Testing adalah 1. Equivalence Partitioning, membagi domain input dari program ke dalam tiap jenis data 2. Boundary Value Analysis (BVA) melengkapi Equivalence Partitioning, dengan melakukannya dari domain output 3. Cause-effect Graphing, memvalidasi aksi-aksi & kondisi yg kompleks 35

Equivalence Partitioning (ketepatan) 36

Equivalence Partitioning Input data dan output hasil terdapat di kategori yang berbeda yang sesuai dengan kategori inputnya Masing-masing kategori equivalensi partition diprosres dimana program akan memproses semua kategori tersebut secara sama rata (equivalent). Test cases dipilih dari masing-masing partisi 37

Equivalence Partitioning Kumpulan input per kategori Invalid inputs Valid inputs System Kumpulan output per kategori Outputs 38

Equivalence Partitioning Partisi input dan output sistem ke dalam equivalence sets Jika input adalah 5-digit integer antara 10000 dan 99999, maka equivalence partitions-nya adalah <10000, 10000-99999, dan >100000 Pilih test case dari tiap batasan tersebut, misal: 00000, 9999, 10000, 99999, 100001 39

Equivalence Partitioning 3 4 7 11 10 Less than 4 Between 4 and 10 More than 10 Number of input values Nilai angka yang dimasukkan 9999 10000 50000 100000 99999 Less than 10000 Between 10000 and 99999 More than 99999 Kategori Input values nilai input 40

Equivalence Partitioning Perancangan test case equivalence partitioning dilakukan berdasarkan evaluasi kelas equivalence untuk kondisi input yg menggambarkan kumpulan keadaan yg valid atau tidak. Kondisi input dapat berupa nilai numeric, range nilai, kumpulan nilai yg berhubungan atau kondisi Boolean. Contoh: Pemeliharaan data untuk aplikasi bank yg sudah diotomatisasikan. Pemakai dapat memutar nomor telepon bank dengan menggunakan mikro komputer yg terhubung dengan password yg telah ditentukan dan diikuti dengan perintah-perintah. Data yg diterima adalah : Kode area : kosong atau 3 digit Prefix : 3 digit atau tidak diawali 0 atau 1 Suffix : 4 digit Password : 6 digit alfanumerik Perintah : check, deposit, dll 41

Equivalence Partitioning Selanjutnya kondisi input digabungkan dengan masing-masing data elemen ditentukan sbb : Kode area : kondisi input, Boolean kode area mungkin ada atau tidak kondisi input, range nilai ditentukan antara 200 dan 999 Prefix : kondisi input range > 200 atau tidak diawali 0 atau 1 Suffix : kondisi input nilai 4 digit Password : kondisi input boolean pw mungkin diperlukan atau tidak kondisi input nilai dengan 6 karakter string Perintah : kondisi input set berisi perintah-perintah yang telah didefinisikan 42

Boundary Value Analysis (Analisa Nilai Batas) 1. Menguji untuk input di sekitar batas atas maupun bawah sebuah range nilai yang valid. 2. Menguji nilai maksimal dan minimal. 3. Menerapkan (1 & 2) untuk output. 4. Menguji batas struktur data yang dipakai. Misal ukuran array. 43

Boundary Value Analysis (Analisa Nilai Batas) user queries mouse picks output formats prompts FK input data input domain output domain 44

Cause-Effect Graphs (Grafik Sebab-Akibat) Ambil relasi spesifik antara kombinasi input (sebab) dan output (akibat) Grafik ini juga menentukan titik temu antara ekfek dari input dan output

Menggambar Cause-Effect Graphs A B If A then B (identitas) A C B If (A and B)then C

Menggambar Cause-Effect Graphs A C B If (A or B) then C A C B If (not(a AND B)) then C

Menggambar Cause-Effect Graphs A C B If (not (A OR B))then C A B If (not A) then B

Skenario Pengujian Khusus Pengujian GUI (Graphic User Interface). Pengujian arsitektur client/ server. Pengujian dokumentasi dan fasilitas bantuan. Pengujian sistem waktu nyata. 49

Ini adalah akhir materi MK Testing dan Implementasi Sistem 2013 Pertanyaan? 50

Next Meeting... Presentasi tugas kelompok studi kasus (2x pertemuan) Pemberian Kisi-Kisi UAS (akhir perkuliahan) Ujian Akhir Semester ( jadwal dari kampus) 51