b i m o c a h yo c h a p 0 1
Terminologi
2
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
3
Terminologi
4
Terminologi
Kebanyakan pembelanjaan
perangkat lunak dilakukan pada
produk yang generik, tetapi
kebanyakan usaha
pengembangan sistem dliakukan
pada sistem/produk pesanan.
5
Pengujian Software termasuk dalan
proses pengembangan.
6
What testing is
1) Definisi Umum
Pengujian adalah
testing menjalankan program
dengan maksud
menemukan kesalahan
8
Pengujian Software termasuk dalan
proses pengembangan.
9
Phase
Rational Unified
Process (RUP) Permulaan Pengembangan Konstruksi Transisi
Requirements
Analysis
Pengujian berlangsung sebagai bagian dari masing-
Core Workflow
Development
Testing
Maintenance
10
Phase
Rational Unified
Process (RUP) Permulaan Pengembangan Konstruksi Transisi
pengembangan.
Design
Development
Testing
Maintenance
11
Phase
Rational Unified
Process (RUP) Permulaan Pengembangan Konstruksi Transisi
Requirements
Analysis
Core Workflow
Design
SOFTWARE
SPECIFICATION
ENGINEERING
Development
Testing
Maintenance
Software Engineering
12 Generic Activity
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.
14
Verifikasi versus Validasi
Proses Verifikasi perangkat lunak
Proses untuk menentukan apakah produk
perangkat lunak memenuhi persyaratan atau
kondisi-kondisi dari aktivitas sebelumnya
15
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.
16
Static and Dynamic V&V
Memeriksa korespondensi antara Apakah kita membangun
program dan spesifikasinya sistem dengan cara yang
benar?
Static
Verification
Prototype Dynamic
Validation
Dasar
pelaksanaan
pengujian
17
Tujuan dari pengujian :
Menemukan cacat/kesalahan.
Memperkecil resiko penuntutan perkara yang
terkait dengan keselamatan.
Menilai kesesuaian perangkat lunak dengan
spesifikasi.
Memverifikasi ketepatan dari produk.
Meyakinkan mutu.
18
Tujuan dari pengujian :
19
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.
20
Sasaran Pengujian
21
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. Pengujian tidak akan menemukan semua
kesalahan.
2. Pengujian sulit dan menghabiskan banyak waktu.
3. Pengujian sebagian besar masih merupakan
tugas yang tidak resmi.
22
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.
Pengujian harus direncanakan lama sebelum pengujian itu
dimulai.
Prinsip Pareto berlaku untuk pengujian perangkat lunak.
Pengujian harus dimulai dari yang kecil dan berkembang
ke pengujian yang besar.
Pengujian yang sempurna tidak mungkin.
Agar efektif, pengujian harus dilakukan oleh pihak
ketiga yang independent (third party).
23
Siapa yang menguji Software ?
1. Software Developer
24
Siapa yang menguji Software ?
2. User
Tidak mengerti tentang
sistem, pengujian
dilakukan hanya
sebatas pada fungsional
perangkat lunak itu
sendiri.
25
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.
26
27