Rekayasa Perangkat Lunak TI1153

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

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

PENGUJIAN PERANGKAT LUNAK. Muhammad Riza Hilmi, ST.

A. Pengujian Perangkat Lunak

Dibuat Oleh : 1. Andrey ( )

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

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

PENGUJIAN PERANGKAT LUNAK

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

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

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

TESTING & IMPLEMENTASI SISTEM 4KA PENDAHULUAN. helen.staff.gunadarma.ac.id

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

Nama : Rendi Setiawan Nim :

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

Testing dan Implementasi Sistem Informasi

Rekayasa Perangkat Lunak

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

SATUAN ACARA PERKULIAHAN(SAP)

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

Silabus dan Satuan Acara Perkuliahan

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

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

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

BAB 2 LANDASAN TEORI Enterprise Resource Planning (ERP)

PERTEMUAN 13 STRATEGI PENGUJIAN PERANGKAT LUNAK

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

BAB 1 PENDAHULUAN. Secara umum, diketahui bahwa dalam suatu siklus pengembaangan perangkat lunak selalu terdapat empat proses utama, yaitu :

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

Siklus Pengembangan Perangkat Lunak

Software Testing Technique

Rekayasa Perangkat Lunak

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

SATUAN ACARA PERKULIAHAN PROGRAM STUDI : S1 SISTEM INFORMASI

Teknik Informatika S1

Testing dan Implementasi Sistem

SATUAN ACARA PERKULIAHAN (SAP)

Strategi Pengujian Perangkat Lunak. Minggu ke 8

BAB 6 METODE PENGUJIAN

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

BAB I PENDAHULUAN 1.1 Latar Belakang

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

24/09/2017 PERCABANGAN

TESTING DAN IMPLEMENTASI SISTEM APLIKASI DATA MATA KULIAH

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

SOFTWARE TESTING. Ratna Wardani

Pengujian pada Perangkat Lunak. Lukman Hakim

ABSTRAKSI DEKOMPOSISI PENGUJIAN Dalam REKAYASA PERANGKAT LUNAK

Teknik Pengujian (2) Whitebox Testing

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

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

Teknik Informatika S1

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

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

Strategi Pengujian Perangkat Lunak

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

Teknik Informatika S1

Teknik Informatika S1

Percabangan & Perulangan

Program Development Cycle

BAB 1 PENDAHULUAN. 1.1 Aplikasi Pengolahan Nilai Sementara Mahasiswa

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

Kualitas Software dan Pengujian

BAB 5 FAKTOR PENGUJIAN

Testing dan Implementasi Sistem

Rekayasa Perangkat Lunak

BAB 1 PENDAHULUAN 1.1. Latar Belakang

Pengujian Sistem Informasi Pengelolaan Pelatihan Kerja Upt. BLK Kabupaten Kudus dengan Metode Whitebox Testing

PENGUJIAN PERANGKAT LUNAK

REVIEW PENGUJIAN S/W. Oleh Cipta Wahyudi

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

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

Blackbox testing black box berfokus pada pengujian persyaratan fungsional perangkat lunak

REKAYASA PERANGKAT LUNAK

PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING)

BAB II LANDASAN TEORI. pembelian dilakukan dengan mengubah bentuk barang. 2003). Menurut Soemarso S.R (1994) kegiatan pembelian dalam perusahaan

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX

STRATEGI PENGUJIAN PERANGKAT LUNAK

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

RANCANGAN PEMBELAJARAN

SATUAN ACARA PERKULIAHAN MATA KULIAH REKAYASA PERANGKAT LUNAK KODE/SKS : TI11. C342 / 2 SKS

SUMBER BELAJAR PENUNJANG PLPG

REKAYASA PERANGKAT LUNAK MATERI TM 13

Teknik Pengujian (3) Blackbox Testing

PENGUJIAN PERANGKAT LUNAK. Oleh Cipta Wahyudi

SOFTWARE QUALITY ASSURANCE

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

BAB 9 PENGUJIAN PERANGKAT LUNAK

TESTING PROGRAM. Pertemuan Nurul Adhayanti

Chapter 9 Software testing strategies

BAB I PENDAHULUAN 1.1 Latar Belakang

FAKULTAS FTKI UNIVERSITAS NASIONAL RENCANA PEMBELAJARAN

Teknik Informatika S1

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

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Dasar-dasar Pengujian Perangkat Lunak. Minggu ke 5

Transkripsi:

