Highlights
- Appreciate the benefits of testing as a design tool and not just a defect reduction technique
- Recognise the purpose and practice of refactoring in keeping a system supple and adaptable
- Know how to build up a set of unit tests
- Understand the consequences of dependency management on testing and code quality
Course Details
Programmer Testing
- Evidence of care · Testing viewpoint · Pragmatic testing · Automation · Bug pathology · Qualitative and constructive · Testing frameworks
Good Unit Tests
- Test quality · Good unit tests (GUTs) · Not-so-good unit tests · Fine-grained tests · Behavioural tests · Functional versus operational testing · Black-box tests
Testing Approach
- Testing sensibility: passive, reactive, active · Plain Ol' Unit Testing (POUT) · Defect-Driven Testing (DDT) · Test-Driven Development · Key TDD practices · The test-first cycle · Definition of done
More GUTs
- Cohesive and focused tests · Propositional test names · Example-based tests · Choosing example data · Quality of failure · What to include and exclude · Short test cases · Single level of abstraction · Anatomy of a test case (Given–When–Then)
Listening to Your Tests
- Feedback from testing · Reasons testing can be hard · Technical debt · Code smells · Refactoring · Dimensions of change · White-box testing issues · Coverage
Test-Driven Decoupling
- Unit testability and coupling · Unmanaged dependencies · External dependencies · Unit versus integration tests · Characterising testability · Singletons and statics · Test doubles · Doubling techniques in C++
Who should attend
Feedback
4.8 out of 5 average
"Overall I felt it consolidated my knowledge of C++ - filled in some gaps and corrected some misunderstandings in my knowledge, and reminded me of some important things I'd forgotten."
IH, Software Engineer, May 2021
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022