Enrol to start learning
Reading is open to everyone. Enrolling is free, and it is what unlocks the audio lessons, practice tests and progress tracking.
8.5. Exploratory Testing in Agile
Learn content
Interactive Audio Lesson
Unlock the classroom podcast
The transcript is free to read. A free account plays the conversation back.
Today, we are going to discuss exploratory testing. Who can tell me what they think exploratory testing is?
Isn't it when testers explore the application without following strict scripts?
Exactly, exploratory testing happens simultaneously with learning, test design, and execution. By using unscripted testing, we can uncover issues that scripted tests might miss. Can anyone think of a situation where that might be particularly important?
It could be really important in early-stage applications where things are still changing.
Great point! Exploratory testing is indeed valuable in early builds and can help identify usability issues or confusing workflows. Remember that you want to document your discoveries as you explore. Why do you think this documentation is necessary?
So we can communicate findings back to the team and make modifications if needed?
Exactly right! Documentation helps maintain a clear line of communication.
Unlock the classroom podcast
The transcript is free to read. A free account plays the conversation back.
Let’s talk about the value of exploratory testing in Agile. What are some benefits of this approach?
It can uncover edge cases that normal testing might miss.
Absolutely! It helps us discover how the application behaves in scenarios that weren't considered initially. Additionally, it focuses on user experience by addressing usability issues. Can anyone provide an example of an edge case that might be discovered through exploratory testing?
When a user tries to input an invalid email during registration?
Yes, that's a perfect example! By exploring these edge cases, we ensure a smoother experience for users. Now, let's discuss how we can structure our exploratory testing sessions. Does anyone know how to start a charter-based session?
We would choose a specific feature to focus on, like 'exploring the cart checkout flow for invalid inputs.'
Correct! By focusing on specific areas, we can use our time more efficiently.
Unlock the classroom podcast
The transcript is free to read. A free account plays the conversation back.
Now that we understand exploratory testing, how do you think it can integrate with automated and scripted testing?
Maybe we can use exploratory testing to find more areas that should be automated later down the line?
Exactly! Exploratory testing allows for the creativity and adaptability needed to improve our automated tests over time. It fills in gaps that scripted tests might not cover. Why is it important that exploratory testing remains flexible?
So we can adjust to changes in the application or the feedback from users?
Precisely! Agile emphasizes adaptability, and exploratory testing encapsulates that. It fosters a culture of continuous improvement. Can anyone summarize why exploratory testing is such an essential practice in Agile?
Because it allows us to catch issues early, focus on user experience and adaptively improve our testing strategies!
Excellent summary!
Overview
Short Summary
Exploratory testing in Agile emphasizes simultaneous learning and testing to uncover hidden issues within a product.
Medium Summary
This section describes exploratory testing as a valuable practice in Agile software development, highlighting its role in discovering edge cases and usability issues through unscripted exploration. It provides strategies for effective exploratory testing, integrating it into Agile processes with a focus on collaboration and continuous feedback.
Detailed Summary
Exploratory Testing in Agile
Exploratory testing is defined as a simultaneous process of learning, test design, and execution. Unlike traditional testing methods bound by predefined scripts, exploratory testing encourages testers to delve into the application and discover issues organically. This approach is particularly valuable during Agile sprints, as it allows QA teams to uncover edge cases and usability concerns that scripted tests may overlook.
Key Benefits:
- Uncovers Edge Cases: Discovering scenarios outside the usual test cases helps improve overall product quality.
- Ideal for Early Builds: Especially suited for software in its initial stages where requirements may still be evolving.
- Focus on User Experience: Testing can reveal confusing workflows and usability issues, enhancing the end-user experience.
QA Strategies for Exploratory Testing:
- Charter-Based Sessions: Testers can engage in structured sessions focused on specific features or workflows (e.g., verifying cart checkout for invalid inputs).
- Documentation: Maintaining a record of observations with screenshots and videos is crucial for clarity and communication within the team.
- Integration with Other Testing: Combining exploratory testing with automated and scripted tests ensures comprehensive coverage and quality assurance.
Overall, exploratory testing complements the Agile approach, promoting a culture of collaboration and continuous improvement among team members.
Audio Book
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free accountExploratory testing is simultaneous learning, test design, and execution, where testers explore the application without predefined scripts.
Detailed Explanation
Exploratory testing is a flexible testing approach that combines the learning process of understanding a software application with test case creation and execution all at the same time. Unlike traditional testing, which follows a strict script, exploratory testing allows testers to investigate the software freely, using their creativity and insights to guide their testing effort, rather than merely following pre-written instructions. This means that tester's own curiosity and intuition play a significant role in uncovering problems in the software.
Examples & Analogies
Think of exploratory testing like a treasure hunt in a new city. Instead of following a map, you wander the streets, observing interesting buildings and landmarks, maybe stumbling upon a hidden gem like a quaint cafe. This kind of exploration can reveal exciting discoveries that a set itinerary might miss, just as exploratory testing can uncover unique flaws or usability issues in software that scripted tests might overlook.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account● Uncovers edge cases that scripted tests may miss ● Ideal for early-stage builds and UI-rich applications ● Helps find usability issues, confusing workflows, and minor glitches
Detailed Explanation
Exploratory testing is especially beneficial in Agile environments for several reasons. First, it uncovers edge cases—scenarios that happen at the limits of normal functioning—that might not be considered in predefined scripts. This is crucial in Agile, where rapid changes to software can introduce unexpected behaviors. Secondly, it is particularly effective for early-stage software builds or applications with complex user interfaces, where not all functionalities might be fully developed. Lastly, it allows testers to identify usability problems, such as unintuitive workflows or minor bugs, that could affect end-user experience, thus ensuring the product is both functional and user-friendly.
Examples & Analogies
Imagine you're testing a new mobile app that helps users track their fitness goals. If you only follow scripted tests that check standard functions like login or inputting data, you might miss how the app behaves when a user tries to enter invalid information or how it looks when the screen orientation changes. Exploratory testing allows you to interact with the app organically and discover issues that might frustrate users, such as confusing navigation, ensuring that the app is not just functional, but also enjoyable to use.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account● Use charter-based sessions (e.g., “Explore cart checkout flow for invalid inputs”) ● Record observations and raise issues with screenshots/videos ● Combine with automated and scripted testing
Detailed Explanation
To effectively implement exploratory testing, QA teams can use guideposts called 'charters' that define specific areas or functionalities to explore during testing. For instance, a charter may instruct testers to examine the checkout process for scenarios involving invalid inputs. Additionally, testers should document their findings by taking screenshots or recording videos, enabling easier communication of issues to developers. Finally, exploratory testing should not stand alone; it can be enhanced by complementing it with automated tests and scripted tests to cover both broad and specific aspects of the application.
Examples & Analogies
Consider a chef who is experimenting with a new recipe. They might have a basic idea of the dish (like a charter) but will taste and tweak the seasonings as they cook and explore new flavors. Similarly, exploratory testing allows testers to adapt and modify their approach based on what they discover, all while still having some automated tests (the tried-and-true recipes) ensuring fundamental functionality remains intact.
--
Key concepts
Core takeaways and short definitions to help you quickly recall the key ideas from this section.
- Exploratory Testing:
A method of testing that focuses on simultaneous learning, test design, and execution.
- Chartered Sessions:
Focused exploratory sessions aimed at a specific functionality.
- Edge Cases:
Scenarios often overlooked in standard testing.
- Usability Issues:
Problems affecting the user-friendliness of an application.
Examples
Step-by-step examples to apply the section's ideas and test your understanding.
Testing the cart checkout process with various invalid inputs to see how the application responds.
Exploring different user workflows in a newly developed UI to identify confusing navigation paths and areas for improvement.
Memory aids
Imagine a hero testing a new castle, without knowing the layout, they seek out secret doors and hidden traps, learning as they go to find the best way to navigate.
E-UUC (Explore, Uncover, Understand, Communicate): The steps involved in exploratory testing.
Flash Cards
Glossary
Exploratory Testing
A testing approach that combines test design, execution, and learning without predefined test scripts.
Charter-Based Sessions
Structured exploratory testing sessions that focus on specific features or workflows.
Usability Issues
Problems that affect how user-friendly an application or feature is.
Edge Cases
Scenarios or inputs that occur outside of normal operating parameters, which may reveal issues during testing.