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?