Alat untuk Anda karena memiliki sikap bahwa Anda akan belajar sesuatu dari pengalaman ini. Aku yakin kamu akan.
Hal pertama yang harus Anda pelajari adalah perlunya pengujian unit tidak ada hubungannya dengan seberapa berpengalaman Anda . Pengembang terbaik akan menjadi salah satu unit-penguji terbaik, juga:
Bill Venners: Anda mengatakan dalam buku Anda Refactoring: "Jika Anda ingin refactor, prasyarat penting adalah memiliki tes yang solid." Apakah itu berarti jika Anda tidak memiliki tes Anda tidak boleh refactor?
Martin Fowler: Anda harus menganggapnya berjalan di atas tali tanpa jaring. Jika Anda pandai berjalan di atas tali, dan tidak setinggi itu, maka Anda bisa mencobanya. Tetapi jika Anda belum pernah berjalan di atas tali sebelumnya, dan itu di atas Air Terjun Niagara, Anda mungkin menginginkan jaring yang bagus.
Dari http://www.artima.com/intv/refactorP.html
Saya biasa menulis PHP tanpa pengujian unit. Kemudian, setelah bertahun-tahun berlatih pengujian unit di Jawa, saya menemukan bahwa saya tidak dapat mengerjakan sesuatu yang jauh lebih rumit daripada halaman tunggal di PHP tanpa pengujian unit. Alasannya? Produktivitas . Tanpa pengujian unit, saya tidak dapat menolak dengan percaya diri - ini berarti bahwa baik A) saya harus merobohkan lebih banyak dan mengerjakan semuanya dari awal lagi, atau B) , saya harus berurusan dengan kode warisan yang jelek.
Ketika Anda mengajukan penawaran, apakah Anda perlu memperhitungkan waktu untuk menguji? Ya . Apakah tampak intuitif bahwa itu akan membutuhkan lebih banyak waktu? Ya, sekali lagi . Anda mungkin akan, karena beberapa jawaban lain telah memperkirakan kasar, perlu memperkirakan 50-100% lebih besar daripada tanpa tes unit.
Namun!...
- Anda akan menangkap dan mengatasi lubang spesifikasi sebelumnya
- Yang berarti Anda akan mengembangkan spesifikasi yang lebih bersih dan solid
- Anda akan dapat merespons dengan cepat dan percaya diri terhadap perubahan spesifikasi
- Anda akan memiliki lebih sedikit bug
- Bug Anda akan ditangkap lebih cepat dan lebih mudah untuk diperbaiki
Dan sebagai hasilnya, perkiraan Anda akan lebih akurat . Jika Anda menagih per jam, Anda akan lebih mengesankan klien Anda dan dapat menaikkan tarif Anda. Jika Anda menagih tarif tetap, Anda akan menghasilkan lebih banyak uang per jam.
Tanpa pengujian, perkiraan Anda kemungkinan besar adalah omong kosong. Bug, perubahan-pesanan, dan redefinisi semuanya mengerikan untuk memperkirakan secara akurat. Pengujian adalah kunci untuk meminimalkan dampak ketiganya!