Anda di halaman 1dari 18

Diterjemahkan dari bahasa Inggris ke bahasa Indonesia - www.onlinedoctranslator.

com

PENGUJIAN BERORIENTASI
OBYEK
MENGUJI MODEL OOA DAN OOD
 Model analisis dan desain tidak dapat diuji dalam
pengertian konvensional.
 Namun, tinjauan teknis formal dapat digunakan untuk
menguji kebenaran dan konsistensi model analisis dan
desain.
 Kebenaran Model OOA dan OOD
 Konsistensi Model OOA dan OOD
Kebenaran Model OOA dan OOD

 Notasi dan sintaks yang digunakan untuk


mewakili model analisis dan desain akan
dikaitkan dengan metode analisis dan desain
khusus yang dipilih untuk proyek tersebut.
 Oleh karena itu, kebenaran sintaksis dinilai
berdasarkan penggunaan simbologi yang tepat;
 Selama analisis dan desain, kebenaran
semantik harus dinilai berdasarkan kesesuaian
model dengan domain masalah dunia nyata.
Konsistensi Model OOA dan OOD

 Konsistensi model OOA dan OOD dapat dinilai dengan


“mempertimbangkan hubungan antar entitas dalam
model.
 Model CRC dan diagram hubungan objek dapat
digunakan untuk memfasilitasi kegiatan ini.
 Setiap kartu CRC mencantumkan nama kelas, tanggung
jawabnya (operasi), dan kolaboratornya
 Model hubungan objek menyediakan representasi grafis
dari koneksi antar kelas.
Untuk meninjau model kelas, langkah-langkah berikut
telah direkomendasikan.

1. Tinjau kembali model CRC dan model hubungan objek


 Periksa silang untuk memastikan bahwa semua kolaborasi
yang tersirat oleh model OOA terwakili dengan benar.
2. Periksa deskripsi setiap kartu indeks CRC untuk menentukan
apakah tanggung jawab yang didelegasikan merupakan
bagian dari definisi kolaborator.
3. Balikkan koneksi untuk memastikan bahwa setiap kolaborator
yang dimintai layanan menerima permintaan dari sumber
yang wajar.
4. Menggunakan koneksi terbalik yang diperiksa pada langkah
3, tentukan apakah kelas lain mungkin diperlukan dan apakah
tanggung jawab dikelompokkan dengan benar di antara kelas.
5. Tentukan apakah tanggung jawab yang diminta secara luas dapat
digabungkan menjadi satu tanggung jawab.
6. Langkah 1 sampai 5 diterapkan secara iteratif ke setiap kelas dan
melalui setiap evolusi model OOA.
 Setelah model OOD dibuat, tinjauan desain sistem dan desain
objek juga harus dilakukan.
 Desain sistem menggambarkan keseluruhan
 arsitektur produk
 subsistem yang menyusun produk,
 subsistem yang dialokasikan untuk prosesor,
 desain antarmuka pengguna.
 Model objek menyajikan detail setiap kelas dan aktivitas pengiriman
pesan yang diperlukan untuk mengimplementasikan kolaborasi
antar kelas.
 Desain sistem ditinjau dengan memeriksa model perilaku objek
yang dikembangkan selama OOA.
 Model objek harus diuji terhadap jaringan hubungan objek
STRATEGI PENGUJIAN BERORIENTASI OBYEK

Pengujian Unit dalam Konteks OO


 Ketika perangkat lunak berorientasi objek dipertimbangkan,
konsep unit berubah.
 Ini berarti bahwa setiap kelas dan setiap instance dari kelas
(objek) mengemas atribut (data) dan operasi (juga dikenal
sebagaimetodeataujasa) yang memanipulasi data ini.
 Daripada menguji modul individual, unit terkecil yang dapat
diuji adalah kelas atau objek yang dienkapsulasi. Karena
kelas dapat berisi sejumlah operasi yang berbeda dan
operasi tertentu mungkin ada sebagai bagian dari sejumlah
kelas yang berbeda.
Lanjutan.
Contoh :
 Untuk mengilustrasikannya, pertimbangkan hierarki
kelas di mana sebuah operasiXdidefinisikan untuk
super-class dan diwarisi oleh sejumlah subclass.
 Setiap subclass menggunakan operasiX,tetapi itu
diterapkan dalam konteks atribut dan operasi pribadi
yang telah ditentukan untuk subkelas.
 Tidak seperti pengujian unit perangkat lunak
konvensional, yang berfokus pada detail algoritme
modul dan data yang mengalir melintasi antarmuka
modul, pengujian kelas untuk perangkat lunak OO
didorong oleh operasi yang dienkapsulasi oleh
kelas dan perilaku status kelas.
Pengujian Integrasi dalam Konteks OO

 Perangkat lunak OO tidak memiliki struktur kontrol hierarkis.


Jadi mengintegrasikan operasi satu per satu ke dalam kelas
seringkali tidak mungkin karena "interaksi langsung dan
tidak langsung dari komponen yang membentuk kelas".
 Dua strategi berbeda:
 Pengujian berbasis utas
 mengintegrasikan set kelas yang diperlukan untuk
menanggapi satu masukan atau peristiwa untuk
sistem.
 Setiapbenangterintegrasi dan diuji secara individual.
