1. Pengertian Pengujian
Pengujian
program / perangkat lunak merupakan suatu tahapan penting dalam pengembangan
program/perangkat lunak. Tahapan pengujian perogram dilakukan dengan cara
mengevaluasi konfigurasi program, perancangan program, dan program yang
dihasilkan. Hasilnya kemudian dibandingkan dengan hasil uji yang diharapkan.
Jika ditemukan kesalahan, maka perbaikan perangkat lunak harus dilakukan,
kemudian diuji kembali.
Pelaksanaan
pengujian perangkat lunak biasanya disesuaikan dengan metodologi pembangunan
perangkat lunak tersebut. Pada umumnya pengujian dilakukan sesudah tahap
pembuatan program.
2. Prinsip Pengujian
Terdapat
beberapa prinsip pengujian yang biasa dilakukan sebelum melakukan pengujian
perangkat lunak. Prinsip pengujian diantaranya adalah sebagai berikut:
a. Pengujian harus direncanakan
b. Pengujian dimulai dari hasil yang
kecil dilanjutkan kepada hal-hal yang besar
c. Pengujian hendaknya dilakukan oleh
pihak ketiga
3. Tujuan Pengujian
Pengujian
program dilakukan untuk mengungkap adanya kesalahan pada program, dilakukan
dengan cara menjalankan dan menyeleksi program, baik secara manual maupun
secara otomatis.
Selain
itu, tujuan dari pengujian perangkat lunak adalah sebagai berikut:
a. Menilai apakah perangkat lunak yang
dikembangkan telah memenuhi kebutuhan pengguna atau belum
b. Melihat apakah tahap pengembangan
perangkat lunak sesuai dengan metodologi yang digunakan atau tidak
c. Membuat dokumentasi hasil pengujian
yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi
yang ditentukan
d. Mencari tahu kualitas dan produk
perangkat lunak tersebut
e. Meningkatkan kepercayaan akan sistem
itu sendiri, bahwa sistem tersebut dapat digunakan dengan resiko kerusakan yang
rendah
f.
Menyediakan
informasi yang penting sehingga dapat membantu mengurangi terjadinya error yang
sebelumnya pernah terjadi
g. Mencari error dan kelemahan dari
sistem tersebut, juga dapat mendeteksi keterbatasan kinerja dari sistem
tersebut
h. Mencari informasi sejauhmana
kemampuan sistem tersebut
4. Tahap Pengujian
Tahapan
pengujian perankat lunak bisa dilakukan dengan tahapan berikut:
a. Menentukan apa yang akan diukur
melalui pengujian
b. Bagaimana pengujian akan dilaksanakan
c. Melakukan pengujian dengan cara
memberikan sejumlah kasus uji (test case), yaitu sekumpulan data atau situasi
yang akan digunakan dalam pengujian
d. Menentukan hasil yang akan diharapkan
e. Menjalankan pengujian
f.
Membandingkan
hasil pengujian dengan hasil yang diharapkan
a.
Pengujian
Tahap Analisa
Pengujian yang menjamin validasi
kebutuhan telah dispesifikasikan dengan benar. Pengujian ini untuk mendapatkan
kebutuha yang layak dan untuk memastikan apakah kebutuhan tersebut sudah
dirumuskan dengan baik atau belum.
Faktor-faktor pengujian yang
dilakukan pada tahap analisis ini adalah sebagai berikut:
1) Kebutuhan yang berkaitan dengan
metodologi
2) Pendefinisian spesifikasi fungsiional
3) Penentuan spesifikasi keguanan
4) Penentuan kebutuhan prtabilitas
5) Pendefinisian antarmuka sistem
b.
Pengujian
Tahap Perancangan
Pengujian tahap perancangan bertujuan
menguji struktur perangkat lunak yang diturunkan dari kebutuhan-kebutuhan.
Kebutuhan yang bersifat umum dirinci menjadi bentuk yang lebih spesifik.
Faktor-faktor pengujian yang
dilakukan pada tahap perancangan adalah sebagai berikut:
1) Perancangan yang berkaitan dengan kebutuhan
2) Kesesuaian perancangan dengan
metodologi dan teori
3) Portabilitas rancangan
4) Perancangan perawatan
5) Kebenaran rancangan berkaitan dengan
fungsi dan aliran data
6) Kelengkapan perancangan antarmuka
c.
Pengujian
Tahap Implementasi
Pengujian tahap implementasi
merupakan pengujian unit-unit yang dibuat sebelum diintegrasikan dengan
aplikasi keseluruhan.
Faktor-faktor pengujian yang
dilakukan pada tahap implementasi adalah sebagai berikut:
1) Kendali integritas data
2) Kebenaran program
3) Kemudahan pemakaian
4) Sifat coupling (ketergantungan antar
modul)
5) Pengembangan prosedur operasi
d.
Pengujian
Tahap Pengujian
Pengujia tahap pengujian merupakan pengujian apakah
program telah ditulis menjadi intruksi-intruksi yang dapat dijalankan oleh
mesin dan keseuaiannya dengan spesifikasi program.
Faktor-faktor pengujian yang
dilakukan pada tahap pengujian adalah sebagai berikut:
1) Pengujian fungsional
2) Dukungan manual
3) Kemudahan operasi
e.
Pengujian
dengan Kasus Uji
Pengujian yang dilakukan meliputi
pengujian unit (berupa prosedur atau fungsi) dan pengujian sistem. Pengujian
unit dilakukan untuk menguji unit-unit yang ada dalam sistem, sedangkan
pengujian sistem dilakukan terhadap sistem secara keseluruhan. Setiap pengujian
dilakukan dengan menggunakan berbagai data masukan yang valid maupun tidak.
5. Teknik Pengujian
Ada
tiga teknik pengujian yang dapat digunakan untuk menguji perangkat lunak,
teknik pengujian diantaranya adalah sebagai berikut:
a. Teknik White Box Testing
Teknik
ini digunakan untuk mengetahui cara kerja perangkat lunak secara internal. Cara
pengujian yang dilakukan dengan melihat ke dalam modul untuk meneliti kode-kode
program yang ada, dan menganalisa apakah ada kesalahan atau tidak.
Pengujian
dilakukan untuk menjamin operasi-operasi internal sesuai dengan spesifikasi
yang telah ditetapkan dengan menggunakan struktur kendali dari prosedur yang
dirancang. Pelaksanaan pengujian white box testing ini adalah sebagai berikut:
1) Memberikan jeminan bahwa semua jalur
independen pada suatu modul telah digunakan paling tidak satu kali.
2) Mengeksekusi semua pengulangan pada
batas operasional program tersebut.
3) Menggunakan struktur data internal
untuk menjamin validitasnya.
4) Menggunakan semua keputusan logis
pada sisi true dan false
Adapun langkah-langkah untuk
melakukan pengujian menggunakan white box testing ini adalah sebagai berikut:
1) Mendefinisikan semua alur logika
2) Membangun kasus untuk digunakan dalam
pengujian
3) Melakukan pengujian
a) Kelebihan white box testing
-
Dapat
menemukan kesalahan logika
-
Dapat
menemukan ketidaksesuaian asumsi
-
Dapat
menemukan kesalahan ketik
b) Kelemahan white box testing
Pengerjaan
white box testing ini membutuhkan waktu yang lama karena penelusuran kesalahan
dilihat dari internal programnya. Dibutuhkan waktu dan sumber daya yang lebih
besar dari black box testing.
b. Teknik Black Box Testing
Pengujian
black box testing digunakan untuk menguji fungsi-fungsi dari perangkat lunak
yang dirancang. Pada teknik ini kebenaran perangkat lunak yang diuji hanya
dilihat berdasarkan keluaran yang dihasilkan dari data atau kondisi masukan
yang diberikan untuk fungsi yang ada tanpa melihat bagaimana untuk mendapatkan
keluaran tersebut.
Kemampuan
program dalam memenuhi kebutuhan pemakai dapat diketahui berdasarkan keluaran
(output) yang dihasilkannya. Beberapa kesalahan keluaran (output) diantaranya
adalah sebagai berikut:
1) Fungsi tidak benar atau hilang
2) Kesalahan antarmuka
3) Kesalahan pada struktur data
(pengaksesan basis data)
4) Kesalahan inisialisasi dan akhir
program
5) Kesalahan performansi
a) Kelebihan Black box
-
Dapat
memilih subtest test secara efektif dan efisien
-
Dapat
menemukan cacat
-
Memaksimalkan
testing incestmen
-
Lebih
mudah dalam pengujian dibandingkan menggunakan white box
b) Kelemahan Black box
-
Test
tidak terlalu yakin apakah perangkat lunak tersebut lulus uji atau tidak
-
Cukup
sulit untuk menelusuri kesalahan sistem
c. Teknik Gray Box Testing
Teknik
gray box ini merupakan kombinasi dari white box dan black box testing,
mengambil kelebihan keduanya dan mmengurangi kelemahan keduanya. Menguji
perangkat lunak berdasarkan spesifikasi tetapi menggunakan cara kerja dari
dalam. Gray box dapat digunakan dengan baik dalam software testing.
Pengujian
gray box testing juga dikenal sebagai pengujian tembus cahaya. Penguji memiliki
akses ke pengetahuan dokumentasi desain dan dapat mempersiapkan serta membuat
kasus dan rencana pengujian yang lebih
baik. Prngujisn grsy box testing ini lebih ocok untuk aplikasi website.
Aplikasi website telah didistribusikan dengan jaringan atau sistem yang tidak
ada sumber kode atau binary, sehingga tidak mungkin menggunakan pengujian white
box. Pungujian black box juga tidak digunakan karena hanya melakukan kontrak
antara pelanggan dan pengembang, sehingga lebih efisien menggunakan gray box
testing sebagai informasi penting yang tersedia dalam Web Server Definition
Language (WSDL).
1) Teknik pada Gray Box Testing
a) Matrix testing adalah menyatakan
laporan atau status proyek
b) Regensi testing adalah menyatakan
status apakah terjadi perubahan pada kasus uji yang baru dibuat
c) Pattern testing adalah memverifikasi
aplikasi yang baik untuk desain arsitektur dan pola
d) Orthogonal array testing adalah
bagian dari semua kemungkinan yang terjadi pada kombinasi.
2) Keuntungan dari Gray Box Testing
a) Bekerja dengan baik untuk segmen kode
besar
b) Penguji tidak diharuskan untuk
mengetahui bahasa pemrograman atau metode untuk menguji aplikasi
c) Pengujian didasarkan padaperspektif
pengguna, bukan perancang
3) Kekurangan dari Gray Box Testing
a) Ketika melakukan gray box testing
harganya sangatlah mahal
b) Sebagian besar kasus uji sulit untuk
dirancang
c) Karena hanya ada beberapa skenario
pengujian, cakupan liputannya terbatas
d) Karena penguji memiliki pengetahuan
terbatas tentang proses itu tidak dianggap sebagai metode pengujian yang
efisien
6. Strategi Pengujian
Digunakan
untuk mengintegrasikan metode-metode perancangan kasus pengujian perangkat
lunak menjadi suatu langkah-langkah terencana dengan tujuan mendapatkan
perangkat lunak yang sukses.
Pengujian
perangkat lunak meliputi perencanaan pengujian, perancangan kasus-kasus uji, eksekusi
pengujian, pengumpulan data, serta evaluasi.
a. Pengujian unit program
Pengujian
difokuskan pada unit terkecil dari suatu modul program. Dilaksanakan dengan
menggunakan driver dan stub. Driver adalah suatu program utama yang berfungsi
mengirim atau menerima data kasus uji dan mencetak dari modul yang diuji. Stub
adalah modul yang menggantikan modul subordinat dari modul yang diuji. Biasanya
berorientasi pada white box.
b. Pengujian integrasi
Pengujian
integrasi adalah pengujian terhadap unit-unit program yang saling berhubungan
pada masalah interfacing.
c. Pengujian validasi
Pengujian
ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan. Suatu validasi
dikatakan sukses apabila perangkat lunak berfungsi dengan suatu cara yang
diharapkan oleh pengguna.
d. Pengujian sistem
Pengujian
dilakukan sepenuhnya pada sistem berbasis komputer.
1) Recovery testing
Pengujian
dilakukan ketika sistem diusahakan untuk gagal, kemudian diuji normalisasinya
2) Security testing
Pengujian
dilakukan untuk menguji mekanisme proteksi
3) Stress testing
Pengujian dirancang untuk menghadapi suatu perangkat lunak pada situasi yang tidak normal.
Sumber: Buku Informatika untuk SMA/MA Kelas XII, Imas Rahayu dan Dadan Hermawan, Grafindo Media Pratama, Bandung, 2019.
Penjelasan dalam bentuk video bisa disimak melalui sematan berikut: