What is Agile Testing?
The agile testing is a software practice that follows up the principles of agile software development; it is started from the beginning of the project with continuous integration between development and testing, unlike the waterfall method. It is a continuous development methodology, where the requirements evolve between the customer and the self–organizing teams.
How Agile Testing is beneficial?
There are some of the points which will clear that how agile testing is beneficial. Following are the points:
- In this less documentation is required.
- Through daily meetings, the issues can be well determined at earlier stage.
- It saves time and money both.
- It provides regular feedback from the end-user.
Basic fundamentals of Agile Testing
Some of the basic fundamentals of Agile Testing are:
- Test documentation reduced– The agile testing reduces the test documentation and as it reduces the length of the documentation so, it makes the testers to focus on the test rather than on the details.
- It is not a phase- The team performs testing continuously and through continuous testing, it provides continuous progress.
- Implementation- The agile testing is performed while implementation compares to other testing methods that are performed after implementation.
- Fixing defects- The defects which are raised during the iteration are fixed within the same iteration and therefore keeping the code clean.
What are the strategies of Agile Testing?
The agile testing life cycle has four stages:
- Iteration 0 – As this is the first phase among the four stages, and in this stage, we perform the initial setup tasks. This stage includes the identifying of people for testing, installing the testing tools, etc. Some of the steps included to achieve Iteration 0 are:
- Firstly, the business case of the project is established.
- Then, we will establish the boundary conditions and the scope of the project.
- Then, the key requirements will be outlined of the project and the use cases.
- After the requirements, risk is identified.
- And lastly, the cost of estimation and preliminary of project is prepared.
- Construction Iterations – Most of the testing part is performed in this stage. In this phase, some of the iterations are observed to build an increment of the solution. In this phase, the team follows the prioritized requirement practice where each iteration takes the most essential requirement and implements it. The construction iterations can be divided into two:
- Investigating testing – It detects the problem that the confirmatory team has skipped. In this, the tester determines the problems in the form of defect stories.
- Confirmatory testing – In this, it mainly concentrates on verifying that the system fulfills the intent of stakeholders as described to the team and performed by the team.
- Transition Phase – In the transition phase, the main purpose of this phase is to deploy our system successfully into production phase. Some of the activities included in this phase are training of end-users, operational people and support people. And some are marketing of the user documentation, product release, back up and restoration.
- Production phase – This is the last stage after the transition phase and in this the product is moved to the production stage.
Agile Testing Quadrants
The agile testing quadrants help to identify, plan and execute the testing needed by the team. It separates the whole process into four quadrants and helps to understand how agile testing is performed.
- Quadrant 1 – The quadrant 1 is associated with Automated testing and includes the tests such as Unit tests, Web services testing, Component tests, etc. The advantage of this quadrant is that through these tests it helps to improve the design without affecting the functionality and improve the quality of the product by means of proper source code management.
- Quadrant 2 – The quadrant 2 is associated with Automated and Manual testing and it includes Functional testing, Prototypes, Simulations, etc. It helps to prepare the right set of questions. It includes the test cases that are business-driven and are implemented to support the team. Its main focus is on the requirements.
- Quadrant 3 – The quadrant 3 is related with manual testing and it includes Exploratory testing, User Acceptance testing, Alpha/Beta testing, etc. This quadrant is used to evaluate the product and the use through feedback, demos, through actual user experience, etc.
- Quadrant 4 – The quadrant 4 is related to Tools Automated and it includes the tests such as Performance and Load testing, Maintainability, Scalability, Reliability, Compatibility, etc. These quadrant tests are performed on the basis of priorities that can be at the beginning of the SDLC phase or later on.
Author: Preksha Rastogi
Preksha is a freelance writer and has been writing since 2015 and her special areas are Java, Testing, C and C++. She has completed BCA and MCA from JIMS, Delhi.