19
Dasar-dasar Pengujian Perangkat Lunak Minggu ke 4 Minggu ke 4

Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Dasar-dasar PengujianPerangkat Lunak

Minggu ke 4Minggu ke 4

Page 2: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Pengujian / testing

Testing is the exposure of a system totrial input to see wheter it producescorect outputAdalah proses eksekusi suatu programdengan maksud menemukan kesalahan

Testing is the exposure of a system totrial input to see wheter it producescorect outputAdalah proses eksekusi suatu programdengan maksud menemukan kesalahan

Page 3: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Pengujian perangkat lunak

Elemen kritis dari jaminan kualitasperangkat lunak dan merepresentasikankajian pokok dari spesifikasi, desain danpengkodean

Elemen kritis dari jaminan kualitasperangkat lunak dan merepresentasikankajian pokok dari spesifikasi, desain danpengkodean

Page 4: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Proses Testing

System Testing Pengujian terhadap integrasi sub-system, yaitu

keterhubungan antar sub-systemAcceptance Testing Pengujian terakhirs sebelum sistem dipakai oleh

user. Melibatkan pengujian dengan data dari pengguna

sistem. Biasa dikenal sebagai “alpha test” (“beta test”

untuk software komersial, dimana pengujiandilakukan oleh potensial customer)

System Testing Pengujian terhadap integrasi sub-system, yaitu

keterhubungan antar sub-systemAcceptance Testing Pengujian terakhirs sebelum sistem dipakai oleh

user. Melibatkan pengujian dengan data dari pengguna

sistem. Biasa dikenal sebagai “alpha test” (“beta test”

untuk software komersial, dimana pengujiandilakukan oleh potensial customer)

Page 5: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Proses Testing

UnitTesting

ModuleTesting

Sub-systemTesting

SystemTesting

AcceptanceTesting

Component Testing Integration TestingUserTesting

Page 6: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

The testing process

Component 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-systemataupun system

Dialakukan oleh tim penguji yang independent Pengujian berdasarkan spesifikasi sistem

Component 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-systemataupun system

Dialakukan oleh tim penguji yang independent Pengujian berdasarkan spesifikasi sistem

Page 7: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Rencana PengujianProses testing Deskripsi fase-fase utama dalam pengujian

Pelacakan Kebutuhan Semua kebutuhan user diuji secara individu

Item yg diuji Menspesifikasi komponen sistem yang diuji

Jadual TestingProsedur Pencatatan Hasil dan ProsedurKebutuhan akan Hardware dan SoftwareKendala-kendala Mis: kekuranga staff, alat, waktu dll.

Proses testing Deskripsi fase-fase utama dalam pengujian

Pelacakan Kebutuhan Semua kebutuhan user diuji secara individu

Item yg diuji Menspesifikasi komponen sistem yang diuji

Jadual TestingProsedur Pencatatan Hasil dan ProsedurKebutuhan akan Hardware dan SoftwareKendala-kendala Mis: kekuranga staff, alat, waktu dll.

Page 8: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Hubungan antara rencana pengujian danproses pengembangan system

SpesifikasiKebutuhan

SpesifikasiSystem

PerancanganSystem

DetailPerancangan

AcceptanceTest plan

SystemIntegrationTest plan

Sub-SystemIntegrationTest plan

Module andUnit code and

test

Acceptancetest

SystemIntegration

test

Sub-SystemIntegration

test

Service

Page 9: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Failures, FaultsFailure: output yang tidak benar/tidak sesuaiketika sistem dijalankanFault: kesalahan dalam source code yangmungkin menimbulkan failure ketika code ygfault tsb dijalankan

Failure: output yang tidak benar/tidak sesuaiketika sistem dijalankanFault: kesalahan dalam source code yangmungkin menimbulkan failure ketika code ygfault tsb dijalankan

Failure Class DeskripsiTransient Muncul untuk input tertentu

Permanent Muncul untuk semua input

Recoverable Sistem dapat memperbaiki secara otomatis

Unrecoverable Sistem tidak dapat memperbaiki secara otomatis

Non-corrupting Failure tidak merusak data

Corrupting Failure yang merusak sistem data

Page 10: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

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

Contoh: Faults, Errors, andFailures

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 at

nodes 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

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 at

nodes 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

Page 11: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Hanya 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.

Prioritas Testing

Hanya 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.

Page 12: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Test data: Input yang yangdirencankan digunakan oleh sistem.Test cases: Input yang digunakanuntuk menguji sistem dan memprediksioutput dari input jika sistem beroperasisesuai dengan spesifikasi.

Test data dan kasus test

Test data: Input yang yangdirencankan digunakan oleh sistem.Test cases: Input yang digunakanuntuk menguji sistem dan memprediksioutput dari input jika sistem beroperasisesuai dengan spesifikasi.

Page 13: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Proses defect testing

Design testcases

Prepare testdata

Runprogramwithtest data

Compare resultstotest cases

Testcases

Testdata

Testresults

Testreports

Design testcases

Prepare testdata

Runprogramwithtest data

Compare resultstotest cases

Testcases

Testdata

Testresults

Testreports

Page 14: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Disebut juga white-box testingPenentuan test case disesuaikandengan struktur sistem. Knowledgeprogram digunakan untukmengidentifikasi test case tambahan.Tujuannya untuk menguji semuastatement program (debug).

Structural testing

Disebut juga white-box testingPenentuan test case disesuaikandengan struktur sistem. Knowledgeprogram digunakan untukmengidentifikasi test case tambahan.Tujuannya untuk menguji semuastatement program (debug).

Page 15: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

White-box testing

Componentcode

Testoutputs

Test data

DerivesTests

Componentcode

Testoutputs

Test data

DerivesTests

Page 16: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Path testing

Tujuannya meyakinkan bahwa himpunan testcase 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 busurmenyatakan alur kontrolStatements dengan conditions adalah node-node dalam flow graf.

Tujuannya meyakinkan bahwa himpunan testcase 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 busurmenyatakan alur kontrolStatements dengan conditions adalah node-node dalam flow graf.

Page 17: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

Menggambarkan alur kontrol. Setiap cabangditunjukkan oleh path yg terpisah dan loopditunjukkan oleh arrows looping kembali keloop kondisi node.Digunakan sebagai basis untuk menghitungcyclomatic complexityCyclomatic complexity = Jumlah edges –Jumlah Node +2Cyclomatic complexity menyatakan jumlahtest untuk menguji control statements

Program flow graphs

Menggambarkan alur kontrol. Setiap cabangditunjukkan oleh path yg terpisah dan loopditunjukkan oleh arrows looping kembali keloop kondisi node.Digunakan sebagai basis untuk menghitungcyclomatic complexityCyclomatic complexity = Jumlah edges –Jumlah Node +2Cyclomatic complexity menyatakan jumlahtest untuk menguji control statements

Page 18: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

1

2

3

4

65

7

while bottom <= top

if (elemArray [mid] == key

(if (elemArray [mid]< key8

9

bottom > top

Binary search flowgraph

1

2

3

4

65

7

while bottom <= top

if (elemArray [mid] == key

(if (elemArray [mid]< key8

9

bottom > top

Page 19: Dasar-dasar Pengujian Perangkat Lunakagungsr.staff.gunadarma.ac.id/Downloads/files/71735/... · test cases are selected • the definitions of C at nodes 3 and 4 both affect the use

1, 2, 3, 8, 91, 2, 3, 4, 6, 7, 21, 2, 3, 4, 5, 7, 21, 2, 3, 4, 6, 7, 2, 8, 9Test cases harus ditentukan sehinggasemua path tsb tereksekusi.

Independent paths

1, 2, 3, 8, 91, 2, 3, 4, 6, 7, 21, 2, 3, 4, 5, 7, 21, 2, 3, 4, 6, 7, 2, 8, 9Test cases harus ditentukan sehinggasemua path tsb tereksekusi.