Exploratory Testing

Tram Ho

Discovery testing helps quality analysts and others engage in the testing field to ensure that systems and applications work correctly for users’ desires. Exploratory testing is often misunderstood as an approach but there are a few notes you can help us to avoid confusion.

Discovery experiments include exploration, investigation and learning activities. It emphasizes personal freedom and responsibility of individual testers.

1. What is discovery experiment?

Discovery testing is a type of test in which test cases are not created beforehand, but testers can test the system quickly. They can record ideas about what to check before performing the test. The focus of discovery testing focuses more on testing as a “thinking” activity.

In scenario testing, it is necessary to design test cases first and then carry out the test. In contrast, exploration testing is a simultaneous process, test design and test execution are carried out simultaneously.

Scenario test execution is often a thoughtless activity in which the tester performs the test steps and compares the actual results with the expected results. Such tests can be automated without requiring a great deal of cognitive skills.

Differences between scenario testing and discovery testing

Tested by scriptTest exploration
Given the requestMake inquiries and discoveries during testing
Identify test cases before the testing process takes placeIdentify test cases during testing
Purpose to confirm testing against requirementsPurpose to investigate, learn the system or application
Emphasize anticipation and decision makingEmphasis on adaptability and learning
Related test has been confirmedRelated to the investigation
Centralized control testingFocus on improving the test design
Control by scriptControlled by the mind of the tester

Although the current trend in software testing is to promote automation, automated testing has its limitations. Discovery and exploration testing is a new way of thinking.

2. When should probe testing be used?

  • In the early stages of the software development life cycle, when there is a rapid change in programming code, the use of exploration testing can be highly effective.
  • Developers can use this technique to perform unit tests, while testers can familiarize themselves with the application using this test method.
  • Experience gained from discovery testing can be valuable in preparing test scenarios and performing additional testing in later stages of the software development cycle.
  • In the agile development model, there are short scrum cycles and little time to develop the official test design and scenario. Exploration testing is a good fit for this model as it keeps up with short scrum cycles.
  • While conducting the exploration test, the test plan is quickly developed which saves a lot of time for the tester. At the end of each scrum cycle, important exploration tests can be recorded for subsequent scrums.

3. How to perform discovery testing

Preparation for an exploratory test goes through the 5 stages detailed below and it is also called session-based testing management:

a. Create an error sorting rule (classification)

This classification is based on the following factors:

  • Classification of common error types found in previous projects
  • Root cause analysis analyzes problems or errors
  • Find risks and develop ideas to test applications.

b. Test charter: Test charter

  • Test rules should include: Testing what; How to check them; What needs to be considered
  • The idea of ​​experimentation is the starting point of exploration testing
  • Test charter helps determine how end users can use the system

c. Timebox: Time box

  • This method involves a pair of testers working together for not less than 90 minutes
  • There shouldn’t be any interruption in that 90 minute session
  • Timebox can be extended or reduced by 45 minutes
  • This session encourages testers to respond and respond from the system and prepare for accurate results

d. Result of evaluation

  • Assessment of defects
  • Draw lessons from the experiment
  • Analysis of coverage area

e. Exchange

  • Summary of outputs
  • Compare results with rules
  • Check to see if any additional testing is needed

It is important to document how the following works:

  • Test scope – Whether we have noted the coverage of the test cases and improve the quality of the software
  • Risks – Which risks need to be insured and which are the important risks?
  • Test execution log – Record of test execution
  • Issues / Queries – Notes on questions and problems on the system

4. Method of performing discovery test

a. Guess

The guess used to find a part of the program is more likely to have errors. Previous experience working on a similar product / software / technology helps to make better predictions

b. Architectural diagrams and use cases

Architectural diagrams that describe the interactions and relationships between different components and modules. Use cases provide an understanding of the use of the product from an end user’s perspective. Exploration techniques can use these diagrams and use cases to test products.

c. Past defect

Studying the flaws reported in previous releases helps understand the features of the software that are expected to have maximum defects.

d. Error handling

Error handling is a piece of coding that takes appropriate action in the event of an error. Exploration testing can be performed using different scenarios to test for error handling.

