The practice which promotes continuous iteration of development and testing throughout the project is called as an agile testing methodology. Unlike the waterfall method, development and testing are concurrent activities in the agile method.
Agile Vs Waterfall Method
Agile and waterfall are the two major methods of software development. We cannot determine which one is superior to the other as both are useful at different occasions. Here is a comparison between the two.
|Agile Model||Waterfall Method|
|Incremental and iterative approach to software development is proposed.||Developmental processes flow from the starting point to the end point.|
|The entire project can be broken into individual models.||Process cannot be broken into smaller individual models.|
|The customer can look at the product frequently and suggest changes.||Customer will be able to see the product only at the end of the project.|
|Unstructured while comparing with waterfall method.||Well planned and more secure than the Agile model.|
|Smaller projects can be completed fast but estimation of time is difficult in the case of larger projects||Any type of projects can be estimated and completed|
|The error can be identified and corrected at any given point of time.||Product will be tested only at the end of the project and if any rectification is required, the entire project should be started from the beginning.|
|The project can be executed in short iterations, may be 2 to 4 weeks.||The entire project is phased and phases are larger than iterations.|
|Documentation has less priority||Documentation has top priority.|
|Every iteration has its own testing and regression test will be executed every time a new function or logic is released.||Testing is done only at the end of the project.|
|At the end of each iteration, shippable features will be delivered to the customers||All features will be delivered only after the completion of the implementation phase.|
|Both testers and developers will work together||Testers work separately from developers.|
|User acceptance is performed at the end of each sprint||User acceptance is performed only at the end of the project|
|Close communication is required with the developer at every stage||Developer is not involved in requirement collection and planning phase.|
There are many Agile Testing methodologies and most common ones are as follow.
- Crystal Methodology
- Dynamic Software Development Methodology
- Feature Driven Development
- Lean Software Development
- Extreme Programming