Rekayasa Perangkat Lunak TI1153 TEKNIK PENGUJIAN Restyandito e-mail : dito@ukdw.ac.id website : http://lecturer.ukdw.ac.id/~dito TI1153 Teknik Pengujian Restyandito - 2 Jenis Pengujian Jenis Pengujian Verifikasi Proses menentukan apakah suatu fase telah dilaksanakan dengan benar Are we building the product right? [Boehm, 1984] Validasi Evaluasi secara intensif terhadap produk sebelum diberikan kepada klien Are we building the right product? [Boehm, 1984] TI1153 Teknik Pengujian Restyandito - 3 TI1153 Teknik Pengujian Restyandito - 4 Restyandito Teknik Pengujian - 1

Kualitas Produk Kualitas Produk Kualitas suatu perangkat lunak ditentukan oleh terpenuhi atau tidaknya spesifikasi yang diharapkan. (Bandingkan dg coca cola!) SOFTWARE QUALITY ASSURANCE (SQA) - Memastikan kualitas dari software process sehingga kualitas produk terjamin - Kelompok SQA harus independence terhadap kelompok pengembang Contoh Kasus: Suatu perusahaan software development mempekerjakan 78 orang software professional (termasuk 14 orang manager), semua melakukan proses verifikasi dan validasi. Hasil penelitian menunjukkan bahwa 28% waktu mereka digunakan untuk proses pengujian. Seorang manager dibayar Rp. 13.000.000,-/th dan seorang Rp. 9.400.000,-/th Gunakanlah analisa cost-benefit untuk menentukan apakah sebaiknya satu tim dikhususkan untuk SQA? TI1153 Teknik Pengujian Restyandito - 5 TI1153 Teknik Pengujian Restyandito - 6 Non - Blind-spot - Pekerjaan me-review dilakukan oleh orang lain selain pembuat dokumen - Dokumen diteliti oleh orang-orang dengan berbagai ketrampilan yang luas. - Pelaksanaan: walkthrough inspection Non Walkthrough terdiri dari 4-6 terdapat perwakilan dari masing-masing tim pembuat spesifikasi, klien, SQA dan tim yang akan bekerja pada fase selanjutnya Masing-masing reviewer mempelajari materi yg akan dievaluasi, selanjutnya membuat 2 macam daftar, yaitu daftar hal-hal yang tidak dipahami oleh reviewer dan daftar kesalahan yang ditemukan oleh reviewer. TI1153 Teknik Pengujian Restyandito - 7 TI1153 Teknik Pengujian Restyandito - 8 Restyandito Teknik Pengujian - 2

Non Walkthrough Tugas kelompok ini hanyalah menemukan kesalahan (bukan memperbaiki kesalahan) keterbatasan waktu mengakibatkan mutu perbaikan yg dihasilkan tidak sebaik jika perbaikan dilakukan oleh seseorang yang terlatih dalam hal itu. perbaikan yg dilakukan oleh 5 orang kelompok walkthrough memakan setidaknya memakan waktu yg sama jika perbaikan dilaukan oleh 1 orang biaya lebih besar tidak semua hal yang dianggap kesalahan, benar-benar salah Ada 2 cara: participant-driven dan documentdriven Non Inspection Terdiri dari 5 langkah : 1. Overview: orang yg bertanggungjawab atas pembuatan dokumen (spesifikasi, perancangan, pengkodean, rencana) membuat/memberikan overview. 2. Preparation: anggota mencoba memahami dokumen secara detil. 3. Inspection: salah seorang anggota (moderator) memimpin pemeriksaan, mencari kesalahan yg ada dan membuat laporan tertulis. TI1153 Teknik Pengujian Restyandito - 9 TI1153 Teknik Pengujian Restyandito - 10 Non 4. Rework: orang yang bertanggungjawab atas dokumen melakukan perbaikan berdasarkan laporan tertulis 5. Follow-up: moderator memeriksa apakah semua masalah telah ditangani. Kelompok inspection terdiri dari 4 orang: moderator, perancang, implementor, dan tester Kesalahan dicatat berdasarkan tingkat (serius/ tidak) dan tipe (logika/interface) permasalahan. Non Beberapa acuan yang dipakai untuk mengukur efektivitas inspection: - fault density, jumlah kesalahan per halaman (KLOC) - fault detection rate, jumlah kesalahan yang dapat dideteksi per jam - fault detection efficiency, jumlah kesalahan per orang per jam yang terdeteksi. TI1153 Teknik Pengujian Restyandito - 11 TI1153 Teknik Pengujian Restyandito - 12 Restyandito Teknik Pengujian - 3

