Quite often in the world of application development, testing is not seriously considered until programming has been almost completed. Clearly, this approach to testing is inadequate in light of the increasingly high demands for software quality and short release cycles. As a result, the place of testing in the application lifecycle is beginning to change.
Fueled by competitive pressures and high costs of downtime, application testing is evolving into a multi-stage process with its own methodology, structure, organization, and documentation. Increasingly more organizations are starting to adopt the process where testing takes place in parallel with the application development, starting as soon as the project has commenced. Like much of the development process, the testing process needs a methodical building-block approach that includes requirements definition, planning, design, execution, and analysis — to ensure coverage, consistency, and reusability of testing assets.






