1
Testing dan Implementasi
No Form Skenario Uji Hasil yang Diharapkan Validitas
1. Login Memasukkan Username danPassword
Apabila salah memasukkan user/password sistem akan menolak
Valid
2. Blog Menambah, mengubah, dan menghapus artikel yang ada pada wedding blog
Dapat melakukan penambahan, perubahan, dan penghapusan artikel yang ada pada wedding blog
Valid
3. Gallery Menambah, menghapus, dan mengubah nama gallery
Dapat melakukan penambahan foto, hapus foto, dan ubah nama foto
Valid
2
Tabel Uji Coba Black Box pada Admin
3
Tabel Pertanyaan Kuesioner
No PertanyaanJawaban
SS S TS STS
1.Tampilan website The Purple House responsif ?
4 3 2 1
2.
Desain halaman muka (interface) baik, huruf jelas dan mudah dibaca dan desain layout baik ? 4 3 2 1
3.
Informasi yang terdapat di dalam web tersebut sudah lengkap dan mudah dimengerti ? 4 3 2 1
4.
Dengan adanya website The Purple House memudahkan dalam mendapat informasi tentang wedding organizer ? 4 3 2 1
5.Website The Purple House mudah dioperasikan ?
4 3 2 1
6.
Fasilitas yang ada pada website The Purple House sudah lengkap dan sesuai dengan kebutuhan user ? 4 3 2 1
What Testing Showserrors
requirements conformance
performance
an indicationof quality
5
● Dua Aspek yang dipertimbangkan:• Apakah implementasi sudah sesuai dengan spesifikasi ?• Apakah spesifikasi sesuai dengan kebutuhan user ?
● Validasi• “Apakah sistem yang dikembangkan sudah benar?”• Pengujian dimana sistem ketika diimplementasikan sesuai
dengan yang iharapkan
● Verifikasi• “Apakah sistem dikembangkan dengan cara yang benar ?”• Pengujian apakah sistem sudah sesuai dengan spesifikasi
Seberapa baik sistem yang sudah dibangun ?
6
Proses TestingUnit testingn Pengujian masing-masing unit komponen program
untuk meyakinkan bhw sudah beroperasi secara benar
Module Testingn Pengujian terhadap koleksi unit-unit komponen
yang saling berhubungan. Sub-system Testingn Pengujian terhadap koleksi module-module yang
membentuk suatu sub-system (aplikasi)
7
Proses TestingSystem Testingn Pengujian terhadap integrasi sub-system, yaitu
keterhubungan antar sub-systemAcceptance Testingn Pengujian terakhirs sebelum sistem dipakai oleh
user. n Melibatkan pengujian dengan data dari pengguna
sistem.n Biasa dikenal sebagai “alpha test” (“beta test”
untuk software komersial, dimana pengujian dilakukan oleh potensial customer)
8
Proses Testing
UnitTesting
ModuleTesting
Sub-systemTesting
SystemTesting
AcceptanceTesting
Component Testing Integration TestingUserTesting
Pendekatan Strategis ke pengujian perangkat lunak
Who Tests the Software?
developer independent testerUnderstands the system but, will test "gently"and, is driven by "delivery"
Must learn about the system, but, will attempt to break it
12
The testing processComponent testing n Pengujian komponen-komponen programn Biasanya dilakukan oleh component developer
(kecuali untuk system kritis)Integration testingn Pengujian kelompok komponen-komponen yang
terintegrasi untuk membentuk sub-system ataupun system
n Dialakukan oleh tim penguji yang independentn Pengujian berdasarkan spesifikasi sistem
13
Rencana PengujianProses testingn Deskripsi fase-fase utama dalam pengujian
Pelacakan Kebutuhann Semua kebutuhan user diuji secara individu
Item yg diujin Menspesifikasi komponen sistem yang diuji
Jadual TestingProsedur Pencatatan Hasil dan ProsedurKebutuhan akan Hardware dan SoftwareKendala-kendalan Mis: kekurangan staff, alat, waktu dll.
14
Hubungan antara rencana pengujian dan proses pengembangan system
SpesifikasiKebutuhan
SpesifikasiSystem
PerancanganSystem
DetailPerancangan
AcceptanceTest plan
System IntegrationTest plan
Sub-System IntegrationTest plan
Module andUnit code and
test
Acceptancetest
System Integration
test
Sub-System Integration
testService
15
Failures, FaultsFailure: output yang tidak benar/tidak sesuai
ketika sistem dijalankanFault: kesalahan dalam source code yang mungkin menimbulkan failure ketika code yg fault tsb dijalankan
Failure Class DeskripsiTransient Muncul untuk input tertentuPermanent Muncul untuk semua inputRecoverable Sistem dapat memperbaiki secara otomatisUnrecoverable Sistem tidak dapat memperbaiki secara otomatisNon-corrupting Failure tidak merusak dataCorrupting Failure yang merusak sistem data
16
Hanya test yang lengkap yg 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.
Prioritas Testing
17
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.
Test data dan kasus test
18
Proses defect testing
Design testcases
Prepare testdata
Run programwith test data
Compare resultsto test cases
Testcases
Testdata
Testresults
Testreports
19
Black-box testing
Pendekatan pengujian dimana program dianggap sebagai suatu ‘black-box’(‘kotak hitam’)Program test case berbasiskan spesifikasiTest planning dapat dimulai sejak awal proses pengembangan sistem
Black-box testing
Pengujian black box berusaha menemukan kesalahan dalam kategori :n Fungsi-fungsi yang tidak benar atau hilangn Kesalahan interfacen Kesalahan dalam struktur data atau akses
database eksternaln Kesalahan kinerjan Inisialisasi dan kesalahan terminasi
21
Black-box testingIe
Input test data
OeOutput test results
System
Inputs causinganomalousbehaviour
Outputs which revealthe presence ofdefects
22
Equivalence partitioning
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
23
Equivalence partitioning
System
Outputs
Invalid inputs Valid inputs
24
Partition system inputs and outputs into ‘equivalence sets’n 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 setsn 00000, 9999, 10000, 99999, 100001
Equivalence partitioning
25
Equivalence partitions
Between 10000 and 99999Less than 10000 More than 99999
999910000 50000
10000099999
Input values
Between 4 and 10Less than 4 More than 10
34 7
1110
Number of input values
26
Disebut juga white-box testingPenentuan test case disesuaikan dengan struktur sistem. Knowledge program digunakan untuk mengidentifikasi test case tambahan.Tujuannya untuk menguji semua statement program (debug).
Structural testing
27
White-box testing
Componentcode
Testoutputs
Test data
DerivesTests
28
Path testingTujuannya 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 kontrolStatements dengan conditions adalah node-node dalam flow graf.
29
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 complexityCyclomatic complexity = Jumlah edges –Jumlah Node +2 Cyclomatic complexity menyatakan jumlah test untuk menguji control statements
Program flow graphs
Binary search flow graph
1
2
3
4
65
7
while bottom <= top
if (elemArray [mid] == key
(if (elemArray [mid]< key8
9
bottom > top
31
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 sehingga semua path tsb tereksekusi.
Independent paths
32
Integration testing
Pengujian keseluruhan system atau sub-system yang terdiri dr komponen yg terintegrasi. Test integrasi menggunakan black-box dengan test case ditentukan dari spesifikasi. Kesulitannya adalah menemukan/melokasikanPenggunaan Incremental integration testing dapat mengurangi masalah tersebut.
33
Incremental integration testing
T3
T2
T1
T4
T5
A
B
C
D
T2
T1
T3
T4
A
B
C
T1
T2
T3
A
B
Test sequence1
Test sequence2
Test sequence3
34
Pendekatan integration testingTop-down testingn Berawal dari level-atas system dan terintegrasi
dengan mengganti masing-masing komponen secara top-down dengan suatu stub (program pendek yg mengenerate input ke sub-system yg diuji).
Bottom-up testingn Integrasi components di level hingga sistem
lengkap sudah teruji.Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi pengujian tsb.
35
Top-down testing
Level 2Level 2Level 2Level 2
Level 1 Level 1Testingsequence
Level 2stubs
Level 3stubs
. . .
36
Bottom-up testing
Level NLevel NLevel NLevel NLevel N
Level N–1 Level N–1Level N–1
Testingsequence
Testdrivers
Testdrivers
37
Pendekatan TestingArchitectural validationn Top-down integration testing lebih baik digunakan
dalam menemukan error dalam sistem arsitektur. System demonstrationn Top-down integration testing hanya membatasi
pengujian pada awal tahap pengembangan system.Test implementationn Seringkali lebih mudah dengan menggunakan
bottom-up integration testing
38
Dilakukan kalau module-module dan sub-system terintegrasi dan membentuk sistem yang lebih besarTujuannya untuk medeteksi fault terhadap kesalahan interface atau asumsi yg tidak valid terntang interface tsb.Sangat penting untuk pengujian terhadap pengembangan sistem dgn menggunakan pendekatan object-oriented yg didefinisikan oleh object-objectnya
Interface testing
39
Interface testingTestcases
BA
C
40
Interfaces typesParameter interfacesn Data dikirim dari satu procedure ke procedure
lainnya.Shared memory interfacesn Block of memory dishare diantara procedure-
procedureProcedural interfacesn Sub-system mengencapsulasi sekumpulan
procedure-procedure yang akan dipanggil oleh sub-system lainnya
Message passing interfacesn Sub-systems meminta services dari sub-systems
lainnya
41
Interface errorsInterface misusen componen pemanggil memanggil component lainnya
dan membuat suatu kesalahan dalam penggunaan interfacenya (mis.: parameter dg urutan yg tidak sesuai).
Interface misunderstandingn component pemanggil salah dalam mengasumsikan
behaviour component yg dipanggil.
Timing errorsn Component yg memanggil dan yg dipanggil beroperasi
pada kecepatan yg berbeda sehingga dimungkinkan mengakses informasi yg tidak uptodate (synchronization problem).
42
Petunjuk melakukan Interface testing
Merancang test dimana parameter ke procedure yg dipanggil berada pada nilai batas extrim Test Menggunakan null pointerPerancangan tests sehingga component yg di test akan fail.Menggunakan stress testing pada message passingPada shared memory systems, variasikan urutan dimana komponen diaktifkan.
43
Stress testingMenguji sistem dengan nilai yg melebihi maksimum load. Stressing suatu system menyebabkan tidak mudah kerusakan.Stressing suatu system test failure behaviour. Systems seharusnya tidak gagal total. Stress testing mencek kehilangan service yg tidak diduga ataupun data yg hilang.Khusus untuk sistem terdistribusi dapat menyebabkan degradasi jaringan sehingga overload.
44
Components yang diuji adalah class object yang diinstantiate ke object.Lebih besar dibandingkan pengujian sebuah function sehingga pendekatan white-box testing perlu diperluas.Tidak jelasnya ‘top’ suatu system untuktop-down integration dan testing
Object-oriented testing
45
Testing levels
Testing operations pada objectsTesting object classesTesting clusters cooperating objectsTesting OO system secara lengkap
46
Object class testing
Complete test yang menguji class melibatkann Testing semua operations suatu objectn Setting dan interrogating semua attribute objectn Menguji object untuk semua state(keadaan) yg
mungkinInheritance akan mengakibatkan sulitnya perancangan object class tests seperti information yg diuji sulit dilokalisasi.
47
Contoh: Weather station object interface
Test cases dibutuhkan untuk semua operationsMenggunakan state model untuk mengidentifikasi state transitions testingContoh testing sequencesn Shutdown → Waiting →
Shutdownn Waiting → Calibrating → Testing→ Transmitting → Waiting
n Waiting → Collecting → Waiting→ Summarising → Transmitting→ Waiting
48
Integrasi Object
Levels integrasi sedikit berbeda untuk sistem yang berorientasi object.Cluster testing digunakan untuk test integrasiand testing clusters terhadap cooperating objectsIdentifikasi clusters menggunakan knowledge dari operation objects dan system features yang diimplementasikan oleh cluster tersebut.
49
Approaches cluster testing
Use-case atau scenario testingn Testing berdasarkan pada interaksi user
dengan sistem.n Keuntungannya diujikan oleh user yg
berpengalaman. Object interaction testingn Tests barisan interaksi object yang
berhenti ketika suatu operation object tidak memanggil service dari object lain.
50
Scenario-based testing
Identifikasi scenarios dari use-cases dan menambahkannya dengan diagram interaksi yang menunjukkan object-object yang terlibat dalam scenarioLihat contoh scenario berikut ini pada sistem weather station ketika suatu report dibuat
51
Collect weather data
52
Weather station testingThread pengeksekusian methode
n CommsController:request → WeatherStation:report → WeatherData:summarise
Inputs dan outputsn Input report request dengan acknowledge yg
sesuai serta output report akhirn Dapat diujikan dengan membuat raw data dan
meyakinkan bahwa dapat menghasilkankesimpulan (summarize) yg sesuai.
n Gunakan raw data yg sama untuk menguji objectWeatherData
53
Testing workbenchesTesting merupakan suatu proses yg cukup mahal. Testing workbenches menyediakan tool-tool untuk mereduksi waktu yg dibutuhkan dan total cost pengujianKebanyakan testing workbenches merupakan open systems karena kebutuhan testing membutuhkan tergantung dr spesifikasi organisasiSulit diintegrasikan dengan closed design dananalysis workbenches
54
A testing workbench
55
Tetsing workbench adaptation
Scripts dibuat untuk user interface simulator dan model test data generatorTest outputs harus disiapkan secara manual sebagai pembanding.Special-purpose file comparators harus dibuat
Top Related