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

dokumen-dokumen yang mirip
Testing Implementasi Sistem. Black Box Testing Equivalence Partitioning & Boundary Value Analysis

BAB 5 FAKTOR PENGUJIAN

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

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

SOFTWARE TESTING. Ratna Wardani

Dibuat Oleh : 1. Andrey ( )

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

BAB 1 PENDAHULUAN. 1.1 Aplikasi Pengolahan Nilai Sementara Mahasiswa

A. Pengujian Perangkat Lunak

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

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

Testing dan Implementasi Sistem Informasi

Teknik Informatika S1

Nama : Rendi Setiawan Nim :

PERTEMUAN 13 STRATEGI PENGUJIAN PERANGKAT LUNAK

BAB II LANDASAN TEORI. ditulis dan diterjemahkan oleh language software (bahasa Pemrograman) untuk

Blackbox testing black box berfokus pada pengujian persyaratan fungsional perangkat lunak

BAB II LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI. dan belanja daerah atau perolehan lainnya yang sah antara lain:

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

BAB II LANDASAN TEORI

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

BAB l Pengujian Perangkat Lunak

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

BAB IV HASIL DAN UJICOBA

Teknik Informatika S1

PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING)

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

STRATEGI PENGUJIAN PERANGKAT LUNAK

BAB IV HASIL DAN PEMBAHASAN

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

Metodologi Testing. Policy - Strategi - Taktik

BAB II LANDASAN TEORI. beberapa ahli, definisi sistem adalah sebagai berikut.

BAB II LANDASAN TEORI. pengertian. Secara garis besar ada dua kelompok pendekatan, yaitu:

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

Teknik Pengujian (3) Blackbox Testing

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

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

KENDALI MANAJEMEN MUTU

Teknik Informatika S1

Pengujian Perangkat Lunak Berorientasi Objek. Tim RPL Teknik Informatika

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

BAB II LANDASAN TEORI

BAB IV HASIL DAN UJI COBA

Testing dan Implementasi

BAB IV ANALISIS DAN PERANCANGAN SISTEM

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

PENGUJIAN PERANGKAT LUNAK

BAB IV HASIL DAN UJI COBA

Rekayasa Perangkat Lunak

IMPLEMENTASI DAN PENGUJIAN

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

BAB III LANDASAN TEORI. pertama adalah sistem, dan yang kedua adalah sistem informasi itu sendiri.

BAB 4 PELAKSANAAN PENGUJIAN

BAB III METODOLOGI PENELITIAN

Life Cycle Testing Approach

BAB V PENUTUP 5.1 Kesimpulan dan Rekomendasi usability

Pengujian Perangkat Lunak & Web App. Nisa ul Hafidhoh

I. PENDAHULUAN. Perkembangan software sekarang ini sudah semakin maju. Banyak softwaresoftware

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

BAB III OBJEK DAN METODE PENELITIAN. Penulis telah melakukan penelitian di sebuah cafe yang bernama Treehouse

BAB 2 LANDASAN TEORI Enterprise Resource Planning (ERP)

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang

BAB IV TESTING DAN IMPLEMENTASI PROGRAM

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

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

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

ANALISA & PERANCANGAN SISTEM

BAB IV HASIL DAN UJI COBA

SATUAN ACARA PERKULIAHAN PROGRAM STUDI : S1 SISTEM INFORMASI

SATUAN ACARA PERKULIAHAN(SAP)

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

BAB IV HASIL DAN UJI COBA

BAB III OBJEK DAN METODE PENELITIAN. sangat penting dikarenakan menunjang kegiatan selama penelitian, sehingga halhal

BAB II LANDASAN TEORI. asing yang ditujukan kepada mereka yang bukan native speaker (Rudman 2011).

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

BAB 3 METODOLOGI PENELITIAN

Rekayasa Perangkat Lunak

BAB 6 METODE PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI SISTEM

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

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

Strategi Pengujian Perangkat Lunak

BAB IV HASIL DAN UJI COBA

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

BAB II LANDASAN TEORI. aplikasi sesuai dengan tujuan penelitian yang diharapkan. Aplikasi Penilaian Kinerja Karyawan ini antara lain sebagai berikut.

BAB V IMPLEMENTASI SISTEM. pada sistem, uraian instalasi pada Aplikasi inventory barang Toko R&R Berikut

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI SISTEM

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Transkripsi:

