Rabu, 13 Juni 2012

Testing


Definisi testing perangkat lunak :

  • Menurut Myers (1979)
Proses menjalankan program dengan maksud menemukan kesalahan
  • Menurut IEEE (1990)
  1. Proses sistem operasi atau komponen menurut kondisi tertentu, pengamatan atau pencatatan hasil dan mengevaluasi beberapa aspek sistem atau komponen
  2. Proses analisis item PL untuk mendeteksi perbedaan antara kondisi yang ada dengan yang diinginkan dan mengevaluasi fitur item PL

Definisi lanjut

Proses formal yang ditentukan oleh tim testing 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 testing dan kasus testing.

Tujuan testing perangkat lunak :

  • Tujuan langsung
  1. Identifikasi dan menemukan beberapa kesalahan yang mungkin ada dalam PL yang diuji
  2. Setelah PL dibetulkan, diidentifikasi lagi kesalahan dan dites ulang untuk menjamin kualitas level penerimaan
  3. Membentuk tes yang efisien dan efektif dengan anggaran dan jadwal yang terbatas
  • Tujuan tidak langsung
Mengumpulkan daftar kesalahan untuk digunakan dalam daftar pencegahan kesalahan (tindakan corrective dan preventive)

Strategi testing perangkat lunak :

  • Big bang testing : menguji perangkat lunak keseluruhan, sekali untuk semua package yang ada
  • Incremental testing : menguji perangkat lunak 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 :


1. 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
2. Bottom-up : kebalikan top-down
  • Keuntungan : relatif mendorong performance
  • Kerugian : menghambat program sebagai suatu keseluruhan modul

Pengelompokan berdasarkan konsep testing :

  1. Black box (functionality) testing : mengidentifikasi kesalahan yang berhubungan dengan kesalahan fungsionalitas PL yang tampak dalam kesalahan output
  2. White box (structural) testing / glass box testing : memeriksa kalkulasi internal path untuk mengidentifikasi kesalahan

Definisi menurut IEEE :

1. Black box testing : 
  • Testing yang mengabaikan mekanisme internal sistem atau komponen dan fokus semata-mata pada output yang dihasilkan yang merespon input yang dipilih dan kondisi eksekusi
  • Testing yang dilakukan untuk mengevaluasi pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu

2. White box testing :

  • Testing yang memegang perhitungan mekanisme internal sistem atau komponen
  • White box testing memiliki empat kategori :

a) Data processing and calculations correctness test : melakukan pengecekan data processing untuk setiap kasus tes


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

Correctness test & path coverage

  • Path yang berbeda dalam modul PL akan dibentuk oleh pilihan kondisional statementseperti IF-THEN-ELSE / DO WHILE / DO UNTIL.
  • Untuk full line coverage, tiap line dieksekusi min 1 kali selama proses testing, contoh : Imperial Taxi Service (ITS) taximeter ada 24 test case

b) Software qualification test

c) Maintainability test
d) Reusability test

Tidak ada komentar:

Posting Komentar