TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

dokumen-dokumen yang mirip
TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

Tugas Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak

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

REKAYASA PERANGKAT LUNAK MATERI TM 13

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

BAB 9 PENGUJIAN PERANGKAT LUNAK

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

A. Pengujian Perangkat Lunak

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

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

Nama : Rendi Setiawan Nim :

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

BAB 6 METODE PENGUJIAN

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

Software Testing Technique

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

TESTING PROGRAM. Pertemuan Nurul Adhayanti

SOFTWARE TESTING. Ratna Wardani

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

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

Dibuat Oleh : 1. Andrey ( )

TEKNIK PENGUJIAN PERANGKAT LUNAK

PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING)

Dwi Hartanto, S.Kom 6/11/2012. Pertemuan 13 PSBO 1

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

PENGUJIAN PERANGKAT LUNAK

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

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

Testing dan Implementasi Sistem

Teknik Pengujian (2) Whitebox Testing

Teknik Informatika S1

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

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

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

Teknik Informatika S1

METODE PENGUJIAN PERANGKAT LUNAK

BAB I PENDAHULUAN 1.1. Latar belakang

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

Gambar (a) PDL for test design

PENGUJIAN PERANGKAT LUNAK

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

SISTEM INFORMASI HARGA POKOK PRODUKSI KAYU LAPIS PADA PT. KTC

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

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

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

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Dasar-dasar Pengujian Perangkat Lunak. Minggu ke 5

IMPLEMENTASI DAN PENGUJIAN

Teknik Pengujian Perangkat Lunak By : Afijal. M.Kom

BAB V IMPLEMENTASI SISTEM

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

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX

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

Rekayasa Perangkat Lunak

Teknik Informatika S1

TESTING DAN IMPLEMENTASI SISTEM APLIKASI DATA MATA KULIAH

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

SISTEM PENUNJANG KEPUTUSAN PENERIMAAN GURU BERBASIS WEB

CONTOH PENGUJIAN BLACK BOX DAN WHITE BOX

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

Teknik Pengujian (3) Blackbox Testing

