Trong bối cảnh CI, một trong những biện pháp thường được sử dụng để tăng mức chất lượng của nhánh tích hợp là một tập hợp bắt buộc của xác minh chất lượng trước khi cam kết (thường bao gồm xây dựng một số tạo tác, thực hiện kiểm tra đơn vị và thậm chí một số kiểm tra tính năng / tích hợp).
Tuy nhiên, một số hồi quy (phá vỡ bản dựng, các lỗi thử nghiệm khác nhau) được phát hiện bởi các xác minh hệ thống CI trong chính xác các khu vực được cho là được bao phủ bởi các xác minh trước khi cam kết bắt buộc này.
Trong quá trình phân tích các hồi quy này, một lập luận thường được nghe là nhà phát triển đã cam kết thay đổi được xác định là nguyên nhân gốc của hồi quy đã vượt qua tất cả các xác minh như vậy. Và thường thì yêu cầu được hỗ trợ bởi bằng chứng cứng cho thấy:
- sau khi đạt được phiên bản cuối cùng của sự thay đổi, nó đã được chuyển đến một không gian làm việc mới dựa trên đỉnh của nhánh
- các tạo phẩm cần thiết được xây dựng từ đầu (vì vậy bản dựng hoàn toàn tốt, không có vấn đề liên quan đến bộ đệm, v.v.)
- tất cả các thử nghiệm bắt buộc đã được thông qua, bao gồm cả những thử nghiệm bao gồm khu vực được đề cập và đã phát hiện ra hồi quy
- không có dương tính giả không liên tục ảnh hưởng đến các xác minh tương ứng
- không có sự hợp nhất tập tin nào được phát hiện khi cam kết thay đổi chi nhánh
- không có tệp nào được sửa đổi bị chạm bởi bất kỳ thay đổi nào khác được cam kết trong chi nhánh kể từ khi không gian làm việc mới được kéo
Có thực sự thay đổi phần mềm có thể gây ra hồi quy như vậy mặc dù tuân thủ chính xác tất cả các quy trình và thực tiễn được quy định không? Làm sao?