Pengujian difokuskan pada unit terkecil dari
suatu modul program. Dilaksanakan dengan
menggunakan driver dan stub.
• Driver adalah suatu program utama yang
berfungsi mengirim atau menerima data
kasus uji dan mencetak hasil dari modul
yang diuji
3. Objectives
• Mendiskusikan bilamana testing dilakukan
dalam pengembangan software
Test-driven development advocates early testing!
• Strategi dan alat yang digunakan dalam object
oriented testing
Analysis and Design Testing
Class Tests
Integration Tests
Validation Tests
System Tests
• To discuss test plans and execution for projects
analysis design code test ?
4. 4
Object Oriented Testing
• Komponen yang diuji adalah classobject.
• Lebih besar dibandingkan pengujian
• suatu function sehingga pendekatan
white-box testing perlu diperluas.
• Tidak jelasnya ‘top’ suatu system untuk
top-down integration dan testing.
5. Object-Oriented Testing
• Kapan Testing dapat dimulai ?
• Analysis and Design:
Testing begins by evaluating the OOA and OOD models
How do we test OOA models (requirements and use cases)?
How do we test OOD models (class and sequence diagrams)?
Structured walk-throughs, prototypes
Formal reviews of correctness, completeness and consistency
• Programming:
How does OO make testing different from procedural
programming?
Concept of a ‘unit’ broadens due to class encapsulation
Integration focuses on classes and their context of a use case
scenario
or their execution across a thread
Validation may still use conventional black box methods
6. 6
Testing Levels
• Testing operations pada objects
• Testing object classes
• Testing clusters cooperating objects
• Testing OO system secara lengkap
8. Cluster Testing
8
Cluster testing digunakan untuk test integrasi terhadap kooperatif object.
Identifikasi clusters menggunakan knowledge operation objects dan
system features yang diimplementasikan oleh cluster tersebut.
10. 10
Object Class Testing
• Complete test yang menguji class melibatkan
Testing semua operations suatu object
Setting dan interrogating semua attribute
object
Menguji object untuk semua
state(keadaan) yg mungkin
• Inheritance akan mengakibatkan sulitnya
perancangan object class tests seper information
yg diuji sulit dilokalisasi.
11. Contoh:
Weather Station Object Interface
11
• Test cases dibutuhkan untuk
semua operations
• Menggunakan state model untuk
mengidentifikasi state transitions
testing
• Contoh testing sequences
Shutdown Waiting
→ →
Shutdown
Waiting Calibrating
→ →
Testing Transmitting
→ →
Waiting
Waiting Collecting
→ →
Waiting Summarising
→ →
Transmitting Waiting
→
12. 12
Integrasi Object
• Levels integrasi sedikit berbeda untuk sistem
yang berorientasi object.
• Cluster testing digunakan untuk test integrasi
and testing clusters terhadap cooperating objects
• Identifikasi clusters menggunakan knowledge
dari operation objects dan system features yang
diimplementasikan oleh cluster tersebut.
13. 13
Approaches Cluster Testing
• Use-case atau scenario testing
Testing berdasarkan pada interaksi user
dengan sistem.
Keuntungannya diujikan oleh user yg
berpengalaman.
• Object interaction testing
Tests barisan interaksi object yang berhenti
ketika suatu operation object tidak
memanggil service dari object lain.
14. 14
Scenario-Based Testing
• Identifikasi scenarios dari use-cases dan
menambahkannya dengan diagram interaksi
yang menunjukkan objectobject
yang terlibat dalam scenario
• Lihat contoh scenario berikut ini pada sistem
weather station ketika suatu report dibuat
16. 16
Weather Station Testing
• Thread pengeksekusian methode
CommsController:request WeatherStation:report
→ →
WeatherData:summarise
• Inputs dan outputs
Input report request dengan acknowledge yg
sesuai serta output report akhir
Dapat diujikan dengan membuat raw data dan
meyakinkan bahwa dapat menghasilkan kesimpulan
(summarize) yg sesuai.
Gunakan raw data yg sama untuk menguji object
WeatherData
17. 17
Model Pengujian OOA dan OOD
• Model desain dan analisis tidak dapat diuji
dalam arti yang konvensional karena model ini
tidak dapat dieksekusi, maka kajian teknis
formal dapat digunakan untuk menguji
kebenaran dan konsistensi model analisis dan
model desain
18. 18
Strategi Pengujian Berorientasi Objek
• Strategi klasik
Pegujian kecil Pengujian besar
Pengujian unit
Pengujian integrasi
Validasi
Pengujian sistem
19. 19
Desain Test Case untuk Perangkat OO
• Metode desain test case oleh Berard
– Test case harus diidentifikasi secara unik
dan eksplisit
– Tujuan pengujian harus dinyatakan
– Daftar langkah pengujian harus
dikembangkan bagi masing-masing
pengujian
20. 20
Daftar Isi Pengujian
• Daftar keadaan yang ditetapkan untuk objek
yang akan diuji
• Daftar pesan dan operasi yang digunakan
sebagai akibat dari pengujian
• Daftar pengecualian akan ditemui saat objek
diuji
• Daftar kondisi eksternal
21. 21
Metode pengujian yang dapat
diaplikasikan pada tingkat kelas
• Pengujian random untuk kelas OO
• Pengujian partisi dan tingkat kelas