20

Click here to load reader

TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

Embed Size (px)

Citation preview

Page 1: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

20092006 SE6161 Perancangan dan Analisis Perangkat Lunak 1

TESTING SWTESTING SW

Page 2: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 220092006

PengujianPengujian PerangkatPerangkat LunakLunakPengujian perangkat lunak mencakup:

Strategi= mengintegrasikan metode perancangan kasus uji dlm sekumpulan langkah yg direncanakan

Teknik/Metode= perancangan kasus uji

White-boxBlack-box

Pengujian perangkat lunak seharusnya menghabiskan 30% - 40% dari total biayapembangunan perangkat lunak.Testing (pengujian) tidak sama dengan debuggingPengujian perangkat lunak merupakan salah satu tugas yang dilakukan dalamsoftware verification and validationVerifikasi dan validasi perangkat lunak adalah bagian dari software quality assurance.

Page 3: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 320092006

TujuanTujuan PengujianPengujianPengujian adalah proses menjalankan program dengan maksuduntuk mencari kesalahan (error)Kasus uji yang baik adalah kasus yang memiliki peluang untukmendapatkan kesalahan yang belum ketahuanPengujian dikatakan berhasil bila dapat memunculkankesalahan yang belum ketahuanJadi, pengujian yang baik bukan untuk memastikan tidak adakesalahan tetapi untuk mencari sebanyak mungkin kesalahanyang ada di programPengujian tidak dapat menunjukkan ke-tidak-hadir-an defect, pengujian hanya menunjukkan bahwa kesalahan perangkatlunak ada.

Page 4: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 420092006

PrinsipPrinsip DasarDasar PengujianPengujian

Semua pengujian harus dapat dirunut ke requirementPengujian harus direncanakan jauh sebelum dilakukanPrinsip Pareto berlaku pada pengujian perangkat lunak

80 persen dari keseluruhan kesalahan yang didapat saat pengujiandapat dirunut ke 20 persen dari keseluruhan modulpersoalannya: bagaimana menemukan 20% modul tersebut

Pengujian harus dimulai dari lingkup kecil ke lingkup besarTidak mungkin ada pengujian yang exhaustiveSupaya efektif, pengujian harus dilakukan oleh pihak lain yang independen.

Page 5: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 520092006

TestabilityTestabilityPerancangan perangkat lunak harus mempunyai kualitas:

OperabilityObservabilityControllabilityDecomposabilitySimplicityStabilityUnderstandibility

Kualitas pengujian yang baik:Memiliki peluang yang besar dalam menemukan kesalahanTidak berganda (redundant)Cukup mewakili semua kemungkinanTidak terlalu sederhana dan tidak terlalu rumit

Page 6: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 620092006

StrategiStrategi PengujianPengujianPengujian Modul/Unit

umumnya dilakukan oleh pengembang sendiri atau antar pengembangmenguji modul/unitmetode: white-box

Pengujian Integrasilebih baik menggunakan penguji independen (ITG = Independent Test Group)menguji perancangan perangkat lunakmetode: white-box dan black-box

Pengujian Validasimenguji kesesuaian dengan requirementmetode: black-box

Pengujian Sistemmenguji perangkat lunak dan elemen sistem lain sebagai suatu kesatuan

Page 7: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 720092006

StrategiStrategi PengujianPengujianSpesifikasikan kebutuhan (requirement) produk dalam bentuk yang dapatdiukur (quantifiable) jauh sebelum pengujian dimulaiNyatakan tujuan pengujian secara eksplisitPahami pengguna perangkat lunak dan buatlah profil dari tiap kategoripenggunaBuat rencana pengujian yang menekankan pada rapid cycle testingBuat perangkat lunak robust yang dapat menguji dirinya sendiriGunakan formal technical review sebagai penyaring sebelum pengujiandilakukanGunakan formal technical review untuk menilai strategi pengujian dankasus ujiKembangkan ancangan peningkatan berlanjut untuk proses pengujian

