PENGUJIAN PERANGKAT LUNAK
Pengujian
Perangkat Lunak adalah elemen kritis dari jaminan kualitas perangkat
lunak dan merepresentasikan kajian pokok dari spesifikasi, desain dan
pengkodean.
Dasardasar Pengujian Perangkat Lunak
Pengembang perangkat lunak sesuai dengan sifatnya dasar, mereka adalah manusia pembangun. Pengujian mengharuskan pengembang membuang pemikiranpemikiran sebelumnya mengenai “kebenaran” perangkat lunak yang baru saja dikembangkan dan mengatasi konflik minat yang terjadi pada saat kesalahan ditemukan.
Pengembang perangkat lunak sesuai dengan sifatnya dasar, mereka adalah manusia pembangun. Pengujian mengharuskan pengembang membuang pemikiranpemikiran sebelumnya mengenai “kebenaran” perangkat lunak yang baru saja dikembangkan dan mengatasi konflik minat yang terjadi pada saat kesalahan ditemukan.
Sasaran Pengujian
1.Pengujian adalah proses eksekusi suatu program dengan maksud menemukan
kesalahan.
2.Pengujian yang sukses adalah pengujian yang memiliki probabilitas tinggi
untuk menemukan dan mengungkapkan semua kesalahan yang belum pernah ditemukan
atau diduga sebelumnya.
Prinsip Pengujian
1. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
2. Pengujian harus direncanakan lama sebelum pengujian itu mulai.
3. Pengujian harus mulai “dari yang kecil” dan berkembang menjadi pengujian “yang besar”.
1. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
2. Pengujian harus direncanakan lama sebelum pengujian itu mulai.
3. Pengujian harus mulai “dari yang kecil” dan berkembang menjadi pengujian “yang besar”.
Karakteristik yang Membawa Perangkat Lunak Dapat Diuji
1. Operabilitas : Semakin baik Dia bekerja, semakin efisien Dia dapat diuji.
2. Obsaikervabilitas : “Apa yang Anda lihat adalah apa yang Anda uji”.
3. Kontralabilitas : “Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak pengujian yang dapat diotomasisasi dan dioptimalkan”.
4. Dekomposabilitas : “Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus”.
1. Operabilitas : Semakin baik Dia bekerja, semakin efisien Dia dapat diuji.
2. Obsaikervabilitas : “Apa yang Anda lihat adalah apa yang Anda uji”.
3. Kontralabilitas : “Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak pengujian yang dapat diotomasisasi dan dioptimalkan”.
4. Dekomposabilitas : “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’.
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 :
1. Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan.
2. Pengujian yang baik tidak redudan.
3. Pengujian yang baik seharusnya “jenis terbaik”,
4. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks.
1. Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan.
2. Pengujian yang baik tidak redudan.
3. Pengujian yang baik seharusnya “jenis terbaik”,
4. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks.
Tujuan Pengujian :
• Menjalankan program untuk menemukan error yang tersembunyi atau yang sebelumnya tidak terduga.
• 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.
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.
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. 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 masingmasing
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.
PENGUJIAN BLACK BOX TESTING
Black box testing adalah pengujian yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan memeriksa fungsional dari perangkat lunak. Pengujuian black box mengevaluasi hanya dari tampilan luarnya (interfacenya), fungsionalitasnya tanpa mengetahui apa sesungguhnya yang terjadi dalam proses detilnya (hanya mengetahui input dan output).
Kelebihan Black Box Testing
1.Dapat memilih subset test secara efektif dan efesien.
2.Dapat menemukan cacat.
3.Memaksimalkan testing investmen.
Kekurangan Black Box Testing
1.Tester tidak pernah yakin apakah perangkat lunak tersebut benar-benar lulus uji.
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.
PENGUJIAN BLACK BOX TESTING
Black box testing adalah pengujian yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan memeriksa fungsional dari perangkat lunak. Pengujuian black box mengevaluasi hanya dari tampilan luarnya (interfacenya), fungsionalitasnya tanpa mengetahui apa sesungguhnya yang terjadi dalam proses detilnya (hanya mengetahui input dan output).
Kelebihan Black Box Testing
1.Dapat memilih subset test secara efektif dan efesien.
2.Dapat menemukan cacat.
3.Memaksimalkan testing investmen.
Kekurangan Black Box Testing
1.Tester tidak pernah yakin apakah perangkat lunak tersebut benar-benar lulus uji.
PENGUJIAN WHITE BOX
Pengujian white box adalah metode desain test case yang
menggunakan struktur control desaian procedural untuk memperoleh test
case. Pengujian white box disebut juga dengan pengujian glassbox.
Dengan pengujian white box, perekayasa dapat :
1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali.
2. Menggunakan semua keputusan logis pada sisi true and false.
3. Mengeksekusi semua loop padanya.
4. Menggunakan struktur data internal untuk menjamin validitasnya.
1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali.
2. Menggunakan semua keputusan logis pada sisi true and false.
3. Mengeksekusi semua loop padanya.
4. Menggunakan struktur data internal untuk menjamin validitasnya.
Kelebihan White Box Testing
1.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.
2.Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk dianalisa dan di perbaiki.
3.Kesalahan ketik. Mendeteksi bahasa pemograman yang bersifat case sensitive.
Kelemahan White Box Testing
1.Untuk perangkat lunak yang tergolong besar, white box testing diaanggap sebagagi strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya.
Perbedaan White Box dan Black Box
White Box (Struktural)
a.Dilakukan oleh penguji yang mengetahui tentang QA.
b.Melakukan testing pada software/program aplikasi menyangkut security dan performance program tersebut (meliputi test code, desain implementasi, security,data flow, software failure).
c.Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing.
Metode Black Box (Fungsional)
a.Dilakukan oleh penguji independent.
White Box (Struktural)
a.Dilakukan oleh penguji yang mengetahui tentang QA.
b.Melakukan testing pada software/program aplikasi menyangkut security dan performance program tersebut (meliputi test code, desain implementasi, security,data flow, software failure).
c.Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing.
Metode Black Box (Fungsional)
a.Dilakukan oleh penguji independent.
b.Melakukan pengujian berdasarkan apa yang dilihat, hanya fokus terhadap fungsionalitas
dan ouput. Pengujian lebih ditunjukan pada desain software sesuai
standar dan reaksi apabila terdapat celah-celah pada program aplikasi
tersebut setelah dilakukan white testing.
c.Dilakukan setelah white box testing.
Condition Testing
Pengujian yang menajalankan kondisi logis yang terdapat pada modul program
Data Flow Testing
Pengujian dengan metode yang menyeleksi jalur uji program menurut
lokasi pendefinisian dan menggunakan variabel-variabel program.
Loop Testing
Pengujian yang berfokus pada validitas dari bentuk loop.
1. simple loop.
1. simple loop.
2. concatenated loop.
3. nested loop.
4. unstructured loop.
PENGUJIAN BASIS PATH
Pengujian basis oath ini diperkenalkan oleh Tom McCabe.
Pengujian basis path ini memungkinkan desain text case mengukur
kompleksitas logis dari desain procedural dan menggunakannya sebagai
pedoman untuk menetapkan basis set dari jalur eksekusi. Test case yang
dilakukan untuk menggunakan basis set tersebut dijamin untuk menggunakan
setiap statemen didalam program sekali selama pengujian.
Perangkat yang digunakan :
1. Notasi Flow Graph atau Program Graph.
2. Kompleksitas Siklomatis adalah metric perangkat lunak yang memberikan
pengukuran kuantitaif terhadap kompleksitas logis suatu program. Kompleksitas
Siklomatis menentukan jumlah jalur independen dalam basis set suatu program dan
memberikan batas atas bagi jumlah pengujian yang harus dilakukan untuk
memastikan bahwa semua statemen telah dieksekusi sedikitnya satu kali.
3.
Graph Metrik adalah matrik empat persegi yang mempunyai ukuran 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) antar node. Contoh sederhana
pemakaian graph metrik dapat digambarkan sebagai berikut :
a. Dengan menggunakan desain atau kode sebagai dasar, gambarkan sebuah grafik
alir yang sesuai.
b. Tentukan kompleksitas siklomatis dari grafik alir resultan.
c. Tentukan sebuah basis set dari jalur independen secara linier.
d. Siapkan test case yang akan memaksa adanya eksekusi setiap basis set.
b. Tentukan kompleksitas siklomatis dari grafik alir resultan.
c. Tentukan sebuah basis set dari jalur independen secara linier.
d. Siapkan test case yang akan memaksa adanya eksekusi setiap basis set.
Comments
Post a Comment