C++ – Creating Automated Tests (CPP7)
Programming, C, C++
Software testing is essential for building reliable, maintainable systems. In C++, testing brings specific challenges such as memory management, performance and strong typing, plus extensive compile-time optimizations that affect test strategy and tools.
Course focuses on automated testing from unit-level to component integration, emphasizing testable design, dependency isolation and practical use of modern testing frameworks. Materials target C++20/C++23/C++26 and can be adapted for older standards on request.
Location, current course term
Contact us
The course:
Hide detail
-
Principles of automated testing in C++
-
Unit testing of functions and classes
-
Testing frameworks (GoogleTest, Catch2, doctest)
-
Structure of a test project and test organization
-
Testing templates and generic code
-
Dependency isolation and working with mock objects
-
Testing exceptions and error conditions
-
Testing parallel and asynchronous code
-
Testing without dynamic allocation (embedded scenarios)
-
Integrating tests into CMake and CI/CD pipelines
-
Measuring code coverage and assessing test quality
-
Designing a testable architecture in modern C++
-
Assumed knowledge:
-
Good knowledge of C++ programming.
-
Recommended previous course:
-
C++ – Practical Programming for Advanced Developers (CPP2)
-
Schedule:
-
3 days (9:00 AM - 5:00 PM )
-
Language:
-