Page 8: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 820092006

StrategiStrategi PengujianPengujian -- PengujianPengujianModulModul/Unit/Unit

Hal-hal yang diujikan:Antarmuka modul

memastikan bahwa informasi yang berasal dari dan keluar dari modul yang diujimengalir dengan benar

Struktur data lokalmemastikan bahwa data yang disimpan sementara menjaga integritasnya selamaeksekusi perintah dalam modulmencari kesalahan-kesalahan dalam bentuk:

Penggunaan tipe yang tidak tepat atau nirtaatasasInisialisasi yang salah atau nilai pasti (default) yang salahNama peubah yang salahTipe data yang nirtaatasasUnderflow, overflow, dan addressing exceptions

Kondisi batasmemastikan bahwa modul beroperasi dengan benar pada batas-batas pemrosesanyang ditentukan

Page 9: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 920092006

StrategiStrategi PengujianPengujian -- PengujianPengujian ModulModul/Unit/UnitJalur-jalur bebas

memastikan bahwa semua kemungkinan jalur kontrol yang mungkin dieksekusidengan benar paling tidak sekalimencari kesalahan-kesalahan dalam bentuk:

penghitungan/pemrosesan yang salahpembandingan yang salahalur kontrol yang tidak tepat

Jalur-jalur penanganan kesalahanperancangan perangkat lunak yang baik menuntut agar kondisi salah dapat diantisipasidan memiliki penanganan kesalahan agar pemrosesan dapat berhenti dengan bersih(antibugging) - Yourdonmencari kesalahan-kesalahan dalam bentuk:

Perian kesalahan tidak dapat dipahamiPemberitahuan kesalahan tidak sesuai dengan kesalahan yang dialamiKondisi kesalahan menyebabkan intervensi sistem sebelum penanganan kesalahandilakukanPenanganan kesalahan tidak benarPerian kesalhan tidak memberikan informasi yang cukup untuk mencari sumber kesalahan

Page 10: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1020092006

Strategi Pengujian - Pengujian Modul/Unit

Prosedur Pengujian:

Driver

Stub Stub

Modulyang diuji

Test Cases

Test Results

Page 11: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1120092006

StrategiStrategi PengujianPengujian -- PengujianPengujian IntegrasiIntegrasiAda dua ancangan dalam pengujian integrasi secara incremental:

Top-Downmodul diintegrasikan dengan menurun dilihat dari hirarki kontrol, dimulai darimodul pengendali utama (main program)pengintegrasian modul-modul di bawah digabungkan dengan cara:

breadth-firstdepth-first

proses integrasi:

Driver =Main

Program

ModulSubordinat Stub

Test Cases

Test Results

Stub

RegressionTest

Page 12: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1220092006

StrategiStrategi PengujianPengujian -- PengujianPengujian IntegrasiIntegrasiJenis stub:

Stub B Stub C Stub DStub A

Display a tracemessage

Displaypassedparameter

Return a valuefrom a table(or externalfile)

Do a tablesearch forinputparameter andreturnassociatedoutputparameter

Page 13: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1320092006

StrategiStrategi PengujianPengujian -- PengujianPengujian IntegrasiIntegrasiBottom-up

modul diintegrasikan dengan menaik dilihat dari hirarki kontrol, dimulai dari modulatomik (modul di tingkat paling bawah) yang membentuk cluster (build)proses integrasi:

Mc

MbMa

D1 D2 D3

Clu

ster

Cluster

Cluster

Page 14: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1420092006

StrategiStrategi PengujianPengujian -- PengujianPengujianIntegrasiIntegrasi

Jenis driver

Driver B Driver C Driver DDriver A

Invokesubordinatemodules

Sendparameterfrom a table(or externalfile)

Displayparameter

A Combinationof driver B anddriver C

Page 15: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1520092006

StrategiStrategi PengujianPengujian -- PengujianPengujianValidasiValidasi

Proses:Validation Test

ConfigurationReview(Audit)

