Agile Testing
Agile Testing
Agile testing is a software testing practice that follows the Agile software development
methodology. In Agile development, projects tend to evolve during each sprint among
collaborators and shareholders. Agile testing focuses on ensuring quality throughout the
Agile software development process.
Continuous integration and continuous delivery are two important aspects of agile testing. In
continuous integration, developers integrate their code changes into a shared mainline several
times a day. In continuous delivery, every change that passes all tests is automatically
released into production.
The main testing activities in agile are:
● Requirement analysis: Testers work with business analysts and product owners to
understand the requirements of the new feature.
● Test design: Testers design the test cases for the new feature.
● Test execution: Testers execute the test cases and report any bugs.
● Defect management: Testers work with developers to fix the defects.
● Release management: Testers help to plan and execute the release of the new
feature.
Some best practices for agile testing include:
● Automate as much as possible. This helps speed up the testing process and enables
developers to find more defects.
● Use an automated tool to track defects. This helps development teams source and
mitigate bugs quickly and efficiently.
● Use continuous integration and continuous delivery. This will help to ensure that
changes happen frequently and that they are always tested before finalization.
● Communicate early and often. Agile teams need to communicate constantly to be
successful. Testers need to be able to effectively communicate with all team members,
as well as with the customer.
Methods of Agile Testing
The following methods are supported in Agile testing:
● Exploratory Testing In exploratory testing, test design and execution are done
simultaneously. No documentation is provided to the testing team, and the focus is on
high-risk scenarios to be tested out.
● Risk-Based Testing: Under this method, the testing tasks are given priority based on
the risks. This means that the areas that are critical and prone to greater risks are
tested and verified first.
● FIT Tests: FIT means Framework Integrated Test. As the name suggests, this method
allows you to integrate tasks of developers, testers, and even customers. The result of
testing in this method can be depicted in three different colors:
● Red
● Yellow
● Green
● Behavior-Driven Testing (BDD): In this method, testing is performed based on a
system’s behavior or functionality. The Business Analysts and testers understand each
other’s roles and responsibilities before the development starts and design
requirements are finalized.
● Acceptance Test-Driven Development (ATDD): These tests work based on
customer feedback and inputs on how the software should perform. The acceptance
tests showcase the behavior of the users so that the software meets their requirements
in the long run.
Iteration 0
During the first stage or iteration 0, you perform initial setup tasks. It includes identifying
people for testing, installing testing tools, scheduling resources (usability testing lab), etc.
Construction Iterations
The second phase of agile testing methodology is Construction Iterations, the majority of the
testing occurs during this phase. This phase is observed as a set of iterations to build an
increment of the solution. Construction iteration is classified into two, confirmatory testing
and investigative testing. Confirmatory testing concentrates on verifying that the system
fulfills the intent of the stakeholders as described to the team to date, and is performed by the
team. While the investigative testing detects the problem that confirmatory team has skipped
or ignored.
Release End Game Or Transition Phase
The goal of “Release, End Game” is to deploy your system successfully into production. The
activities include in this phase are training of end users, support people and operational
people. Also, it includes marketing of the product release, back-up & restoration, finalization
of system and user documentation.
Production
After the release stage, the product will move to the production stage.
AGILE TESTING QUADRANTS
Quadrant 1:
● Quadrant 1 consists of all the test cases that are technology driven. These are
performed in order to support the team.
● Developers involvement is very important in this quadrant as quality of code is the
main focus here.
● Quadrant 1 is associated with Automated testing, and covers the tests such as Unit
tests, Component test, API tests and Web Services testing.
● Instant feedback is obtained in this quadrant so that quality of code can be improved
easily.
● This quadrant helps to improve the design of the product without affecting its
functionality.
Quadrant 2:
● Quadrant 2 consists of all the test cases that are business driven and are performed to
support team as well as the customers.
● Most of the projects working starts from this quadrant.
● The main focus of this quadrant is on the business requirements.
● The tester is greatly involved with the customer to gather the requirements in order to
build test cases accordingly.
● Quadrant 2 is associated with Functional testing, story testing, prototypes &
simulations and pair testing.
● In this quadrant both manual and automated testing is involved to work on business
requirements easily.
Quadrant 3:
● Quadrant 3 consists of all the test cases that are business driven and are performed to
Critique the product.
● The main focus of this quadrant is to provide feedback to the Quadrant 1 and
Quadrant 2.
● Manual testing based on tester logical thinking, intuitions and user requirements is
done to evaluate the application.
● Quadrant 3 is associated with Pair testing with customers, Exploratory Testing,
Usability Testing, User Acceptance Testing, Collaborative Testing and alpha & beta
testing.
Quadrant 4:
● Quadrant 4 consists of all the test cases that are technology-driven and are performed
to critique the product
● Quadrant 4 focus mainly on the non-functional requirements such as performance,
security, stress, maintainability, stability etc.
● This quadrant is responsible to deliver the final product to the customer.
● This quadrant is associated with performance testing, load testing, stress testing,
maintainability testing, infrastructure testing, data migration testing, security testing,
reliability testing, recovery testing and many more.