Let me explain you what is exploratory testing, what is the need of it, where we use this kind of testing, what are its advantages and disadvantages.
What is Exploratory Testing?
Exploratory testing is one of the best testing technique to find the unknown/unexpected issues without having any test cases.
Why use exploratory testing?
This technique can be used in any phase of software development life cycle[It is good to start the exploratory testing in the early development cycle to find more issues and reduces the fixing cost].
Why exploratory testing is important?
In the exploratory testing concepts, testers /developers will get completely free in hand in their test execution, where testers think just like the end users of the application and execute the tests on the critical functions or path of the applications.
- It is always good keep the timelines when we are executing the exploratory tests to gain more benefits.
- This testing technique is being used more in the Agile and DevOps area for the faster release cycle.
- If the exploratory testing being done in the time boxed, it is called session based exploratory testing.
Who performs exploratory testing?
Exploratory testing performs across all the stakeholders in the project such as Testers, Developers , Business Analysts, Product Owners, Product Management Team and So on
When to start exploratory testing?
Exploratory Testing can be start in phases of life cycle of development
What Are The Techniques Used in Exploratory Testing?
To perform the exploratory testing we can use the various techniques, here are the some of the techniques commonly used in this exploratory testing
Ad hoc Testing
- In this techniques testers execute tests without having the written test cases or scripts
- Here just test the application using their knowledge, experience, and intuition
- Here Testers get the complete free hand to uncovering issues and learning about the system’s behavior
- In this testing techniques , testers to define specific time-boxed sessions to perform exploratory testing.
- Testers to set goals, objectives, and areas of focus during each time boxed session.
- While performing the time boxed sessions, testers to document their activities, observations, and defects found in this time boxed session
- In this technique, software testers to create realistic or practical test scenarios that mimic user interactions and workflows.
- Using this technique, testers to explore different paths, variations, and inputs based on the understanding of the users and system requirements.
- This technique helps uncover usability issues, edge cases, and unexpected behavior.
- In this testing techniques , two testers collaborate and explore the software applications together.
- One tester actively executes tests while the other tester to observes, suggests ideas, and takes notes.
- This testing technique enhances creativity, knowledge sharing that lead to improved test coverage and defect identification.
- In this testing technique testers to focus their exploratory testing efforts on high-risk areas or features of the software.
- In this techniques we prioritize the testing based on potential impacts, critical functionalities, and areas prone to defects.
- Risk-based testing helps ensure that testing efforts are aligned with project priorities and goals.
Exploratory testing using mind map
Mind map is the new form technique used in the exploratory testing, which is thinking tool and thinking approach where it not just focus on brain and also for eyes.
The complete mind map is given in pictorial representation on the flow of features and conditions that helps the testers to understand what he needs to test it during the exploratory testing.
Benefits/Advantages of the Exploratory Testing
- It involves the human intelligence
- It helps to find the unknown issues or defects in the new feature area
- More user experience issues get caught due to free hand testing
- Due to not much work we do like creation of tests , review etc. it saves time in finding issues
- It is not heavily dependent on the documentation and minimum test planning
- This is very beneficial when it has limit in testing hours and release pressure
- It increases the collaboration between various groups Developers, Business Analysts, Product Owners and Testers together
- This technique is highly being used when rapid changes are in the development phases
- Testing out of is based on the testers or person who tests creativity or his experience skills
Disadvantages or Challenges of Exploratory Testing
There are many problems are issues out of exploratory testing, I could list few items as below
- No clue how long this testing take place and the outcome of the tests
- Since no process being used while testing, it has big challenges in steps to reproduce in the defects.
- We cannot clearly define the complete test coverage and delivering it on time.
Exploratory testing vs functional testing
Exploratory Testing :
- No knowledge is required on the application or domain knowledge
- Lower documentation is the motto
- Low efforts in test designs or test creation/executions
- Defects identified in exploratory testing is not easy to reproduce due to lack of detailed steps
- Critical issues found during early life cycle of development
- No Clear measure of what is being tested and the test coverage
- No RTM is available
- Not Suitable for automation
- Adhoc Defects are identified based on the skill or knowledge of the tester
- Test outcome based intelligence of the tester
Functional or Scripted Testing
- In-depth knowledge is required
- More documentation
- High efforts in test designs
- Easy reproduction due to clear steps
- Only issues are find based on test steps
- Clear measure of what is being tested and the coverage
- RTM is available
- Suitable for automation
- Defects are identified via test cases
- Test outcome based on coverage
What is Exploratory testing charter?
Normally the exploratory testing is the unstructured testing, now this technique is widely used in the agile and DEVOPS, where measurement is very important.
If we do not start measuring when it will start testing and when it will end, cost involved with the exploratory testing without planning it would be disaster.
Hence there is new concept has been introduced where we clearly define the scope and defined in the mission statement for this activity.
This entire process of defining the charter for exploratory testing is known as “session based testing”
Session based exploratory testing defines the testing in more structured way by adopting entry and exit criteria to measure the success of the exploratory testing each day.
Here the charter for the exploratory testing is provided in 1 line summary what will be accomplished in each day with the time bound their tests.[ such as defining he what features will be tested and what features won’t be tested. etc.
In this approach if we have multiple testers in your project then you will have write the charter for each testers and approach here is each does not testing in different area and different way or technique.
Also requires to define in the exploratory testing charter how we log the defects found during course of exploratory testing. What all the detailed information required to be provided to reproduce the issues.
It is also advice to document the tester notes during the course of testing that helps to look back when it is required.
Exploratory Testing Charter Example
Login page Charter
- Mission Statement : Verify Login Page
- Efforts : 30 Mins
Items to be tested in the Login page with various data combinations
- user name
- login button
Exploratory Testing Tools
There are various tools available in the market to utilise in the exploratory testing to track the testing such planning, documenting the notes and logging the issues. I am trying to list few tools
- Rapid reporter.
- q-Test explorer.
- JIRA Capture.
- Session tester.
- Test studio explore.
- Screen Recorders
- Sticky Notes
- Browser Dev Tools