Exploratory testing goes beyond the fundamental testing concepts and essentially helps surface defects which cannot be covered by standard testing techniques and reviews. Undoubtedly, the role of exploratory testing cannot be underestimated and it brings out creativity and intuitive thinking of the testers to search for more defects. The real-time nature of exploratory testing can also help testers deal with deadlines of Agile projects. In Agile world, within a Sprint we can cover functionality and regression testing. Solution to the problem is we can perform exploratory testing, but it depends on which feature we need to test in Sprint and how much bandwidth is available for the Sprint and who will perform the exploratory testing.
Where can we perform exploratory testing?
Freestyle exploratory testing can be done anywhere without declaration in advance. In some agile projects, releases are extremely short, with the time-to-market as short as 1 week or even less. It is not a practical use of the tester’s time in such cases to go through the regular process of test planning, test case design, test execution, defect management etc. While test case design is invaluable, in situations such as these the focus on test execution (which is exploratory) is what will yield maximum return on investment, in This and all such situations the testers should not under-play the importance of test design and should spend time writing test cases for valid bugs from such exploratory efforts, to ensure they form a part of a robust exploratory testing suite, for subsequent re-use.
While doing testing for one of our projects, client asked to test entire online shopping website without providing any specification document and within limited time period. As per the client expectation we needed to complete the testing within a week as against the actual testing effort planned for 2 weeks. This was challenging scenario in which we adopted exploratory testing.
How did I perform exploratory testing
I take an example of e-commerce site in the following section.
- Before performing exploratory testing, QA resource prepares a rough test plan for website testing
- Identify key features/component for shopping site (e.g. Product view, Styling, Filter, Banner, Product description, etc.)
- Identify key lists of functionality to test the application (e.g Add to cart, Checkout, Order summary, etc.)
- With the help of different shopping carts, make payments and identify the scenario how different payment methods of other countries
Managing Exploratory Testing:
Exploratory testing is a planned activity in which each testing team needs to find ways to understand how much testing we are doing and which bit of the product we are spending our time on for testing. To start with exploring the software or application, the team should usually proceed according to planned activity but it should not be a rigorous plan. Exploratory testing is precisely done when team doesn’t know about the product and they know testing can never be fully complete.
Factors affecting Exploratory Testing
While performing exploratory testing tester should be aware of the following factors:
- Testing Strategy – Before performing exploratory testing, tester needs to prepare a strategy or should set some goals on how to test the application or in which critical areas she/he needs to concentrate
- Tester Roles and Skills – In this testing, less documentation and more testing is required. while performing exploratory testing experienced testers should have both domain and testing knowledge
- Available time – usually in small amount of time tester needs to perform exploratory testing with good quality of product
- Understanding the product – How the user can understand the application and how to carry out testing within limited time
- Functionality of the application – While performing exploratory testing, tester needs to understand the end to end application flow and according to that needs to focus on main area of the application
- Risk associated with the application — To do a Security test of the application
We covered only a few steps in this blog for Exploratory testing and would look at other testing types in the forthcoming blogs.