Professional Documents
Culture Documents
S
1
Pengujian (Testing)
• Pengujian perangkat lunak (Software testing) adalah
proses untuk mengukur kualitas dari perangkat lunak
yang dikembangkan.
• Kualitas perangkat lunak (software quality) mengukur
seberapa baik sistem perangkat lunak dirancang
(quality of design), dan tingkat kesesuaian perangkat
lunak dengan rancangan yang telah dibuat (quality of
conformance).
• Standar internasional yang digunakan untuk
mengevaluasi kualitas perangkat lunak adalah ISO
9126 yang mendefinisikan karakteristik perangkat
lunak yang berkualitas.
2
Terminologi
3
Terminologi
Ada dua tipe produk perangkat lunak :
Generic products
Sistem stand alone (berdiri sendiri), diproduksi
oleh suatu organisasi pengembangan dan dijual
ke pasar terbuka ke siapapun yang bisa
membelinya.
Sering shrink-wrapped (dikecilkan dan
dikemas).
Contoh : database, pengolah kata (word
processor), paket untuk menggambar, dll
4
Terminologi
5
Terminologi
Kebanyakan pembelanjaan
perangkat lunak dilakukan
pada produk yang generik,
tetapi kebanyakan usaha
pengembangan sistem
dliakukan pada sistem/produk
pesanan.
6
Pengujian Software termasuk dalan proses
pengembangan.
7
Tipe Pengujian dan definisi
• Validasi dan Verifikasi :
o Validate (pengesahan)
• Ketepatan atau pantas tidaknya software.
• Tenaga ahli untuk mengkonfirmasikan hasil.
o Verification (verifikasi)
• Mengkonfirmasikan penggunaan software.
• Meneliti kembali untuk memastikan hasil
pengujian sebelum disahkan dan kemudian di
validasi.
8
Tipe Pengujian dan definisi
9
Verifikasi & Validasi
• V & V perangkat lunak menggambarkan
sebagai suatu metodologi sistem yang
dirancang untuk memastikan bahwa kualitas
dibangun ke dalam perangkat lunak dilakukan
selama proses pengembangan.
11
Verifikasi versus Validasi
Proses Verifikasi perangkat lunak
Proses untuk menentukan apakah produk
perangkat lunak memenuhi persyaratan atau
kondisi-kondisi dari aktivitas sebelumnya
12
Verifikasi versus Validasi
Verifikasi :
“Are we building the system in the right way?”
Sistem memenuhi spesifikasinya.
Mengerjakan apa yang sudah kita tetapkan.
Validasi :
“Are we building the right system? ”
Sistem harus melakukan apa yang benar-benar
diinginkan para pemakai.
13
Verifikasi versus Validasi
Kadang-kadang salah satu kata ini digunakan
untuk verifikasi dan validasi :
14
The V & V Objectives
15
The V & V Objectives
V & V perangkat lunak menentukan bahwa
perangkat lunak melaksanakan fungsi yang
diharapkan dengan tepat.
Memastikan bahwa perangkat lunak tidak
melakukan fungsi apapun yang tidak
disengaja.
Mengukur dan menilai mutu dan kehandalan
dari perangkat lunak.
16
The V & V Objectives
17
The V & V process
18
Static and Dynamic V&V
Memeriksa korespondensi Apakah kita membangun
antara program dan sistem dengan cara yang
spesifikasinya benar?
Static
Verification
Dynamic
Prototype
Validation
Dasar
pelaksanaan
pengujian 19
Static and Dynamic V&V
Static Verification.
Analisa yang terkait dari penyajian sistem
yang statis untuk menemukan
permasalahan.
Analisa semua dokumen yang diproduksi
itu menghadirkan sistem.
Dapat diterapkan ke semua langkah-
langkah dari proses perangkat lunak.
20
Static and Dynamic V&V
Dinamic V & V
Pelatihan yang terkait dengan mengamati
perilaku produk.
Dapat diterapkan hanya pada suatu
prototype yang dapat di executable atau
program yang executable tersedia.
21
Strategi pengujian validasi
Test Plan Validation Test
Software developed for one customer
Acceptance Test
Test
Procedure
Alpha Test
Software (Developer Site)
Documentation
Software
Documentation
Configuration Review
(Audit)
22
VV &
& VV
STATIC DYNAMIC
Untuk menemukan permasalahan Mengamati perilaku produk
(static verification) (dynamic validation)
23
VV &
& VV
Static Dynamic
Dynamic ==
Static
”Testing”
”Testing”
Integration
Integration Acceptance
Acceptance
Unit
Unittest
test System
Systemtest
test
test
test test
test
Review
Review Inspection
Inspection Walkthrough
Walkthrough
24
Review (Peninjauan ulang).
o Membaca program yang dilakukan sendiri, informal.
o Kelihatannya tidak efektif mengerjakan dari awal.
Walkthrough
o Programmer mengeksekusi program dengan orang
lain, dan meminta komentar atau pertanyaan.
o Relatif informal
Inspection
o Pada umumnya daftar kesalahan dibuat dan
digunakan untuk membandingkan program.
25
Batas dari verifikasi statis
26
Alasan verifikasi statis
Memudahkan proses pengujian.
o Menemukan cacat dari awal, biaya rendah.
o Kesalahan yang sederhana akan mengganggu
pengujian dinamic.
o Melokalisir cacat yang sama yang ditemukan.
27
Alasan verifikasi statis
28
Inspection
Manusia meninjau ulang hasilnya.
Singkat.
misal : waktunya 1-2 jam
Semuanya diperiksa.
misal : persyaratan, desain, program, data uji dan
lain-lain.
29
Contoh daftar periksa untuk pemeriksaan
program.
30
Inspection speed
31
What testing is
1) Definisi Umum
Pengujian
Pengujian adalah
adalah
testing menjalankan
menjalankan program
program
dengan
dengan maksud
maksud
menemukan
menemukan kesalahan
kesalahan
33
Dasar-Dasar Pengujian
34
Test Case
Sebuah test case adalah uraian tentang :
• masukan
• perintah pelaksanaan dan
• hasil yang diharapkan
35
Testing in Development Process
36
Testing in Development Process
37
Tujuan dari pengujian :
1. Menemukan cacat.
2. Memaksimalkan untuk menemukan eror.
3. Menghalangi pelepasan produk secara
prematur.
4. Membantu para manajer membuat
keputusan.
5. Menilai mutu.
6. Memperkecil biaya-biaya pendukung teknis.
38
Tujuan dari pengujian :
7. Menepati peraturan.
8. Memperkecil resiko penuntutan perkara yang
terkait dengan keselamatan.
9. Menilai kesesuaian perangkat lunak dengan
spesifikasi.
10. Menemukan skenario yang aman tentang
penggunaan dari produk ( untuk dapat
digunakan dalam pekerjaan, kendati masih ada
eror).
11. Memverifikasi ketepatan dari produk.
12. Meyakinkan mutu.
39
Tujuan dari pengujian :
Menambahkan
Menambahkannilai
nilaiterhadap
terhadapsuatu
suatuproduk
produk
Memudahkan pengembangan
41
Jika sasarannya adalah : menemukan cacat dengan cepat
Fokus
Fokus :: penting
penting menemukan
menemukan cacat
cacat
(dapat
(dapatdiasumsikan)
diasumsikan) dalam
dalam produk
produk
43
Mengapa ?
Menunjukkan bahwa suatu sistem tanpa
kesalahan adalah tidak sesuai digunakan sebagai
pengujian yang obyektif.
Mustahil menunjukkan tidak adanya kesalahan =>
o orang-orang berhenti (menyerah)...
o berusaha mencari untuk menjangkaunya
Harga untuk
memperbaiki
cacat
Waktu proyek
45
Sasaran Pengujian
Glen Myers menyatakan bahwa sasaran dari
pengujian perangkat lunak adalah :
1. Pengujian adalah proses menjalankan suatu
program dengan maksud menemukan kesalahan.
2. Pengujian yang baik adalah yang memiliki
kemungkinan tinggi untuk menemukan
kesalahan yang belum pernah ditemukan
sebelumnya.
3. Pengujian yang sukses adalah pengujian yang
mengungkap semua kesalahan yang belum
pernah ditemukan sebelumnya.
46
Sasaran Pengujian
47
Sasaran Pengujian
48
Kekurangan Pengujian
Tidak semua pengujian akan berhasil dengan baik.
Masih ada beberapa kekurangan yang terdapat
pada pengujian suatu perangkat lunak.
Kekurangan-kekurangan tersebut antara lain :
1. Tidak pernah cukup melakukan banyak ujian yang
layak.
2. Pengujian tidak akan menemukan semua
kesalahan.
3. Pengujian sulit dan menghabiskan banyak waktu.
4. Pengujian sebagian besar masih merupakan
tugas yang tidak resmi.
49
Prinsip-prinsip Pengujian
Sebelum menetapkan metode pengujian, seorang
ahli pada bidang software harus mengerti betul atau
memahami prinsip dasar yang menuntun pengujian
perangkat lunak.
Prinsip-prinsip pengujian secara umum yang banyak
dianut oleh para ahli perangkat lunak, antara lain :
50
Prinsip-prinsip Pengujian
Sebaiknya satu pengujian tidak hanya mengerjakan
program yang dianggap benar, tetapi tidak
mengerjakan yang dianggap salah.
Tujuan dari pengujian adalah untuk menemukan
kesalahan, bukan untuk menunjukkan bahwa
program tersebut salah.
Tidak ada sejumlah pengujian yang dapat menjamin
bahwa program bebas dari kesalahan.
Tujuannya adalah bukan untuk mempermalukan
programmer.
51
Prinsip-Prinsip Pengujian
Selain pernyataan diatas, Roger S. Pressman
mendefinisikan sendiri mengenai prinsip-prinsip
pengujian terhadap perangkat lunak :
Semua pengujian harus dapat ditelusuri sampai ke
persyaratan pelanggan.
Sasaran pengujian perangkat lunak adalah
untuk mengnugkap kesalahan. Hal ini memenuhi
kriteria bahwa cacat yang paling fatal (dari
titik pandang pelanggan) adalah cacat yang
menyebabkan program gagal memenuhi
persyaratannya.
52
Prinsip-prinsip Pengujian
53
Prinsip-prinsip Pengujian
54
Prinsip-prinsip Pengujian
55
Prinsip-prinsip Pengujian
56
57
Prioritas Pengujian
58
Test data dan kasus test
59
Siapa yang menguji Software ?
1. Software Developer
60
Siapa yang menguji Software ?
2. User
Tidak mengerti tentang
sistem, pengujian
dilakukan hanya
sebatas pada fungsional
perangkat lunak itu
sendiri.
61
Siapa yang menguji Software ?
3. Independent Tester
Tidak memahami
tentang sistem yang
diuji, tetapi mau
belajar untuk mengerti
dan lebih
mengutamakan kualitas
perangkat lunak yang
diuji.
62