Exploratory testing is a manual testing technique which is defined as simultaneous learning, test design, and test execution. The nature of exploratory testing makes it a very useful technique as far as agile methodology is concerned.
In agile methodology, software is released in small iterations that we call sprints. Every sprint has some deliverables that require the approval of the product owner. Each sprint goes through planning, estimation, development, integration, and testing.
Because of frequent releases, it is essential to provide early feedback to the developer. Exploratory testing can play a major role in this.
In this article, we are going to explore when and how exploratory testing should be performed such that it can add maximum value to the system.
When to Start Exploratory Testing
Testing in agile can be divided into four different quadrants. The first two quadrants are focused on unit and functional testing. In the third quadrant, we start with exploratory testing and end with performance testing.
Basis of these quadrants is its two sides of testing, one where we are supporting programming by writing unit tests, components tests, and doing functional testing with Automation. Whereas on the second side of the testing, we are critiquing the product.
Unit testing and functional testing ensure that the application/product is ready for exploratory testing where we can focus on high risk areas to find potential problems.
How to do Exploratory Testing
Test design and test execution go simultaneously in exploratory testing. It is very important to define a process that can help and direct us so that it does not end up as an ad-hoc.
Following is the step by step procedure to conduct exploratory testing:
Once we finalize the area of testing, we should learn the flow and pattern of the defects and fixes made to stabilize that feature. It will help us to identify test scenarios that would lead us to the testing part.
c. Focus execution on identified area
Various themes in exploratory testing:
Focus on various themes that help to uncover application behavior and defects on the specific identified area.
Focus of the exploratory testing can take various themes as:
At the time of execution, we should cover both documentation and execution simultaneously. It should not be the formal documentation but we should have test notes ensuring that we are tracking executed scenarios as well as failed cases.