e. Discuss

Exploration testing can also be planned based on the software’s understanding of project discussions and meetings.

f. Questions and checklist

Questions like what, when, how, who and why might provide clues for discovery software testing.

5. Advantages of exploration testing

  • This test is useful when the required documents are not available or partially available
  • It is related to the Investigation process which helps find more errors than conventional testing-
  • Discover errors often overlooked by other testing techniques
  • Help broaden testers’ imagination by performing more and more test cases that eventually improve productivity
  • This test goes into the smallest part of the application and covers all requirements
  • This test covers all types of testing and it covers different situations and situations
  • Encourage creativity and intuition
  • Generate new ideas during test execution

6. Disadvantages of exploration testing

  • Because the tests are randomized and taken, they cannot be reviewed in advance and it is difficult to indicate which tests must be taken.
  • Test results depend on the knowledge, skills and experience of testers.
  • Getting to know an app takes time, so it’s likely that the errors are missed if the tester has little knowledge of the website or application.
  • Not suitable for applications that require a long execution time

Method to use discovery experimentation effectively

In order to apply the discovery test most effectively, we should refer to the following methods:

  • Focus on the goal

Probe test helps you perform the system as a user while actively searching for errors. Focus on these goals to maximize the value of the tests. Keep in mind that exploration testing can complement other test methods to test systems in different ways.

  • Planning tests, but not creating scenarios for them

Do not test polls if you are following a scenario. However, exploratory testing does not mean testing without control or good practice. We still need to plan an inspection first. Planning helps clarify specific aspects of the system you want to test including special data requirements or system desires.

  • Do not try to test too much

The purpose of exploratory testing is not a scope of quality assurance, this is the finding of defects and problems in the system that we will not find through other forms of testing. Usually these defects arise through boundary test cases, but that does not mean they are low impact. The essence of exploration testing is to focus on parts of the system that are outside the normal usage model and are less likely to be tested thoroughly.

  • Testing exploration is a professional activity

Typically, discovery testing requires higher skill and experience than other testing techniques. Operating on the skill of the test taker, make sure the test taker is the best and trustworthy.

  • Keep a clear record of what you did

Make a clear record of what you did, how you did it and what problems you discovered. This is useful for future process optimization.

  • Use probe testing together with automated testing

Automated test checks the system performs according to the identified needs, test checks the test system performs as the user might expect. It is therefore important to combine both test types to ensure that the values ​​of both probe and automated testing are done, for example, when a probe test finds an error, you can add a test Automatic test to prevent the problem from happening again.

  • Performance and non-function can perform exploration test

Performance and non-functional testing can also be exploratory, for example, monitoring the increasing load on the system or measuring the time it takes to complete to the end. Although performance and other non-functional tests are limited in scope, they can still be explored

  • Choose the techniques of Exploration Testing to meet your needs We need to study current exploration test techniques; Establish a common understanding of the techniques that will be used and share this with all stakeholders; Define scope (including time, procedure and when the test will be used); Ensure the system is built to support exploration testing
  • Do not confuse probe testing with user acceptance testing

User acceptance is a test operation that can be performed in a tentative test manner. Do not confuse working with necessary testing type.

Exploration testing is not a stage of the development life cycle; It is an approach and technique that should be used throughout the life of the project. As soon as the modules of a system in development have a thread that can be checked by reference, you must check that thread.

  • Make sure you have the right to use the support tools

There are many different tools that you can use to perform discovery testing, from fully automated video and recording tools, to planning tools, to process diagrams and characterization calculations. feature with the time planner included. However, the only tool you really need to perform the discovery test is a pen and some paper.

The tools are great, but don’t skip the discovery experiment if you don’t have access to them.


Above is some of the information I summarized from the articles on the internet, may not be comprehensive. You can comment with me in the comments.


https://www.guru99.com/exploratory-testing.html https://www.testingexcellence.com/exploratory-testing-tips-best-practices/ http://tryqa.com/what-is-exploratory-testing -in-software-testing /

Share the news now

Source : Viblo