6 II. TINJAUAN PUSTAKA 2.1 Pengujian Perangkat Lunak Pengujian adalah proses eksekusi program untuk menemukan kesalahan. Pengujian perangkat lunak (testing) merupakan bagian terpenting dalam pengembangan perangkat lunak (software engineering). Pengujianya atau uji coba tersebut bertujuan untuk mencari sebanyak mungkin kesalahan (bug error) dan menemukan kesalahan yang sebelumnya tidak ditemukan, serta untuk mengurangi resiko yang terkandung dalam suatu sistem komputer. Suatu pengujian dikatakan berhasil apabila menemukan kesalahan-kesalahan yang belum terdeteksi. Secara umum pengujian dilakukan untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya. Beberapa aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak, yaitu : a) Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. b) Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.

7 c) Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. Fase-fase pengujian perangkat lunak digambarkan sebagai berikut (Mediarman, 2009) : Gambar 2.1. Fase Pengujian Ada 2 tingkat yang tersedia pada proses uji coba, yaitu : a) Konfigurasi perangkat lunak yang mencakup spesifikasi keperluan perangkat lunak, spesifikasi perancangan, test case dan program sumber. b) Konfigurasi uji coba yang mencakup rencana dan prosedur uji coba, test case dan hasil yang diharapkan. 2.1.1 Strategi Pengujian Strategi yang dibuat harus mengacu kepada resiko dan proses yang ada yang dapat mengurangi resiko tersebut. Dua komponen dari strategi pengujian adalah :

8 a) Faktor pengujian, merupakan resiko atau isu-isu yang ada yang perlu menjadi perhatian. b) Fase pengujian, merupakan siklus pengembangan sistem dimana akan dilakukan proses pengujian. 2.1.2 Faktor Pengujian Dalam merancang suatu pengujian, faktor-faktor yang menjadi resiko merupakan basis atau tujuan dari proses pengujian. Resiko-resiko yang berhubungan dengan proses pengujian ini disebut dengan faktor pengujian. Faktor-faktor pengujian tersebut merupakan kunci sukses suatu perangkat lunak : a) Correctness (keakuratan dan kelengkapan data). b) File integrity (pengelolaan file secara benar). c) Authorization (kesesuaian data yang diproses dengan ketentuan-ketentuan secara manajemen). d) Audit trail (kemampuan untuk mereka ulang suatu proses yang pernah terjadi). e) Continuity of processing (kemampuan untuk selalu berjalan meskipun terjadi suatu problem). f) Service level (pelayanan yang diberikan tidak mengecewakan pemakai). g) Access control (perlindungan dari modifikasi, perusakan, salah penggunaan, yang disengaja atau tidak). h) Compliance (kesesuaian sistem). i) Reliability (ketepatan dan kemampuan dari sistem).

9 j) Ease of use (pemahaman sistem oleh pemakai). k) Maintenance (kemampuan untuk mencari dan memperbaiki kesalahan dalam pengoperasian sistem). l) Portability (kemampuan untuk mentransfer program dari satu konfigurasi perangkat keras dan atau perangkat lunak ke konfigurasi yang lain). m) Coupling (kemampuan untuk menghubungkan komponen dalam sistem aplikasi dengan semua sistem aplikasi dalam suatu lingkungan proses). n) Performance (rata-rata dari sumber daya komputasi dari kode yang diperlukan oleh sistem untuk menjalankan fungsi yang telah ditetapkan). o) Ease of operation (kemampuan untuk mengintegrasikan sistem ke dalam lingkungan operasi dan kemudian mengoperasikan sistem apliakasi, baik yang manual maupun otomatis). 2.1.3 Membuat Srategi Pengujian Strategi pengujian disusun berdasarkan resiko-resiko yang telah dipilih. Pada umumnya terdapat empat langkah dalam pembuatan strategi pengujian, sedangkan untuk perangkat lunak yang bersifat khusus memerlukan sedikit modifikasi. Langkah-langkah adalah : a) Seleksi dan perangkingan faktor pengujian. Dalam banyak kasus, dari faktor-faktor yang ada cukup diambil 3 7 faktor pengujian. Proses ini dilakukan dengan cara membuat daftar dalam satu matriks dan diurutkan dari faktor yang paling penting sampai yang kurang penting.

