An Introduction to Agile Testing
Posted By : Monika Sharma | 22-Apr-2021
Agile Testing is a part of the Agile Software development process which starts at the beginning and there is no integration required between the development and testing processes. It can begin at the start of the project with continuous integration between development and testing. Agile Testing methodology is continuous but not sequential. As testing begins at the start of the project, errors can be fixed in the middle of the project. It requires little documentation as all the testers use a reusable checklist instead of lengthy documents.
Principles of Agile Testing
- Continous Testing: Agile team tests continuously because it is the way to ensure continuous progress of the application.
- Shortening feedback response time: The team is involved in each and every iteration in agile testing & continuous feedback decreases the time of feedback response and the cost involved in fixing is also less.
- Less documentation: Agile team uses a renewable checklist, the team focuses on the test instead of the incidental details.
- Test Driven: In traditional methods, the testing is performed after implementation whereas, in the agile method testing, it is performed at the time of implementation.
- Simplified & clean code: All the defects which are raised by the agile team are resolved within the same iteration and it helps in keeping the code clean and simplified.
- Everyone can Test: In the conventional Software development life cycle, only testing team tests while in the agile method including BA's and developers test the application.
Agile Testing Methods
There are various agile testing methods as follows:
Behavior Driven Development (BDD)
Acceptance Test Driven Development (ATDD)
1. Behavior Driven Development (BDD)
It improves communication amongst project stakeholders so that all team members understand each feature before the development process starts. The main objective of this development is to focus on the identification of business needs and outcomes.
The main steps that are followed in BDD are:
Describe the behavior
Creating the test case
Writing the code according to the test case given
Continuing the process until the code passes the defined test cases.
2. Acceptance Test Driven Development (ATDD)
Acceptance test driven development is a technique similar to BDD focusing more on capturing the requirements. It focuses on involving team members with different viewpoint such as the developer, tester, and customer. Meetings are held to express acceptance tests includes perspectives of the development, testing and customer. The development is focused on how the problem will be solved whereas the testing team is focused on while developing what could go wrong. The customer is focused on the problem that is to be solved. The acceptance tests are a depiction of the user’s point of view and it describes how the system will function.
Also Read: Step by Step Process API in Java
3. Exploratory Testing
Exploratory testing is not random testing but it is ad-hoc testing with the purpose of finding bugs. It is widely used in Agile models and is all about learning, investigation, and discovery. It is directed from requirements and exploring during testing. The testers write multiple test cases in order to explore each aspect of the software functionality of the application. Testers perform various tests and record the process to study it and figure out the exact flow of the application. It helps to expand the imagination of testers by executing test cases which finally improves productivity as well.
- It saves money and time
- Agile testing reduces the documentation
- It is highly adaptable to changes and flexible
- It provides a method for receiving regular feedback from the end-user
- Provides better determination of defects through daily meetings