Skip to content

Exploratory Testing in an Agile Environment

Home » Blogs/Events » Exploratory Testing in an Agile Environment

If automated testing is the backbone of agile testing, then exploratory testing is the heart. Like any ‘good heart’, agile exploratory testing seeks to understand the ‘why’ and ‘how’ of a user experience (UX) through empathy. To be successful, both developers and testers must explore user needs and desires to create the ultimate user experience. In this sense, exploratory testing offers agile teams a way to connect with UX.

The shift to software development models like agile requires quality to be agile, as well. Here, agility means providing feedback and status updates early, and often, while integrating into agile’s rapidly iterative development process. Agile test teams need a solution to support their fast-moving new reality while providing comprehensive testing.

What Should Agile Testing Look Like?

agile exploratory testing - stories to do - in progress - testing - done

Automated testing might be the backbone of agile, but it can’t always address the complexity of finding defects related to usability, performance, reliability and other software quality metrics. Automation won’t tell you which UI aspect irritated or confused the user, only that it functioned properly. As we all know, to gain market share it’s imperative your software does more than simply ‘function properly’. It must meet user expectations and needs.

Enter exploratory testing, the ‘heart’ of agile dev. Exploratory testing is exactly that – exploratory. It combines the knowledge, intuition and experience of testers to predict and expose software ‘gotchas’ without extensive and time-consuming planning. Exploratory testing also teaches us empathy for the experience of using a feature in a way that scripted testing can’t. It might take a few minutes more, but these qualities make exploratory testing uniquely beneficial to the agile environment.

Why Incorporate Exploratory Testing into Your Agile Toolkit?

Automated testing may feel eminently suitable for the rapid pace of agile, and to a large degree, it is. For testing functionality, performing repetitive steps, and creating reusable stories automation is hands-down the favorite. Seriously, I’ve even created ‘quick actions’ in a proprietary CMS just to relieve the tedium of selecting the same choices over and over for every piece of content! While this experience isn’t test focused, it’s nonetheless an example of automating repetitive processes to save time and money. Tasks like this are why many agile teams forego manual testing in favor of automation. Time is money — and running automated tests takes less time. However, this is a short-term view.

Interestingly, researchers found that exploratory testing uncovers 11% more defects than automated testing. In addition, exploratory testing was found to generate fewer false positives than scripted testing. Finding more defects while devoting less time to false alarms creates less technical debt — time spent is not time wasted. Rather, time spent is used to craft a UX that ensures success. The analytical among us would call this strategy the long- term view.

Agile Exploratory Testing – Benefits

Armed with knowledge of the application under test, functional areas to explore, and a bit of curiosity, the goal of an agile tester is to find defects as they test, instead of writing tests to find defects.

Benefits of Exploratory Testing:

  • Useful for testing hard-to-document complex or multi-function processes where the result is difficult to predict
  • Offers insight into defect blind-spots that are often overlooked in scripted testing
  • Exploratory test documentation provides not only defect reporting, but reports on questions raised or clarifications needed during use
  • Provides perspective from the user POV
  • Is a practical way to explore risk in a functional area to determine if test automation is needed
  • Useful when rapid feedback is required on a system, an area of functionality, a feature, or an area that might be risky to modify

Agile Exploratory Testing for the Win

Agile development depends of rapid iteration and release. From the agile quality point of view, every change in the system must be tested as close as possible to the time the change is made. This lowers the risk of late defect detection, and the associated costs. Exploratory testing then becomes an efficient tool in agile development by reducing the time spent authoring and preparing tests, while optimizing feedback time. In this manner, exploratory testing aligns with the Agile manifesto’s second value: “working software over comprehensive documentation”.

Contact Us

Author:

Gary James, President/CEO

Over the last 35+ years, Gary James, the co-founder and president/CEO of QualityLogic, has built QualityLogic into one of the leading providers of software testing, digital accessibility solutions, QA consulting and training, and smart energy testing.

Gary began his QA journey as an engineer in the 1970s, eventually becoming the director of QA in charge of systems and strategies across the international organization. That trajectory provided the deep knowledge of quality and process development that has served as a critical foundation for building QualityLogic into one of the best software testing companies in the world.

In addition to leading the company’s growth, Gary shares his extensive expertise in Quality Assurance, Software Testing, Digital Accessibility, and Leadership through various content channels. He regularly contributes to blogs, hosts webinars, writes articles, and more on the QualityLogic platforms.