Duration: 1 Day
Course Overview
Test automation on its own will not deliver the full effectiveness of modern testing. In fact, test automation if used incorrectly can just lead to expenditure and additional delay in software delivery. One key factor in making automation work for your team is to employ test automation as part of the development process itself. In doing this, the developer begins to author automated tests while developing the code that must pass these tests. This leads to full test suites with good code and business rule coverage. It leads to tests being a development tool used in code quality improvement, rather than a confirmation tool. It leads to tests being a version control merge conflict management tool. It leads to tests being the key weapon in making CI/CD tools prevent the build and release of broken software.
This module is a natural follow-on module for C1, though there is no requirement that they be taken in that order. The module is about half a day of taught content, and half a day of practical hands-on activity.
How can I attend my course?
Course Content
Introduction
• Classical testing after development
• Test-First Development
• Benefits of TFD
• Test-Driven Development: TFD + systematic code quality improvement
The TDD cycle
• Collating the business rules and requirements for a unit
• Authoring a test for a business rule and making it fail
• Authoring code to make the test pass
• Refactoring
TDD scenarios
• Adding new functionality to existing code bases
• Altering or replacing previously built functionality – test first
• Using TDD to remove functionality reliably
• Trapping defects using TDD
Using TDD in integration and functional testing
• Designing mocks and tests before code
• Running integration code under test
• Refactoring issues for integration testing
• TDD with legacy systems integration