TESTING & IMPLEMENTASI SISTEM

Slides:



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

TEKNIK PENGUJIAN PERANGKAT LUNAK
Testing dan Implementasi Sistem
Pengujian Berorientasi Obyek
REKAYASA PERANGKAT LUNAK
Teknik Pengujian Perangkat Lunak
Testing dan Implementasi Sistem
TEKNIK PENGUJIAN PERANGKAT LUNAK
TESTING PROGRAM Materi Pertemuan ke-5 & 6.
PERANCANGAN KASUS UJI.
Testing dan Implementasi Sistem
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,
PENGUJIAN BERORIENTASI OBJEK
Pertemuan 5 PENGUJIAN WHITE BOX.
Testing dan implemantasi sistem
Agenda Pembahasan Pengertian dan Urgensi Prinsip-prinsip
Stress testing Menguji sistem dengan nilai yg melebihi maksimum load. Stressing suatu system menyebabkan tidak mudah kerusakan. Stressing suatu system.
VALIDASI SOFTWARE (Nelly Sofi).
Testing dan implementasi sistem
Tim RPL Teknik Informatika 2017
TEKNIK-TEKNIK PENGUJIAN PERANGKAT LUNAK
14. PENGUJIAN PERANGKAT LUNAK
TEKNIK PENGUJIAN PERANGKAT LUNAK
Pengujian Jalur Pengujian Jalur Dasar (Basis Path Testing)
REKAYASA PERANGKAT LUNAK
Object-oriented testing
TEKNIK PENGUJIAN PERANGKAT LUNAK
Testing dan Implementasi Sistem Desain Test case Lainnya
Pengujian Berorientasi Obyek
TESTING PROGRAM.
White Box Testing Pembuatan Flowgraph Pembuatan Testcase.
Pengujian Perangkat Lunak
WHITE BOX TESTING PENGUJIAN BASIS PATH
Testing dan Implementasi
TEST CASE Aidil Agus( ) Apridestio Fajri ( ) Mega Desvita( ) Diki Miltra( ) Prima Maulana ( ) Isel( ) Ayu( )
Metode Pengujian Perangkat Lunak (White Box)
Testing & Implementasi Sistem
Testing dan Implementasi
TESTING & IMPLEMENTASI SISTEM
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-11)
Black Box Testing.
Dasar-dasar Pengujian Perangkat Lunak
TESTING DAN IMPLEMENTASI PERTEMUAN 3
Software Engineering ( Pressman )
TESTING DAN IMPLEMENTASI PERTEMUAN 4
Validasi dan Verifikasi Software
TEKNIK PENGUJIAN PERANGKAT LUNAK
Pertemuan 5 PENGUJIAN WHITE BOX.
Dasar-dasar Pengujian Perangkat Lunak
TEKNIK PENGUJIAN PERANGKAT LUNAK
Pengujian Berorientasi Obyek
Testing dan Implementasi
Pengujian White Box Kustanto 11/16/2018 Pengujian white box.
Pengujian Berorientasi Obyek
Pengujian Perangkat Lunak
TESTING DAN QA SOFTWARE PERTEMUAN 9
Pengujian White Box Kustanto 11/27/2018 Pengujian white box.
TEKNIK PENGUJIAN PERANGKAT LUNAK
Tim RPL Teknik Informatika 2018
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)
Pengujian Berorientasi Obyek
WHITE BOX TESTING PENGUJIAN BASIS PATH
Transcript presentasi:

TESTING & IMPLEMENTASI SISTEM “Teknik-teknik pengujian perangkat lunak & Pengujian Beriontasi Obyek” Diema HS,M. Kom

White Box Testing Macam tekniknya : Cakupan pertanyaan, cabang, dan jalur Basis path Testing

Cakupan pernyataan, cabang dan jalur Cakupan pernyataan ditentukan dengan menilai proporsi dari pernyataan-pernyataan yang ditinjau oleh sekumpulan test cases yang ditentukan. Cakupan pernyataan 100 % adalah bila tiap pernyataan pada program ditinjau setidaknya minimal sekali tes. Cakupan pernyataan berkaitan dengan tinjauan terhadap titik (node) pada flow graph. Cakupan 100 % terjadi bilamana semua titik dikunjungi oleh jalur-jalur yang dilalui oleh test cases

Cakupan pernyataan Pada contoh gambar flow graph di atas terdapat 10 titik. Misal suatu jalur eksekusi program melewati titik-titik A, B, D, H, K. Berarti ada 5 titik dari 10 titik yang dikunjungi, maka cakupan pernyataan sebesar 50 %. Karena satu titik pada flow graph dapat merupakan kelompok dari beberapa pernyataan, oleh karena itu tingkat cakupan pernyataan yang sebenarnya berbeda dengan tingkat cakupan titik (nodes), tergantung dari cara pendefinisian flow graph

