Trong khoảng một năm qua, tôi đã thúc đẩy nhóm của mình hướng tới phương thức phát triển - phát hành sớm - thường phát hành (AKA: Phát triển ứng dụng nhanh, không phải Agile). Để biết thêm thông tin về cách chúng tôi đóng bản dựng, hãy xem câu trả lời của tôi ở đây: Một cách đơn giản để cải thiện chất lượng phát hành trong môi trường RAD
Khi chúng tôi áp dụng RAD, mọi người khá độc lập và họ đang thực hiện thử nghiệm đơn vị trước tiên; các thử nghiệm tích hợp đã xảy ra nhiều sau đó trong quá trình. Đó là một quá trình tự nhiên đối với họ mà không có nhiều thực thi chính thức. Bây giờ tình hình khá khác:
Toàn bộ nền tảng được tích hợp tốt với các bản dựng / phát hành được thiết lập phía máy khách hoạt động mà không có bất kỳ điểm nóng nào.
Các yêu cầu chức năng mới tiếp tục đến và chúng tôi tăng dần xây dựng chúng khi chúng tôi đi.
Động lực chung của hệ thống là rất quan trọng bởi vì trong khi các nhóm phát triển độc lập có thể tuân theo đúng các quy trình, thì những thất bại lớn đã xảy ra do các tình huống phức tạp, không rõ ràng.
Nhiều phần của hệ thống liên quan đến các thuật toán mới và các đầu vào nghiên cứu, do đó, các thách thức (và do đó cơ chế kiểm tra) không hoàn toàn có thể thấy trước một cách chính xác, như kiểm tra tính năng trong phần mềm được xác định rõ.
Gần đây, tôi đã cố gắng để có được bức tranh tổng thể tốt hơn để xem liệu chúng ta có cần cải tiến quy trình hay không. Khi tôi ngồi xuống với nhóm của mình, nhiều người trong số họ chùn bước: "Chúng tôi không làm thử nghiệm đơn vị nữa!" trong khi những người khác nghĩ rằng chúng ta không nên bắt đầu ngay bây giờ vì nó sẽ không bao giờ có hiệu quả.
Là các bài kiểm tra đơn vị hữu ích trong một hệ thống tương đối trưởng thành? Ít nhất chúng ta có nên cân nhắc phạm vi kiểm tra tùy thuộc vào sự trưởng thành của các đơn vị không? Thử nghiệm đơn vị sẽ làm chậm tốc độ phát triển? Có cần phải đánh giá thử nghiệm đơn vị theo một cách khác?
Các thực tiễn tốt nhất về thử nghiệm cho một nền tảng trưởng thành trong môi trường phát hành sớm phát hành sớm là gì?