Apa itu Pengujian Berbasis Model?

Apa itu Pengujian Berbasis Model?

Pengujian berbasis model adalah teknik pengujian perangkat lunak di mana perilaku waktu proses perangkat lunak yang diuji diperiksa berdasarkan prediksi yang dibuat oleh model. Model adalah deskripsi perilaku suatu sistem. Perilaku dapat digambarkan dalam bentuk urutan masukan, tindakan, kondisi, keluaran, dan aliran data dari masukan ke keluaran. Ini harus dapat dimengerti secara praktis dan dapat digunakan kembali; dapat dibagikan harus memiliki deskripsi yang tepat tentang sistem yang diuji.

Ada banyak model yang tersedia, dan model ini menjelaskan berbagai aspek perilaku sistem. Contoh modelnya adalah:

  • Aliran data
  • Aliran Kontrol
  • Grafik Ketergantungan
  • Tabel Keputusan
  • Mesin transisi negara

Pengujian Berbasis Model menggambarkan bagaimana suatu sistem berperilaku sebagai respons terhadap suatu tindakan (ditentukan oleh model). Berikan tindakan, dan lihat apakah sistem merespons sesuai harapan.

Ini adalah metode formal ringan untuk memvalidasi suatu sistem. Pengujian ini dapat diterapkan pada pengujian perangkat keras dan perangkat lunak.

Contoh Pengujian Berbasis Model

Pengujian Berbasis Model

Model di atas menjelaskan pendekatan sederhana dalam menulis puisi di notepad dan tindakan yang mungkin terkait dengan setiap langkah. Untuk setiap tindakan (seperti memulai, Memasukkan puisi, Menyimpan), Uji Kasus dapat dihasilkan, dan keluarannya dapat diverifikasi.

Jenis MBT

Ada dua jenis kerangka pengujian berbasis Model-

  1. Offline / apriori: Pembuatan Test Suites sebelum menjalankannya. Test suite tidak lain hanyalah kumpulan kasus uji.
  2. Online / on-the-fly: Pembuatan Test Suites selama pelaksanaan pengujian

Model Berbeda dalam Pengujian

Untuk memahami MBT perlu dipahami beberapa model yang dijelaskan di bawah ini. Mari kita bahas satu per satu:

Mesin Negara Terbatas

Model ini membantu penguji menilai hasil tergantung pada input yang dipilih. Berbagai kombinasi masukan dapat menghasilkan keadaan sistem yang sesuai.

Sistem akan memiliki keadaan tertentu dan keadaan saat ini, yang diatur oleh serangkaian masukan yang diberikan oleh penguji.

Perhatikan contoh-

Terdapat sistem yang memungkinkan karyawan untuk login ke dalam aplikasi. Sekarang, status karyawan saat ini adalah “Keluar”, dan menjadi “Masuk” setelah dia masuk ke sistem. Dalam keadaan “dalam”, seorang karyawan dapat melihat, mencetak, dan memindai dokumen dalam sistem.

Mesin Negara Terbatas

Bagan Negara

Ini merupakan perluasan dari mesin status terbatas dan dapat digunakan untuk sistem yang kompleks dan real-time. Bagan status digunakan untuk menggambarkan berbagai perilaku sistem. Bagan status memiliki jumlah status yang pasti. Perilaku sistem dianalisis dan direpresentasikan dalam bentuk kejadian untuk setiap status.

Sebagai contoh -

Cacat dimunculkan di alat manajemen cacat dengan status Baru. Setelah diperbaiki oleh pengembang, statusnya harus diubah menjadi Tetap. Jika cacat belum diperbaiki, ubah status menjadi Buka kembali. Bagan negara bagian harus dirancang sedemikian rupa sehingga memuat peristiwa untuk setiap negara bagian.

Bagan Negara

Bahasa Pemodelan Terpadu (UML)

Bahasa Pemodelan Terpadu (UML) adalah bahasa pemodelan tujuan umum yang terstandarisasi. UML mencakup serangkaian teknik notasi grafis untuk membuat model visual yang dapat menggambarkan perilaku sistem yang sangat rumit.

UML memiliki notasi seperti:

  • Kegiatan
  • Aktor
  • Proses bisnis
  • Komponen
  • Bahasa pemrograman

Bahasa Pemodelan Terpadu

Tantangan Pengujian Berbasis Model

Penerapan MBT di setiap organisasi jelas membutuhkan investasi dan usaha yang besar. Berikut ini adalah beberapa kelemahan MBT dalam Rekayasa Perangkat Lunak.

  • Keterampilan yang Diperlukan diperlukan dalam penguji
  • Waktu kurva belajar akan lebih banyak
  • Sulit untuk memahami model itu sendiri

Keuntungan Pengujian Model

Berikut ini adalah manfaat MBT:

  • Perawatan test case/suite yang mudah
  • Pengurangan Biaya
  • Cakupan Tes yang Ditingkatkan
  • Dapat menjalankan tes berbeda pada n jumlah mesin
  • Deteksi cacat sejak dini
  • Peningkatan jumlah cacat
  • Penghematan waktu
  • Peningkatan kepuasan kerja penguji

Kesimpulan

Penguji tetap membangun model mental selama pengujian mereka. Model mental tersebut dapat ditransformasikan menjadi model di atas kertas. Hal ini membantu penguji untuk mencapai keterbacaan dan kegunaan kembali.

Pengujian berbasis model adalah pendekatan baru pengujian perangkat lunak. Evolusi Pengujian Perangkat Lunak ditunjukkan di bawah ini –

Evolutoin Pengujian Perangkat Lunak