This course requires participants to have taken an Introduction to Agile course.
This course is designed to train both technical and business facing agile team members in the Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD) processes. The topics for discussion include the ATDD/BDD process, executable documentation, using a ubiquitous language, overview of ATDD and BDD automated tools, ATDD/BDD incorporation into the CI/CD process, ATDD/BDD relation to TDD and automated testing, metrics and reporting and how to use ATDD/BDD to bridge the agile QA gap. Concepts are explored related to support and integration of ATDD/BDD tools with both xUnit and Functional Automated Tests. Labs will be part of the course experience and the ATDD/BDD labs will deeply explore proper test case writing using the “Given,” “When,” “Then” format, executable acceptance criteria and explain how these concepts can drive your TDD and automated testing process. Acceptance Test Driven Development and Behavior Driven Development are intended to foster collaboration between the technical and business side of agile teams and this course will explore in detail how this can be accomplished.
This course is designed for agile team members who desire to increase the agility of their team by incorporating the ATDD/BDD processes into the agile methodology. The participant must have a clear understanding of agile concepts.
Upon completion of this course, participants will understand:
- The BDD outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, and agile methodology
- ATDD and BDD’s role in agile development
- BDD specifies that tests of any unit of software should be specified in terms of the desired behavior of the unit
- How Cucumber and Fitnesse integrate with xUnit and functional automation tools
- How to analyze agile stories and write BDD “given”, “when”, “then” test scenarios and ATDD executable acceptance criteria
- How to recognize ATDD and BDD’s role in answering TDD questions of, where to start in the process, what to test and what not to test, how much to test in one go, what to call the tests and how to understand why a test fails
ATDD/BDD’s Effect on Automation
ATDD’s Role in Agile
BDD’s Role in Agile
BDD Feature Injection
BDD Bad Practices
TDD problems solved by ATDD/BDD
Driving all Automation with ATDD/BDD
Using a BDD Framework Tool with Unit and Functional Automation (Cucumber + Gherkin)
Using a ATDD Framework Tool with Unit and Functional Automation (Fitnesse)
Steps to a Successful ATDD/BDD Implementation
Using ATDD/BDD with CI/CD and DevOps (XBDD)
Reporting and Metrics
Using ATDD/BDD to bridge the Agile QA Gap