OOAD - Pengujian & Jaminan Kualitas
Setelah kode program ditulis, itu harus diuji untuk mendeteksi dan selanjutnya menangani semua kesalahan di dalamnya. Sejumlah skema digunakan untuk tujuan pengujian.
Aspek penting lainnya adalah kesesuaian tujuan program yang memastikan apakah program tersebut memenuhi tujuan yang dituju. Kebugaran menentukan kualitas perangkat lunak.
Menguji Sistem Berorientasi Objek
Pengujian adalah aktivitas berkelanjutan selama pengembangan perangkat lunak. Dalam sistem berorientasi objek, pengujian mencakup tiga tingkatan, yaitu pengujian unit, pengujian subsistem, dan pengujian sistem.
Pengujian Unit
Dalam pengujian unit, masing-masing kelas diuji. Terlihat apakah atribut kelas diimplementasikan sesuai desain dan apakah metode dan antarmuka bebas dari kesalahan. Pengujian unit adalah tanggung jawab insinyur aplikasi yang mengimplementasikan struktur.
Pengujian Subsistem
Ini melibatkan pengujian modul atau subsistem tertentu dan merupakan tanggung jawab pimpinan subsistem. Ini melibatkan pengujian asosiasi dalam subsistem serta interaksi subsistem dengan luar. Uji subsistem dapat digunakan sebagai uji regresi untuk setiap versi subsistem yang baru dirilis.
Pengujian Sistem
Pengujian sistem melibatkan pengujian sistem secara keseluruhan dan merupakan tanggung jawab tim jaminan kualitas. Tim tersebut sering kali menggunakan pengujian sistem sebagai pengujian regresi saat menyusun rilis baru.
Teknik Pengujian Berorientasi Objek
Pengujian Kotak Abu-abu
Berbagai jenis kasus uji yang dapat dirancang untuk menguji program berorientasi objek disebut kasus uji kotak abu-abu. Beberapa jenis pengujian kotak abu-abu yang penting adalah -
State model based testing - Ini mencakup cakupan negara bagian, cakupan transisi negara bagian, dan cakupan jalur transisi negara bagian.
Use case based testing - Setiap skenario di setiap kasus penggunaan diuji.
Class diagram based testing - Setiap kelas, kelas turunan, asosiasi, dan agregasi diuji.
Sequence diagram based testing - Metode dalam pesan di diagram urutan diuji.
Teknik untuk Pengujian Subsistem
Dua pendekatan utama pengujian subsistem adalah -
Thread based testing - Semua kelas yang diperlukan untuk mewujudkan kasus penggunaan tunggal dalam subsistem terintegrasi dan diuji.
Use based testing- Antarmuka dan layanan modul di setiap tingkat hierarki diuji. Pengujian dimulai dari kelas individu hingga modul kecil yang terdiri dari kelas, secara bertahap ke modul yang lebih besar, dan akhirnya semua subsistem utama.
Kategori Pengujian Sistem
Alpha testing - Ini dilakukan oleh tim penguji dalam organisasi yang mengembangkan perangkat lunak.
Beta testing - Ini dilakukan oleh sekelompok pelanggan yang bekerja sama.
Acceptance testing - Ini dilakukan oleh pelanggan sebelum menerima kiriman.
Jaminan Kualitas Perangkat Lunak
Kualitas Software
Schulmeyer dan McManus telah mendefinisikan kualitas perangkat lunak sebagai "kesesuaian untuk penggunaan produk perangkat lunak total". Perangkat lunak berkualitas baik melakukan persis apa yang seharusnya dilakukan dan diinterpretasikan dalam hal kepuasan spesifikasi persyaratan yang ditetapkan oleh pengguna.
Kualitas asuransi
Jaminan kualitas perangkat lunak adalah metodologi yang menentukan sejauh mana produk perangkat lunak cocok untuk digunakan. Kegiatan yang termasuk untuk menentukan kualitas perangkat lunak adalah -
- Auditing
- Pengembangan standar dan pedoman
- Produksi laporan
- Review sistem mutu
Faktor Kualitas
Correctness - Ketepatan menentukan apakah persyaratan perangkat lunak dipenuhi dengan tepat.
Usability - Kegunaan menentukan apakah perangkat lunak dapat digunakan oleh berbagai kategori pengguna (pemula, non-teknis, dan ahli).
Portability - Portabilitas menentukan apakah perangkat lunak dapat beroperasi di platform yang berbeda dengan perangkat perangkat keras yang berbeda.
Maintainability - Pemeliharaan menentukan kemudahan di mana kesalahan dapat diperbaiki dan modul dapat diperbarui.
Reusability - Usabilitas menentukan apakah modul dan kelas dapat digunakan kembali untuk mengembangkan produk perangkat lunak lain.
Metrik Berorientasi Objek
Metrik secara luas dapat diklasifikasikan menjadi tiga kategori: metrik proyek, metrik produk, dan metrik proses.
Metrik Proyek
Metrik Proyek memungkinkan manajer proyek perangkat lunak untuk menilai status dan kinerja proyek yang sedang berlangsung. Metrik berikut sesuai untuk proyek perangkat lunak berorientasi objek -
- Jumlah skrip skenario
- Jumlah kelas kunci
- Jumlah kelas pendukung
- Jumlah subsistem
Metrik Produk
Metrik produk mengukur karakteristik produk perangkat lunak yang telah dikembangkan. Metrik produk yang cocok untuk sistem berorientasi objek adalah -
Methods per Class- Ini menentukan kompleksitas kelas. Jika semua metode kelas diasumsikan sama kompleksnya, maka kelas dengan lebih banyak metode akan lebih kompleks dan dengan demikian lebih rentan terhadap kesalahan.
Inheritance Structure- Sistem dengan beberapa kisi pewarisan kecil lebih terstruktur dengan baik daripada sistem dengan kisi pewarisan tunggal yang besar. Sebagai aturan umum, pohon warisan tidak boleh memiliki lebih dari 7 (± 2) jumlah tingkat dan pohon harus seimbang.
Coupling and Cohesion - Modul yang memiliki kopling rendah dan kohesi tinggi dianggap dirancang lebih baik, karena memungkinkan penggunaan ulang dan pemeliharaan yang lebih baik.
Response for a Class - Ini mengukur efisiensi metode yang dipanggil oleh instance kelas.
Metrik Proses
Metrik proses membantu dalam mengukur bagaimana suatu proses dilakukan. Mereka dikumpulkan di semua proyek dalam jangka waktu yang lama. Mereka digunakan sebagai indikator untuk perbaikan proses perangkat lunak jangka panjang. Beberapa metrik proses adalah -
- Jumlah KLOC (Kilo Garis Kode)
- Efisiensi penghapusan yang rusak
- Jumlah rata-rata kegagalan yang terdeteksi selama pengujian
- Jumlah cacat laten per KLOC