
Kami membandingkan tiga kelas teknik pengujian berbasis model: stateless, stateful, dan action-state. Kami menunjukkan bahwa solusi stateless mungkin menemukan lebih sedikit bug dengan lebih banyak kasus pengujian. Kami juga membandingkan pendekatan pengujian berbasis model satu dan dua fase. Kesimpulan kami adalah solusi terbaik adalah solusi dua fase dengan pengujian status tindakan.
Untuk sistem praktis, sebagian besar teknik desain uji linier dapat diterapkan. Secara kasar, teknik desain pengujian bersifat linier jika jumlah kasus pengujian menjadi dua kali lipat ketika kode yang diimplementasikan menjadi dua kali lipat. Kita telah melihat bahwa spesifikasi kebutuhan yang mencakup biasanya tidak cukup. Kami menganggap semua transisi, (kriteria semua sisi) sebagai minimum. Kami menyelidiki ketiga kelas pemodelan:
-
Tanpa kewarganegaraan
-
Berstatus
-
Keadaan tindakan
Hasilnya dengan menerapkan pengujian stateless, kami hanya memperoleh kode kualitas tingkat menengah. Dengan menggunakan pengujian stateful, setelah perbaikan bug, kode menjadi berkualitas tinggi. Dengan menggunakan pemodelan status tindakan, kode menjadi lebih baik. Jelasnya, kita tidak dapat menarik konsekuensi apa pun dari satu contoh, namun kita menyelidiki contoh lain dengan menerapkannya tes-desain.org situs webkami mendapat hasil serupa.
Berikut adalah tabel untuk merangkum hasil dengan mempertimbangkan ketiga kelas. Untuk semua kasus, kriteria semua sisi diterapkan.
|
Rasio bug yang ditemukan % |
|||
|
Jumlah bug belum terdeteksi |
|||
|
Efisiensi pencegahan cacat |
|||
|
Pengetahuan pemodelan grafis |
Tabel 1. Perbandingan kelas model berdasarkan contoh rental mobil
Mengingat persyaratan GPT-4, ini menghasilkan 13 kasus uji, jumlah langkah pengujian adalah 46 dan efisiensi deteksi cacat adalah 67%, yang merupakan solusi terburuk dari semua solusi. Penguji tidak perlu takut menjadi pengangguran.
Kita dapat melihat bahwa penggunaan kriteria linear all-edge hampir selalu sesuai untuk solusi stateful dan action-state. Mempertimbangkan semua fakta ini, kita dapat menyimpulkan bahwa pemodelan keadaan tindakan (action-state modeling) adalah cara yang terbaik, pemodelan keadaan (stateful) berada di tengah-tengah, dan pemodelan keadaan tanpa kewarganegaraan (stateless) adalah yang terlemah di antara kelas-kelas model.
Sekarang, mari kita bandingkan pekerjaan yang diperlukan untuk pengujian ad-hoc atau eksplorasi. Kami menyiapkan studi kasus kecil di mana penguji berpengalaman mengujinya Penyewaan Mobil asli latihan itu hanya sedikit berbeda dari contoh kita. Setelah membaca dan memahami persyaratan, penguji membuat kasus uji. Aplikasi pemantauan menghitung jumlah langkah pengujian. Latihan Penyewaan Mobil juga berisi 15 mutan, dan ketika penguji menyelesaikan proses pengujian, aplikasi menunjukkan persentase mutan yang terbunuh. Inilah hasilnya:
|
Potensi bug ditemukan (%) |
||
Tabel 2. Statistik kemampuan pengungkapan bug pada aplikasi Penyewaan Mobil
Hasilnya adalah pengujian eksplorasi mengungkapkan lebih sedikit bug dibandingkan pemodelan stateless. Di sisi lain, ini jauh lebih cepat untuk pertama kalinya, namun menjalankan pengujian setiap hari tidak akan lebih cepat setelah beberapa saat.
Sekarang mari kita pertimbangkan pendekatan MBT. Saat ini yang ada hanya MBT satu fase dan dua fase. Berikut adalah tabel yang membandingkan keduanya.
|
Independensi implementasi |
||
|
Kemampuan deteksi cacat |
||
|
Dapat digunakan untuk kelas model |
Tabel 3. Perbandingan pendekatan MBT
Berdasarkan tabel ini kita dapat menyimpulkan bahwa MBT dua fase jauh lebih baik dibandingkan MBT satu fase. Karena kedua pendekatan MBT dapat digunakan untuk semua kelas model, kesimpulan akhir kami adalah bahwa metode terbaik adalah menerapkan MBT dua fase dengan pemodelan keadaan tindakan.
Leave a Reply