Cakupan cabang (Cont.) Cakupan cabang ditentukan dengan menilai proporsi dari cabang keputusan yang diuji oleh sekumpulan test cases yang telah ditentukan. Cakupan cabang 100 % adalah bilamana tiap cabang keputusan pada program ditinjau setidaknya minimal sekali tes. Cakupan cabang berkaitan dengan peninjauan anak panah cabang (branch edges) dari flow graph. Cakupan 100 % adalah bilamana semua anak panah cabang ditinjau oleh jalur-jalur yang dilalui oleh test cases.

Cakupan cabang Berdasarkan pada contoh gambar flow graph di atas, terdapat 6 anak panah cabang. Misal suatu jalur eksekusi program melawati titik-titik A, B, D, H, K, maka jalur tersebut meninjau 2 dari 6 anak panah cabang yang ada, jadi cakupannya sebesar 33 %.

Cakupan jalur (Cont.) Cakupan jalur ditentukan dengan menilai proporsi eksekusi jalur program yang diuji oleh sekumpulan test cases yang telah ditentukan. Cakupan jalur 100 % adalah bilamana tiap jalur pada program dikunjungi setidaknya minimal sekali tes. Cakupan jalur berkaitan dengan peninjauan jalur sepanjang flow graph. Cakupan 100 % adalah bilamana semua jalur dilalui oleh test cases.

Cakupan jalur Berdasarkan contoh flow graph di atas, terdapat 4 jalur. Bila suatu eksekusi jalur pada program melalui titik-titik A, B, D, H, K, maka eksekusi tersebut meninjau 1 dari 4 jalur yang ada, jadi cakupannya sebesar 25 %.

Disain cakupan tes Untuk mendisain cakupan dari tes, perlu diketahui tahap-tahap sebagai berikut: Menganalisa source code untuk membuat flow graph. Mengidentifikasi jalur tes untuk mencapai pemenuhan tes berdasarkan pada flow graph. Mengevaluasi kondisi tes yang akan dicapai dalam tiap tes. Memberikan nilai masukan dan keluaran berdasarkan pada kondisi.

Basis Path Testing Merupakan teknik white box testing yang dikenalkan oleh Tom McCabe [MC76]. 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 Notasi Flow Graph

Perhitungan Cyclomatic Complexity Adalah pengukuran software yang memberikan pengukuran kuantitatif dari kompleksitas logika program. Pada konteks metode basis path testing , nilai yang dihitung bagi 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.

Rumus Cyclomatic Complexity [Region / Complexity] V(G) = E (edges) – N (nodes) + 2 V(G) = P (predicate node) + 1

Tahapan Cyclomatic Complexity 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

Cyclomatic Complexity Catatan : Beberapa jalur mungkin hanya dapat dieksekusi sebagai bagian dari tes yang lain. Direkomendasikan agar jangan sampai kompleksitas tiap unit / komponen terkecil sistem melebihi nilai 10 [V(G)]. Beberapa praktisi menggunakan nilai rata-rata V(G) dari tiap unit / komponenn terkecil untuk memberikan penilaian kompleksitas

Graph Matrix Adalah matrik berbentuk segi empat sama sisi, dimana jumlah baris dan kolom sama dengan jumlah node, dan identifikasi baris dan kolom sama dengan identifikasi node, serta isi data adalah keberadaan penghubung antar node (edges). Beberapa properti yang dapat ditambahkan sebagai pembobotan pada koneksi antar node di dalam graph matrix, sebagai berikut: Kemungkinan jalur (Edge) akan dilalui / dieksekusi. Waktu proses yang diharapkan pada jalur selama proses transfer dilakukan. Memori yang dibutuhkan selama proses transfer dilakukan pada jalur. Sumber daya (resources) yang dibutuhkan selama proses transfer dilakukan pada jalur.

Graph Matrix

Contoh 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 7Then reset counter; 8 Else process record; Store in file; 9Endif 10 Endif 11 Enddo End

Hitung V = 11 – 9 + 2 = 4 Lihat Flow Graph (Contoh) V(G) = E (edges) – N (nodes) + 2 = 11 – 9 + 2 = 4 V(G) = P (predicate node) + 1 Lihat Flow Graph (Contoh) V(G) = 3 + 1 = 4

Jalur Tes Jalur 1 : 1–11 Jalur 2 : 1-2-3-4-5-10-1-11 Test case jalur (Path) 1 Nilai(record.eof) = input valid, dimana record.eof = true Hasil yang diharapkan : Sistem keluar dari loop dan sub program. Test case jalur (Path) 2 Nilai(field 1) = input valid, dimana field 1 = 0 Nilai(record.eof) = input valid, dimana record.eof = false Nilai(counter) = Nilai(counter) + 1 Hasil yang diharapkan : Sistem melakukan [process record], [store in buffer] dan [increment counter].

