Senin, 07 Juni 2010

Pengujian Object Oriented

Dalam pengujian berorientasi objek, unit terkecil adalah objek dan class, sistem merupakan sekumpulan komunikasi-komunikasi antar objek. Class sering dirancang untuk menerima urutan pesan-pesan tertentu yang mengakibatkan respon class terhadap pesan-pesan tersebut menjadi berbeda-beda Hal ini selanjutnya disebut dengan perilaku (behavior) class. Perilaku tersebut dapat dikendalikan dengan nilai yang ter-enkapsulasi, urutan pesan atau keduanya.


Pengujian Perangkat Lunak Berorientasi Objek
Pengujian adalah suatu proses pengeksekusian program yang bertujuan untuk menemukan kesalahan (Berard, 1994). Pengujian sebaiknya menemukan kesalahan yang tidak disengaja dan pengujian dinyatakan sukses jika berhasil memperbaiki kesalahan tersebut. Selain itu, pengujian juga bertujuan untuk menunjukkan kesesuaian fungsi-fungsi perangkat lunak dengan spesifikasinya.


Pengujian dapat dikategorikan atas :
1. Pengujian terhadap proses pengembangan sistem dan dokumendokumen pendukung. Proses berarti sejumlah aktivitas yang didukung oleh dokumen yang mendeskripsikan aktivitas-aktivitas.
2. Pengujian terhadap analisis dan model perancangan. Dalam sistem berorientasi objek, pengujian model analisis dan perancangan adalah hal yang sangat penting.
3. Pengujian secara statik dan dinamik untuk implementasi. Tujuannya adalah mencari kesalahan sedini mungkin dalam proses, tetapi kesalahan dalam kode untuk sistem yang besar dan kompleks tidak dapat dihindarkan. Pengujian statik merupakan inspeksi kode untuk menemukan kesalahan logic. Pengujian dinamik merupakan eksekusi dengan data uji untuk menemukan kesalahan dalam kode.

Perangkat lunak berorientasi objek berbeda dari perangkat lunak procedural (konvensional) dalam hal analisis, perancangan, struktur dan teknik-teknik pengembangannya. Bahasa pemrograman berorientasi objek mempunyai ciri-ciri adanya pembungkusan (encapsulation), keanekaragaman (polymorphism), dan pewarisan (inheritance) yang membutuhkan dukungan pengujian tertentu. Fokus pengujian perangkat lunak berorientasi objek dimulai pada hasil analisisnya, dilanjutkan pada hasil perancangannya, dan diakhir pada hasil pemrogramannya (Rochimah, 1997). Model yang dihasilkan pada analisis dan perancangan harus diperiksa terutama dalam hal :
1. Semantic correctness, yaitu kesesuaian model dengan domain permasalahan di dunia nyata. Jika model merefleksikan dunia nyata secara akurat, berarti model tersebut benar secara semantik, dan
2. Consistency, yaitu kesesuaian kelas dengan objek turunannya maupun kesesuaian asosiasi kelas dengan kelas lainnya.

Model Uji (Test Model)
Berbagai model pengujian perangkat lunak berorientasi objek diusulkan oleh para peneliti. Setiap model mempunyai konstruksi atau aturan yang menjadi dasar dalam langkah-langkah pengujian.

State-Transition Model
Transisi dalam pengujian method (operasi) suatu class menunjukkan konsep perilaku class. Setiap method dalam class mengekspresikan beberapa elemen dari keseluruhan perilaku class. Dalam beberapa metoda perancangan berorientasi objek menggunakan model State-Transition untuk merepresentasikan perilaku class. State (Status) suatu objek adalah kombinasi dari semua nilai atribut. Pada saat tertentu, status bersifat statik.
Untuk model dinamik objek, perlu ditambahkan transisi dari satu status ke status lainnya dan terjadilah suatu aksi. Model ‘transisi-status’ digambarkan dengan grafik, dimana simpul menyatakan status dan busur menyatakan transisi.
Boris Beizer memberikan beberapa aturan untuk pengecekan model “Transisi-status”, yaitu :
a. Verifikasi bahwa status telah merepresentasikan himpunan satus dengan benar;
b. Cel model untuk semua kemungkinan event suatu class, yaitu transisi dari setiap status untuk setiap method dalam class dan cek spesifikasi perancangannya;
c. Cek terhadap ketetapan satu tansisi untuk setiap kombinasi “eventstate”. Lakukan pengecekan, misal dengan representasi matriks sebagai kombinasi kemungkinan status dan event;
d. Cek status yang tidak terjangkau dan status mati, dimana pada status tersebut tidak ada lintasan atau transisi;
e. Cek aksi yang tidak benar(invalid), termasuk method (operasi) yang tidak ada atau method yang tidak sesuai dengan kebutuhan selama transisi.

Model “transisi-status” dapat mencakup keseluruhan perilaku class, sehingga lebih produktif dibanding dengan model lainnya, namun mempunyai beberapa kelemahan yaitu :
1. Karena model dibentuk dari spesifikasi kebutuhan, bukan dari kode, mudah menyebabkan kesalahan sehingga perlu menguji model seperti halnya menguji kode;
2. Karena model mencakup seluruh perilaku class dan superclass-nya, maka model menjadi kompleks. Namun pemakaian “transisi-status” secara hirarki dapat mengurangi kompleksitas tersebut
3. Model perilaku dapat mengakibatkan hilangnya kendali dan data yang salah. Oleh karena itu perlu adanya asumsi yang sama tentang perilaku class yang didasarkan pada kebutuhan dengan asumsi yang dibuat oleh pemrogram.
4.Object Oriented Analysis (OOA) dan Object Oriented Design (OOD)

Strategi Ujicoba Berorientasi Objek (Object-Oriented Testing Strategies)
o Unit testing dalam konteks OO
• Unit terkecil yang diujikan adalah enkapsulasi class atau objek
• Hampir serupa dengan ujicoba sistem pada software konvensional
• Tidak menguji operasi dalam isolasinya dengan operasi yang lain
• Dijalankan oleh operasi class dan perilaku tetap, bukan detail algoritmik dan aliran data yang melintasi antar interface modul
• Ujicoba lengkap keseluruhan class meliputi :
- Menguji seluruh operasi yang berhubungan dengan objek
- Mengatur dan interogasi semua atribut obyek
- Melatih objek dalam semua kemungkinan
• Mendesain ujicoba untuk class dengan menggunakan metode yang benar
– Ujicoba berbasis kesalahan (fault-based testing)
- Ujicoba acak (random testing)
- Ujicoba Partisi (partition testing)
• Setiap metode-metode ini akan melatih operasi yang dienkapsulapsi oleh class
• Urutan ujicoba didesain untuk memastikan bahwa operasi yang relevan telah diujicobakan
• Posisi tetap suatu class (Nilai atributnya) di uji untuk menentukan apakah terdapat kesalahan

sumber tulisan ini :

http://ayuliana_st.staff.gunadarma.ac.id/Downloads/folder/0.1
Jurnal Universitas Paramadina, Vol. 2 No. 2, Januari 2003 oleh Retno Hendrowati,dengan judul Pengujian Perangkat Lunak Berorientasi Obyek



Tidak ada komentar:

Posting Komentar