PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING)

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

Dibuat Oleh : 1. Andrey ( )

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

A. Pengujian Perangkat Lunak

TEKNIK PENGUJIAN PERANGKAT LUNAK

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

Tugas Rekayasa Perangkat Lunak

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

Nama : Rendi Setiawan Nim :

BAB 6 METODE PENGUJIAN

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

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

BAB III OBJEK DAN METODE PENELITIAN

Rekayasa Perangkat Lunak

SOFTWARE TESTING. Ratna Wardani

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

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

Testing dan Implementasi Sistem Informasi

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

Teknik Pengujian (2) Whitebox Testing

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

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

METODE PENGUJIAN PERANGKAT LUNAK

TESTING PROGRAM. Pertemuan Nurul Adhayanti

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

Teknik Pengujian Perangkat Lunak By : Afijal. M.Kom

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

PENGUJIAN PERANGKAT LUNAK

Teknik Informatika S1

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

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

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

Teknik Informatika S1

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

BAB 9 PENGUJIAN PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK MATERI TM 13

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

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX

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

Software Testing Technique

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

BAB I PENDAHULUAN 1.1. Latar belakang

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

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

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

Testing dan Implementasi

SISTEM INFORMASI HARGA POKOK PRODUKSI KAYU LAPIS PADA PT. KTC

Testing dan Implementasi Sistem

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

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

Teknik Informatika S1

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

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

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

Blackbox testing black box berfokus pada pengujian persyaratan fungsional perangkat lunak

Teknik Pengujian (3) Blackbox Testing

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

Gambar (a) PDL for test design

BAB III OBJEK DAN METODE PENELITIAN. Dalam penelitian ini yang menjadi objek penelitian yaitu Apotek Cibatu

Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana

TESTING DAN IMPLEMENTASI SISTEM APLIKASI DATA MATA KULIAH

BAB 1 PENDAHULUAN. 1.1 Aplikasi Pengolahan Nilai Sementara Mahasiswa

BAB V IMPLEMENTASI SISTEM

Budi Widarsa Surya Program Studi Sistem Informasi STMIK Sumedang Abstrak. Keyword : Testing, SKPL, SIAK, dan Black Box Testing

BAB III OBJEK DAN METODE PENELITIAN. struktur organisasi dan uraian tugas unit-unit organisasi Koperasi Karyawan

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

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III OBJEK DAN METODE PENELITIAN

BAB III OBJEK DAN METODE PENELITIAN. Dalam analisis sistem ini akan diuraikan sejarah singkat dari Apotek 55 yang

BAB III OBJEK DAN METODE PENELITIAN. berlokasi di Jl. Leuwi Panjang No. 111 Bandung Telpon Terbaik dalam pelayanan servis di bengkel.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

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

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

Teknik Informatika S1

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

Teknik Informatika S1

BAB V IMPLEMENTASI SISTEM

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

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

BAB III METODOLOGI PENELITIAN

Pengujian Perangkat Lunak

PROSES MODEL DESAIN PERANGKAT LUNAK

BAB V IMPLEMENTASI SISTEM

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

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

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

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

PENGUJIAN PERANGKAT LUNAK. Muhammad Riza Hilmi, ST.

BAB III METODOLOGI PENELITIAN. dalam pengumpulan data atau informasi guna memecahkan permasalahan dan

Silabus dan Satuan Acara Perkuliahan

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

Rekayasa Perangkat Lunak

MAKALAH DESAIN PERANGKAT LUNAK. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

Pengujian Perangkat Lunak Berorientasi Objek. Tim RPL Teknik Informatika

BAB IV IMPLEMENTASI DAN PENGUJIAN

SATUAN ACARA PERKULIAHAN(SAP)

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

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

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI. Menurut Mulyadi (2008:202), penjualan merupakan aktivitas yang

Transkripsi:

PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING) Di Susun Oleh : Linda Liana 41813120100 Dosen Pengampu : Wahyu Hari Haji M.Kom FAKULTAS ILMU KOMPUTER PROGRAM STUDY SISTEM INFORMASI UNIVERSITAS MERCU BUANA JAKARTA 1 2015

PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING) Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean. Pengujian merepresentasikan ketidak normalan yang terjadi pada pengembangan perangkat lunak. Selama definisi awal dari fase pembangunan, pengembangan berusaha untuk membangun perangkat lunak dari konsep yang abstrak sampai dengan implementasi Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas. Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan biaya yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun. Dasar dasar Pengujian Perangkat Lunak Pengembang perangkat lunak sesuai dengan sifatnya dasar, mereka adalah manusia pembangun. Pengujian mengharuskan pengembang membuang pemikiran pemikiran sebelumnya mengenai kebenaran perangkat lunak yang baru saja dikembangkan dan mengatasi konflik minat yang terjadi pada saat kesalahan ditemukan. Sasaran Pengujian - Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. - Pengujian yang sukses adalah pengujian yang memiliki probabilitas tinggi untuk menemukan dan mengungkapkan semua kesalahan yang belum pernah ditemukan atau diduga sebelumnya. - Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya 2

- Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan, tetapi ada satu hal yang tidak dapat dilakukan oleh pengujian, yaitu pengujian tidak dapat memperlihatkan tidak adanya cacat, pengujian hanya dapat memperlihatkan bahwa ada kesalahan perangkat lunak. Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu: Prinsip- Prinsip Pengujian Perangkat Lunak Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang menyebabkan program gagal. Pengujian harus direncanakan lama sebelum pengujian itu mulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan. Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program. Pengujian harus mulai dari yang kecil dan berkembang ke pengujian yang besar, Selagi pengujian berlangsung maju, pengujian mengubah focus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem. Pengujian yang mendalam tidak mungkin karena tidak mungkin mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar. Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent. Karakteristik yang Membawa Perangkat Lunak Dapat Diuji 1) Operabilitas, yaitu : Semakin baik Dia bekerja, semakin efisien Dia dapat diuji. 2) Obsaikervabilitas, yaitu : Apa yang Anda lihat adalah apa yang Anda uji. 3) Kontralabilitas, yaitu : Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak pengujian yang dapat diotomasisasi dan dioptimalkan. 3

4) Dekomposabilitas, yaitu : Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus. 5) Kesederhanaan, yaitu : Semakin sedikit yang kita uji, semakin cepat kita dapat mengujinya. 6) Stabilitas, yaitu : Semakin sedikit perubahan, semakin sedikit pula gangguan dalam pengujian. 7) Kemampuan untuk dapat dipahami, yaitu : Semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan dilakukan. Atribut- Atribut Pengujian yang baik : a. Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan. b. Pengujian yang baik tidak redudan. c. Pengujian yang baik seharusnya jenis terbaik, d. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks. Tujuan Pengujian : Menjalankan program untuk menemukan error yang tersembunyi atau yang sebelumnya tidak terduga. Fase Pengujian Ada 2 tingkat yang tersedia pada proses pegujian, yaitu : 1. Konfigurasi perangkat lunak yang mencakup spesifikasi keperluan perangkat lunak, spesifikaasi perancangan, test case dan program sumber 2. Konfigurasi uji coba yang mencakup rencana dan prosedur uji coba, test case dan hasil yang diharapkan. I. DESAIN TEST CASE Desain test case merupakan metode pengujian untuk perangkat lunak untuk memastikan kelengkapan pengujian dan memberikan kemungkinan tertinggi untuk mengungkap kesalahan pada perangkat lunak. Dalam lingkungan yang ideal, perekayasa perangkat lunak mendesain suatu program computer, sebuah sistem atau produk dengan testabilitas dalam pikirannya. Hal ini memungkinkan individu yang berurusan dengan pengujian mendesain test case yang efektif secara lebih mudah. Testabilitas adalah seberapa mudah sebuah program computer dapat 4

