Pages

Selasa, 10 Juli 2012

Pengujian Perangkat Lunak


                              DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

Proses Testing
• System Testing
   – Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system

• Acceptance Testing
   – Pengujian terakhirs sebelum sistem dipakai oleh user.
   – Melibatkan pengujian dengan data dari pengguna sistem.
   – Biasa dikenal sebagai “alpha test” (“beta test” untuk software komersial, dimana pengujian dilakukan oleh potensial customer)

•  Proses Testing
 
The testing process
Component testing
  • Pengujian komponen-komponen program 
  • Biasanya dilakukan oleh component developer (kecuali untuk system kritis)
 Integration testing
  • Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-system ataupun system 
  • Dialakukan oleh tim penguji yang independent 
  • Pengujian berdasarkan spesifikasi sistem

Rencana Pengujian
  1. Proses testing : Deskripsi fase-fase utama dalam pengujian 
  2. Pelacakan Kebutuhan : Semua kebutuhan user diuji secara individu 
  3. Item yg diuji : Menspesifikasi komponen sistem yang diuji 
  4. Jadual Testing 
  5.  Prosedur Pencatatan Hasil dan Prosedur 
  6. Kebutuhan akan Hardware dan Software 
  7. Kendala-kendalaMis: kekuranga staff, alat, waktu dll.

Hubungan antara rencana pengujian dan proses pengembangan system


1. PENGUJIAN WHITE BOX

a.       Pengujian White Box adalah metode desain test case yang menggunakan struktur control desain procedural untuk memperoleh test case.
b.      Disebut juga pengujian glassbox.
c.       Dengan pengujian whitebox,
Perekayasa dapat melakukan :
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 pada batasan mereka dan pada batas operasional mereka.
4. Menggunakan struktur data internal untuk menjamin validitasnya.

2. PENGUJIAN BLACKBOX

Black-box testing
-          Pendekatan pengujian dimana program dianggap sebagai suatu ‘black-box’ (‘kotak hitam’)
-          Program test case berbasiskan spesifikasi
-          Test planning dapat dimulai sejak awal proses pengembangan sistem. pengujian blackbox berusaha menemukan :
· Fungsifungsiyang tidak benar atau hilang
· Kesalahan interface
· Kesalahan dalam struktur data atau akses database eksternal.
· Kesalahan kinerja
· Inisialisasi dan kesalahan terminasi.

Dengan mengaplikasikan teknik blackbox maka kita menarik serangkaian test case yang memenuhi criteria beirkut :
· Test case yang mengurangi, dengan harga lebih dari satu, jumlah test case
tambahan yang harus di desain untuk mencapai pengujian yang dapat
dipertanggungjawabkan.
· Test case yang member tahu kita sesuatu mengenai kehadiran atau ketidakhadiran
kelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya
dengan pengujian spesifik.
3. Metode Pengujian GraphBased


4. Partisi Ekivalensi
o Input data dan output hasil terdapat di klas yang berbeda yang sesuai
dengan klas inputnya.
o Masingmasing klas eqivalensi partition diproses dimana program akan
memproses anggota klasklas tersebut secara equivale.
o Test case dipilih dari masingmasing partisi
5. Analisis Nilai Batas
Analisis nilai batas adalah teknik desain proses yang melengkapi partisi ekivalensi.
6. Pengujian Perhitungan


Strategi Pengujian Perangkat Lunak
 Pengujian Validasi
Kajian Konfigurasi (audit)
  •  Elemen dari proses validasi 
  • Memastikan apakah semua elemen konfigurasi perangkat lunak telah
dikembangkan dengan tepat
Pengujian Aplikasi Server
1.      Volume Testing
2.      Stress Testing
3.      Performance Testing
4.      Data Recovery Testing
5.      Data Backup and Restore Testing
6.      Data Security Testing

Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data dalam jumlah yang besar dalam periode waktu yang singkat.
Tujuan: meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar batasan fisik dan batasan logik.
Contoh: 
Mengujikan proses antar server dan antar partisi hardisik pd satu server.

Stress Testing
Tujuan: mengetahui kemampuan sistem dalam melakukan transaksi selama periode waktu puncak proses. Contoh periode puncak: ketika penolakan proses login on-line setelah sistem down atau pada kasus batch, pengiriman batch proses dalam jumlah yg besar dilakukan setelah sistem down. 
Contoh: Melakukan login ke server ketika sejumlah besar workstation melakukan proses menjalankan perintah sql database.

Performance Testing
Dilakukan secara paralel dengan Volume dan Stress
testing untuk mengetahui unjuk kerja sistem (waktu
respon, throughput rate) pada beberapa kondisi
proses dan konfigurasi.
Dilakukan pada semua konfigurasi sistem perangkat
keras dan lunak.
  • Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs.Desktop)
  • Menguji sistem dengan hubungannya sistem ke lain pada server yg sama.
Data Recovery Testing
Investigasi dampak kehilangan data melalui proses recovery ketika terjadi kegagalan proses.
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan berbagai cara.
Kehilangan Data terjadi akibat kegagalan sistem, hardisk rusak, peghapusan yg tidak sengaja, kecelakaan, virus dan pencuri.

Data Backup and Restore
Testing
Dilakukan untuk melihat prosedur back-up dan recovery.
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses backup dan recovery.
Pengujian dilakukan terhadap strategi backup: frekuensi , medium, waktu, mekanisme backup (manual/ otomatis), personal, ? Berapa lama backup akan disimpan.
Switching antara live dan backup server ketika terjadi kerusakan (load log transaction pada back-up kemudian melaku recovery).

Data Security Testing
Privilege access terhadap database diujikan pada beberapa user yang tidak memiliki privilege access ke database.
Shutdown database engine melalui operating system (dengan beberapa perintah OS) yg dapat mematikan
aplikasi database.

Debugging


4 komentar: