Exploratory testing is a concept of software testing where the tester combines application learning, test design and test execution in the same activity. This approach can showcase the results that a skilled tester can provide with manual tests. In this article, Kimberly A. Stockett provides three key approaches about how to change the attitudes of your software development team to adopt exploratory testing.
Author: Kimberly A. Stockett, KMS Technology, http://www.kms-technology.com/
Exploratory testing is not a new concept, but it can be challenging to adopt properly because it requires a change in mindset for the whole project team. Everyone, from the project manager down, has to get on board with the process if you expect to get the best results. Implemented correctly, exploratory testing can enable teams to find defects earlier, it can empower testers and boost job satisfaction, and it can ultimately deliver a better product.
In order to get there, and reap those tantalizing rewards, it’s vital to look at three areas and set realistic expectations.
Project Development Team – Expect significant results earlier
There’s a reduction in documentation and less of a rigid structure to exploratory testing that can be alarming for the developers, project managers and business analysts. The important thing is to explain to them how the process works and make it clear that there is a formalized plan. Instead of writing test cases, testers will create workflow charters. There’s a shift from a clear step-by-step flow through functional testing to integration flows. With exploratory testing you get a combination, a holistic approach that generally leads to a much quicker identification of serious defects.
Instead of ticking off individual functions, exploratory testers are going to be looking at how functions connect and flow together. This approach reveals any gaps in the requirements much earlier than a traditional testing approach would. Coverage plans might be mind-maps, rather than traditional documents, and testers will use recording tools to capture sessions. Expect a learning curve, as the development team and the testers get to grips with the necessary tools, which are more visual and less detailed.
By fostering communication between testing and development, you can smooth the path to effective exploratory testing.
Testing Team – Expect to extend your thoughts
The testers also have to change their attitudes to be successful at exploratory testing. They need to be flexible, open to new ideas, willing to take risks, think outside the box, and examine in-depth. Instead of robotically sticking to test cases, they have the purview to go off-road when they see a potential issue developing, in order to get a better look.
With multiple testers there’s an emphasis on group evaluations over traditional lone wolf reviews. Testers have to draw up their own charters and decide what areas of the product to explore and test. They set their own expectations for coverage and stay adaptable. After each testing session, testers will get together and discuss what they found, set priorities, agree on defect severity, and evaluate where to focus for the next session.
Exploratory testing is about being proactive and taking responsibility for your own approach. They may have a general direction to focus on, but they’ll need to decide when to change tack, where to push, and what to explore. This freedom can take some getting used to, but controlling their own direction leads to a much greater, more thorough, understanding of the product being tested, and increased satisfaction in the results.
End Results – Expect better coverage with different measurements
With a traditional approach, it’s normal to see lots of documentation. There are test cases passed or failed, a clear picture of what was tested, and the defects tend to come later in production. Exploratory testing works better with a mind-map flow, where scenarios and charters discuss broad areas of coverage. There may not be as many charters as there would be test cases, but exploratory testing allows testers to cover a lot more ground, and so it tends to produce more thorough results. You need the right metrics to understand that coverage is actually greater, even though there appears to be less documentation.
One number that will indicate the effectiveness of exploratory testing is the defect count. It tends to lead to the discovery of more defects, but crucially it enables testers to uncover serious defects much earlier in the testing process. This, in turn, gives developers more time to fix them, and helps them to identify major issues that may require major changes before they become entrenched. By dealing with major defects early, there’s more room to hone and polish the product towards the end of development.
Communicate, educate, and collaborate
Just as testers can benefit from some knowledge about development procedures, developers can benefit from an understanding of the exploratory testing process. It requires a responsible and mature approach from testers, but it also has far greater educational value and potential to develop skill sets than traditional testing does. By setting realistic expectations from the outset, and encouraging close collaboration, exploratory testing will soon prove itself effective. With the right mindset across the team, it will boost the final quality of the product under development.
About the Author
Kimberly Stockett is a QA Manager for KMS Technology, a provider of IT services across the software development lifecycle with office in Atlanta and Ho Chi Minh City. She was previously a QA Manager at LexisNexis and a QA Analyst with Gallileo (currently TravelPort). KMS services include applications management, testing, support, professional services, and staff augmentation.