Top Banner

of 19

Dasar-Dasar Pengujian Perangkat Lunak Mg Ke 5

Oct 18, 2015

Download

Documents

Dasar-Dasar Pengujian Perangkat Lunak
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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.