7.03.2008

Metode Pengujian Perangkat Lunak


1. Function testing

Function test disebut juga black box test atau testing to specification

Ø Gambaran umum :

Tehnik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam.

Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada batas yang dapat diterima.

Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak.

Ø Definisi berdasarkan konsep pengujian :

functionality test / Black box testing adalah mengidentifikasi kesalahan yang berhubungan dengan kesalahan fungsionalitas perangakat lunak yang tampak dalam kesalahan output.

Ø Fisibilitas Testing to spec

Program memproses data yang memiliki 5 jenis komisi dan 7 jenis discount.

Ø Definisi menurut IEEE :

functionality test / Black box testing adalah

    • Pengujian yang mengabaikan mekanisme internal sistem atau komponen dan fokus semata-mata pada output yang dihasilkan yang merespon input yang dipilih dan kondisi eksekusi
    • Pengujian yang dilakukan untuk mengevaluasi pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu

Ø Jenis pengujian functionality test / Black box testing

o Graph-based testing

Graph yang mewakili hubungan antar objek pada modul sehingga tiap objek dan hubunganya tersebut dapat di uji.

o Equivalence Partitioning

Pembagian domain masukkan dari program menjadi kelas data yang dapat di buatkan kasus ujinya.

o Boundary Value Analysis

Pemilihan kasus uji dengan mencari batas-batas ekstrim dari kelas data.

o Comparison testing

§ Digunakan untuk system yang menganut Redundancy.

§ Kasus uji yang dirancang untuk sutu versi perangkat lunak dijadikan masukkan pada pengujian versi perangkat lunak lainnya.

§ Hasil kedua versi perangkat lunak harus sama.

2. Struktural Testing

Ø Gambaran umum :

Pengujian white-box berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan.

Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program.

Ø definisi berdasarkan konsep pengujian :

structural test / White box / glass box testing adalah memeriksa kalkulasi internal path untuk mengidentifikasi kesalahan

Ø Definisi menurut IEEE :

structural test / White box / glass box testing adalah Pengujian yang memegang perhitungan mekanisme internal sistem atau komponen

Ø structural test memiliki 4 kategori :

1. 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

2. Software qualification test

3. Maintainability test

4. Reusability test

Ø Masing-masing path (jalur) harus di uji setidaknya satu kali.

Ø Masing-masing branch (cabang) harus di uji setidaknya satu kali.

Ø Masing-masing statement (perintah) harus di uji setidaknya satu kali.

Ø Kelemahan Model ini adalah :

o Jika masing-masing jalur hanya di uji sekali, belum menjamin bahwa produk “ bug free”.

o Path hanya bisa di coba kalau path tersebut “ exist”.

Ø Control Structur test

o Condition testing

Cara merancang kasus uji untuk kondisi logika yang ada pada suatu modul program :

· Kondisi sederhana = perubahan Boolean | ekspresi relasional.

· Kondisi bentukan (compound) = gabungan dari beberapa kondisi sederhana.

o Data flow testing

Cara menguji berdasarkan lokasi dari pendefinisian dan pengulangan yang digunakan suatu peubah dalam modul program.

o Loop testing

Cara menguji berdasarkan validalitas dari konstruksi pengulangan yang di gunakan dalam modul program :

· Sederhana

· Bercabang

· Bersanbung (concanteanated)

· Takterstruktur

3. SystemVerification Testing

Ø Proses menentukan apakah suatu fase telah dilaksanakan dengan benar

Ø Are we building the product right ? ( boehm, 1984)

Ø Menguji perangkat lunak dan system lain sebagai suatu kesatuan.

4. SystemValidation Testing

Ø Evaluasi secara intensif terhadap produk sebelum diberikan klien.

Ø Are we building the right product ? ( Boehm,1984)

Ø Menguji kesesuaian dengan requirement (spesifikasi kebutuhan).

Ø Metode : balck-box.

Ø Menguji perangkat lunak dan system lain sebagai suatu kesatuan.

5. Modul Testing

Ø Informal test : dilakukan oleh programmer pada saat mengkodekan program. Kesalahan perbaikan yang terjadi tidak di dokumentasikan.

Ø Formal test : dilakukan oleh tim SQA setelah programmer selesai mengimplimentasikan suatu modul. Test ini meliputi non-execution based test dan execution based test. Setiap kesalahan yang terjadi, perbaikan yang dilakukan harus di dokumentasikan.

Ø Umumnya dilakukan oleh pengembang sendiori atau antar pengembang.

Ø Menguji modul/unit.

Ø Metode : white box.

6. Integration & Implementation testing

Ø Lebih baik menggunakan penguji independen (ITG=Independent Test Group).

Ø Menguji perancangan perangkat lunak.

Ø Metode : white-box dan black box.

Ø Pengimplementasian dan penginterasian diperlakukan dalam 2 fase terpisah yang independent. Maisng-masing produk di implementasi dan di uji secara terpisah, selanjutnya seluruh modul di integrasikan secara bersama.

Kelemahan :

o Suatu modul tidak dapat di uji secara terpisah jika modul tersebut berhubungan dengan modul lain. Oleh sebab itu di perlukan ‘dummy moduls’ berupa :

Stubs, modul kosong yang berfungsi menggantikan modul yang di panggil / diakses. Biasanya modul ini hanya menampilkan pesan “Modul X di panggil”.

Driver, ‘modul ‘ yang memanggil modul yang di uji. Modul ini di gunakan untuk menguji nilai yang di kembalikan oleh modul yang di implementasikan.

o Sulit untuk mengisolasi kesalahan (fault isolation)

Ø Ada dua ancangan dalam pengujian integrasi secara incremental :

o Top-down

§ Modul di integrasiukan dengan menurun dilihat dari hirarki control, dimulai dari modul pengendali utama (main program)

§ Pengintegrasian modul-modul dibawah digabungkan dengan cara :

a. Breadth-first

b. Depth-first

§ Proses integrasi :

§ Kelebihan

a. Implementasi dan integrasi dilakukan secara pararel

b. Kesalahan yang terjadi dapat diisolasi

c. Jika ada kesalahan logika, dapat terdeteksi dengan cepat pada awal proses

Logic modules, modul-modul control yang menentukan logika program, biasanya terletak pada akar pohon

Operational modules, modul-modul operasioanl biasanya terletak pada daun pohon.

§ Kelemahan

a. Modul yg berpotensi untuk digunakan kembali kurang mendapat test yang cukup.

b. Defensive programming, teknik pemrograman yang mencegah penggunaan data yang tidak valid.

If (x ≥ 0 ),Y= compute squareroot (x,error Flag);

o Bottom-up

§ Modul diintegrasikan dengan menaik dilihat dari hirarki control, dimulai dari modul atomic (modul di tingkat paling bawah) yang membentuk cluster (build).

§ Proses integrasi :

§ Kelebihan

a. Implementasi dan integrasi dilakukan secara parallel

b. Kesalahan yang terjadi dapat diisolasi

c. Modul-modul operasional sering di uji, sehingga jika di gunakan pada produk yang lebih teruji secara menyeluruh.

§ Kelemahan

o Kesalahan logika baru dapat ditemukan pada akhir proses.

7. Stress testing

Ø Pengujian kekuatan

Ø Bagian dari jenis system test

8. Performance testing

Ø Pengujian kinerja

Ø Bagian dari jenis system test.

Ø Untuk menguji volume data dan transaksi yang bisa ditangani oleh sistem, termasuk mengukur waktu yang dibutuhkan.

9. Instalation testing

Ø Adalah memasang sistem yang baru, meliputi: persiapan perangkat keras, perangkat lunak dan tempat.

Tidak ada komentar:

Mesin pencari Google