2010-07-29 26 views
5

Chẳng bao lâu nữa tôi sẽ tham gia vào một dự án sẽ sử dụng phương pháp quản lý/phát triển dự án nhanh, với 5 lần chạy nước rút trong vòng 2 tuần. Dự án sẽ sử dụng một mẫu thiết kế DDD mà tôi đã tìm thấy trong các tác phẩm trước đây tuyệt vời với thử nghiệm đơn vị, do đó tôi cũng rất nhiệt tình sử dụng nó cho dự án này. Vấn đề duy nhất được đưa ra các yếu tố sau tôi không chắc chắn liệu thử nghiệm đơn vị có thể được triển khai thành công với sự phát triển nhanh hay không:Các thử nghiệm đơn vị có thể được triển khai hiệu quả với sự phát triển nhanh không?

  • Tiềm năng thay đổi liên tục (yêu cầu thay đổi, kiểm tra, kiểm tra cũng cần được cập nhật).
  • Yếu tố thời gian (kiểm tra đơn vị có thể làm cho dev mất nhiều thời gian hơn và nếu yêu cầu thay đổi vào cuối chạy nước rút có thể có quá ít thời gian để cập nhật kiểm tra và mã sản xuất ở chất lượng tốt nhất).

Tôi có cảm giác rằng nếu/khi các yêu cầu thay đổi (đặc biệt là khi kết thúc chạy nước rút) và đưa ra các kiểm tra đơn vị thời hạn chặt chẽ sẽ trở thành gánh nặng. Bất cứ ai có lời khuyên tốt về vấn đề này?

+1

Câu hỏi này không đúng chủ đề vì nó không nằm trong phạm vi của trang web này, như được định nghĩa trong [Tôi có thể hỏi gì về chủ đề này?] (// stackoverflow.com/help/on-topic) Cũng thấy: [Cái gì tôi có thể yêu cầu các loại câu hỏi nào?] (// stackoverflow.com/help/dont-ask) Bạn có thể yêu cầu [một trang web Stack Exchange khác] (// stackexchange.com/sites#name), * có lẽ * [pm.se] hoặc [softwareengineering.se]. Hãy nhớ đọc trang chủ đề của trung tâm trợ giúp cho bất kỳ trang web nào mà bạn định đăng câu hỏi. – Makyen

+0

@Makyen Câu hỏi này đã được đăng hơn 7 năm trước đây khi các sàn giao dịch khác không tồn tại/không được biết đến hoặc ranh giới không được xác định rõ ràng ... vì vậy, uh .. cảm ơn thông tin? Thật là một bản cập nhật lạ. – Scozzard

+0

@Makyen là bạn theo nghĩa đen sẽ trải qua các bài đăng cũ nhất trong các bài đăng cũ và đưa ra lời khuyên dựa trên bộ câu hỏi thường gặp hiện tại? Bạn có một con đường dài phía trước của bạn bạn của tôi! – Scozzard

Trả lời

7

Tôi nghĩ rằng nó cắt giảm cả hai cách. Một mặt, có, kiểm tra đơn vị là mã bổ sung mà đòi hỏi bảo trì thêm, và sẽ làm chậm bạn xuống một chút. Mặt khác, nếu các yêu cầu bắt đầu phát triển, việc kiểm tra đơn vị tại chỗ sẽ là một trình tiết kiệm cuộc sống để đảm bảo những gì bạn đang thay đổi vẫn hoạt động.

+2

Điểm thứ hai của bạn là quan trọng nhất trong sách của tôi. Có thể thay đổi mọi thứ an toàn trong kiến ​​thức rằng phần còn lại của hệ thống vẫn hoạt động giúp bạn thực hiện những thay đổi đó dễ dàng hơn nhiều. –

+1

Tôi không nghĩ TDD rất gây tranh cãi. Hầu hết mọi người đồng ý rằng thử nghiệm đơn vị cần có thời gian nhưng giúp phát triển (và thường là lợi ích lớn hơn chi phí), nhưng không phải ai cũng tin rằng việc viết các bài kiểm tra đầu tiên là hữu ích. Viết bài kiểm tra đầu tiên có giá trị như là một quá trình thiết kế, nhưng nó không làm việc cho tất cả mọi người. – Mathias

3

Xét giá trị hơn 10 tuần mã không có phạm vi kiểm tra khiến tôi bị rạn nứt. Khi nào bạn sẽ có thời gian để kiểm tra thủ công tất cả mã đó? Và theo các yêu cầu phát triển, bạn sẽ sử dụng rất nhiều thời gian theo dõi tác động xuống những thay đổi sẽ có trong toàn bộ cơ sở mã của bạn.

Tôi không thể tư vấn đủ mạnh để sử dụng thử nghiệm đơn vị. Ngay cả khi thực hiện DDD, hãy để thử nghiệm đơn vị thực hiện ổ đĩa. Cùng với các mẫu tốt như DI/IoC và SRP, bạn nên tìm cả cơ sở mã và kiểm thử của mình để có tính đàn hồi tốt hơn để thay đổi, và do đó tiết kiệm cho bạn rất nhiều thời gian trong suốt các lần chạy nước rút đó.

+0

Tôi làm việc trong các dự án mất nhiều năm và không có bảo hiểm thử nghiệm. Không phải là tôi thích nó. Không có gì. –

+0

@Peri - Tôi cảm thấy tiếc cho bạn, và thật đáng buồn, nhiều dự án giống như vậy. Hy vọng rằng không quá nhiều dự án greenfield bắt đầu skimping trên thử nghiệm tự động. Nó không phải là quá muộn mặc dù, tôi đã được trao hệ thống với bảo hiểm 0% và đã có thể yank nó lên đến 50%, dần dần thử nghiệm miếng như họ đã trải qua những thay đổi mới. –

3

Trừ khi bạn có các bài kiểm tra đơn vị có mức độ phù hợp cao, chi phí thay đổi sẽ tăng theo cấp số nhân khi các dự án chuyển tiếp. Vì vậy, về cơ bản, càng có nhiều thay đổi bạn dự đoán càng nhiều, bạn sẽ thực sự cần các bài kiểm tra đơn vị của mình.

Thứ hai, kiểm tra đơn vị tốt phụ thuộc vào rất ít và các tính năng nhỏ trong mã sản xuất của bạn. Khi điều này đúng, chỉ một vài thử nghiệm sẽ bị ảnh hưởng khi thay đổi đối tượng địa lý. Về cơ bản, mỗi bài kiểm tra chỉ là một điều và một đoạn mã sản xuất nhỏ. Chìa khóa để viết các bài kiểm tra đơn vị theo nguyên tắc này là tách riêng mã của bạn và thử nghiệm trong sự cô lập.

Thứ ba, bạn cần hiểu rõ hơn về khái niệm DONE và lý do tại sao định nghĩa của nó là rất quan trọng về mặt phát triển bền vững. Về cơ bản, bạn không thể đi nhanh theo thời gian một cách bền vững nếu nhóm của bạn thỏa hiệp khái niệm về XONG trong ngắn hạn.

Các vấn đề liên quan