Katakanlah Anda ingin menguji aplikasi secara manual setiap kali menggunakannya. Bagaimana Anda akan melakukannya?
Nah, untuk memulainya, Anda mungkin membuat daftar semua hal yang ingin Anda uji sehingga Anda tidak akan lupa untuk menguji sesuatu nanti. Maka Anda mungkin akan menulis langkah-langkah untuk setiap tes untuk memastikan bahwa Anda melakukannya dengan cara yang sama setiap kali. Jika Anda tidak memastikan proses pengujian yang Anda gunakan konsisten, hasil Anda tidak akan konsisten.
Jadi, sekarang Anda memiliki daftar tes yang perlu Anda lakukan, Anda akan membuka browser Anda, membaca langkah-langkah tes pertama, lakukan, dan catat hasilnya. Anda akan mengulangi proses ini untuk setiap tes dalam daftar Anda.
Jumlah tes yang Anda lakukan akan terus bertambah saat aplikasi Anda bertambah dan saat Anda menemukan bug baru. Anda tentu saja akan dibatasi untuk melakukan tes ini dengan kecepatan manusia, membuatnya agak lambat.
Ironinya di sini adalah bahwa secara mekanis melangkah melalui daftar operasi, Anda menghitung. Anda hanya melakukannya dengan cara yang lebih lambat daripada, katakanlah, komputer akan melakukannya.
Ini, di antara banyak alasan bagus lainnya, adalah mengapa kami menulis unit test: mereka membiarkan komputer melakukan komputasi sehingga Anda tidak perlu melakukannya.
Saya bisa menjalankan unit test suite komprehensif dengan cukup cepat untuk sering menggunakannya selama pengembangan, tidak hanya seminggu sekali sebelum digunakan. Ini memungkinkan saya mendeteksi kesalahan lebih cepat, menghemat waktu dan uang saya.
Saya bahkan dapat menulis tes yang memprediksi perilaku sistem dan kemudian menulis perilaku itu (yang saya sudah tahu benar karena saya baru saja mengujinya), sebuah proses yang dikenal sebagai Test Driven Development.