Vấn đề với thử nghiệm này là nó làm cho hai khẳng định riêng biệt. Thử nghiệm khẳng định hai kết quả khác nhau cho các phương pháp để trở lại. Nếu một trong hai thất bại, các kiểm tra như một toàn thể sẽ thất bại. Tuy nhiên, điều đó có nghĩa rằng khi kiểm tra kết quả kiểm tra | Part I Philosophy integration happens the less time it will take as a percentage of the project since each integration will be much easier. These new scheduling realities have led to the philosophy of Continuous Integration. Integrate Early and Often The primary tenet of Continuous Integration CI is integrate early and often. The more often you integrate the less work it is for everyone. The best way to achieve this level of integration is to set up a CI server which is a dedicated server machine responsible for continuously building and testing all the code in a given project. There are a number of software packages some commercial and some freely available that facilitate the creation of such a server. Once a CI server is up and running it becomes the responsibility of every developer to keep it running smoothly and successfully. The two biggest goals of any Continuous Integration effort should be 1. To make sure that there is always a testable version of your software that reflects the latest code. 2. To alert developers to integration problems as quickly as possible. Keeping Testers Working One of the issues that came up during waterfall projects was that until the integration phase of the project was completed the testers often had nothing to test. If one test pass through the software took less time than a development integration cycle testers might be idle with little to do besides writing test plans. In a perfect world we would like to keep testers busy all the time with each feature being tested as soon as it is coded. This makes the most efficient use of testing resources and provides developers with as short a feedback cycle as possible. After a given piece of code is written developers tend to move on to the next problem and to lose focus on what they just completed. The more time that elapses between when code is initially created and when defects are reported the harder it is for the developer who wrote that code to go back and fix the defect. If .