Câu trả lời đơn giản là nó phụ thuộc vào hệ thống. Nếu bạn đang viết phần mềm nhúng cho máy theo dõi tim hoặc các công cụ giám sát an toàn cho lò phản ứng hạt nhân thì tiêu chuẩn sẽ cao hơn nhiều so với việc bạn đang viết một nền tảng viết blog.
Đây thực sự là một câu hỏi cho một người kiểm tra hệ thống tốt (và tôi không phải là một người) nhưng tôi sẽ cho nó một shot.
Biện pháp cơ bản của bạn sẽ là phạm vi kiểm tra: Bao nhiêu ứng dụng đã thực sự được kiểm tra (cả bằng thử nghiệm đơn vị và chức năng).
Bạn cần đánh giá từng trường hợp sử dụng tiềm năng (và các tham số cho trường hợp sử dụng đó) để biết khả năng nó thực sự được sử dụng (vì vậy bạn có thể bỏ các trường hợp cạnh), độ phức tạp (những thứ đơn giản ít có khả năng chứa lỗi hơn hoặc ít có khả năng chứa cứng hơn để tìm lỗi), chi phí để kiểm tra (về thời gian) và tác động tiềm ẩn của khuyết tật nếu được phát hiện ở khu vực đó (đây là nơi mà lò phản ứng hạt nhân so với nền tảng blog xuất hiện).
Dựa trên đánh giá đó, bạn cần tìm ra cái nào sẽ được kiểm tra và chi tiết đến mức nào. Khi bạn có một danh sách như vậy, nhóm (bao gồm người quản lý sản phẩm / người quản lý dự án / đại diện người dùng) có thể đi qua danh sách đó và ưu tiên dựa trên các ràng buộc bạn có.
Một kỹ thuật hữu ích để suy nghĩ là bạn cũng có thể thay đổi các trường hợp sử dụng được thử nghiệm với mỗi bản phát hành. Chẳng hạn, bạn có thể có một danh sách các trường hợp kiểm thử không quan trọng và kiểm tra một nửa trong số chúng với một bản phát hành và một nửa với bản tiếp theo (sau đó thay thế). Bằng cách này, bạn đang tăng tổng phạm vi kiểm tra mà bạn nhận được cho nỗ lực (mặc dù có nguy cơ lỗi hồi quy được đưa ra).
Điều này cũng có thể mở rộng để kiểm tra nền tảng - nếu bạn hỗ trợ hai đầu cuối cơ sở dữ liệu (hoặc nhiều trình duyệt) kiểm tra một nửa ứng dụng trên một, nửa còn lại trên kia và sau đó trao đổi bản phát hành tiếp theo.
(Tôi nghĩ điều này được gọi là thoát y nhưng đừng trích dẫn tôi về điều đó.)
Và sau đó, điều cuối cùng cần suy nghĩ không phải là những gì bạn kiểm tra mà là những gì bạn thực sự khắc phục khi các vấn đề được phát hiện. Người ta thường nói "sửa tất cả các lỗi" nhưng thực tế là có áp lực thời gian và không phải tất cả các lỗi đều như nhau. Một lần nữa, kiểm tra lỗi thường xuyên với tất cả các bên liên quan là cách tốt nhất về phía trước. Điều này đặc biệt có liên quan trong đó một bản sửa lỗi có thể đặc biệt xâm phạm vì công việc bổ sung trong kiểm tra lại và kiểm tra hồi quy mà nó tạo ra có thể lớn hơn lợi ích của việc sửa lỗi.