Tôi làm việc cho một công ty lớn và tôi chịu trách nhiệm cho một ứng dụng java lớn với hàng ngàn bài kiểm tra. Kể từ khi tôi chuyển sang vai trò này, đã có 200-300 bài kiểm tra bị hỏng (có thể bị hỏng trong nhiều năm). Các bài kiểm tra đã cũ và dễ vỡ và chúng là một mớ hỗn độn của các phụ thuộc spaghetti thường kết thúc bằng dữ liệu hộp cát trực tiếp.
Mục tiêu của tôi là 100% vượt qua các bài kiểm tra để chúng tôi có thể phá vỡ bản dựng trên các bài kiểm tra đơn vị, nhưng tôi không thể làm điều đó cho đến khi tôi giải quyết các bài kiểm tra bị hỏng. Tôi có rất ít ngân sách vì ngân sách bảo trì chủ yếu dành cho hỗ trợ, nhưng nhóm của tôi đã xác định và khắc phục các thử nghiệm trái cây treo thấp (chủ yếu là các vấn đề về cấu hình / tài nguyên cục bộ) và chúng tôi giảm xuống còn 30-40 thử nghiệm thực sự xấu xí.
Một số ý kiến về thực hành tốt nhất là gì? Tôi không nghĩ các bài kiểm tra là có giá trị, nhưng tôi cũng không biết những gì họ đang kiểm tra hoặc tại sao chúng không hoạt động mà không đào sâu, điều này làm mất thời gian và tiền bạc mà chúng ta có thể không có.
Tôi nghĩ rằng chúng ta nên ghi lại trạng thái của các bài kiểm tra bị hỏng bằng bất cứ điều gì chúng ta biết, sau đó xóa hoặc bỏ qua hoàn toàn các bài kiểm tra bị hỏng và nhập một mục công việc / lỗi ưu tiên thấp hơn để điều tra và sửa chúng. Sau đó, chúng tôi sẽ ở mức 100% và bắt đầu nhận được giá trị thực từ các thử nghiệm khác và nếu chúng tôi có một cơn gió bảo trì / tái cấu trúc, chúng tôi sẽ có thể lấy lại chúng.
Điều gì sẽ là cách tiếp cận tốt nhất?
Chỉnh sửa: Tôi nghĩ rằng đây là một câu hỏi khác với câu hỏi này bởi vì tôi có một hướng rõ ràng cho các bài kiểm tra mà chúng ta nên viết trong tương lai, nhưng tôi đã thừa hưởng các bài kiểm tra thất bại để giải quyết trước khi các bài kiểm tra lớn hiện nay có ý nghĩa.