Selasa, 13 April 2010

PENGUJIAN BERORIENTASI OBJEK



Untuk menguji system orientasi objek (OO) secara memadai, harus dilakukan tiga hal berikut :
1. definisi pengujian harus diperluas untuk mencakup tehnik penemuan kesalahan yang diaplikasikan ke model OOA dan OOD.
2. strategi untuk pengujian unit dan terintegrasi harus berubah secara signifikan.
3. design test case harus bertanggung jawab terhadap karekteristik unit perangkat lunak OO.
Sararan keseluruhan pengujian berorientasi objek untuk menemukan jumlah kesalahan maksimum dengan jumlah usaha minimum identik dengan sasaran pengujian perangkat lunak konvensional. Tetapi taktik dan strategi untuk pengujian OO sangat berbeda. Pandangan mengenai pengujian meluas, mencakup kajian terhadap model analisis maupun design. Focus pengujian juga bergerak menjauh dari komponen procedural (modul) dan menuju ke kelas.

Karena model analisis dan desain OO serta kode sumber hasil dirangkai secara semantik, maka pengujian (dalam bentuk kajian teknik formal) dimulai selama aktifitas rekayasa ini. Karena itu, kajian CRC, hubungan objek, dan model tingkah laku objek, dapat dipandang sebagai pengujian tahap pertama. Begitu OOP diselesaikan, pengujian unit ini diaplikasikan pada masing masing kelas. Pengujian kelas menggunakan berbagai metode: pengujian fault-based, pengujian random, dan pengujian partisi. Masing-masing metode menggunakan operasi yang dienkapsulasi oleh kelas tersebut. Urutan pengujian didesain untuk memastikan apakah operasi yang relevan telah dilakukan. Keadaan kelas, yang dipresentasikan oleh harga atau nilai atributnya, diuji untuk menentukan apakah ada kesalahan.

Pengujian integrasi dapat dilakukan dengan menggunakan strategi thread-based atau used-based. Pengujian thread mengintergrasikan rangkaian kelas yang berkolaborasi untuk merespon ke satu input atau event. Pengujian use-based mengkonstruksi system di dalam lapisan, mulai dengan kelas-kelas server. Integrasi metode-metode desain test case juga dapat menggunakan pengujian partisi dan random. Pengujian scenario-based dan pengujian yang ditarik dari model tingkah laku juga dapat digunakan untuk menguji kolaboratornya. Urutan pengujian melacak aliran operasi yang melalui kolaborasi kelas.

Pengujian validasi system OO berorientasi pada black-box dan dapat dilakukan dengan mengaplikasikan metode black-box yang sama yang dibahas untuk perangkat lunak konvensional. Tetapi pengujian scenario-based mendominasi validasi dari system OO, dengan membuat case driver printer untuk validasi pengujian. Untuk mengevaluasi model kelas, direkomendasikan langkah langkah berikut (MCG94) :





• Lihat lagi model CRC dan model hubungan objek
• Periksa deskripsi masing-masing kartu indeks CRC
• Menginversikan koneksi
• Tentukan apakah kelas-kelas yang lain diperlukan
• Tentukan apakah tanggung jawab yang diminta secara luas dapat dikombinasikan
• Langkah 1 – 5 diaplikasikan secara iterative pada masing-masing kelas
Strategi pungujian berorientasikan objek secara keseluruhan di uji untuk memastikan apakah kesalahan terungkap.

Desain test case untuk perangkat lunak OO berada pada tahap formatifnya. Namun demikian, pendekatan menyeluruh ke desain test case OO telah diusulkan oleh Berard (BER93) :
• Masing – masing test case harus diidentifikasikan secara unik dan secara eksplisit
• Tujuan pengujian tersebut harus dinyatakan
• Daftar langkah pengujian harus dikembangkan
Pengaruh pemrograman OO terhadap pengujian bergantung pada pendekatan ke OPP, sebagai berikut :
• Berbagai tipe kesalahan menjadi lebih tidak masuk akal
• Berbagai tipe kesalahan menjadi lebih masuk akal
• Berbagai tipe kesalahan baru muncul
Pengujian struktur permukaan mengacu pada struktur program OO yang dapat diobservasi secara eksternal, yaitu struktur yang sangat jelas bagi pemakai akhir. Struktur dalam mengacu pada detail teknis suatu program OO, yaitu struktur yang dipahami dengan menguji desain atau suatu kode. Pengujian struktur dalam didesain untuk menggunakan ketergantungan, tingkah laku, dan mekanisme komunikasi.

Metode pengujian yang dapat diaplikasikan pada tingkat kelas dapat menggunakan pengujian random untuk kelas-kelas OO. Sedangkan pengujian partisi mengurangi tes case yang diperlukan untuk menggunakan kelas dengan cara yang sangat mirip dengan partisi ekivalensi untuk perangkat lunak konvensional. Partisi state-based mengkategori operasi kelas berdasarkan kemampuan operasi untuk mengubah keadaan kelas. Partisi atribut-based mengkategorikan operasi kelas berdasarkan atribut yang mereka gunakan. Partisi category-based mengkategorikan operasi kelas berdasrkan fungsi generic yang dilakukan oleh masing-masing. Pendekatan untuk pengujian partisi kelas bertingkat sama dengan pendekatan yang digunakan untuk pengujian partisi dari kelas individual.

Tidak ada komentar:

Posting Komentar