Test Plan

TestProcedure

SoftwareDocumentation

SoftwareRequirement

SoftwareDocumentations

Software developed for one customer

Acceptance Test

Software developed for massproduction

Alpha Test(Developer's site)

Beta Test(Developer's site)

TO-BERELEASEDSOFTWARE

Page 16: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1620092006

StrategiStrategi PengujianPengujian -- PengujianPengujianSistemSistem

Persiapkan masalah: Saling TudingRancang penanganan kesalahan untuk semua kemungkinan masuknyainformasi dari elemen sistem di luar perangkat lunakLakukan pengujian yang mensimulasikan masuknya data jelek dan salahCatat semua hasil pengujian untuk buktiIkut andil dalam perencanaan dan perancangan pengujian sistem untukmemastikan bahwa pengujian perangkat lunak sudah cukup

Jenis sistem test:Pengujian pemulihan (recovery testing)Pengujian keamanan (security testing)Pengujian kekuatan (stress testing)Pengujian kinerja (performance testing)

Page 17: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1720092006

TeknikTeknik PengujianPengujian -- White BoxWhite Box

Jenis teknik white-box:Basis Path Testing

Buat Flow Graph NotationHitung Cyclomatic Complexity = salah satu dari:

Jumlah regionV(G) = E - N + 2

E = jumlah busur pada flow graphN = jumlah simpul pada flow graph

V(G) = P + 1P = simpul predikat (simpul yang memiliki kondisi = 2 atau lebih busur yang keluar)

Tentukan jalur bebas (independent path) = jalur program yang merupakan satukumpulan perintah pengolahan atau satu kondisi pengolahanSiapkan kasus uji untuk setiap jalur bebasGraph Matrices = Connection Matrices = representasi lain dari FGN

Page 18: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1820092006

TeknikTeknik PengujianPengujian -- White BoxWhite BoxControl Structure Testing

Condition Testingcara merancang kasus uji untuk kondisi logika yang ada pada suatu modulprogram:

kondisi sederhana = peubah boolean | ekspresi relasionalkondisi bentukan (compound) = gabungan dari beberapa kondisisederhana

Data Flow Testingcara menguji berdasarkan lokasi dari pendefinisian dan penggunaan suatupeubah dalam modul program

Loop Testingcara menguji berdasarkan validitas dari konstruksi pengulangan yang digunakan dalam modul program:

sederhanabercabangbersambung (concatenated)takterstruktur

Page 19: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 1920092006

TeknikTeknik PengujianPengujian -- Black BoxBlack BoxJenis pengujian black-box:

Graph-based Testinggeraf yang mewakili hubungan antar objek pada modul sehingga tiap objekdan hubungannya tersebut dapat diuji

Equivalence Partitioningpembagian domain masukan dari program menjadi kelas data yang dapatdibuatkan kasus ujinya

Boundary Value Analysispemilihan kasus uji dengan mencari batas-batas ekstrim dari kelas data

Comparison Testingdigunakan untuk sistem yang menganut redundancykasus uji yang dirancang untuk satu versi perangkat lunak dijadikanmasukan pada pengujian versi perangkat lunak lainnyahasil kedua versi perangkat lunak harus sama

Page 20: TESTING - dinus.ac.iddinus.ac.id/repository/docs/ajar/STRATEGI_PENGUJIAN.pdf · Teknik Pengujian - White Box Control Structure Testing ... Backtracking

SE6161 Perancangan dan Analisis Perangkat Lunak 2020092006

DebuggingDebuggingAncangan:

Brute-forcememory dump, run-time trace, WRITE statements

Backtrackingperunutan balik mulai kesalahan ketahuan hingga sampai lokasi sumber

Cause eliminationdengan induksi atau deduksi: isolasi kemungkinan penyebab kesalahan

Proses:

Eksekusi Debugging

PenyebabDiketahui

PenyebabDicurigai

PengujianTambahan

PengujianRegresi

Kasus Uji

Hasil