If you want to employ modern software development and testing techniques, you have to move on from simple unit testing by developers and implement regression testing in your quality assurance (QA) organization. This is perhaps the best way to take the risk out of continuous development – something that companies have to embrace if they are to remain competitive.

The difference between regression testing and normal testing is that in the most common model, the developer has a request to fix a problem or to add a feature, and they make their changes and do unit testing, where they come up with test cases that will test the problem or the feature before they pass it off to QA to essentially run the same tests. Developers make a change and they know what result they are supposed to get back. If you add 2 plus 2, you know you are supposed to get 4. If 2 plus 2 equals four, then unit testing is successful, whereas regression testing is testing all of the functionality, and this is much broader. Unit testing is not looking for broader impacts.