Pengujian difokuskan pada unit terkecil dari
suatu modul program. Dilaksanakan dengan
menggunakan driver dan stub.
• Driver adalah suatu program utama yang
berfungsi mengirim atau menerima data
kasus uji dan mencetak hasil dari modul
yang diuji.
3. Objective
Setelah mengikuti materi perkuliahan ini
mahasiswa diharapkan mampu menjelaskan
tentang :
•Proses Testing
•Black box Testing
•Whitebox Testing
6. Prioritas Testing
• Hanya test yang lengkap yang dapat meyakinkan
sistem terbebas dari kesalahan, tetapi hal ini
sangat sulit dilakukan.
• Prioritas dilakukan terhadap pengujian
kemampuan sistem, bukan masing-masing
komponennya.
• Pengujian untuk situasi yg tipikal lebih penting
dibandingkan pengujian terhadap nilai batas.
6
7. Test Data dan Kasus Test
• Test data: Input yang yang
direncankan digunakan oleh sistem.
• Test cases: Input yang digunakan
untuk menguji sistem dan
memprediksi output dari input jika
sistem beroperasi sesuai dengan
spesifikasi.
7
8. 1. Component Testing
Pengujian komponen-komponen program
Biasanya dilakukan oleh component developer
(kecuali untuk system kritis)
Terdiri dari :
1.Unit Testing digunakan untuk menguji setiap modul
untuk menjamin setiap modul menjalankan
fungsinya dengan baik. Metode yang dilakukan :
Black Box Testing dan White – Box Testing.
2.Module Testing digunakan untuk mengecek apakah
struktur kendali sudah memetakan kinerja
kesuluruhan modul secara tepat.
8
10. Black – Box Testing (cont.)
• Terfokus pada apakah unit program memenuhi
kebutuhan (requirement) yang disebutkan dalam
spesifikasi.
• Pada Blck – Box testing, cara pengujian hanya
dilakukan dengan menjalankan atau mengeksekusi
unit atau modul kemudian diamati apakah hasil dari
unit itu sesuai dengan proses bisnis yang diinginkan.
Jika ada unit yang tidak sesuai outputnya maka untuk
menyelesaikannya, diteruskan pada pengujian yang
kedua yaitu White – Box Testing.
10
11. Black – Box Testing (cont.)
Pengujian black box berusaha menemukan
kesalahan dalam kategori :
Fungsi-fungsi yang tidak benar atau hilang
Kesalahan interface
Kesalahan dalam struktur data atau akses
database eksternal
Kesalahan kinerja
Inisialisasi dan kesalahan terminasi
11
13. White – Box Testing (cont.)
• White – Box Testing adalah cara pengujian
dengan melihat ke dalam modul untuk meneliti
kode – kode program yang ada, dan menganalisis
apakah ada kesalahan atau tidak.
• Jika ada modul yang menghasilkan output yang
tidak sesuai dengan proses bisnis yang dilakukan
maka baris – baris program, variabel dan
parameter yang terlibat pada unit tersebut akan
dicek satu persatu dan diperbaiki kemudian di-
compile ulang.
13
14. Path Testing
• Tujuannya meyakinkan bahwa himpunan test
case akan menguji setiap path pada suatu
program paling sedikit satu kali.
• Titik awal untuk path testing adalah suatu
program flow graph yang menunjukkan node –
node yang menyatakan program decisions (mis.:
if-then-else condition) dan busur menyatakan alur
kontrol
• Statements dengan conditions adalah node – node
dalam flow graf.
14
15. Program Flow Graph
• Menggambarkan alur kontrol. Setiap cabang
ditunjukkan oleh path yg terpisah dan loop
ditunjukkan oleh arrows looping kembali ke loop
kondisi node.
• Digunakan sebagai basis untuk menghitung
cyclomatic complexity
• Cyclomatic complexity = Jumlah edges – Jumlah
Node +2
• Cyclomatic complexity menyatakan jumlah test
untuk menguji control statements.
15
17. Independent Path
• 1, 2, 3, 8, 9
• 1, 2, 3, 4, 6, 7, 2
• 1, 2, 3, 4, 5, 7, 2
• 1, 2, 3, 4, 6, 7, 2, 8, 9
• Test cases harus ditentukan sehingga
semua path tersebut tereksekusi.
17
18. Partisi Ekivalensi (Equivalensi
Partition)
• Input data dan output hasil terdapat di klas
yang berbeda yang sesuai dengan klas
inputnya.
• Masing-masing klas equivalensi partition
diprosres dimana program akan memproses
anggota klas-klas tersebut secara equivale.
• Test cases dipilih dari masing-masing partisi.
18
20. Partisi Ekivalensi (cont.)
Partition system inputs and outputs into
‘equivalence sets’
If input is a 5-digit integer between 10000 and
99999, equivalence partitions are <10000,
10000-99999 and > 100000
Choose test cases at the boundary of these sets
00000, 9999, 10000, 99999, 100001
20
22. 2. Integration Testing
Pengujian kelompok komponen-komponen yang terintegrasi untuk
membentuk sub-system ataupun system.
Dilakukan oleh tim penguji yang independent.
Pengujian berdasarkan spesifikasi sistem.
Integration Testing terdiri dari serangkaian test sebagai berikut :
1. Ujicoba antarmuka : ujicoba setiap fungsi dari antarmuka.
2. Ujicoba skenario pengguna : Pastikan setiap skenario berjalan
dengan baik.
3. Ujicoba aliran data : uji setiap proses dalam langkah per langkah.
4. Ujicoba sistem antarmuka : pastikan data mengalir antar proses.
System Testing
Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar
sub-system
22
23. 3. User Testing
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)
Tim RPL 1
23
24. Faults, Error dan Failures
• Fault: kesalahan dalam source code yang
mungkin menimbulkan failure ketika code yang
fault tersebut dijalankan.
• Error : kesalahan dalam logika yang mungkin
menimbulkan failure ketika program sedang
dijalankan.
• Failure: output yang tidak benar/tidak sesuai
ketika sistem dijalankan.
Tim RPL 1
24