Bây giờ tôi biết mọi người có thể xem xét câu hỏi này trùng lặp hoặc hỏi nhiều lần, trong trường hợp đó tôi sẽ đánh giá cao một liên kết đến các câu hỏi có liên quan với câu trả lời cho câu hỏi của tôi.
Gần đây tôi đã bất đồng với một số người về bảo hiểm mã. Tôi có một nhóm người muốn nhóm của chúng tôi bỏ qua việc xem xét phạm vi bảo hiểm mã hoàn toàn dựa trên lập luận rằng phạm vi bảo hiểm 100% không có nghĩa là kiểm tra chất lượng tốt và do đó mã chất lượng tốt.
Tôi đã có thể đẩy lùi bằng cách bán lập luận rằng Bảo hiểm Mã cho tôi biết những gì chưa được kiểm tra chắc chắn và giúp chúng tôi tập trung vào các lĩnh vực đó.
(Phần trên đã được thảo luận theo cách tương tự trong các câu hỏi SO khác như câu hỏi này - /programming/695811/pit thác -of- code - coverage )
Lập luận từ những người này là - sau đó nhóm sẽ phản ứng bằng cách nhanh chóng tạo ra các bài kiểm tra chất lượng thấp và do đó lãng phí thời gian trong khi không thêm chất lượng đáng kể.
Trong khi tôi hiểu quan điểm của họ, tôi đang tìm cách tạo ra một trường hợp mạnh mẽ hơn cho phạm vi bảo hiểm mã bằng cách giới thiệu các công cụ / khung mạnh mẽ hơn, đảm nhiệm các tiêu chí bảo hiểm hơn (Functional, Statement,Decision, Branch, Condition, State, LCSAJ, path, jump path, entry/exit, Loop, Parameter Value etc)
.
Những gì tôi đang tìm kiếm là đề xuất kết hợp các công cụ và quy trình / quy trình bảo hiểm mã như vậy để đi cùng với chúng , điều này có thể giúp tôi chống lại những tranh luận như vậy trong khi cảm thấy thoải mái về đề xuất của mình.
Tôi cũng hoan nghênh mọi bình luận / đề xuất đi kèm dựa trên kinh nghiệm / kiến thức của bạn về cách chống lại lập luận như vậy, bởi vì trong khi chủ quan, phạm vi bảo hiểm mã đã giúp nhóm của tôi có ý thức hơn về chất lượng mã và giá trị của thử nghiệm.
Chỉnh sửa: Để giảm bất kỳ sự nhầm lẫn nào về sự hiểu biết của tôi về điểm yếu của phạm vi bảo hiểm mã điển hình, tôi muốn chỉ ra rằng tôi không đề cập đến Statement Coverage
(hoặc các dòng mã được thực thi) (có rất nhiều). Trên thực tế đây là một bài viết hay về mọi thứ sai với nó: http://www.bullseye.com/statementCoverage.html
Tôi đã tìm kiếm nhiều hơn là chỉ tuyên bố hoặc bảo hiểm dòng, đi sâu hơn vào nhiều tiêu chí và cấp độ bảo hiểm.
Xem: http://en.wikipedia.org/wiki/Code_coverage#Coverage_criteria
Ý tưởng là nếu một công cụ có thể cho chúng tôi biết phạm vi bảo hiểm của chúng tôi dựa trên nhiều tiêu chí thì điều đó sẽ trở thành một đánh giá tự động hợp lý về chất lượng kiểm tra. Tôi không có ý định nói rằng phạm vi bảo hiểm là một đánh giá tốt. Trong thực tế đó là tiền đề của câu hỏi của tôi.
Chỉnh sửa:
Ok, có thể tôi đã chiếu nó một chút quá đột ngột, nhưng bạn có được điểm. Vấn đề là về việc thiết lập các quy trình / chính sách nói chung trên tất cả các nhóm theo cách đồng nhất / nhất quán. Và nỗi sợ nói chung là làm thế nào để bạn đảm bảo chất lượng xét nghiệm, làm thế nào để bạn phân bổ thời gian được đảm bảo mà không có bất kỳ biện pháp nào cho nó. Do đó, tôi thích có một tính năng có thể đo lường được khi sao lưu các quy trình phù hợp và các công cụ phù hợp sẽ cho phép chúng tôi cải thiện chất lượng mã trong khi biết rằng thời gian không bị ép buộc trong các quy trình lãng phí.
EDIT: Cho đến nay những gì tôi có từ các câu trả lời:
- Đánh giá mã phải bao gồm các bài kiểm tra để đảm bảo chất lượng bài kiểm tra
- Chiến lược thử nghiệm đầu tiên giúp tránh các thử nghiệm được viết sau thực tế để tăng tỷ lệ bao phủ%
- Khám phá các công cụ thay thế bao gồm các tiêu chí kiểm tra khác ngoài Tuyên bố / Dòng đơn giản
- Phân tích mã được bảo hiểm / số lỗi được tìm thấy sẽ giúp đánh giá cao tầm quan trọng của bảo hiểm và làm cho một trường hợp tốt hơn
- Quan trọng nhất là tin tưởng đầu vào của Đội để làm điều đúng đắn và đấu tranh cho niềm tin của họ
- Các khối được bảo hiểm / # các bài kiểm tra - Có thể tranh cãi nhưng giữ một số giá trị
Cảm ơn cho câu trả lời tuyệt vời cho đến nay. Tôi thực sự đánh giá cao họ. Chủ đề này là tốt hơn so với giờ động não với sức mạnh đó.