BAB I PENDAHULUAN 1.1 Latar Belakang Kesehatan menempati urutan tertinggi dalam menunjang kelangsungan aktivitas harian setiap manusia (Batubara,

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

Testing dan Implementasi Sistem Informasi

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

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

Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana

Testing dan Implementasi Sistem Lukman Hakim dan Suwanto R

Testing dan Implementasi

BAB III OBJEK DAN METODE PENELITIAN

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

BAB V IMPLEMENTASI SISTEM

BAB 1 PENDAHULUAN. 1.1 Aplikasi Pengolahan Nilai Sementara Mahasiswa

BAB V IMPLEMENTASI SISTEM

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

BAB I PENDAHULUAN. yang paling sering digunakan oleh manusia adalah komputer. Komputer telah

Teknik Informatika S1

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB I PENDAHULUAN 1.1 Latar Belakang

TESTING SW SE6161 Perancangan dan Analisis Perangkat Lunak 1

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

REVIEW PENGUJIAN S/W. Oleh Cipta Wahyudi

BAB V IMPLEMENTASI SISTEM

Pengujian Perangkat Lunak

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

BAB III OBJEK DAN METODE PENELITIAN

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

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

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

Rekayasa Perangkat Lunak Pengujian Perangkat Lunak. Teknik Informatika UNIKOM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

Transkripsi:

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

TESTING Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum, atau untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya. Pengujian merupakan suatu tahapan pengerjaan yang bertujuan mencari kesalahan program. Kesalahan yang terjadi selama proses pengembangan perangkat lunak akan mengakibatkan bertambahnya waktu untuk menyelesaikan pekerjaan tersebut. Pengujian hendaknya dilakukan pada setiap tahap pengembangan yaitu mulai dari tahap analisis kebutuhan sampai dengan tahap perawatan.

KENAPA HARUS DIUJI? Kita bukan seorang programmer yang cukup baik Kita mungkin tidak dapat cukup berkonsentrasi untuk menghindari kesalahan Kita terkadang lupa menggunakan pemrograman terstruktur secara penuh, perancangan atas-bawah untuk mendapatkan solusi Kita kadang buruk dalam mengerjakan sesuatu

KENAPA HARUS DI UJI (2) Kita seharusnya dapat membedakan apa yang dikatakan programmer lain atau pelanggan dan apa yang sebenarnya mereka pikirkan Kita seharusnya merasa bersalah apabila seseorang harus menguji koding kita Pengujian merupakan suatu perizinan terhadap kesalahan

PRINSIP PENGUJIAN Beberapa prinsip pengujian yang harus diperhatikan (diusulkan oleh Davis): 1. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan. 2. Pengujian harus direncanakan lama sebelum pengujian itu dimulai. 3. Prinsip Pareto berlaku untuk pengujian PL. Prinsip Pareto mengimplikasikan 80% dari semua kesalahan yang ditemukan selama pengujian sepertinya akan dapat ditelusuri sampai 20% dari semua modul program.

PRINSIP PENGUJIAN (2) 4. Pengujian harus mulai "dari yg kecil" dan berkembang ke pengujian "yang besar". 5. Pengujian yg mendalam tidak mungkin. 6. Paling efektif, pengujian dilakukan oleh pihak ketiga yang independen

SASARAN PENGUJIAN Glen Mayers menyatakan sejumlah aturan yang dapat dipandang sebagai sasaran dari pengujian Pengujian perangkat lunak adalah suatu proses pengeksekusian program dengan tujuan menemukan kesalahan (error) Pengujian (Test case) yang baik adalah yang mempunyai probabilitas yang tinggi untuk menemukan error yang tak diketemukan Pengujian yang sukses adalah pengujian yang dapat menemukan kesalahan (error) yang tidak ditemukan sebelumnya 7

TUJUAN PENGUJIAN Tujuan yang diinginkan dari pelaksanaan pengujian perangkat lunak adalah : Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai. Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan. Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan.

TEST ABILITAS Testabilitas Perangkat Lunak adalah seberapa mudah sebuah program komputer dapat diuji. Karena pengujian sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi mudah.

Karakteristik PL yang Di Uji OPERABILITAS Semakin baik dia bekerja semakin efisien dia dapat diuji. OBSERVABILITAS Apa yang anda lihat adalah apa yang anda uji. KONTROLABILITAS Semakin baik kita dapat mengontrol PL, semakin banyak pengujian yang dapat diotomatisasi dan dioptimalkan. DEKOMPOSABILITAS Dengan mengontrol ruang lingkup pengujian kita dapat lebih cepat mengisolasi masalah dan melakukan pengujian kembali.

Karakteristik PL yang Di Uji (2) KESEDERHANAAN Semakin sedikit yg diuji semakin cepat pengujian. STABILITAS Semakin sedikit perubahan semakin sedikit gangguan pengujian. KEMAMPUAN DIPAHAMI Semakin banyak informasi yang dimiliki semakin detail pengujiannya. 11

ATRIBUT PENGUJIAN YANG BAIK Memiliki probabilitas yg tinggi menemukan kesalahan. Tidak redundan. Harusnya jenis terbaik. Tidak boleh terlalu sederhana atau terlalu kompleks

DESAIN TEST CASE Terdapat bermacam-macam rancangan metode test case yang dapat digunakan, semua menyediakan pendekatan sistematis untuk uji coba. Yang terpenting metode menyediakan kemungkinan yang cukup tinggi untuk menemukan kesalahan.

DESAIN TEST CASE (2) Terdapat 2 macam test case: 1. Pengetahuan tentang fungsi yang spesifik dari produk yang telah dirancang untuk diperlihatkan, test dapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalan sebagaimana yang diharapkan. 2. Pengetahuan tentang cara kerja dari produk, test dapat dilakukan untuk memperlihatkan cara kerja dari produk secara rinci sesuai dengan spesifikasinya.

PERANCANGAN TEST CASE Dua macam pendekatan test yaitu : 1. Black Box Testing Test case ini bertujuan untuk menunjukkan fungsi Perangkat Lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya.

PERANCANGAN TEST CASE (2) 2. White Box Testing (Structural Testing) Adalah meramalkan cara kerja perangkat lunak secara rinci, karenanya logikal path (jalur logika) perangkat lunak akan ditest dengan menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau pengulangan secara spesifik. Secara sekilas dapat diambil Dijamin semua independent path (jalur bebas) telah dijalankan setidaknya satu kali Teknik Pengujian Per.Lunak@Berta 16

PERANCANGAN TEST CASE (3) White Box (Lanjutan) Menjalankan semua keputusan logis pada sisi true & false Menjalankan semua looping Melakukan struktur data internal untuk menjamin validitas kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%. Teknik Pengujian Per.Lunak@Berta 17

WHITE BOX TESTING 1. Basis Path Testing Teknik uji coba White Box yang diusulkan Tom Mccabe (1976). Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yang didapat digunakan untuk mengerjakan basis set yang menjamin pengerjaan setiap perintah minimal satu kali selama uji coba. Contoh dari Basis Path Testing : Notasi Diagram Alir Cyclomatic Complexity Graph Metrix

WHITE BOX TESTING (2) 2. Loop Testing Loop Sederhana Pengujian loop sederhana dilakukan dgn mudah, dimana n jumlah maksimum yg diijinkan melewati loop tsb. 1. Lewati loop secara keseluruhan 2. Hanya satu yg dapat melewati loop 3. m dapat melewati loop dimana m< n Loop terangkai Loop tidak terstruktur 19

WHITE BOX TESTING (3) Loop Tersarang Pengujian loop ini menggunakan pendekatan loop sederhana. Petunjuk pengujian loop tersarang : 1. Dimulai dari loop paling dalam. Atur semua loop ke nilai minimum. 2. Kerjakan dgn prinsip loop sederhana untuk loop yg paling dalam sementara tahan loop yg di luar pada parameter terkecil (nilai kounter terkecil) 3. Kemudian lanjutkan untuk loop yg diatasnya. 4. Teruskan sampai semua loop selesai di uji.

WHITE BOX TESTING (4) Loop Terangkai Pengujian loop ini menggunakan pendekatan loop sederhana bila masing-masing loop independen, tetapi bila dua loop dirangkai dan pencacah loop 1 digunakan sebagai harga awal loop 2 maka loop tsb jadi tidak independen, maka pendekatan yang diaplikasikan ke loop tersarang direkomendasikan. Loop Tidak Terstruktur Kapan saja memungkinkan, loop ini didisain kembali agar mencerminkan penggunaan komsepsi pemrograman tertruktur.

WHITE BOX TESTING (5)

BASIS PATH TESTING 1. Notasi Diagram Alir (Program Flow Graph) Teknik Pengujian Per.Lunak@Berta 23

BASIS PATH TESTING (2) Notasi Diagram Alir (2)

BASIS PATH TESTING (3) Perancangan Prosedural Dalam Bentuk Flowchart

BASIS PATH TESTING (4) Gambar Grafik Alir

Keterangan Simbol Lingkaran/node : Menggambarkan satu/lebih perintah prosedural. Urutan proses dan keputusan dapat dipetakan dalam satu node. Tanda panah/edge : Menggambarkan aliran kontrol. Setiap node harus mempunyai tujuan node Region : Adalah daerah yg dibatasi oleh edge dan node. Termasuk daerah diluar grafik alir.

Program Flow Graphs Menggambarkan alur kontrol. Setiap cabang ditunjukkan oleh path yang terpisah dan loop ditunjukkan oleh arrows looping kembali ke loop kondisi node. Digunakan sebagai basis untuk menghitung cyclomatic complexity Cyclomatic complexity = Jumlah edges Jumlah Node +2 Cyclomatic complexity menyatakan jumlah test untuk menguji control statements

Program Flow Graph(1) 1 bottom > top 2 while bottom <= top 3 if (elemarray [mid] == key 8 4 (if (elemarray [mid]< key 9 5 6 7

Independent Paths 1, 2, 3, 8, 9 1, 2, 8, 9 1, 2, 3, 4, 5, 7, 2, 8, 9 1, 2, 3, 4, 6, 7, 2, 8, 9 Test cases harus ditentukan sehingga semua path tersebut tereksekusi. Teknik Pengujian Per.Lunak@Berta 30

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 Merupakan metode pelengkap White Box Testing. Berfokus pada kebutuhan fungsional dari PL. Memungkinkan perancang untuk memperoleh sekumpulan kondisi2 input yang secara penuh menguji semua kebutuhan fungsional suatu program Teknik Pengujian Per.Lunak@Berta 31

BLACK BOX TESTING (2) Metode ini berusaha menemukan kesalahan yang termasuk kategori di bawah ini Fungsi2 yg hilang atau tidak benar Kesalahan pada antarmuka Kesalahan pada struktur data atau pengaksesan database ekternal Kesalahan pada performance Kesalahan pada inisialisasi dan terminasi

BLACK BOX TESTING (3) Contoh Black Box Testing adalah 1. Equivalence Partitioning Membagi domain input dari program ke dalam klas2 data Input data dan output hasil terdapat di klas yang berbeda yang sesuai dengan klas inputnya Masing-masing klas equivalensi partition diprosres dimana program akan memproses anggota klas-klas tersebut secara equivale. Test cases dipilih dari masing-masing partisi

BLACK BOX TESTING (4) 2. Boundary Value Analysis (BVA) Melengkapi Equivalence Partitioning, dengan melakukannya dari domain output BVA merupakan pilihan test case yang mengerjakan nilai yang telah ditentukan, dengan teknik perancangan test case Melengkapi test case equivalence partitioning yg fokusnya pada domain input. Teknik Pengujian Per.Lunak@Berta 34

Hitung CC 1. Flowgraph mempunyai 4 region 2. V(G) = 11 edge - 9 node + 2 = 4 3. V(G) = 3 predicate node + 1 = 4 Perlu disiapkan 4 test case untuk masing2 path. Buat test case yang akan mengerjakan masingmasing path pada basisset. Data yang dipilih harus tepat sehingga setiap kondisi dari predicate node dikerjakan semua.

Latihan Tugas 15 % ROCEDURE RATA-RATA INTERFACE RESULT rata, total, input, total.valid INTERFACE RESULT nilai, minim, max TYPE NILAl (1:100) IS SCALAR ARRAY; TYPE rata, total. input, total.valid, max.minim, jumlah IS SCALAR; TYPE I IS INTEGER; I = 1; total. input = total. valid = 0; jumlah = 0; DO WHILE nilai(i) <> -999.and. total.input < 100 tambahkan total.input dengan 1; IF nilai(i) >= minimum.and. nilai(i} <=max; THEN tambahkan total.valid dengan I; jumlah=jumlah + nilai(i); ELSE skip; END IF tambahkan i dengan 1; ENDDO IF total. valid> 0 THEN rata =jumlah/total. valid; ELSE rata = -999; ENDIF END Teknik Pengujian Per.Lunak@Berta 36

Latihan Susun Flowchart,Flowgraph,hitung CC