Otomatisasi pengujian lebih dari sekedar eksekusi; itu adalah perpaduan dari otomatisasi desain pengujian Dan otomatisasi eksekusi pengujian. Kunci untuk membuka potensi penuhnya terletak pada Pengujian Berbasis Model (MBT). MBT tradisional, meskipun efektif, bukannya tanpa keterbatasan. Untuk mengatasinya, kami telah memelopori pendekatan inovatif: MBT Dua Fase ditambah dengan Pengujian Keadaan Aksi.

Bagi banyak perusahaan, otomatisasi pengujian dibatasi pada otomatisasi eksekusi pengujian. Artinya kasus uji diberi kode satu per satu tanpa desain pengujian yang diperlukan. Hasilnya adalah kasus pengujian yang tidak efisien dan kualitas kode yang buruk. Kemungkinan lainnya adalah membuat desain pengujian terpisah dari otomatisasi pengujian. Dalam hal ini, desain pengujian dan otomasi harus dipertahankan secara paralel. Namun lama kelamaan keduanya akan terpisah selamanya.
Solusi yang jelas adalah menyatukan desain pengujian dan implementasi pengujian ke dalam satu proses dan alat. Menurut Penelitian buruk: 'Otomasi desain pengujian adalah kemampuan untuk mengotomatisasi keseluruhan proses pengujian yang dimulai pada tingkat yang sangat tinggi'. Solusi terbaik untuk otomatisasi desain pengujian adalah pengujian berbasis model (MBT). Di sini kita mulai dari spesifikasi kebutuhan atau deskripsi serupa yang tersedia dari sistem yang direncanakan dan membuat model.
Modelnya bisa grafis atau tekstual. Kebanyakan model berbentuk grafis dan bahkan model tekstual dapat diubah menjadi grafik. Berdasarkan kriteria pemilihan tes seperti kriteria 0-switch, kasus uji (semi-)abstrak dihasilkan. Dari kasus pengujian ini, kode pengujian yang dapat dieksekusi dapat dihasilkan.
Modelnya lebih ringkas dibandingkan kodenya, sehingga lebih cepat dibuat. Meskipun kasus pengujian mungkin berisi langkah pengujian yang sama berkali-kali, model yang baik hanya terdiri dari satu langkah saja. Ketika persyaratan berubah, model juga berubah, dan kode pengujian dibuat lagi. Oleh karena itu, tidak diperlukan pemfaktoran ulang kode. Alih-alih pengujian yang usang, elemen model yang sudah usang tetap ada dan lebih mudah diperbaiki.
Jika ada begitu banyak keuntungan menggunakan MBT sementara sebagian besar perusahaan masih menggunakan alat, kerangka kerja, dan perpustakaan tradisional? Jawabannya adalah MBT tradisional juga memiliki beberapa kelemahan. Salah satu masalahnya adalah model harus dapat dibaca oleh aplikasi untuk mengurai dan memproses model guna membuat kode pengujian yang dapat dieksekusi. Hasilnya adalah model yang terdiri dari terlalu banyak elemen sehingga kurang dapat dipahami. Konsekuensi lainnya adalah model dapat dibuat ketika aplikasi yang diuji sudah siap, jika tidak maka model dan aplikasi akan berbeda.
Masalah lainnya adalah Anda tidak dapat menghindari coding. Ketika grafik model dilintasi, beberapa kasus uji yang tidak valid mungkin dihasilkan. Untuk menghindari masalah ini, kondisi penjagaan dimasukkan seperti 'numOfTickets <= 4'. Namun, pengkodean mungkin melibatkan bug.
Masalah ketiga adalah penanganan output. Keluaran yang berbeda dapat muncul di sepanjang jalur yang berbeda, oleh karena itu, melintasi suatu jalur harus mempertimbangkan keluaran yang terkait, yaitu hanya membuat daftar langkah pengujian saja tidak cukup. Ada solusi berbeda tetapi tidak ada satupun yang sempurna.
Terakhir, modelnya bisa stateful atau stateless. Sayangnya, persyaratan menentukan mana yang harus dipilih. Namun, metode dan alat yang ada saat ini bersifat stateful atau stateless, dan jika Anda membuat model stateless untuk sistem yang memerlukan status, maka Anda tidak akan mendeteksi beberapa potensi bug. Dalam kasus sebaliknya, Anda harus memasukkan status yang tidak perlu sehingga membuat pemodelan menjadi lebih sulit.
Untungnya, teknik pemodelan yang lebih baik, pengujian status tindakan dapat mengatasi beberapa masalah ini. Dalam model ini, langkah model terdiri dari tindakan pengguna (input), tidak ada, satu, atau beberapa respons sistem (output), dan keadaan opsional. Untuk menghilangkan kebutuhan akan kondisi penjagaan, model ini terdiri dari skenario, yang dapat bercabang dan digabungkan. Skenario ini mungkin juga mencakup keluaran unik. Pemodelan dapat dilakukan dengan menggunakan editor teks, namun modelnya berupa grafik yang dilengkapi dengan langkah-langkah pengujian. Berikut ini contohnya:

