PENGUJIAN PERANGKAT LUNAK Aprilia Sulistyohati, S.Kom
Jurusan Teknik Informatika Universitas Islam Indonesia
Your Logo
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
Unit testing
Module testing
Sub-System Testing
System Testing
Acceptance Testing User Testing
Component Testing
Page 5
Integration 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