10 b) Identifikasi fase pengembangan sistem. Biasanya sesuai dengan metodologi pengembangan sistem yang digunakan. Fase-fase yang ada kemudian ditulis menjadi salah satu komponen dalam matriks. c) Identifikasi resiko-resiko bisnis yang berhubungan dengan sistem yang sedang dikembangkan. Resiko-resiko tersebut kemudian dirangking dari tingkat high, medium, low. d) Menempatkan resiko yang diperoleh ke dalam matriks. Kemudian menentukan fase dan faktor yang berhubungan dengan resiko yang telah dibuat. 2.2 Pengujian Kotak Hitam (Black Box Testing) Pengujian kotak hitam (black box testing) dilakukan tanpa pengetahuan detail struktur internal dari sistem atau komponen yang dites. Testing ini juga disebut sebagai behavioral testing, specification-based testing input/output atau fungsional testing (Busono, 2009). Pengujian kotak hitam merupakan pendekatan pengujian yang detail pengujiannya diturunkan dari spesifikasi program atau komponen (Mediarman, 2009). Di mana sistem merupakan kotak hitam yang perilakunya ditentukan dengan mempelajari input dan output yang berkaitan. Pengujian ini hanya menitikberatkan pada fungsionalitas pada software, berdasarkan spesifikasi kebutuhan dari software bukan implementasi perangkat lunak.

11 Gambar 2.2. Pengujian Kotak Hitam (Black Box Testing) Berdasarkan prosedur untuk melakukan pengujian kotak hitam, perlu dilakukan pembentukan test case untuk mengerjakan seluruh keperluan fungsional program. Tujuan dari metode ini mencari kesalahan pada : Fungsi yang tidak benar atau tidak ada (hilang). Kesalahan antar-muka (interface errors). Kesalahan pada struktur data dan akses database. Kesalahan performansi (performance errors). Kesalahan inisialisasi dan terminasi. Pengujian kotak hitam didesain untuk menjawab pertanyaan-pertanyaan mengenai bagaimana sistem tersebut bekerja. Pada umumnya pertanyaan-pertanyaan yang biasanya muncul adalah :

12 Bagaimana fungsi-fungsi diuji agar dapat dinyatakan valid? Input seperti apa yang dapat menjadi bahan test case yang baik? Apakah sistem sensitif terhadap input-input tertentu? Bagaimana sekumpulan data dapat diisolasi? Berapa banyak rata-rata data dan jumlah data yang dapat ditangani sistem? Beberapa hal yang harus diperhatikan dalam penentuan kebutuhan yang diperlukan untuk pengujian secara sistematis, yaitu : a) Dalam pembutan test case yang efektif, harus dilakukan pengelompokan dari test case yang bersifat umum pada suatu sistem menjadi test case yang lebih khusus, sehingga tercapai test case individual. b) Dalam penentuan desain test case, juga digunakan mekanisme untuk memastikan bahwa test case yang ada telah cukup mencakup semua aspek dari sistem. c) Dalam pendesainan test case secara manual, tidak ada alat bantu otomasi guna menentukan test case yang dibutuhkan oleh sistem. Hal ini disebabkan setiap sistem memiliki perbedaan, sedangkan alat bantu tes tidak dapat mengetahui aturan benar dan salah sari suatu operasi. d) Pendesainan test case membutuhkan pengalaman, penalaran dan intuisi dari seorang tester. Untuk melakukan pengujian dibutuhkan spesifikasi yang digunakan sebagai tuntunan dalam melakukan pengujian. Spesifikasi atau model sistem adalah titik awal dalam memulai desain tes, dimana spesifikasi tersebut dapat berupa

13 spesifikasi fungsional, spesifikasi kinerja, spesifikasi keamanan, spesifikasi skenario pengguna, atau spesifikasi berdasarkan pada resiko sistem. Spesifikasi tersebut menggambarkan kriteria yang digunakan untuk menentukan operasi yang benar atau dapat diterima sebagai acuan pelaksanaan tes. 2.2.1 Equivalence Partitioning Equivalence Partitioning adalah teknik pengujian kotak hitam di mana setiap input dari suatu program yang diuji, dibagi menjadi kelas-kelas data yang dapat digunakan untuk menggenerasi setiap klasifikasi test case (William, 2000). Teknik ini bertujuan untuk menemukan kelas-kelas input yang berdasarkan pada keseragaman kondisi input. Contohnya dapat berupa nilai numerik tertentu, rentang nilai, kumpulan nilai yang berkaitan, maupun kondisi boolean. Setiap kelas yang ekivalen merupakan representasi dari kumpulan status/kondisi yang valid atau tidak valid. Kelas ekivalen dapat didefinisikan dengan kondisi berikut : a) Jika kondisi input mensyaratkan rentang nilai, maka sebuah kelas ekivalen yang valid dan dua buah kelas ekivalen yang tidak valid akan terbentuk. b) Jika kondisi input mensyaratkan nilai yang spesifik, maka sebuah kelas ekivalen yang valid dan dua buah kelas ekivalen yang tidak valid akan terbentuk. c) Jika sebuah kondisi input mensyaratkan sebuah anggota dari sebuah himpunan, maka sebuah kelas ekivalen yang valid dan sebuah kelas ekivalen yang tidak valid akan terbentuk.

14 d) Jika sebuah kondisi input mensyaratkan sebuah boolean, maka sebuah kelas ekivalen yang valid dan sebuah kelas ekivalen yang tidak valid dapat terbentuk. 2.2.2 Boundary Value Analysis (BVA)/Limit Testing Boundary value analysis (BVA) adalah teknik desain test case yang merupakan komplemen dari equivalence partitioning (Pressman, 2002). Teknik ini cenderung memilih elemen-elemen di dalam kelas ekivalen pada bagian sisi batas dari kelas. Kondisi pada BVA memiliki banyak persamaan dengan equivalence partitioning, adalah sebagai berikut : a) Jika kondisi input untuk rentang yang dibatasi nilai a dan b, maka test case didesain dengan nilai (a-1), a, (a+1), (b-1), b, (b+1). b) Jika kondisi input mensyaratkan sejumlah n nilai, maka test case didesain dengan sejumlah nilai (n-1), n, (n+1). c) Petunjuk a dan b diberlakukan bagi kondisi output (buat tabel pengujian hasil keluarannya untuk nilai maksimal dan minimal). d) Jika struktur data internal dari program memiliki cakupan (misalnya ukuran buffer, batas array) gunakan data input yang menguji batas cakupan.

15 2.3 Pengujian Sistem Berbasis Web Sistem berbasis web (web-based system) adalah sistem yang menggunakan internet (gabungan interkoneksi jaringan), intranet (jaringan khusus dalam suatu institusi/lembaga), atau ekstranet (jaringan khusus yang mengijinkan akses dari eksternal dengan menggunakan web). Dengan karakteristik tersebut, suatu sistem berbasis web akan banyak menerima resiko dari pengguna web. Risk atau faktor-faktor yang dapat diambil dari sistem berbasis web antara lain : a) Security Resiko utama dari sistem berbasis web adalah masalah keamanan. Pengembang dan pengelola sistem perlu meyakinkan bahwa aplikasi dan data telah diproteksi dari penyusup atau akses yang illegal. Kata kunci yang dapat dipakai untuk pengujian ini : external intrusion, protection of secured transaction, viruses, access control, authorization control. b) Performance Pentingnya performance pada suatu sistem, mengakibatkan aplikasi berbasis web dengan performa internet yang jelek menjadi sulit untuk digunakan. Hal ini dapat menyebabkan pengunjung atau pengguna sistem menjadi frustasi. Akibatnya para pengunjung dapat dengan mudah beralih menggunakan sistem lain yang serupa tetapi dengan performa yang baik. Kata kunci yang dapat dipakai untuk pengujian ini : concurrency, stress, throughput.

16 c) Correctness Faktor ini sangat penting pada proses pengujian. Dalam sistem berbasis web fungsi dan informasi yang dihasilkan harus benar. Kata kunci yang dapat dipakai untuk pengujian ini : functionally, calculation. d) Compatibility Aplikasi berbasis web harus dapat berjalan dengan baik pada berbagai macam sistem dengan aneka konfigurasi browser serta perangkat keras. Kata kunci yang dapat dipakai untuk pengujian ini : operating system, browser. e) Reliability Aplikasi yang berbasis web harus memiliki tingkat ketersediaan yang tinggi, informasi yang disediakan harus konsisten dan reliable terhadap pemakai. Kata kunci yang dapat dipakai untuk pengujian ini : consistently correct result, server and system availability. f) Data Integrity Data yang diolah dalam sistem berbasis web harus divalidasi untuk menyakini kebenaran data tersebut. Selain itu juga data harus selalu benar setelah tersimpan di dalam sistem. Kata kunci yang dapat dipakai untuk pengujian ini : ensuring only correct data is accepted, ensuring data stay in correct state.

17 g) Usability Aplikasi harus mudah digunakan oleh user. Dalam konteks ini, kemudahan penggunaan sistem mencakup navigasi menu, informasi mudah dipahami oleh pengguna sistem, dan lain-lain. Kata kunci yang dapat dipakai untuk pengujian ini : ensuring the application is easy to use and understand, ensuring that users know how to interpret and use the information delivered from application, ensuring that navigation is clear and correct. h) Recoverability Pada saat sistem down, sistem harus bisa dipulihkan kembali termasuk di dalamnya transaksi yang hilang ataupun komunikasi yang terputus. Recoverability juga meliputi tindakan back up yang benar menjadi bagian perawatan sistem secara regular. Kata kunci yang dapat dipakai untuk pengujian ini : lost connection, timeouts, dropped lines, client system crashes, server system crashes or other application problem.