pengujian perangkat lunak - · pdf fileyour logo pengujian perangkat lunak aprilia...
TRANSCRIPT
Your Logo
PENGUJIAN
PERANGKAT LUNAK
Aprilia Sulistyohati, S.Kom
Jurusan Teknik Informatika
Universitas Islam Indonesia
DASAR PENGUJIAN PL
PENGUJIAN : proses eksekusi suatu program dengan
maksud menemukan kesalahan
PENGUJIAN PERANGKAT LUNAK: Elemen dari jaminan
kualitas perangkat lunak yang meliputi spesifikasi, desain dan
pengkodean
Page 2
PROSES TESTING
1) System Testing
- Pengujian terhadap integrasi sub-system, yaitu
keterhubungan antar sub-system
2) Acceptance Testing
- Pengujian terakhir 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)
Page 3
CONT...
3) Component testing
- Pengujian komponen-komponen program
- Biasanya dilakukan oleh component developer
(kecuali untuk system kritis)
4) Integration testing
- Pengujian kelompok komponen-komponen yang
terintegrasi untuk membentuk sub-system ataupun
system
- Dilakukan oleh tim penguji yang independent
- Pengujian berdasarkan spesifikasi sistem
Page 4
GAMBARAN PROSES TESTING
Page 5
Unit
testingAcceptance
Testing
Module
testing
Sub-System
TestingSystem
Testing
Integration Testing Component Testing
User Testing
Failures & Faults
Failure : output yang tidak benar/tidak sesuai ketika sistem
dijalankan
Fault : kesalahan dalam source code yang mungkin
menimbulkan failure ketika code yang fault tersebut
dijalankan.
Page 6
PRIORITAS PENGUJIAN
Prioritas dilakukan terhadap pengujian
kemampuan sistem, bukan masing-masing
komponennya.
Hanya test yang lengkap yang dapat
meyakinkan sistem terbebas dari kesalahan,
tetapi hal ini sangat sulit dilakukan.
Page 7
KASUS TEST DAN TEST DATA
Test data: Input yang yang dirancang untuk menguji sistem.
Test cases: spesifikasi dari Input yang digunakan untuk
menguji sistem dan memprediksi output dari input jika sistem
beroperasi sesuai dengan spesifikasi ditambah pernyataan
tentang apa yang diuji.
Page 8
Pendekatan Startegis ke Pengujian Perangkat Lunak
1) Pengujian Unit
2) Pengujian Integrasi
3) Pengujian Validasi
4) Pengujian Sistem
Page 9
1) PENGUJIAN UNIT
Checklist untuk pengujian interface
- Apakah jumlah parameter input sama dengan jumlah argumen?
- Apakah antara atribut dan parameter argumen sudah cocok?
- Apakah antara sistem satuan parameter dan argumen sudah cocok?
- Apakah jumlah argumen yang ditransmisikan ke modul yang dipanggil
sama dengan atribut parameter?
- Apakah atribut dari argumen yang ditransmisikan ke modul yang
dipanggil sama dengan atribut parameter?
Page 10
- Apakah jumlah atribut dan urutan argumen ke fungsi-fungsi sudah
benar?
- Adakah referensi ke parameter yang tidak sesuai dengan poin entri
yang ada?
Page 11
TEST CASE
Test case harus didesain untuk mengungkap kesalahan dalam
kategori:
- pengetikan yang tidak teratur dan tidak konsisten
- inisialisasi yang salah atau nilai-nilai default
- Nama variabel yang tidak benar
- Tipe data yang tidak konsisten
Page 12
SEBERAPA BAIK SISTEM KITA DIBANGUN???
a) Dua Aspek yang dipertimbangkan:
a) Apakah implementasi sudah sesuai dengan spesifikasi ?
b) Apakah spesifikasi sesuai dengan kebutuhan user ?
b) Validasi
a) Apakah sistem yang dikembangkan sudah benar?
b) Pengujian dimana sistem ketika diimplementasikan sesuai dengan yang
diharapkan
c) Verifikasi
a) Apakah sistem dikembangkan dengan cara yang benar ?
b) Pengujian apakah sistem sudah sesuai dengan spesifikasi
Page 13
2) Pengujian Integrasi
Pengujian keseluruhan system atau subsystem yang terdiri dr komponen
yg terintegrasi.
Test integrasi menggunakan black-box dengan test case ditentukan dari
spesifikasi.
Kesulitannya adalah menemukan/melokasikan
Penggunaan Incremental integration testing dapat mengurangi masalah
tersebut.
Page 14
PENDEKATAN INTEGRATION TESTING
Top-down testing
Berawal dari level-atas system dan terintegrasi dengan mengganti
masing-masing komponen secara top-down dengan suatu stub
(program pendek yg mengenerate input ke sub-system yg diuji).
Bottom-up testing
Integrasi components di level hingga sistem lengkap sudah teruji.
Fakta, kebanyakan test integrasi menggunakan kombinasi kedua strategi
pengujian.
Page 15
3) PENGUJIAN VALIDASI
Kajian Konfigurasi (audit)
- Elemen dari proses validasi
- Memastikan apakah semua elemen konfigurasi perangkat lunak telah
dikembangkan dengan tepat
Page 16
PENGUJIAN SISTEM
ASPEK DALAM PENGUJIAN SISTEM:
- Pengujian Perbaikan
- Pengujian Keamanan
- Pengujian Stress
- Pengujian Kinerja
Page 17
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
Page 18
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
antar batasan fisik dan batasan logik.
Contoh:
Mengujikan proses antar server dan antar partisi hardisik pd satu server.
Page 19
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.
Page 20
PERFOMANCE 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.
Page 21
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, penghapusan yg tidak sengaja, kecelakaan, virus dan
pencuri.
Page 22
Dilakukan untuk melihat prosedur back-up dan recovery.
Dilakukan 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).
Page 23
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.
Page 24
~ END ~
Page 25
QUIZ
1) JELASKAN PERBEDAAN DFD DAN FLOWCHART !
2) PERBEDAAN ANTARA TEST CASE DAN TEST DATA !
3) APA TUJUAN DASAR DILAKUKAN PENGUJIAN ?
4) JELASKAN GAMBARAN PROSES TESTING !
5) APA YANG DIMAKSUD DENGAN FAILURE DAN
FAULTS ??
Page 26