• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

2.3. Pengujian Perangkat Lunak

Pada dasarnya pengujian suatu perangkat lunak harus dilakukan

untuk mengetahui mutu dan kualitas suatu perangkat lunak tersebut saat

sebelum ataupun sesudah digunakan oleh user. Pengujian dimaksudkan

untuk mengetahui sejauh mana tingkat keberhasilan produk (perangkat

lunak) dihasilkan, apakah terdapat kesalahan atau tidak pada input-output

perangkat lunak dan lain sebagainya. Berkaitan tentang penjelasan di atas

terlebih dahulu akan diuraikan penjabaran tentang suatu pengujian

2.3.1. Definisi Pengujian Perangkat Lunak

Pengujian perangkat lunak adalah elemen kritis dari jaminan

kualitas perangkat lunak dan merepresentasikan kajian pokok dari

spesifikasi, desain dan pengkodean (Pressman, 2005). Menurut Setiawan

(2011) definisi pengujian perangkat lunak adalah proses untuk mencari

kesalahan pada setiap item perangkat lunak, mencatat hasilnya,

mengevaluasi setiap aspek pada setiap komponen sistem dan mengevaluasi

semua fasilitas dari perangkat lunak yang dikembangkan. Pada intinya

proses pengujian bersifat untuk menemukan kerusakan (defect) yang

terdapat di dalam suatu perangkat lunak agar dapat ditindak lanjuti

menjadi lebih baik.

2.3.2. Sasaran Pengujian

Beberapa aturan yang dapat digunakan sebagai langkah pendukung

dalam pengujian perangkat lunak adalah sebagai berikut (Myers, 2010) :

1. Pengujian adalah proses menjalankan suatu program dengan maksud

menemukan kesalahan.

2. Test case yang baik adalah test case yang memiliki kemungkinan

tinggi untuk menemukan kesalahan yang belum pernah ditemukan

sebelumnya.

3. Pengujian yang sukses adalah pengujian yang mengungkap semua

kesalahan yg belum pernah ditemukan sebelumnya.

Perry (1995) menyimpulkan bahwa suatu pengujian yang baik

tetapi juga untuk dapat menemukan data uji yang dapat menemukan

kesalahan secara lebih teliti

2.3.3. Verifikasi dan Validasi

Pengujian perangkat lunak adalah satu elemen dari topik yang lebih

luas yang sering diacu sebagai verifikasi dan validasi (V&V). Memahami

hal tersebut Pressman (2005) menjabarkan bahwa :

1. Verifikasi mengacu pada suatu rangkaian aktivitas yang memastikan

bahwa perangkat lunak secara tepat mengimplementasikan suatu

fungsi tertentu.

2. Validasi mengacu pada serangkaian aktivitas yang berbeda yang

memastikan bahwa perangkat lunak yang dibangun dapat ditelusuri ke

persyaratan user.

Definisi dari verifikasi dan validasi meliputi berbagai aktivitas yang

kita rujuk sebagai jaminan kualitas perangkat lunak (SQA). Berikut

merupakan serangkaian komponen untuk mencapai suatu kualitas

(Pressman, 2005).

Software Quality Assurance (SQA) dimulai dengan sekumpulan

alat dan metode teknis yang membantu analis untuk mendapatkan

spesifikasi yang berkualitas tinggi dan bagi perancang untuk merancang

dengan kualitas tinggi pula. Setelah spesifikasi dan desain dibuat,

ditetapkan kualitasnya dengan melakukan review teknis formal. Pengujian

perangkat lunak mengkombinasikan langkah-langkah strategi dengan

metode rancangan test-case yang dapat menjamin pendeteksian kesalahan

secara efektif. Jika terdapat standar yang formal, berarti harus dapat

dijamin bahwa standar tersebut diikuti. Pengontrolan perubahan dilakukan

selama pembuatan perangkat lunak dan pada tahap pemeliharaan. Setiap

perubahan dapat menyebabkan kesalahan dan efek lain yang akan

menyebabkan kesalahan juga. Pengukuran terhadap perangkat lunak

mencakup pengukuran secara manajemen dan teknis. Penyimpanan hasil

dari review, audit, pengontrolan perubahan, pengujian dan lain-lain

sebagai bagian dari record historis untuk suatu proyek dan

didesiminasikan kepada para staf pengembang sebagai dasar untuk ketahui

dan ditindaklanjuti.

Miller (1981) menghubungkan pengujian perangkat lunak dengan

jaminan kualitas menyatakan bahwa motivasi yang mendasari pengujian

program adalah untuk menentukan kualitas perangkat lunak dengan

metode-metode yang dapat secara ekonomis dan efektif diaplikasikan pada

Pada umumnya proses verifikasi dan validasi mempunyai 2 (dua)

sasaran utama (Perry, 1995) yaitu :

1. Menemukan kekurangan dalam sebuah sistem.

2. Memperkirakan apakah sistem berguna dan dapat digunakan atau

tidak dalam situasi operasional.

3. Verifikasi dan validasi harus memberikan kepastian bahwa software

sesuai dengan tujuannya.

Verifikasi memiliki 2 (dua) kegiatan yang dapat dilakukan dalam

pengujian perangkat lunak (Perry, 1995) yaitu :

1. Verifikasi Statik, yaitu berhubungan dengan analisis representasi

sistematik untuk menemukan masalah, biasa disebut Software

inspection.

2. Verifikasi Dinamis, yaitu berhubungan dengan pelaksanaan dan

memperhatikan perilaku produk, biasa disebut Software testing.

2.3.4. Strategi Pengujian

Strategi pengujian perlu dilakukan untuk merancang suatu

tahapan-tahapan dalam perencanaan pengujian yang akan dilakukan. Proses ini

juga dimaksudkan untuk memperhitungkan estimasi waktu, upaya dan

sumber daya yang diperlukan sehingga perencanaan dapat dilakukan

dengan baik.

Strategi pengujian perangkat lunak dapat digambarkan sebagai proses

Gambar 2.2. Strategi Pengujian

Konteks spiral di atas dapat dijabarkan sebagai berikut :

a. Tes unit dilakukan pada saat diimplementasikannya sebuah perangkat

lunak di dalam kode sumber.

b. Tes integrasi fokusnya terletak pada desain dan konstruksi arsitektur

perangkat lunak.

c. Tes validasi dilakukan sebagai persyaratan dibangunnya perangkat

lunak dan kemudian dianalisis validasinya terhadap perangkat lunak

yang telah dikonstuksi.

d. Tes sistem dilakukan terhadap perangkat lunak dan elemen sistem

yang lain diuji secara keseluruhan.

Dalam pengujian suatu perangkat lunak, proses berjalan sepanjang

streamline yang memperluas ruang lingkup pengujian lewat

masing-masing urutan proses.

2.3.5. Testabilitas

Menurut James Bach (1994), testabilitas perangkat lunak secara

sederhana adalah seberapa mudah sebuah program komputer dapat diuji.

penguji untuk membuatnya menjadi mudah. Lakukan proses pendataan

mengenai masalah-masalah desain yang ada, fungsi-fungsi sebagai

input-output dan lain sebagainya untuk membantu dalam proses pengujian.

Beberapa karakteristik suatu perangkat lunak yang dapat diuji (James

Bach, 1994) yaitu :

1. Operabilitas, semakin baik perangkat lunak bekerja, akan membuat

perangkat lunak dites dengan lebih efisien.

2. Observabilitas, apa yang anda lihat adalah apa yang anda uji.

3. Kontrolabilitas, semakin baik kita dapat mengontrol perangkat lunak

semakin banyak pengujian yang dapat diotomatisasi dan dioptimalkan.

4. Dekomposabilitas, dengan mengontrol ruang lingkup pengujian kita

dapat lebih cepat mengisolasi masalah dan melakukan pengujian ulang

yang lebih baik.

5. Kesederhanaan, semakin sedikit yang diuji semakin cepat kita

melakukannya.

6. Stabilitas, semakin sedikit perubahan semakin sedikit gangguan

pengujian.

7. Kemampuan dipahami, semakin banyak informasi yang dimiliki,

kita akan dapat melakukan tes yang lebih baik.

Menurut Falk, dkk (2003) atribut-atribut dari pengujian yang baik

adalah sebagai berikut :

1. Pengujian yang baik memiliki probabilitas yang tinggi untuk

2. Pengujian yang baik tidak redundan.

3. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu

kompleks.

2.3.6. Tujuan Pengujian

Penentuan tujuan dari suatu pengujian perlu dilakukan untuk

menentukan sasaran apa yang ingin dicapai dari suatu proses pengujian

tersebut. Beberapa tujuan dilakukannya pengujian suatu perangkat lunak

adalah sebagai berikut (Perry, 1995) :

1. Menilai apakah perangkat lunak yang dikembangkan telah memenuhi

kebutuhan pemakai.

2. Menilai apakah tahap pengembangan perangkat lunak telah sesuai

dengan metodologi yang digunakan.

3. Membuat dokumentasi hasil pengujian yang menginformasikan

kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah

ditentukan.

Setelah mengetahui tujuan yang akan dicapai dari pengujian suatu

perangkat lunak, maka dapat dijabarkan hal-hal yang perlu dilakukan saat

pengujian yaitu (Perry, 1995) :

1. Mengidentifikasi dan menemukan beberapa kesalahan yang mungkin

ada dalam perangkat lunak yang diuji.

2. Setelah perangkat lunak diperbaiki, identifikasi ulang kesalahan dan

3. Membentuk tes yang efisien dan efektif dengan anggaran dan jadwal

terbatas.

4. Mengumpulkan daftar kesalahan untuk digunakan dalam daftar

pencegahan kesalahan (tindakan corrective dan preventive).

Dokumen terkait