Chúng ta thường dành bao lâu để viết bài kiểm tra đơn vị cho một tính năng mới hoặc sửa lỗi?


9

Khi tôi phải thực hiện một tính năng mới hoặc sửa lỗi, tôi thường cố gắng tạo lại tình huống bằng một bài kiểm tra. Thỉnh thoảng tôi dành khoảng 3 giờ để đến với đồ đạc và viết bài kiểm tra. Việc thực hiện tính năng thực tế hoặc sửa lỗi mất ít hơn 1 giờ.

Có ai khác ngoài đó dành ít nhất 3 lần để viết một bài kiểm tra so với việc thực sự thực hiện một tính năng hoặc sửa lỗi không? Tỷ lệ chấp nhận được của thời gian viết kiểm tra viết mã là gì?


2
Hãy nghĩ về nó theo cách này: Việc sửa lỗi sẽ mất ít hơn một giờ nếu bạn không có bài kiểm tra để xác nhận nó tồn tại, ít hơn nhiều đã được sửa?
Michael K

2
Trả lời cho tiêu đề câu hỏi: Miễn là nó cần.
Marcelo

3
Tôi nghĩ rằng sự tuân thủ nghiêm ngặt đối với các nguyên tắc TDD bất kể chi phí hay giá trị kinh doanh luôn là phản ứng đúng đắn.
Jeremy

Làm thế nào để bạn xử lý trường hợp người quản lý của bạn muốn bạn đặt bản sửa lỗi trực tiếp càng sớm càng tốt và không thể chờ thêm một ngày để kiểm tra đầy đủ việc thực hiện?
Thierry Lam

2
Thông thường tôi giải thích chi phí của việc không làm bài kiểm tra. Đó là, tôi có thể gửi bản sửa lỗi ngay bây giờ, nhưng nếu chúng tôi không viết bài kiểm tra, chúng tôi sẽ phải làm lại toàn bộ sau. Đôi khi chúng vẫn ổn với chi phí trong tương lai, nhưng thông thường chúng tôi viết các bài kiểm tra.
Christopher Bibbs

Câu trả lời:


12

Nó thay đổi tùy theo mức độ phức tạp của lỗi hoặc tính năng. Tôi nhớ lại một dự án đã từng có ước tính giai đoạn phát triển 1,5 tuần ... và ước tính thử nghiệm 3 tháng. Sự thay đổi mã là nhỏ, một số dòng ở đây và ở đó nhưng nó đã ảnh hưởng đến một số thành phần của hệ thống bảo hiểm theo một số cách, do đó phải được kiểm tra rất kỹ lưỡng. Một lần khác, có một lỗi liên quan đến dấu ngoặc đơn ở sai vị trí. Mất 2 giờ để tìm thấy nó, 2 giây để sửa nó, nhưng khoảng một tuần để kiểm tra hàng tá kịch bản có thể bị ảnh hưởng bởi sự thay đổi trong logic.

Nói chung, tôi không lo lắng về tỷ lệ thời gian mã hóa so với thời gian dành cho thử nghiệm vì không có cách nào chính xác. Tôi thấy rằng trong một số dự án, tỷ lệ tương đối của dự án xuất hiện thường là tiêu chuẩn (đối với dự án), nhưng thậm chí sau đó có thể thay đổi sau đó.

Dành nhiều thời gian cần thiết để nói với sự tự tin rằng mã hoạt động đúng.


6

Làm thế nào về việc bạn dành đủ thời gian để viết các bài kiểm tra cho đến khi bạn cho thấy tính năng này hoạt động như dự định hoặc lỗi đã được sửa một cách chính xác.

Mọi tình huống sẽ khác nhau; không thể có một số loại tỷ lệ. Một số thử nghiệm sẽ mất một phần mười thời gian khi thực hiện, những thử nghiệm khác sẽ mất thời gian gấp hàng trăm lần.


Đây là câu trả lời thực sự.
DJClayworth

4

Tôi đã từng làm một lần sau khi giới thiệu các bài kiểm tra đơn vị trong một dự án. Kết quả: thời gian viết bài kiểm tra là khoảng 40% một lần nữa so với thời gian thực hiện. Nhưng chúng tôi không nhắm mục tiêu bảo hiểm đầy đủ ở đó, và đó là một dự án được thiết lập tốt với cấu trúc và quy ước mạnh mẽ.



0

Bạn đang đếm phải không? Để thực hiện một kế toán chính xác về thời gian bạn dành cho các bài kiểm tra, bạn cần viết mã mà không cần kiểm tra.

Nếu bạn thực sự mất ba giờ để viết bài kiểm tra và một để viết mã cho nó vượt qua, bạn có thể thấy rằng phải mất hơn 5 giờ để sửa lỗi tương tự mà không cần viết bài kiểm tra.

Có, tôi rất thường dành nhiều thời gian cho bài kiểm tra hơn mã sửa lỗi thực tế.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.