Kami baru-baru ini meminta konsultan memberi tahu kami bahwa jika fitur hanya dapat diuji melalui tes UI otomatis (mis. Selenium, UI Berkode), maka ada masalah arsitektur yang mendasarinya. Meskipun pernyataan ini mungkin agak ekstrem, pernyataan ini juga sejalan dengan piramida pengujian di mana tes UI harus membuat sebagian kecil dari keseluruhan rangkaian pengujian otomatis Anda.
Jadi, fitur apa saja yang harus memiliki pengujian UI otomatis? Apakah sistem dengan arsitektur yang meyakinkan masih memiliki fitur yang hanya dapat diverifikasi melalui tes UI, atau haruskah tes ini hanya berfungsi sebagai "cadangan" untuk serangkaian uji unit dan layanan?
Jawaban:
Agaknya Anda memiliki semacam arsitektur yang menghubungkan tombol dan widget lainnya ke tindakan - klik simpan dan fungsi simpan harus dipanggil, dll.
Dengan asumsi Anda memiliki cakupan pengujian yang baik dari tindakan itu sendiri melalui unit atau tes integrasi, tujuan pengujian UI otomatis adalah untuk memastikan bahwa semua widget melakukan panggilan yang tepat ke tindakan yang mendasarinya, dan dengan benar menampilkan hasil dari tindakan tersebut.
Dengan kata lain, mereka memvalidasi bahwa UI dengan benar mencerminkan keadaan model, dan terhubung dengan benar ke controller.
Komponen lainnya adalah ketika beberapa logika bisnis ada dalam kode UI. Misalnya, mungkin Anda memerlukan karakter tertentu di bidang kata sandi. Anda perlu menguji fitur-fitur tersebut entah bagaimana, karena mungkin sulit atau tidak mungkin untuk melakukannya melalui unit test.
sumber
Fitur apa yang harus diuji melalui pengujian UI otomatis?
Semua fitur ui.
Anda harus menguji:
sumber
Tidak ada yang namanya fitur yang hanya bisa diuji melalui tes UI otomatis. Alat seperti Selenium hanya meniru perilaku manusia, tanpa membuat manusia bosan sampai mati bunuh diri. Ajukan pertanyaan pada diri sendiri (atau konsultan Anda): " Bagaimana program menguji aspek UI yang tidak dapat dilakukan seseorang? " Pertanyaan berikutnya adalah: " Jika demikian, mengapa Anda peduli dengan apa yang mereka lakukan? "
Di sisi lain jika, Anda memiliki fitur seperti itu, ya, saya akan mengatakan Anda memiliki masalah arsitektur yang mendasarinya. :-)
sumber