Untuk memulai, saya rasa ini bukan pengulangan dari pertanyaan lain tentang pengujian unit . Apa yang saya cari bantuan adalah mengartikulasikan nilainya kepada tim programmer, analis, manajer dan penguji. Dengan tes otomatis, saya tidak berpikir saya perlu membuat perbedaan antara tes unit (misalnya JUnit), BDD (misalnya JBehave, Fitness) dan UI (Selenium, Watir) karena saya pikir mereka semua memberikan nilai yang sama (tetapi merasa bebas untuk tulis jawaban yang tidak setuju :))
Berikut ini adalah daftar yang telah saya identifikasi, saya mencari jawaban yang membantu memperluas atau memperbaiki:
- Penghematan Waktu / Biaya : penulisan tes otomatis dapat memakan waktu lebih lama daripada ujian tertulis. Namun, mengingat pengujian dijalankan beberapa kali, pekerjaan marjinal (yaitu biaya / waktu) untuk melakukan pengujian otomatis adalah beberapa urutan yang lebih kecil. Bahwa tes otomatis yang murah untuk dijalankan memudahkan perubahan sistem dari waktu ke waktu.
- Dokumentasi : tidak ada cara yang lebih benar untuk mengetahui bagaimana suatu sistem bekerja selain dari pengujiannya. Dokumentasi lain biasanya ketinggalan zaman saat ditulis, tetapi tes (setidaknya yang lulus) mengungkapkan cara kerja yang sebenarnya. Ini berlaku untuk dokumentasi pengguna dan API pengguna akhir.
- Kualitas Kode : tes menulis memaksa Anda untuk:
- pertimbangkan klien karena tes adalah klien
- istirahat dependensi di mana membuat kode diuji sering berarti mencari tahu bagaimana membuat kode itu tidak memerlukan beberapa sistem besar lainnya tersedia