Anyone involved in software development projects, including developers, business analysts, and quality assurance analysts.
TR – Software Development – Acceptance Test Driven Development
This course had good material and was very relevant to what we do.
Experience with Java and object-oriented development.
Learning Objectives & Approach:
Through a mix of lecture and hands-on practice, students collaborate as a team to apply concepts in incrementally more complex labs.
Course participants are given a set of requirements and work as a group to specify acceptance criteria and translate them into behaviours using Gherkin language and Cucumber. These tests are designed to fail at first, requiring students to use unit tests. This isolates the development of the system interface and all subsequent code and design until all unit tests, and executable requirements, pass.
Upon completion, students will be able to create acceptance tests that accurately transform user requirements into product specifications to improve development speed, quality, and efficiency.
Defining acceptance criteria and behaviours:
- Applying the TDD cycle
- Balancing BDD and unit testing
- Unit and acceptance testing limitations
- Structuring tests
Designing effective, independent, fast tests:
- Dummies, stubs, fakes and mocks
- Object design and TDD
- Detecting suspicious code
Applying techniques for refactoring code:
- Testing legacy code
- Tools for unit testing, code coverage, and BDD