Teknik lainnya adalah MBT dua fase. Pertama, dibuat model tingkat tinggi yang implementasinya independen, sehingga dapat dilakukan sebelum aplikasi diimplementasikan. Model ini hanya dapat dimengerti oleh manusia. Misalnya, pada model di atas, tindakan pada baris ketiga 'tambahkan pizza untuk mencapai EUR 30' dapat dimengerti oleh penguji dan dia dapat menjalankannya dengan beberapa cara. Ketika aplikasi sudah siap, penguji menjalankan langkah-langkah yang dijelaskan dalam model satu per satu. Selama eksekusi manual, model tingkat rendah dan langkah pengujian otomatis dihasilkan. Setiap langkah yang gagal dapat dihapus dan diulangi lagi. Keuntungan utamanya adalah tidak diperlukan pengujian debugging. Untuk mempelajari lebih lanjut, Anda dapat membaca buku kami atau beberapa postingan blog kami sebelumnya.
MBT modern tidak hanya mempersingkat waktu otomatisasi pengujian dan mendeteksi lebih banyak bug, tetapi juga membuat pemeliharaan menjadi lebih efisien dan nyaman. Perusahaan yang menggunakan teknik yang lebih baik akan menang, sedangkan perusahaan lain akan kalah. Di Harmony, kami menerapkan semua nasihat. Berikut ringkasan fungsi yang dimiliki alat kami sementara yang lain tidak.
-
Opsi Pemodelan Fleksibel: Menawarkan pemodelan stateful dan stateless untuk memenuhi kebutuhan sistem yang berbeda.
-
Penyertaan Kasus Uji Negatif Sekali Klik: Merampingkan penambahan skenario negatif.
-
ID Unik dan Resolusi Atribut Khusus: Harmony secara unik mengatasi masalah umum ID non-unik dan atribut khusus, sehingga pengujian dapat terus berlanjut tanpa gangguan.
-
Eksekusi Sebagian dari Kasus Uji yang Gagal: Mari kita tandai langkah tes terakhir yang dilewati yang memastikan semua tes bisa lulus.
-
Pemulihan Tes Flaky Otomatis: Metode inovatif kami menyelesaikan pengujian yang tidak stabil secara otomatis, menghemat waktu dan sumber daya.
-
Modifikasi Pemilih yang Mudah: Dengan satu klik, Harmony beradaptasi dengan perubahan selektor, sehingga sangat menyederhanakan pemeliharaan.
-
Remediasi Kasus Uji yang Usang: Fitur ketertelusuran kebutuhan kami mempercepat proses pembaruan, menjadikannya lebih cepat dan efisien.
-
Perintah khusus: Pengguna mungkin memerlukan tindakan atau pernyataan tertentu. Ini memerlukan pengkodean. Namun, dengan petunjuk kami, kode apa pun yang diperlukan dapat dibuat Kopilot Microsoft di Bing.
Ringkasnya, kami menyarankan penggunaan pengujian berbasis model. Anda akan melihat bahwa alih-alih melakukan pemeliharaan pengujian yang membosankan, Anda dapat melakukan desain dan pemodelan pengujian yang menarik. Nasihat terakhir adalah jika Anda belum membaca nasihat kami sebelumnya, ayo lakukan. Jika ada pertanyaan atau komentar jangan ragu untuk menghubungi kami.
Leave a Reply