download

Matakuliah
Tahun
: Konsep object-oriented
: 2009
TESTING
Pertemuan 22
Testing
Tahap testing
• Testing adalah tahap yang sangat penting didalam
proses pembuatan program
• Testing dilakukan ketika program sudah ditulis
• Testing atau aktiftas untuk menjamin kualitas program
dapat dilakukan selama proses pembuatan program.
• Tahap testing:
– Testing sebelum implementasi/Pre implementation testing
– Testing sesudah implementasi/Post implementation testing
Pre-implemtation Testing
• Sebelum diimplementasikan ide, konsep harus ditest
• Pre-implementation testing dilakukan tidak oleh
programmer atau tim testing, tetapi oleh tim review,
terdiri dari project manager, klien atau pembangun
sistem
Client
Requirement
Meeting
Analysis
Validation
Operational
System
Specification of
requirements
Validation
Installation &
Maintenance
Working
System
Validation
Testing
System
Design
Alternative
Siolutions
Validation
Technical
Specification
• Reviewers mengecek dokumen spesifikasi dari tahap
analisis apakah akurat menangkap kebutuhan client,
konsisten dan layak.
Post-implementation testing
• Post-implementation adalah testing pada program
• Tehnik testing Post-implementation :
– White box testing
– Black box testing
White box testing
• White box testing, sering dikenal juga sebagai white box,
struktural, dan berdasarkan program atau glass box
testing.
• Testing ini dilakukan oleh seseorang yang dapat
mengakses langsung program seperti programer.
Testing pada logika, kondisi, pengulangan atau blok
statement, testing pada sebagian atau seluruh bagian
program
Black Box Testing
• Black box dikenal juga sebagai spesifikasi atau
fungsional testing, program atau unit program. Testing
dilakukan tanpa mengetahui struktur dari program
• Dilakukan seseorang selain programer atau orang
seseorang yang tidak mempunyai akses langsung ke
dalam program
• Program ditesting dengan cara menginput data kedalam
black box, dan dicek apakah output sesuai dengan yang
dikehendaki ?
Tahap-tahap testing
• Unit testing
• Integration testing
• System testing
Unit testing
• Tidak ada standar untuk sesuatu yang dinamakan
dengan unit:
– Unit testing mengecek kohesi tunggal antara prosedur atau
fungsi dengan prosedur atau fungsi yang lain
– Bagian terkecil dari program ditesting dan di compile
– Sebuah fungsi yang dapat ditulis dalam suatu waktu tertentu
Integration testing
• Integration testing adalah proses mengecek masingmasing unit apakah tetap bekerja dengan baik ketika
diintergrasikan
System testing
• Pada system testing, pengecekan terhadap sistem
apakah tetap bekerja dengan baik pada kondisi normal
• Pengecek juga mengecek performance dari sistem,
dengan kondisi tidak normal misalnya dengan cara
memasukan jumlah data input yang besar.
• Pengecek juga mengecek apakah sistem akan
menampilkan pesan yang benar ketika sebuah error
terjadi
• Juga mengecek keamanan dari sistem
Tipe-tipe lain testing
• Regression testing
• Testing penerimaan user/Acceptance testing by user or
a testing team
• Beta testing
• Release testing
Regression testing
• Melakukan testing ulang dan melihat hasilnya kembali
sering dinamakan regression testing
Testing penerimaan user/Acceptance
Testing
• Testing penerimaan user dilakukan oleh user ketika
software diberikan ke user.
• Testing penerimaan user adalah sebuah sebuah proses
formal test untuk melihat apakah sistem dapat
memenuhi kriteria yang diharapkan atau dapat diterima.
Beta test
• Dilakukan oleh orang luar yang tidak berkaitan yang
dapat mewakili klien atau pelanggan
Release testing
• Release testing dilakukan untuk mengecek apakah
program yang akan dirilis kepasaran sudah selesai, CD
atau disk sudah berisi file-file yang benar sesuai
versinya. CD bebas dari virus dan dokumentasi yang
benar sudah dimasukkan. Tester juga melakukan
pengecekan dengan membandingkan software,
dokumentasi yang dibutukan dan dokumentasi user
Siapa saja yang melakukan testing
•
•
•
•
•
The programmer
A team of tester
Beta tester
The customer
The maintainer
Bagian2 yang dilakukan testing
• Bagian statement/Statement coverage
• Bagian percabangan/Branch coverage
• Bagian kondisi/Condition coverage
Hal-hal spesial pada Testing O-O software
• Class and object testing
– Encapsulated state
– Method interaction
– Inheritance and polymorphism
Object Integration testing
• Tujuannya sama dengan unit-unit tradisional.