Early versus Late Testing within a project is an ongoing debate within the software testing industry. With the Waterfall methodology, active testing was not possible until late in the development cycle when the project was ‘thrown over the wall’ to testing and the testers started what some called the ‘final exam’. A long test-fix cycle often ensued. Many newer methodologies promote earlier involvement and many of the recent ones promote continuous testing of multiple builds using test automation. With a broad definition of testing that encompasses more than just direct Validation it is quite possible to start some form of testing very early in the project. However, some feel that we have obtained as many benefits as we possibly can from early testing and we need to bring back an emphasis on late cycle testing when the system is fully developed in order to prove everything works together.
This debate is missing the point of the testing process. The only question is when is it appropriate to do testing and this can be answered at the time of planning and with the help of Quality Assurance. Testing has to be completed when it is appropriate and when the necessary items are in place to support that endeavor. During the test planning process, it is necessary to identify what testing needs to be completed. Once we know what has to be completed, then we can identify where in the process it can be completed. Quality Assurance processes allow that identification to take place easily. With some overarching process in place that indicate what the organisation requires in the way of Risk reduction, it is easy to identify what testing is required and then map that to the appropriate place in the Software Development Life Cycle.
While Early or Late testing may not always be appropriate, early planning is always necessary and Quality Assurance guides that planning.