Over the past decade, eXtreme Programming practices like User Stories, Test-Driven Development (TDD), Behaviour Driven Developer (BDD), Refactoring, Continuous Integration, Exploratory Testing and Automation have fundamentally changed how testers work.
The industry has quickly realised that “inspection is wasteful” and the real value a tester can provide to teams is to help them to stop the bugs from getting in the first place, rather than just reporting bugs after they’ve been introduced.

Learning Outcome
- Understand Agile and Lean values and principles
- Experience a simulated Traditional and Agile project
- Learn how to adapt their testing practices in an Agile context
- Learn how Session-Based Exploratory Testing fits on Agile projects
- Learn how to create lightweight test documentation using Gherkin language
- See demonstrations of open source testing tools commonly used by Agile teams
- Understand how Acceptance Test Driven Development results in executable requirements
- Understand how to apply test analysis and design skills when eliciting requirements and acceptance criteria from business stakeholders
- Discover the evolving role of the Agile Tester on Agile projects

Course Outline
Agile Mindset
- Agile Overview
- Role of an Agile Tester
- Techniques for building Quality into the process to enable Mistake Proofing
Type of Testing
- Brian Marick’s Testing Quadrants
- Strategies for Inverting the Testing Pyramid
- Introduction to Developer Testing Practices
- Exploratory Testing practices
- Overview of Continuous Integration Practices and Environments
Discovering User Stories
- Quick introduction to User Story Mapping
- Defining SMART Acceptance Criteria
Specifying Scenarios
- Importance of Scenarios (The Power of Examples)
- Effective Collaboration techniques to flush out valid Scenario
- Documenting Scenarios with Gherkin
- Patterns for Writing meaningful Scenarios

Automating Scenarios
- Effective tools to Automated your Scenario
- Automating Scenarios: Getting Beyond the Basics
- Dealing with Obstacles: Randomness, External Systems, etc.
Implementing Behaviour-Driven Development
- Driving Implementation and Design from Scenarios
- Creating an Application from Scratch using Scenarios
- Automation Hazards
- Safe Automation Practices
Training Details
Method of Instruction
Interactive Dialogues, Programming Exercises, Demos and Instructional Games
Transfer %
Knowledge: 40%, Skill-Building: 60%
Target Audience
- Primary: Sr. Object-Oriented Programmers, Architects, and Designers
- Secondary: Technical Managers, Business Analysts, Testers, Technical Writers
Course Level
Intermediate to Advanced
Course Prerequisites
- Required: some understanding of OO concepts and an OO language
- Highly Recommended: basic understanding of the life-cycle of software projects
General Requirements
- HDMI projector (1024×768 minimum) & Projector screen
- 1 White board & Dry erase markers
- Cluster seating with 5-6 people on each table
- 1 Flip chart with the stand and marker pens for each table
- Notepad and Pen for each participant
- Ample room for students in terms of room size and set up
- For Dev trainings: at least one powerful workstation between two programmers
Development Tools
Java
- Latest Java JDK
- Latest Standard Eclipse OR IntelliJ Idea
- JUnit, Mockito, JBehave, FitNesse or Cucumber
C#
- Latest .Net Framework
- Latest Visual Studio
- Latest ReSharper Plugin
- Latest JetBrains Rider
- SpecFlow‘s Visual Studio IDE Integration or FitNesse
JavaScript
- Latest WebStorm JavaScript IDE
- Latest Chrome Browser
- Latest Jasmine Framework
- Latest Jest Framework
- Latest JsTestDriver
C/C++
- Latest Eclipse CDT OR Visual Studio
- Latest GTest
- Latest Visual Studio
- Latest CLion
Ruby
PHP
Flex
- Latest Flex SDK
- Latest Flash Builder OR IntelliJ Idea