dasar-dasar pengujian perangkat lunak mg ke 5
DESCRIPTION
Dasar-Dasar Pengujian Perangkat LunakTRANSCRIPT
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
1/19
Dasar-dasar Pengujian
Perangkat Lunak
Minggu ke 5
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
2/19
Pengujian / testing
Testing is the exposure of a system totrial input to see wheter it producescorect output
Adalah proses eksekusi suatu programdengan maksud menemukan kesalahan
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
3/19
Pengujian perangkat lunak
Elemen kritis dari jaminan kualitasperangkat lunak dan merepresentasikankajian pokok dari spesifikasi, desain dan
pengkodean
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
4/19
Proses TestingSystem Testing Pengujian terhadap integrasi sub-system, yaitu
keterhubungan antar sub-system
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)
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
5/19
Proses Testing
UnitTesting
ModuleTesting
Sub-systemTesting
SystemTesting
AcceptanceTesting
UserTestingComponent Testing Integration Testing
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
6/19
The testing processComponent testing Pengujian komponen-komponen program
Biasanya dilakukan oleh component developer(kecuali untuk system kritis)
Integration testing Pengujian kelompok komponen-komponen yang
terintegrasi untuk membentuk sub-system
ataupun system Dialakukan oleh tim penguji yang independent
Pengujian berdasarkan spesifikasi sistem
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
7/19
Rencana PengujianProses testingDeskripsi fase-fase utama dalam pengujian
Pelacakan KebutuhanSemua kebutuhan user diuji secara individu
Item yg diujiMenspesifikasi komponen sistem yang diuji
Jadual Testing
Prosedur Pencatatan Hasil dan ProsedurKebutuhan akan Hardware dan Software
Kendala-kendalaMis: kekuranga staff, alat, waktu dll.
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
8/19
Hubungan antara rencana pengujian dan
proses pengembangan system
SpesifikasiKebutuhan SpesifikasiSystem PerancanganSystem DetailPerancangan
AcceptanceTest plan
SystemIntegration
Test plan
Sub-SystemIntegration
Test plan
Module andUnit code and
test
Acceptance
test
System
Integrationtest
Sub-System
Integrationtest
Service
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
9/19
Failures, FaultsFailure: output yang tidak benar/tidak sesuaiketika sistem dijalankan
Fault: kesalahan dalam source code yangmungkin menimbulkan failure ketika code ygfault tsb dijalankan
Failure Class Deskripsi
Transient Muncul untuk input tertentu
Permanent Muncul untuk semua inputRecoverable Sistem dapat memperbaiki secara otomatis
Unrecoverable Sistem tidak dapat memperbaiki secara otomatis
Non-corrupting Failure tidak merusak data
Corrupting Failure yang merusak sistem data
C t h F lt E d
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
10/19
Contoh: Faults, Errors, andFailures
1: input A,B
2: A>0?
3: C :=0 4: C := A*B
5: B>0?
6: X := C*(A+2*A) 7: X := A+B
8: output X
Suppose node 6 should beX:= C*(A+2*B)
Failure-less fault: executing path (1,2,4,5,7,8)
will not reveal this faultbecause 6 is not executed
nor will executing path
(1,2,3,5,6,8) because C = 0
Need to make sure propertest cases are selected
the definitions of C atnodes 3 and 4 both affectthe use of C at node 6
executing path (1,2,4,5,6,8)will reveal the failure,
but only if B /= 0
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
11/19
Prioritas TestingHanya test yang lengkap yg dapatmeyakinkan sistem terbebas dari kesalahan,tetapi hal ini sangat sulit dilakukan.
Prioritas dilakukan terhadap pengujiankemampuan sistem, bukan masing-masingkomponennya.
Pengujian untuk situasi yg tipikal lebihpenting dibandingkan pengujian terhadapnilai batas.
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
12/19
Test data dan kasus test
Test data:Input yang yangdirencankan digunakan oleh sistem.
Test cases:Input yang digunakan
untuk menguji sistem dan memprediksioutput dari input jika sistem beroperasi
sesuai dengan spesifikasi.
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
13/19
Proses defect testing
Design testcases
Prepare testdata
Run programwith test data
Compare resultsto test cases
Testcases
Testdata
Testresults
Testreports
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
14/19
Structural testingDisebut juga white-box testing
Penentuan test case disesuaikandengan struktur sistem. Knowledge
program digunakan untukmengidentifikasi test case tambahan.
Tujuannya untuk menguji semuastatement program (debug).
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
15/19
White-box testing
Componentcode
Testoutputs
Test data
DerivesTests
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
16/19
Path testingTujuannya meyakinkan bahwa himpunan test
case akan menguji setiap path pada suatuprogram paling sedikit satu kali.
Titik awal untuk path testing adalah suatuprogram flow graph yang menunjukkan node-node yang menyatakan program decisions(mis.: if-then-else condition) dan busur
menyatakan alur kontrolStatements dengan conditions adalah node-node dalam flow graf.
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
17/19
Program flow graphsMenggambarkan alur kontrol. Setiap cabang
ditunjukkan oleh path yg terpisah dan loopditunjukkan oleh arrows looping kembali keloop kondisi node.
Digunakan sebagai basis untuk menghitungcyclomatic complexity
Cyclomatic complexity = Jumlah edges Jumlah Node +2
Cyclomatic complexity menyatakan jumlah
test untuk menguji control statements
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
18/19
Binary search flowgraph
1
2
3
4
65
7
while bottom top
-
5/28/2018 Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5
19/19
Independent paths1, 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 sehinggasemua path tsb tereksekusi.