Masalahnya adalah bahwa beberapa orang tidak mengerti bahwa otomasi itu tidak "mudah" juga bukan "cepat".
Saya tidak setuju dengan premis Anda di sini.
Saya adalah pendukung besar pengujian otomatis, tidak peduli apakah itu pengujian unit, pengujian integrasi atau pengujian UI. Ada banyak alat hebat yang tersedia untuk mengimplementasikan tes otomatis.
Mari kita bandingkan pengujian otomatis vs pengujian manual berdasarkan contoh berikut:
Dalam aplikasi web, uji fungsionalitas "Ubah Kata Sandi" dari pengguna yang ada menggunakan browser.
Pengujian manual :
- Mulai aplikasi web
- Buka browser
- Sial, ada kesalahan. Mengapa? Oh, saya lupa memulai database!
- Oke, matikan aplikasi web
- Mulai database
- Mulai aplikasi web
- Refresh browser
- Hmm, apa kata sandi pengguna uji kami lagi?
- Melihat database
- Oh, tabel pengguna kosong! Saya harus membuat pengguna baru.
- Daftarkan pengguna baru di aplikasi web: Memasukkan nama pengguna, kata sandi, alamat email
- Mengapa saya tidak bisa masuk dengan pengguna baru saya? Oh, saya perlu mengklik tautan konfirmasi di email!
- Yah, saya telah memberi pengguna email seperti "test@example.com". Mari kita pergi ke database dan mengatur kolom "aktif" ke "Ya".
- Gabung. Kali ini berhasil!
- Hmm, apa yang ingin saya uji lagi ...?
Mudah? Tidak juga. Ada banyak kemungkinan jebakan dalam proses ini.
Cepat? Tidak. Pekerjaan manual membutuhkan waktu.
Sekarang, mari kita coba menulis tes otomatis :
- Kita perlu menemukan alat untuk bahasa pemrograman kita untuk secara otomatis memulai database dan server web. Penelitian dan implementasi membutuhkan waktu.
- Basis data harus dalam keadaan bersih saat tes dimulai. Membuat skrip membutuhkan waktu.
- Kita perlu menulis ujian. Karena kami membutuhkan pengguna, kami juga harus mendaftarkan yang baru untuk pengujian kami. Butuh waktu.
- Akhirnya, kita dapat menulis apa yang ingin kita uji: Mengubah kata sandi pengguna. Dengan alat pengujian Browser kami, ini dilakukan cukup cepat dibandingkan dengan tugas sebelumnya.
Mudah? Tidak! Kami perlu meneliti alat, mengimplementasikannya, memperbaiki beberapa bug dalam pengujian kami.
Cepat? Tidak! Bahkan lebih lama daripada melakukan tes manual.
Tapi, ada perbedaan besar di sini: Untuk tes di masa depan, Anda hanya perlu menulis tes itu sendiri , poin terakhir dalam daftar - yang dilakukan dengan cepat sebanding. Semua penelitian dan skrip init tidak perlu dilakukan untuk pengujian lebih lanjut.
Dan setelah Anda menulis tes, Anda bisa memulainya dengan mudah. Dalam beberapa detik (atau mungkin beberapa menit, jika mulai dari database dan aplikasi web membutuhkan waktu lama) Anda melihat apakah rutin "Ubah kata sandi" berfungsi atau tidak. Jika ada bug, perbaiki, dan jalankan tes lagi - Anda akan segera melihat apakah bug sudah diperbaiki. Cepat dan mudah .
Menulis tes otomatis tidak mudah atau cepat di tempat pertama, tetapi melaksanakannya.
Dan inilah titik di mana waktu yang diinvestasikan kembali.