Test case jalur (Path) 3 Test case jalur (Path) 4 Nilai(field 2) = input valid, dimana field 2 = 0 Nilai(record.eof) = input valid, dimana record.eof = false Nilai(counter) = 0 Hasil yang diharapkan : Sistem melakukan [reset counter]. Test case jalur (Path) 4 Nilai(field 2) = input valid, dimana field 2 <> 0 Hasil yang diharapkan : Sistem melakukan [process record] dan [store in file].

Bagaimana dengan matrix graph?

BLACKBOX TESTING

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

Black-box testing

Black-box testing Pengujian black box berusaha menemukan kesalahan dalam kategori : Fungsi-fungsi yang tidak benar atau hilang Kesalahan interface Kesalahan dalam struktur data atau akses database eksternal Kesalahan kinerja Inisialisasi dan kesalahan terminasi

Contoh Testinglah dengan menggunakan white box testing dengan menentukan CC ! Private Sub CmdInput_Click() If CmdInput.Caption = "&Input" Then CmdInput.Caption = "&Simpan" CmdEdit.Enabled = False CmdHapus.Enabled = False CmdTutup.Caption = "&Batal" Siapisi DTPasien.Recordset.AddNew KosongkanText Text1.SetFocus Else If Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Or Text5 = "" Or Text6 = "" Or Text7 = "" Then MsgBox "Data Belum Lengkap...!" DTPasien.Refresh TidakSiapIsi Semula CmdInput.SetFocus End If End Sub

PENGUJIAN BERORIENTASI OBYEK

Aktifitas Pengujian Meninjau ulang model OOA dan OOD Ujicoba Class setelah penulisan program sumber Ujicoba Integrasi dalam subsistems Ujicoba Integrasi subsistem yang telah ditambahkan kedalam sistem Ujicoba validasi berdasarkan OOA use-cases

STRATEGI PENGUJIAN Strategi pengujian untuk perangkat lunak beriorientasi objek serupa dengan strategi pengujian yang telah dibahas sebelumnya. Namun terdapat beberapa perbedaan dengan beberapa strategi yang telah dibahas sebelumnya, yakni Pada unit testing (dalam konteks berorientasi objek) Bagian terkecil yang diuji pada unit testing adalah kelas atau objek, tidak seperti unit testing konvensional yang fokus pada detail algoritmik dari perangkat lunak  Tidak menguji operasi yang ada secara terpisah, seperti halnya unit testing konvensional, karena operasi-operasi pada satu kelas diuji bersamaan pada satu kelas Setiap operasi yang diturunkan pada kelas turunan harus diperiksa

Pada integration testing Memiliki dua strategi yakni thread-based testing dan use-based testing Thread-based testing : mengintegrasikan sekumpulan kelas yang dibutuhkan untuk merespon suatu input atau event pada sistem. Setiap thread diintegrasikan dan diuji secara individual, pengujian regresi diterapkan untuk memastikan tidak ada efek samping yang muncul Use-based testing: Pengujian terhadap setiap independent classes (kelas yang menggunakan sangat sedikit kelas server) Pengujian terhadap dependent classes sampai keseluruhan sistem terbentuk (dibangun) Tahapan cluster testing di mana sekumpulan kelas yang berkolaborasi diuji untuk menemukan kesalahan pada saat berinteraksi

Pengujian Validasi dalam Konteks Berorientasi Objek memusatkan pada aksi dari user dan keluaran dari sistem yang dapat dikenali user Case membantu untuk menemukan kesalahan pada kebutuhan interaksi user Black Box mengatur pengujian validasi

Testing levels Testing operations pada objects Testing object classes Testing clusters cooperating objects Testing OO system secara lengkap

Pengujian Class Menguji terhadap semua operation yg ada dan perubahan atribut-atributnya.

Cluster Testing Cluster testing digunakan untuk test integrasi terhadap kooperatif object. Identifikasi clusters menggunakan knowledge operation objects dan system features yang diimplementasikan oleh cluster tersebut.

Object-Interaction Testing

Object class testing Complete test yang menguji class melibatkan Testing semua operations suatu object Setting dan interrogating semua attribute object Menguji object untuk semua state(keadaan) yg mungkin Inheritance akan mengakibatkan sulitnya perancangan object class tests seperti information yg diuji sulit dilokalisasi.

Contoh PERANCANGAN KASUS PENGUJIAN Contoh perancangan pengujian scenario-based untuk text editor: Use Case : Fix the Final Draft Background : Use case ini menggambarkan urutan event yang muncul 1. Cetak seluruh dokumen 2. Periksa dokumen, ubah halaman tertentu 3. Untuk setiap halaman yang diubah, cetak halaman tersebut 4. Kadang-kadang sederetan halaman dicetak – Kebutuhan user : metoda untuk mencetak satu halaman metoda untuk mencetak beberapa halaman berurutan – Yang diuji : pengeditan setelah pencetakan – Penguji berharap untuk menemukan bahwa fungsi pencetakan menyebabkan kesalahan dalam fungsi pengeditan