Program testing, cara yang efektif untuk menemukan keberadaan bug, tetapi tidak untuk sebaliknya. EBT adalah suatu proses pengujian suatu produk berdasarkan hasil eksekusi pada suatu lingkungan yang diketahui. TI1153 Teknik Pengujian Restyandito - 13 Sifat-sifat suatu produk dapat diukur berdasar: Kegunaan (utility), apakah kebutuhan pengguna terpenuhi jika produk dijalankan pada kondisi yang diijinkan oleh spesifikasi program. Keandalan (reliability), jumlah frekuensi terjadinya kesalahan Kekuatan (robustness), jangkauan kondisi operasi, kemungkinan hasil yang salah untuk masukan yang valid, kemungkinan hasil yang benar untuk masukan yang tidak valid. Performa (performance), mis: kecepatan, jumlah memori yang dibutuhkan, dll. Kebenaran (correctness), apakah hasil keluaran sesuai dengan spesifikasi output. TI1153 Teknik Pengujian Restyandito - 14 Contoh 1: Procedure Ngurutke Spesifikasi input p: array dari n buah integer n > 0 Spesifikasi output q: array dari n buah integer, q[0] q[1] q[n-1] void Ngurutke (int p[ ], int q[ ]) { int i ; for ( i = 0 ; i < n ; i++ ) q[i] = 0 ; } Contoh 1: Procedure Ngurutke Spesifikasi input p: array dari n buah integer n > 0 Spesifikasi output q: array dari n buah integer, q[0] q[1] q[n-1] elemen-elemen array q merupakan hasil permutasi dari array p. TI1153 Teknik Pengujian Restyandito - 15 TI1153 Teknik Pengujian Restyandito - 16 Restyandito Teknik Pengujian - 4

Contoh 2: int k, s; int y[ ] = new int[n]; k = 0; s = 0; while (k < n) { s = s + y[k]; k = k + 1; } Contoh 2: TI1153 Teknik Pengujian Restyandito - 17 TI1153 Teknik Pengujian Restyandito - 18 Contoh 3: suatu file teks berisi serangkaian kata-kata yang dipisahkan oleh karakater blank atau new line, akan dirubah dalam bentuk line-by-line form dengan aturan sebagai berikut: - line break hanya boleh terjadi jika teks mengandung karakter blank atau newline. - tiap baris diisi sejauh mungkin (dg memindahkan kata yang dibaca ke dalam baris), selama - tidak ada baris yg melebihi jumlah karakter maxpos Contoh 3: - kata pertama selalu didahului dengan blank, kecuali panjang kata pertama sama dengan maxpos [Leavenworth, 1970] - prosedur tidak berhenti sampai menemukan kata yang lebih panjang dari maxpos - kata terakhir tidak ditampilkan kecuali kata tersebut diikuti oleh blank atau newline [Goodenough and Gerhart, 1975] TI1153 Teknik Pengujian Restyandito - 19 TI1153 Teknik Pengujian Restyandito - 20 Restyandito Teknik Pengujian - 5

Modul Testing Sistematika Testing Informal testing dilakukan oleh programmer pada saat mengkodekan program. Kesalahan perbaikan yang terjadi tidak didokumentasikan Formal testing dilakukan oleh tim SQA setelah programmer selesai mengimplimentasikan suatu modul. Test ini meliputi non-execution based test dan execution based test. Setiap kesalahan yang terjadi, perbaikan yg dilakukan harus didokumentasikan Testing to Spesification disebut juga blackbox test, structural, data-driven, functional, I/O-driven test Pengujian dilakukan terhadap spesifikasi produk. Testing to Code, disebut juga glass-box test / white-box test, behavioral, logc-design, path oriented test. Pengujian dilakukan terhadap program yang dibuat. TI1153 Teknik Pengujian Restyandito - 21 TI1153 Teknik Pengujian Restyandito - 22 Fisibilitas Testing to Spec Fisibilitas Testing to Code Program pemroses data yang memiliki 5 jenis komisi dan 7 jenis discount. Menguji semua kombinasi komisi dan discount membutuhkan 35 test case - 5 jalur yang mungkin dilewati di tengah - Jika looping 18x = 5 1 +5 2 + +5 18 = 4,77 x 10 12 Bagaimana dengan program yang memiliki 20 jenis faktor dengan 4 nilai yang berbeda? 4 20 test case atau 1.1 x 10 12 TI1153 Teknik Pengujian Restyandito - 23 TI1153 Teknik Pengujian Restyandito - 24 Restyandito Teknik Pengujian - 6

