Definisi pengujian perangkat lunak (PL) :
* Menurut Myers (1979)
o Proses menjalankan program dengan maksud menemukan kesalahan
* Menurut IEEE (1990)
o Proses sistem operasi atau komponen menurut kondisi tertentu, pengamatan atau pencatatan hasil dan mengevaluasi beberapa aspek sistem atau komponen
o Proses analisis item PL untuk mendeteksi perbedaan antara kondisi yang ada dengan yang diinginkan dan mengevaluasi fitur item PL
* Definisi lanjut
o Proses formal yang ditentukan oleh tim pengujian yang meliputi unit PL, beberapa unit PL terintegrasi atau seluruh package PL yang ditentukan oleh program yang berjalan di komputer. Seluruh tes saling terkait dan adanya prosedur pengujian dan kasus pengujian.
Tujuan pengujian PL :
* Tujuan langsung
o Identifikasi dan menemukan beberapa kesalahan yang mungkin ada dalam PL yang diuji
o Setelah PL dibetulkan, diidentifikasi lagi kesalahan dan dites ulang untuk menjamin kualitas level penerimaan
o Membentuk tes yang efisien dan efektif dengan anggaran dan jadwal yang terbatas
* Tujuan tidak langsung
o Mengumpulkan daftar kesalahan untuk digunakan dalam daftar pencegahan kesalahan (tindakan corrective dan preventive)
Strategi pengujian PL :
* Big bang testing : menguji PL keseluruhan, sekali untuk semua package yang ada
* Incremental testing : menguji PL per bagian dalam modul (unit testing), dilanjutkan dengan menguji integrasi tiap modul (integration test), selanjutnya seluruh package diuji (system testing)
Incremental testing :
* Dibentuk dari dua dasar strategi :
o Top-down
+ Modul pertama yang diuji : modul utama (tertinggi)
+ Modul terakhir yang diuji : modul pada level paling rendah
+ Keuntungan : memperlihatkan keseluruhan fungsi program (semua modul lengkap)
+ Kerugian : sulit menyiapkan potongan program dan menganalisis hasil tes
o Bottom-up : kebalikan top-down
+ Keuntungan : relatif mendorong performance
+ Kerugian : menghambat program sebagai suatu keseluruhan modul
* Keduanya menganggap package PL dibangun berdasarkan hirarki modul PL
Pengelompokan berdasarkan konsep pengujian :
* Black box (functionality) testing : mengidentifikasi kesalahan yang berhubungan dengan kesalahan fungsionalitas PL yang tampak dalam kesalahan output. Definisi menurut IEEE :
o Pengujian yang mengabaikan mekanisme internal sistem atau komponen dan fokus semata-mata pada output yang dihasilkan yang merespon input yang dipilih dan kondisi eksekusi
o Pengujian yang dilakukan untuk mengevaluasi pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu
* White box (structural) testing / glass box testing : memeriksa kalkulasi internal path untuk mengidentifikasi kesalahan.
o Definisi menurut IEEE : pengujian yang memegang perhitungan mekanisme internal sistem atau komponen
White box testing memiliki empat kategori :
* Data processing and calculations correctness test : melakukan pengecekan data processing untuk setiap kasus tes
o Pendekatan yang digunakan :
+ Path coverage : rencana tes yang mencakup semua kemungkinan path, di mana coverage diukur dengan berapa % path dicover
+ Line coverage : rencana tes yang mencakup semua baris kode program, di mana coverage diukur dengan berapa % line dicover
o Correctness test & path coverage
+ Path yang berbeda dalam modul PL akan dibentuk oleh pilihan kondisional statement seperti IF-THEN-ELSE / DO WHILE / DO UNTIL.
+ Untuk full line coverage, tiap line dieksekusi min 1 kali selama proses pengujian, contoh : Imperial Taxi Service (ITS) taximeter ada 24 test case
* Software qualification test
* Maintainability test
* Reusability test
Mc Cabe’s cyclomatic complexity metric (1976) :
* Tujuan : mengukur kompleksitas program atau modul pada waktu yang sama sebagai jumlah maksimum independent path yang dibutuhkan untuk mencapai full line coverage pada program
* Dasar ukuran : teori graph dan dihitung berdasarkan kesesuaian sifat program yang dicapture oleh program flow graph
* Independent path : setiap path pada program flow graph sedikitnya satu baris yang tidak dibentuk oleh independent path lain
* Rumus : V(G) = R = E – N + 2 = P + 1
* Keterangan :
o V(G) = cyclometic complexity graph
o R = jumlah region dalam program flow graph
o E = jumlah edge
o N = jumlah node
o P = jumlah decision (percabangan)
* Contoh kasus : Imperial Taxi Services (ITS) :
o V(G) = R = 6
o V(G) = E – N + 2 = 21 – 17 + 2 = 6
o V(G) = P + 1 = 5 + 1 = 6
Senin, 24 Mei 2010
Langganan:
Posting Komentar (Atom)
1 komentar:
https://rirydeputry.blogspot.com/2017/11/faktor-faktor-pengujian-perangkat-lunak.html?showComment=1597825216817#c2795428024164069993
Posting Komentar