diuji. Karena sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi lebih mudah. Procedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi. Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik desain test case: Pengujian white-box, pengujian black-box, Integrasi Bottom-Up dan Integrasi Top- Down. Semua produk yang direkayasa dapat diuji dengan dua cara : 1) Dengan mengetahui fungsi yang ditentukan dimana produk yang dirancang untuk melakukanya, pengujian dapat dilakukan untuk memperlihatkan bahwa masing masing fungsi beroperasi sepenuhnya, pada waktu yang sama mencari kesalahan pada setiap fungsi. 2) Dengan mengetahui kinerja internal suatu produk, maka pengujian dapat dilakukan untuk memastikan bahwa semua roda gigi berhubungan, yaitu operasi internal bekerja sesuai dengan spesifikasi dan semua komponen internal telah diamati dengan baik. Ada dua macam pendekatan test yaitu : a) Black Box Testing Test case ini bertujuan untuk menunjukkan fungsi PL tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya. b) White Box Testing 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 kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%. 5

II. PENGUJIAN WHITE BOX (WHITE BOX TESTING) Pengujian white box 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. Pengujian White Box berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan. White box testing disebut juga pengujian glass box. Pada dasarnya white box testing system di perlukan dalam membangun ataupun menganasila sebuah system apakah sudah berjalan sebagai mana mestinya atau tidak. Hal ini perlu dilakukan mengingat white box testing merupakan pengecekan system secara lebih detail dan komplek ketimbang system black box testing, di white box testing system tidak hanya di cek dari fungsional luarnya saja "interface" melainkan juga dari berbagai aspek system, termasuk diagram alur system dan berbagai komponent lainnya yang ada dalam system. Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program. Penggunaan metode pengujian white box dilakukan untuk : - Memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali - Menggunakan semua keputusan logis untuk semua kondisi true atau false 6

- Mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi. - Menggunakan struktur data internal untuk menjamin validitas jalur keputusan. Dengan menggunakan metode white box, analis sistem akan dapat memperoleh test case yang: - Menjamin seluruh independent path di dalam modul yang dikerjakan sekurang-kurangnya sekali. - Mengerjakan seluruh keputusan logikal. - Mengerjakan seluruh loop yang sesuai dengan batasannya. - Mengerjakan seluruh struktur data internal yang menjamin validitas. Persyaratan dalam menjalankan strategi White Box Testing: - Mendefinisikan semua alur logika - Membangun kasus untuk digunakan dalam pengujian - Mengevaluasi semua hasil pengujian - Melakukan pengujian secara menyeluruh Keunggulan dan Kekurangan White Box Keunggulan: Kebenaran program dalam mendefinisikan algoritma dapat diketahui secara langsung dengan pengolahan path. Menentukan kualitas pekerjaan coding dan pengaruhnya untuk standar coding. Mampu menditeksi kesalahan ; - Kesalahan logika, digunakan pada sintaks if dan pengulangan. Dimana White Box Testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti. - Ketidaksesuaian asums,. menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di analisa dan diperbaiki. - Kesalahan Ketik, mendeteksi bahasa pemrograman yang bersifat case sensitive Kekurangan : Jumlah biaya untuk white box testing lebih besar daripada biaya yang dibutuhkan untuk black box, untuk ukuran software yang sama. 7

III. Belum mampu melakukan tes ketersediaan, kehandalan, daya tahan beban dan testing testing lain yang berhubungan dengan kebutuhan faktor faktor untuk operasi, revisi dan transisi. Untuk perangkat lunak yang tergolong besar, White Box Testing dianggap sebagai strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya. PENGUJIAN BASIS PATH (BASIS PATH TESTING) Pengujian basis path adalah teknik uji coba white box yg diusulkan Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan ukuran kompleks logical dari perancangan prosedural dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan himpunan jalur (Basis Set) yang akan diuji. Basis Path menggunakan notasi graph atau flow graph untuk menggambarkan aliran kontrolnya. Test case yang dilakukan untuk menggunakan basis set tersebut dijamin untuk menggunakan setiap statemen di dalam program paling tidak sekali selama pengujian. Notasi yang digunakan untuk menggambarkan jalur eksekusi adalah notasi diagram alir (atau grafik program), yang menggunakan notasi lingkaran (simpul atau node) dan anak panah (link atau edge). Notasi ini menggambarkan aliran control logika yang digunakan dalam suatu bahasa pemrograman. Perangkat yang digunakan : a) Notasi Diagram Alir Tabel 1. Notasi Diagram Alir Untuk menggambarkan pemakaian diagram alir diberikan contoh perancangan prosedural dalam bentuk flowchart 8