Black-Box Module Testing Equivalence Testing Jika suatu modul bekerja pada rentang data = 1 n, maka pengujian dapat dilakukan pada masing-masing, equivalence class, yaitu: equivalence class 1 : data < 1 equivalence class 2 : 1 < data < n equivalence class 3 : n < data Black-Box Module Testing Boundary Value Analysis Salah satu teknik yg baik untuk menemukan kesalahan adalah boundary value analysis, yaitu pengujian pada data yang berada pada perbatasan (ambang jangkauan ditambah/dikurangi 1), sehingga diperoleh 7 test data. Contoh, suatu program dengan jangkauan data R1..R2, dimana R1=1 dan R2=5000, maka test data yg harus dilakukan meliputi. TI1153 Teknik Pengujian Restyandito - 25 TI1153 Teknik Pengujian Restyandito - 26 Black-Box Module Testing Boundary Value Analysis Contoh, suatu program dengan jangkauan data R1..R2, dimana R1=1 dan R2=5000, maka test data yg harus dilakukan meliputi: Test case 1 : R1-1 = 0 Test case 2 : R1 = 1 Test case 3 : R1 + 1 = 2 Test case 4 : R1.. R2 = 300 Test case 5 : R2 1 = 4999 Test case 6 : R2 = 5000 Test case 7 : R2 + 1 = 5001 TI1153 Teknik Pengujian Restyandito - 27 Black-Box Module Testing Functional Testing Menguji apakah fungsi dari modul telah sesuai dengan spesifikasi yang diharapkan TI1153 Teknik Pengujian Restyandito - 28 Restyandito Teknik Pengujian - 7

Structural Testing masing-masing path (jalur) harus diuji setidaknya satu kali masing-masing branch (cabang) harus diuji setidaknya satu kali masing-masing statement (perintah) harus diuji setidaknya satu kali Structural Testing Kelemahan model ini adalah: - jika masing-masing jalur hanya diuji sekali, belum menjamin bahwa produk sudah bug free. - path hanya bisa dicoba kalau path tersebut exist TI1153 Teknik Pengujian Restyandito - 29 TI1153 Teknik Pengujian Restyandito - 30 Structural Testing Mis. Suatu program untuk menentukan apakah tiga buah variabel bernilai sama. if (( x + y + z ) / 3 == x ) system.out.println( x, y, z bernilai sama ) else system.out.println( nilai x, y, z berbeda ); Bagaimana hasil tes untuk data test sbb: Data Test 1 : x=1,y=1,z=1 dan x=1,y=2,z=3 Data Test 2 : x=2,y=2,z=2 dan x=2,y=1,z=3 Structural Testing Mis. path exist untuk membatasi agar tidak terjadi pembagian dengan bilangan nol if ( d==0 ) zerodivisionroutine(); else x = n / d; Jika path tidak exist, maka ada kemungkinan zerodivisionroutine() tidak akan pernah dipanggil, krn data test d tidak sama dengan nol. TI1153 Teknik Pengujian Restyandito - 31 TI1153 Teknik Pengujian Restyandito - 32 Restyandito Teknik Pengujian - 8

Complexity Testing Jumlah baris per-modul Basili, Hutchens, Takahashi, Kamayachi cyclomatic complexity McCabe Software science metric (SSM) Halstead Penghitungan jumlah operator dan operand dalam suatu modul N1 = total operator N2 = total operand n1 = jumlah operator yang unik n2 = jumlah operand yang unik N1 = 13 N2 = 7 n1 = 10 n2 = 4 TI1153 Teknik Pengujian Restyandito - 33 TI1153 Teknik Pengujian Restyandito - 34 Cleanroom Cleanroom Merupakan gabungan dari beberapa teknik: 1. menggunakan incremental model dari model life cycle 2. menggunakan teknik formal (dokumentasi) untuk tahap spesifikasi dan desain 3. pengujian modul testing menggunakan metode nonexecution based Jika banyak kesalahan yg ditemukan pd saat pengujian maka modul tersebut harus dibuand dan didesain ulang. Hal ini sesuai dg penelitian Myers yg menunjukkan bahwa semakin banyak kesalahan yg ditemukan pada tahap pengujian semakin besar kemungkinan kesalahan yang tidak terdeteksi. TI1153 Teknik Pengujian Restyandito - 35 TI1153 Teknik Pengujian Restyandito - 36 Restyandito Teknik Pengujian - 9

Cleanroom Referensi Schach, Stephen., Classical and Object-Oriented Software Engineering, WCB McGraw-Hill, 1999 (bab 5, 13) TI1153 Teknik Pengujian Restyandito - 37 TI1153 Teknik Pengujian Restyandito - 38 The End terima kasih Restyandito Teknik Pengujian - 10