We all know Agile testing is the main part of the software development lifecycle. In software development, agile refers to any approach to project management, which makes great efforts to achieve teams as principles of collaboration, flexibility and simplicity throughout the entire process of developing a new product. And agile testing generally means the practice of testing software for bugs or performance issues within the context of an agile workflow.
Traveling back in time, let’s look at some of the models that were in use prior to agile testing. There are a few models like Waterfall and V-Model which gave testing a key role in software development lifecycle.
The Waterfall Model was the first model to be introduced. It is known as a linear-sequential lifecycle model. It is very simple to understand and use. In this model, each phase should be completed to start the next phase. At the end of each phase, a review takes place to determine that the project is on the right track or not. This model works for smaller projects.
But the Waterfall Model has a few drawbacks: This model is not suitable for complex, object oriented & ongoing projects. Once the application is in testing stage, it is very difficult to change something that was not perfect is past stages.
V-Model means Verification and Validation model. Here V-Shaped lifecycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins. Testing of the product is planned parallelly with a corresponding phase of development. It is simple & easy to use. Testing activities like planning, and test designing happen before coding and this saves a lot of time. Proactive defect tracking is the key advantage of the V-Model, which works well for small projects.
However, the disadvantages of the V-Model include the following: this model is very rigid and least flexible. If any changes happened midway, then the test document along with Requirements Documents should be updated.
There are a few more models which came before agile model, namely Incremental Model, Prototype Model, Rapid Application Development & Spiral Model. After experiencing certain snags and drawbacks with all the above models, now a new model has been introduced with an aim to overcome the past disadvantages. That model is called Agile Model.
Now, implement changes with ease
After its introduction, the Agile model proved to be quite useful for development and/or testing purpose, especially when new changes needed to be implemented. Now changes can be implemented at a very little cost because of the frequency of new increments that are produced.
A few advantages of the Agile Model are:
However, there are a few drawbacks of the Agile Model: a lack of emphasis has been observed on necessary designing and documentation. And only senior programmers are capable of taking decisions required during the development process.
(Chevulapelli Nikhil works as a QA Trainee at [x]cubeLABS)
Tags: Agile testing