top button
    Connect to us
      Why to Join

Why Exploratory Testing Should be an Integral Part of your QA Strategy?

+7 votes
812 views

When trying to think about agile and continuous testing, typically the associated testing activity that comes to mind is automated testing, fast feedback and as less as manual activities as possible.

While that’s true and that’s the goal of moving fast, there is still room and actual benefits to employ exploratory testing practices as part of the overall Continuous Testing processes.

As defined by James Bach in his piece ‘Exploratory Testing Explained’, – Exploratory Testing is defined as simultaneous learning, test design, and test execution.

exploratory testing-qualitrix

With that definition, it can clearly be understood that by using such practice, teams can gain several benefits.

When running exploratory testing in conjunctions with other test practices, the teams experience various test cases and scenarios and learn a lot about the product functionality, maturity, and its usability.

Such insights can be quickly shared with the various counterparts within the organization in the form of user feedback, and by that – drive changes faster and earlier in the process.

In that context, it is important to understand that usually, the person that executes the Exploratory Testing is a product expert, and that means that the value of his insights will serve both test automation engineers and developers.

As the digitalization of the world continues to grow, the various products that are being designed and developed are being changed (in many cases – ‘on the fly’).

To be able to respond to changes from a quality assurance perspective, teams often leverage exploratory testing for several reasons:

  1. Understand if the current implementation makes sense from a user perspective – does the product meet his business objectives?
  2. Exploratory Testing can serve as a foundation for more advanced automated tests.
  3. Provide fast feedback to the developer and business prior and/or in parallel to test automation development.
  4. Complement use cases that can simply not be automated.

To maximize the value of exploratory testing throughout the entire DevOps pipeline and to match the ongoing continuous testing efforts, it is important to fit these activities in the right stage or phase of the process.

Since Exploratory Testing answers the questions related to your features/user-story, ability to meet the business goals, and if so – does it meet these goals in a usable, consistent, and resource efficient manner? – Exploratory Testing is not just about covering functionality, it is also able to address the non-functional related aspects of your implementation.

These inputs back to the feature/product team are very critical and therefore the use of Exploratory Testing is being used by many organizations in 3 different stages:

  1. Per each user story implementation completion – validating that the functionality is met and works as expected in parallel to the automated tests.
  2. In parallel to full regression execution to assess that not only a user story functionality is working as expected, but rather, the entire product from an Exploratory Testing perspective has no regressions or issues.
  3. For major functionality introduced, teams would often open the Exploratory Testing tests to more than 1-2 testers to gather a larger set of feedback, and raise the level of confidence with the critical implementation

Conclusion

In an agile environment there is no doubt that the key velocity driver is automation and continuous testing/continuous integration, however, due to the nature or modern digital apps, there is a room and great importance to perform expert based exploratory tests within the various stages of your DevOps pipeline, in order to maximize product value, uncover user experience related issues that cannot be covered by automation or when covered by automation later in the process, are too risky to handle.

posted Sep 11, 2018 by Arunkumaarts

  Promote This Article
Facebook Share Button Twitter Share Button Google+ Share Button LinkedIn Share Button Multiple Social Share Button
Nice article, thank you for letting us know.

Related Articles
+8 votes

Here are the six skills you need to be an exceptional exploratory tester:

1.creative approach

creative approach or lateral thinking is when you solve a problem with a creative, indirect approach, and it usually involves seeing the issue in question in a new way that no one else has previously. Essentially, lateral thinking is examining a problem with a creative mindset. This creativity and lateral thinking become crucial to achieving success with exploratory testing. After all, it is impossible to find bugs and other issues without thinking outside of the box.

 

With lateral thinking skills, you see an app or website in a new light and see the various ways that users will interact with it. By getting creative regarding these interactions, you will discover bugs that would have otherwise been undiscovered.

2. Critical thinking

Critical thinking is a person's ability to think using reasoning in a rational manner. This manner of thought lets you discover a hidden relationship between various variables. As a result, critical thinking also increases the possibility of finding high-risk bugs that conventional thinking would not reveal. Critical thinking gets rid of the biases associated with personal beliefs, leading to a demand that you see valid reasons with an objective perspective.

 

As you think critically, you will come up with various arguments to justify explanations and codes, which leads to new hypotheses. Those who possess critical thinking skills will always be ready to make actionable suggestions because of their ability to weigh the consequences and risks associated with anything, including the search for bugs.

3. Investigation skills

It should come as no surprise that investigation skills are essential for exploratory testing, as the goal of the process is investigating and finding bugs. During exploratory testing, you can imagine that you are a detective on the scene of a crime, but you do not know what the crime is. You look for clues as to what seems out of place or could cause a problem, and use that information to figure out what crime occurred, or what bug the app or website has.

 

Investigation skills provide a methodology that exploratory testers can use to discover and reproduce bugs. More importantly, being comfortable with using these investigative capabilities allows you to stray from the set methodology when necessary. With investigation skills, you can set up a plan of attack when searching for bugs and will be familiar with the signs that your chosen method needs adjustments.

4. Storytelling skills

As hard as it may be to imagine at first, exploratory testing requires the ability to tell a story. In this case, it is not a story like those found in books; instead, it is the story of the app or website you test. As you examine it, you will create accounts of various uses for the software and how people will utilize it.

 

You then turn these stories into reality by following the steps the fictional person in your head would, resulting in either the seamless use or discovering bugs. When you find a bug, this is the climax of the story, leading to the resolution, or the team of developers making adjustments to eliminate the problem.

5. Communication skills

The ability to communicate with other members of the team is essential for any exploratory tester. This ability allows you to coordinate with additional inspectors, determining who will work on a particular aspect of the testing, so you do not overlook any part. Communication is also crucial for telling other testers about the bugs you found, letting you confirm that they are reproducible.

 

Once you find a bug, the communication skills are once again essential, making it possible to succinctly and accurately describe the issue as well as the steps leading up to it. Developers will need all that information to correct the bug, as well as the ability to ask you questions regarding the issue and receive clear explanations in response.

6. Technical skills

Some types of testing do not require vast technical skills, only a familiarity with the basics since they will not involve more than the user interface. Exploratory tests, on the other hand, may actually look at the full stack, from the user interface to the layers of software underneath. As such, you must have the skills to understand the programs and use general coding. Without that technical knowledge, you will likely overlook bugs that could have serious adverse effects on the software.

 

...