Tôi hiện đang làm việc trên một dự án đã được sản xuất trong hơn hai năm. Dự án sử dụng rộng rãi thử nghiệm đơn vị và kiểm tra giao diện người dùng theo kịch bản. Các bài kiểm tra đơn vị sơ khởi bao gồm khung hệ thống, các quy tắc nghiệp vụ và các quá trình chuyển đổi trạng thái (hoặc quy trình làm việc). Kịch bản thử nghiệm được sử dụng để thử nghiệm hộp đen. Tuy nhiên, theo thời gian, chi phí duy trì toàn bộ các bài kiểm tra đơn vị của chúng tôi đã trở nên ngày càng đắt đỏ, đặc biệt là những người liên quan đến tiểu bang.Khi nào nên sử dụng tập lệnh thử nghiệm trên thử nghiệm đơn vị?
Sau một số điều tra, chúng tôi thấy rằng các tập lệnh thử nghiệm có hiệu quả hơn (có nghĩa là cung cấp mức độ phù hợp tốt hơn) và rẻ hơn để duy trì hơn các bài kiểm tra đơn vị liên quan đến quy trình làm việc. Đây không phải là để nói rằng giá trị của các bài kiểm tra đơn vị đã được hoàn toàn phủ nhận nhưng nó làm tăng câu hỏi này cho dù một số lớp học của các bài kiểm tra đơn vị có thể được giảm trong lợi của kịch bản thử nghiệm.
Dự án của chúng tôi được chạy trên mô hình gia tăng lặp lại.
Trong các bài kiểm tra đơn vị chung phải thay đổi để phản ánh các yêu cầu kinh doanh mới nhưng trong một số trường hợp, các thay đổi được cắt giảm trên nhiều khía cạnh của hệ thống của chúng tôi và tác động của việc cập nhật tất cả các bài kiểm tra đơn vị bị ảnh hưởng rất cao. Trong trường hợp này, các kịch bản thử nghiệm đã được chứng minh là rẻ hơn để sửa đổi so với các thử nghiệm đơn vị. –
Bạn nên rất sợ những thay đổi có tác động như vậy đối với các bài kiểm tra đơn vị. Các bài kiểm tra đơn vị có thể trả tiền cho bản thân ngay bây giờ, bằng cách giúp bạn phát hiện và hiểu những thay đổi bạn đã giới thiệu. – slim
Điều này có thể là một chút necromancy chủ đề ... nhưng chỉ vì một cái gì đó không phải là một "thử nghiệm đơn vị" không có nghĩa rằng đó là một thử nghiệm chấp nhận. Có nhiều lớp xác minh rằng mã là đúng, từ lớp đơn vị tất cả các con đường lên đến toàn bộ hệ thống phù hợp với nhau. Tôi sử dụng các kịch bản thử nghiệm bên ngoài tại nơi làm việc của tôi và chúng * chắc chắn * chỉ xác minh rằng mã đó là đúng và không phải là mã đúng được phát triển. – Tom