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

Custom Customized Training (date, location, content, duration)

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: