Developer-Driven Testing for Software Engineers
If you are a Software Development Engineer, a Test Engineer, or a technical Engineering Manager, you know that implementing an effective developer testing strategy is crucial for successful software development.
In this code-driven Learning Program, you’ll learn how to design the optimal set of tests cases and ensure you have enough testing coverage, test during development instead of after, design software for testability, fix untestable code, and test your code in isolation from external dependencies.
You’ll also learn how to apply developer testing to new or legacy code, use automated testing best practices, avoid common pitfalls, deliver quality software at any time, and sync releases with integration milestones.
Hands-on design and coding labs let you master these test case design techniques and coding practices so that you can deliver high-quality maintainable software and automated tests effectively and efficiently.
Great developer testing programs are built with these skills
You’ll learn them all in the code-driven, hands-on Developer-Driven Testing for Software Engineers and why they’re important. If you’re a Program Manager, Project Manager, Scrum Master, manager, or developer planning a developer testing strategy and want to get a handle on the key concepts, you might want to begin with Developer Testing Core Skills.
Topics at a glance
Before your program starts
Developer Testing assessment to discover where your program is strong and where it needs improvement.
Why you need developers doing testing
The high cost of finding defects late in the process
Which issues introduce the most defects?
Types of automated testing and when to use each
Run automated tests as part of CI/CD
Automated unit testing using XUnit
Grow your tests with your code using TDD and ATDD
Designing test cases
Test design techniques for maximum coverage & minimum tests
Test contracts and behavioral tests
Domain coverage, test pairs
Ensuring code coverage & designing for testability
Decision tables, branch coverage, basis path coverage
Control flow graphs, condition coverage
Designing testable software, identifying untestable code
Designing for easier code & test case maintenance
The key tenets of testability
How to measure and reduce code complexity
Single Responsibility Principle (SRP)
Law of Demeter and the Principle of Least Knowledge
Replacing dependencies with test doubles, best practices, & pitfalls
The problem: unit tests impacted by external dependencies
Design for testing in isolation via dependency management
Dependency replacement techniques
Dependency injection techniques
Types of test doubles
Using developer tests as part of CI/CD pipeline
Continuous integration & testing in hybrid agile
Planning releases & syncing with external milestones
Developer testing for new or legacy code
Six things you should do to benefit from developer testing
Why are our Learning Programs so effective?
We interviewed more than 400 software leaders around the world and what did they request?
Customized, minimally disruptive virtual sessions that focus on real-world results through a balanced mix of coursework, self-study, and expert mentoring.