Tôi là thành viên của nhóm phát triển làm việc với nhiều nhóm khác để duy trì và cải thiện ứng dụng đã được sử dụng ít nhất 15 năm. Khi lần đầu tiên được xây dựng và thiết kế, TDD chưa từng nghe thấy.
Ứng dụng này khá ổn định và chúng tôi hiếm khi gặp lỗi dừng hiển thị, nhưng chúng tôi làm trung bình khoảng một hoặc hai lỗi mỗi tuần làm giảm nghiêm trọng chất lượng dịch vụ. Các lỗi này mất mãi mãi để tìm và sửa, phần lớn là do ngón tay trỏ và thử nghiệm duy nhất chúng tôi có là kiểm tra giao diện. Bởi vì có rất nhiều thời gian lãng phí để tìm ra lỗi ở đâu trước khi nó có thể được sửa, tôi và một nhà phát triển khác có kế hoạch đề xuất Phát triển hướng thử nghiệm. Sắp có một cuộc đại tu mới và chúng tôi muốn thấy thử nghiệm đơn vị gần hoàn thành được thực hiện trên các mô-đun mới, chúng tôi cũng có kế hoạch đề xuất xây dựng các đơn vị thử nghiệm cho bất kỳ mã nào chúng tôi phải thay đổi đó là kế thừa (ví dụ: sửa lỗi hoặc triển khai tính năng ), nhưng không dành thời gian phát triển các trường hợp thử nghiệm cho mã không gây ra sự cố.
Đối với tôi, điều này có vẻ hợp lý. Tháng này chúng tôi đã có một lỗi mất hơn hai tuần để sửa, nhưng có thể đã được xác định trước khi triển khai nếu thử nghiệm đơn vị đã được thực hiện. Nhưng đối với người quản lý của chúng tôi, có vẻ như họ sẽ chi nhiều tiền hơn.
Làm thế nào để tôi thuyết phục khách hàng của mình rằng họ muốn chi tiền cho thử nghiệm đơn vị và phát triển theo hướng thử nghiệm? Có nghiên cứu nào cho thấy ROI của thử nghiệm đơn vị không?