Over the last couple of months I have had a number of team session relating to Exploratory Testing.
We wanted to create a poster that contained information about the following:
- Session based
- Key elements
- Structure to exploring software
- Where does exploratory fit
- What to think about when exploring software
- Small section on the benefits of paired testing
- Tools to assist exploratory testing sessions
- Bug clustering
So, I have done just that!
The main aims of this poster is to spark conversation within project teams about how/what you do when exploratory testing, it’s high-level ideas! There is no reason why you cannot create your own. I am NOT saying this is how you will do exploratory testing its more of an ideas framework equipped with some context for the wider stakeholders…
Here is my first attempt:
Exploratory Testing Framework Information
Our Principle: Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, Test design and test execution. We learn continuously, we design better tests from our continuous learning and we learn from the results and use them to make better tests.
We pick a test type, technique, method & level given the project context and information objective
The context of your exploratory testing will change depending on the risk, issues, and assumptions and the product under test
Session Based Testing: Session-Based Testing is a method used for measuring and managing exploratory testing. Sessions range from 15 minutes to 1 hour and will be focused around a ‘Charter’ which outlines the main purpose for testing.
During a session, the tester will use a ‘Session Sheet’ to detail things such as the charter, test notes, issues and bugs (amongst other things). This session sheet will then be stored for future use as testing evidence as well as a point of reference should similar charters be tested (e.g. different charters under the same user story).
Rapid Reporter is a tool used to generate the template for a session sheet.
Paired Testing: A software development technique in which two team members work together at one screen to test the software application.
Pairing can be between a tester and any other member of the team e.g. Product owner, developer, business analyst.
The benefits include mutual learning, ability to get a quick review of bugs/features, mentor new testers/team members, able to get a different point of view on the product, increased coordination. FUN FUN FUN.
Key Elements: We can all agree that freedom is a good thing. For example; painting your face and shouting “freedom!” can feel really good.
With greater freedom comes greater responsibility. When you are given the freedom
To do things your own way it is up to you to spend that time wisely.
Exploratory Testing Structure: Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution, we learn continuously, we design better tests from our continuous learning, we learn from the results and use them to make better tests.
Where does Exploratory Testing Fit:
What should we be thinking about: Oracles: are a heuristic principle or mechanism by which you recognise a potential problem
Heuristics: is a fallible idea or method that may help you simplify and solve a problem
Mnemonics: Are a mind memory and/or learning aid. Mnemonics rely on associations between easy-to-remember constructs which can be related back to the data that is to be remembered.
Bug Clusters: Many testers have observed that defects tend to cluster. This can happen because an area of the code is complex and tricky.
Testers will often use this information when making their risk assessment for planning the tests, and will focus on a known area called a 'Hot spot'.
Tester can focus on the same area in order to find a larger number of defects. It will reduce the time & cost of finding defects as by focusing on certain areas more bugs can be found in order to improve quality of the software.
Tools to help: We have listed a good number of tools, these will aid in some way your exploratory testing. Take a look at them and make your own decision on the uses for them.