1 2 3 6 4 7 8 5 9 10 11 Gambar Diagram Alir Selanjutnya diagram alir diatas dipetakan ke grafik alir Gambar Grafik Alir b) Cyclomatic Complexity (Kompleksitas Siklomatis) Cyclomatic complexity adalah metrik PL yang menyediakan ukuran kuantitatif dari kekompleksan logikal program. Apabila digunakan dalam kontek metode uji coba basis path, nilai yang dihitung untuk cyclomatic complexity menentukan jumlah jalur independen dalam basis set suatu program dan memberi batas atas untuk jumlah uji coba yang harus dikerjakan untuk menjamin bahwa seluruh perintah sekurang-kurangnya telah dikerjakan sekali. Pada Basis Path Testing, hasil dari cyclomatic complexity digunakan untuk menentukan banyaknya independent paths. Independent path adalah sebuah kondisi pada program yang menghubungkan node awal dengan node akhir. c) Melakukan Test Case Metode uji coba basis path juga dapat diterapkan pada perancangan prosedural rinci atau program sumber. Pada bagian ini akan dijelaskan langkah-langkah uji coba basis path. Langkah-Iangkah pembuatan test case: 1. Dengan mempergunakan perancangan prosedural atau program sumber sebagai dasar, digambarkan diagram alirnya. 9

2. Tentukan cyclomatic complexity untuk diagram alir yang telah dibuat. 3. Tentukan independent path pada flowgraph 4. Buat test case yang akan mengerjakan masing-masing path pada basis set. Data yang dipilih harus tepat sehingga setiap kondisi dari predicate node dikerjakan semua. d) Graph Metrik Graph metrik merupakan PL yang dikembangkan untuk membantu uji coba basis path atau struktur data. Graph metrik adalah matrik empat persegi yang mempunyai ukuran (sejumlah baris dan kolom) yang sama dengan jumlah node pada flowgraph. Masing-masing baris dan kolom mempunyai hubungan dengan node yang telah ditentukan dan pemasukan data matrik berhubungan dengan hubungan (edge) antanode. IV. PENGUJIAN STRUKTURAL KONTROL (CONTROL STRUCTURE TESTING) Merupakan pendekatan terhadap pengujian yang diturunkan dari pengetahuan struktur dan implementasi perangkat lunak Biasanya diterapkan untuk unit program yang relatif kecil seperti subroutine atau operasi yang terkait dengan suatu objek Penguji dapat menganalisa kode dan menggunakan pengetahuan mengenai struktur komponen untuk menurunkan data uji Analisa kode dapat digunakan untuk menemukan beberapa kasus uji yang dibutuhkan untuk menjamin bahwa semua statement pada program atau komponen dieksekusi paling tidak satu kali pada proses pengujian. V. PENGUJIAN BLACK BOX (BLACK BOX TESTING) Black-box testing adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja (lihat pengujian whitebox). pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan 10

pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar spesifikasi dan persyaratan, yakni, aplikasi apa yang seharusnya dilakukan. Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji memilih input yang valid dan tidak valid dan menentukan output yang benar. Tidak ada pengetahuan tentang struktur internal benda uji itu. Metode uji dapat diterapkan pada semua tingkat pengujian perangkat lunak: unit, integrasi, fungsional, sistem dan penerimaan.ini biasanya terdiri dari kebanyakan jika tidak semua pengujian pada tingkat yang lebih tinggi, tetapi juga bisa mendominasi unit testing juga. Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya : a. Fungsi fungsi yang salah atau hilang b. Kesalahan interface c. Kesalahan dalam struktur data atau akses database eksternal. d. Kesalahan kinerja e. Kesalahan Inisialisasi dan terminasi Dengan mengaplikasikan teknik black box maka kita menarik serangkaian test case yang memenuhi kriteria berikut : Test case yang mengurangi, dengan harga lebih dari satu, jumlah test case tambahan yang harus di desain untuk mencapai pengujian yang dapat dipertanggungjawabkan. Test case yang memberitahu kita sesuatu mengenai kehadiran atau ketidakhadiran kelas kesalahan, daripada memberitahu kesalahan yang berhubungan hanya dengan pengujian spesifik. Ciri-Ciri Black Box Testing 1. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software. 11

2. Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing. 3. Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing Teknik khas Black Box Testing desain meliputi: a) DECISION TABLE Decision Tablel adalah cara yang tepat belum kompak untuk model logika rumit, seperti diagram alur dan jika-then-else dan switch-laporan kasus, kondisi mengaitkan dengan tindakan untuk melakukan, tetapi dalam banyak kasus melakukannya dengan cara yang lebih elegan. Pada tahun 1960-an dan 1970-an berbagai Decision Table Based bahasa seperti Filetab sangat populer untuk pemrograman bisnis. b) ALL-PAIRS TESTING All-pairs testing atau pairwise testing adalah metode pengujian perangkat lunak kombinatorial bahwa, untuk setiap pasangan parameter masukan ke sistem (biasanya, sebuah algoritma perangkat lunak), tes semua kombinasi yang mungkin diskrit parameter tersebut. Menggunakan vektor uji dipilih dengan cermat, hal ini dapat dilakukan jauh lebih cepat daripada pencarian lengkap semua kombinasi dari semua parameter, dengan parallelizing pengujian pasangan parameter. Jumlah tes biasanya O (nm), dimana n dan m adalah jumlah kemungkinan untuk masing-masing dua parameter dengan pilihan yang paling. Alasan di balik semua-all-pairs testing ini: yang sederhana dalam sebuah program umumnya dipicu oleh parameter masukan tunggal. Kategori paling sederhana berikutnya bug terdiri dari mereka bergantung pada interaksi antara pasangan parameter, yang bisa ditangkap dengan menguji semua-pasangan. yang melibatkan interaksi antara tiga atau lebih parameter secara progresif kurang umum [2], sementara pada saat yang sama waktu semakin lebih mahal untuk mencari oleh pengujian mendalam, yang sebagai batas pengujian lengkap semua input yang mungkin. Banyak metode pengujian menganggap semua-pasang pengujian sistem atau subsistem sebagai kompromi biaya-manfaat yang wajar antara sering komputasi tidak layak tingkat tinggi metode pengujian kombinatorial, dan metode yang kurang lengkap yang gagal untuk menjalankan semua pasangan yang mungkin dari parameter. Karena tidak ada teknik 12

