- Make real-time decisions for better application testing
- Design your tests as you perform them
- Organize exploratory testing for you and your team
- Practice a session-based framework for exploratory testing
- Implement test charters to guide your testing
- Examine examples and real-world case studies
Many traditional test teams are augmenting their documented test plans and test cases with a structured, exploratory approach. Other teams adopting agile methods are replacing ad-hoc testing with exploratory techniques, allowing all development team members to effectively participate in product testing. Whether your organization is moving toward agile software practices or using a more traditional approach, exploratory testing can help you find important defects sooner.
Exploratory testing is all about simultaneously learning about the software you are testing while you are designing and executing the tests. It is used by developers for unit testing, independent testing teams for integration or system testing, and by customers implementing acceptance testing of developed or commercial off-the-shelf software packages.
In this highly interactive class, students learn about and practice session-based exploratory testing, a framework to organize testing into a series of time boxed missions or “charters.” In fulfilling a test charter, you use your skills and experience to adapt your testing actions as you learn what the application does. Through this process, one discovery leads to another and another as you explore the software under test. Exploratory testers add permanent value to projects by constructing practical notes, which provide short valuable logs that record what was discovered during each testing session.
Through a series of small group, hands-on exercises, students practice exploratory testing and improve their skills as they test. In addition, you will learn how and when to use exploratory testing practices in different project and organizational contexts. Review the tools that are available to organize and support exploratory testing, and capture data from exploratory testing sessions. Return to your team with new skills and processes to make your testing more effective—and more fun.
Who Should Attend
This course is appropriate for anyone who works in fast-paced testing environments, including test engineers, test managers, agile developers, QA engineers, and all software managers. Customers charged with acceptance testing and traditional unit testers will also benefit from the course.
2-Day Course Outline
Overview
Definitions
History
Styles
Strengths and weaknesses
Case studies
Lifecycle models
Context drivers
Getting Organized
Sessions
Charters
Focus and opportunity
Measures
Testing Skills
Observation
Reasoning
Test design
Failure analysis
Pivoting
Note taking
Tools
Capturing test data
Note taking and mind mapping
Test design
Combination testing
Test frameworks
References
Articles
Books
Courses
Web resources
Exercise Outline
Class exercises are used to illustrate concepts covered in the class. Students will work in teams of two, using open source tools for the exercises. We encourage you to bring applications from your work environment to use for some of the exercises.
Capabilities and Instabilities
What can the application do?
Areas of weakness?
What can break?
Variables and Emergent Behaviors
Discover variables
Explore emergent behaviors
Influencers and outcomes
Test oracles
Usage Scenarios
Who uses the software?
What do they do?
Can it be done?
Back-To-Back Testing
Side-by-side comparison
Discovering differences
Confirming capabilities
Test Design and Visual Modeling on the Fly
Equivalence partitioning and boundaries
Business logic
Decision tables
Exploring Quality Factors
Performance testing
Load testing
Stress testing
Class Daily Schedule
Training Course Fee Includes