Pengujian regresi diterapkan untuk memastikan
bahwa tidak ada efek samping yang terjadi.
 Pengujian berbasis penggunaan
 Memulai pembangunan sistem dengan menguji kelas-
kelas tersebut (disebutkelas mandiri) yang
menggunakan sangat sedikit (jika ada) kelas server.
 Setelah kelas independen diuji, lapisan kelas
berikutnya, yang disebutkelas tergantung,yang
menggunakan kelas independen diuji.
 Urutan pengujian lapisan kelas dependen ini berlanjut
sampai seluruh sistem dibangun.
 Pengujian klasteradalah salah satu langkah dalam
pengujian integrasi perangkat lunak OO. Di sini,
sekelompok kelas yang berkolaborasi (ditentukan
dengan memeriksa CRC dan model hubungan
objek) dilakukan dengan merancang kasus uji.
Pengujian Validasi dalam Konteks OO
 Pada tingkat validasi atau sistem, detail koneksi kelas
menghilang. Seperti validasi konvensional, validasi perangkat
lunak OO berfokus pada tindakan yang terlihat oleh
pengguna dan keluaran yang dapat dikenali pengguna dari
sistem.
 Untuk membantu dalam penurunan tes validasi, penguji
harus menggunakan kasus penggunaan yang merupakan
bagian dari model analisis.
 Use-case menyediakan skenario yang memiliki kemungkinan
besar untuk menemukan kesalahan dalam persyaratan
interaksi pengguna.
 Metode pengujian kotak hitam konvensional dapat digunakan
untuk mendorong pengujian validasi. Selain itu, kasus uji
dapat diturunkan dari model perilaku objek dan dari diagram
alur peristiwa yang dibuat sebagai bagian dari OOA.
METODE PENGUJIAN YANG BERLAKU DI TINGKAT KELAS

Pengujian Acak untuk Kelas OO

 Pertimbangkan aplikasi perbankan di manaAkunkelas


memiliki operasi berikut:buka, setup, deposit, withdraw,
balance, ringkasan, creditLimit,danmenutup.
 Masing-masing operasi ini dapat diterapkan untukAkun,
tetapi kendala tertentu (misalnya, akun harus dibuka
sebelum operasi lain dan ditutup setelah semua operasi
selesai) tersirat oleh sifat masalahnya.
 Bahkan dengan kendala ini, ada banyak permutasi dari
operasi. Seperti ini, kelasAkunmeliputi operasi berikut:
 buka•setup•deposit•tarik•tutup
Ini mewakili urutan pengujian minimum untukAkunkelas.
 Demikian pula,
buka•setup•deposit•[deposit|withdraw|
balance|summarize|creditLimit]n•tarik•tutup
 Berbagai urutan operasi yang berbeda
dapat dihasilkan secara acak.
Sebagai contoh: Kasus
cobaanr1:buka•setup•deposit•deposit•balanc
e•summerize•withdraw•close
Kasus
cobaanr2:buka•setup•deposit•withdraw•depos
it•balance•creditLimit•withdraw•close
Pengujian Partisi di Tingkat Kelas
 Pengujian partisimengurangi jumlah kasus uji
yang diperlukan untuk melatih kelas
 Input dan output dikategorikan dan kasus uji
dirancang untuk melatih setiap kategori.
 Kategori partisi
 Partisi berbasis negara
 Partisi berdasarkan atribut
 Partisi berbasis kategori
 Partisi berbasis negara- operasi kelas berdasarkan
kemampuan mereka untukmengubah keadaan kelas.
Sebagai contoh,Akunkelas, operasi negara
termasukmenyetorkandanmenarik, sedangkan operasi non-
status meliputikeseimbangan, ringkasan,danbatas kredit.
 Pengujian dirancang sedemikian rupa sehingga
menjalankan operasi yang mengubah status dan yang tidak
mengubah status secara terpisah.
 Karena itu, Kasus
cobaanp1:buka•setup•deposit•deposit•withdraw•withdraw•close
Kasus
cobaanp2:buka•setup•deposit•summerize•creditLimit•withdraw•close

 Kasus cobaanp1 berubah status, sementara test casep2


latihan operasi yang tidak mengubah status (selain yang
ada di urutan pengujian minimum).
 Partisi berbasis atribut -operasi kelas berdasarkan atribut
yang mereka gunakan.
Sebagai contoh,Akunkelas, atributkeseimbangandanbatas
kreditdapat digunakan untuk mendefinisikan partisi.
 Operasi dibagi menjadi tiga partisi:
(1) operasi yang menggunakanbatas kredit,
(2) operasi yang memodifikasibatas kredit, dan
(3) operasi yang tidak menggunakan atau
memodifikasibatas kredit.
 Urutan pengujian kemudian dirancang untuk setiap partisi.
 Partisi berbasis kategori -operasi kelas
berdasarkan fungsi generik yang dilakukan
masing-masing.
Misalnya, operasi diAkunkelas dapat
dikategorikan dalam
Operasi inisialisasi (buka, siapkan), Operasi
komputasi (setor, tarik). Pertanyaan (saldo,
ringkasan, batas kredit) dan operasi
Penghentian (menutup).

Anda mungkin juga menyukai