pengujian dapat menemukan semua bug, semua-pasangan pengujian biasanya digunakan bersama dengan berbagai teknik jaminan mutu seperti unit testing, eksekusi simbolik, pengujian bulu halus, dan memeriksa kode. c) STATE TRANSITION TABLE Dalam teori automata dan logika sekuensial, state transition table adalah tabel yang menunjukkan apa yang negara (atau negara dalam kasus robot terbatas nondeterministic) suatu semiautomaton terbatas atau mesin finite state akan pindah ke, berdasarkan kondisi saat ini dan masukan lainnya. Sebuah tabel negara pada dasarnya adalah sebuah tabel kebenaran di mana beberapa input adalah kondisi saat ini, dan output termasuk negara berikutnya, bersama dengan keluaran lain. State transition table adalah salah satu dari banyak cara untuk menentukan mesin negara, cara lain menjadi diagram negara, dan persamaan karakteristik. d) EQUIVALENCE PARTITIONING Equivalence partitioning adalah metode pengujian black-box yang memecah atau membagi domain input dari program ke dalam kelas-kelas data sehingga test case dapat diperoleh. Pada prinsipnya, uji kasus dirancang untuk menutupi setiap partisi minimal sekali. Teknik ini mencoba untuk mendefinisikan kasus uji yang mengungkap kelas kesalahan, sehingga mengurangi jumlah kasus uji yang harus dikembangkan. Perancangan test case equivalence partitioning berdasarkan evaluasi kelas equivalence untuk kondisi input yang menggambarkan kumpulan keadaan yang valid atau tidak. Kondisi input dapat berupa nilai numeric, range nilai, kumpulan nilai yang berhubungan atau kondisi Boolean. Dalam kasus yang jarang Equivalence partitioning juga diterapkan pada output dari komponen perangkat lunak, biasanya itu diterapkan pada masukan dari komponen diuji. Partisi ekivalen biasanya berasal dari spesifikasi persyaratan untuk atribut masukan yang mempengaruhi pengolahan benda uji. Sebuah masukan telah rentang tertentu yang rentang sah dan lainnya yang tidak valid. Data yang tidak valid di sini tidak berarti bahwa data tidak benar, itu berarti bahwa data ini terletak diluar dari partisi tertentu. Hal ini mungkin lebih tepat dijelaskan oleh contoh fungsi yang mengambil sebuah parameter bulan. Jangkauan bulan adalah 1 sampai 12, mewakili Januari-Desember. Jangkauan ini disebut partisi. Dalam contoh ini ada dua partisi lebih lanjut rentang tidak valid. Partisi pertama akan menjadi tidak valid <= 0 dan partisi tidak valid kedua akan menjadi > = 13. e) BOUNDRY VALUES ANALYSIS (BVA) 13

Boundary value analysis merupakan suatu teknik pengujian perangkat lunak di mana tes dirancang untuk mencakup perwakilan dari nilai-nilai batas. Nilai-nilai di tepi sebuah partisi kesetaraan atau sebesar nilai terkecil di kedua sisi tepi. Nilai dapat berupa rentang masukan atau keluaran dari komponen perangkat lunak. Karena batas-batas tersebut adalah lokasi umum untuk kesalahan yang mengakibatkan kesalahan perangkat lunak mereka sering dilakukan dalam kasus-kasus uji. Untuk permasalahan yang tidak diketahui dengan jelas cenderung menimbulkan kesalahan pada domain outputnya. BVA merupakan pilihan test case yang mengerjakan nilai yang telah ditentukan, dengan teknik perancangan test case melengkapi test case equivalence partitioning yang fokusnya pada domain input. Petunjuk pengujian BVA : - Jika kondisi input berupa range yang dibatasi nilai a dan b, test case harus dirancang dengan nilai a dan b. - Jika kondisi input ditentukan dengan sejumlah nilai, test case harus dikembangkan dengan mengerjakan sampai batas maksimal nilai tersebut. - Sesuai petunjuk 1 dan 2 untuk kondisi output dirancang test case sampai jumlah maksimal. - Untuk struktur data pada program harus dirancang sampai batas kemampuan. Keunggulan dan Kekurangan Black Box: Keunggulan : Black box testing dapat menguji keseluruhan fungsionalitas perangkat lunak. Black box testing dapat memilih subset test yang secara efektif dan efisien dapat menemukan cacat. Dengan cara ini black box testing dapat membantu memaksimalkan testing investment. Kekurangan : Ketika Tester/Penguji melakukan black box testing, tester tidak akan pernah yakin apakah perangkat lunak yang diuji telah benar-benar lolos pengujian. Perbedaan White Box & Black Box White box (Struktural) Dilakukan oleh penguji yang mengetahui tentang QA. 14

Melakukan testing pada software/program aplikasi menyangkut security dan performance program tersebut (meliputi tes code, desain implementasi, security, data flow, software failure). Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing. Metode BlackBox (Fungsional) Dilakukan oleh penguji Independent. Melakukan pengujian berdasarkan apa yang dilihat, hanya fokus terhadap fungsionalitas dan output. Pengujian lebih ditujukan pada desain software sesuai standar dan reaksi apabila terdapat celah-celah bug/vulnerabilitas pada program aplikasi tersebut setelah dilakukan white box testing. Dilakukan setelah white box testing. 15