Để bắt đầu, tôi không nghĩ rằng đây là sự lặp lại của các câu hỏi khác trong bài kiểm tra đơn vị . Những gì tôi đang tìm kiếm sự giúp đỡ là nói rõ giá trị của nó với một nhóm lập trình viên, nhà phân tích, nhà quản lý và người thử nghiệm. Bằng các bài kiểm tra tự động, tôi không nghĩ mình cần phân biệt giữa các bài kiểm tra đơn vị (ví dụ JUnit), BDD (ví dụ JBehave, Fitness) và UI (Selenium, Watir) vì tôi nghĩ rằng tất cả chúng đều cung cấp giá trị tương tự (nhưng cảm thấy tự do viết một câu trả lời không đồng ý :))
Sau đây là danh sách tôi đã xác định, tôi đang tìm câu trả lời giúp mở rộng hoặc tinh chỉnh:
- Tiết kiệm thời gian / chi phí : viết bài kiểm tra tự động có thể mất nhiều thời gian hơn so với trường hợp kiểm tra bằng văn bản. Tuy nhiên, việc xem xét các bài kiểm tra được thực hiện nhiều lần, công việc cận biên (tức là chi phí / thời gian) để thực hiện các bài kiểm tra tự động ít hơn một số đơn hàng. Rằng các bài kiểm tra tự động có giá rẻ để chạy tạo điều kiện thay đổi hệ thống theo thời gian.
- Tài liệu : không có cách xác thực nào để biết hệ thống hoạt động như thế nào so với các thử nghiệm của nó. Bất kỳ tài liệu nào khác thường hết hạn vào thời điểm nó được viết, nhưng các bài kiểm tra (ít nhất là những tài liệu đã qua) cho thấy mọi thứ thực sự hoạt động như thế nào. Điều này đúng cho cả tài liệu API và người dùng cuối.
- Mã chất lượng : kiểm tra viết buộc bạn phải:
- xem xét khách hàng vì các bài kiểm tra là một khách hàng
- phá vỡ các phụ thuộc trong đó việc tạo mã có thể kiểm tra thường có nghĩa là tìm ra cách làm cho mã đó không yêu cầu một số hệ thống lớn khác có sẵn