12_2.A. Pengujian Program

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:

Previous Post Next Post