Saya sedang mengerjakan sistem warisan (maksud saya, itu ditulis tanpa tes). Kami telah mencoba menguji beberapa sistem dengan menulis tes integrasi yang menguji fungsionalitas dari luar.
Ini memberi saya kepercayaan diri untuk memperbaiki bagian-bagian kode tanpa khawatir akan merusaknya. Tetapi masalahnya adalah tes integrasi ini membutuhkan penyebaran (2+ menit) dan banyak menit untuk berjalan. Juga, mereka sakit untuk dipertahankan. Mereka masing-masing mencakup ribuan baris kode dan ketika salah satu dari mereka istirahat, butuh beberapa jam untuk men-debug alasannya.
Saya telah menulis banyak unit test untuk perubahan fungsional yang telah saya buat akhir-akhir ini, tetapi sebelum saya berkomitmen saya selalu melakukan penyebaran baru dan menjalankan semua tes integrasi, hanya untuk memastikan saya tidak melewatkan apa pun. Pada titik ini saya tahu tes unit saya dan beberapa tes integrasi tumpang tindih dengan apa yang mereka uji.
Bagaimana saya tahu ketika tes unit baik saya cukup mencakup tes integrasi yang buruk sehingga saya dapat menghapus tes integrasi itu?
sumber
Tes unit bukan cawan suci pengujian, mereka hanya satu alat dari banyak yang harus digunakan untuk menguji basis kode. Karena itu, tidak ada jumlah unit tes yang dianggap aman untuk menggantikan tes lain. Jika Anda memiliki tes integrasi yang buruk, Anda harus berusaha membuatnya menjadi tes integrasi yang baik, bukan menggantinya dengan yang lain, seperti mengganti pintu depan Anda dengan pagar pembatas dan gerbang.
sumber