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.

THIS TRAINING COURSE WILL HELP YOU:

  • Write testable C++ code and structure components
  • Apply unit and integration testing in real projects
  • Isolate dependencies using mocks and test doubles
  • Understand code quality analysis and test coverage

WHO SHOULD ATTEND?

  • Developers working on software projects and products
  • Programmers building desktop, server, or embedded systems
  • People interested in testing and maintaining software quality

COURSE LOCATION AND AVAILABLE DATES



Public courses are usually delivered in Czech, but this course is also available in English. We can arrange private training for your team online, at your premises or in our classrooms, and tailor the content to your needs.

For groups of around 4 or more participants, private training can already be comparable in price to booking individual places on a public course. Send us your requirements and we’ll recommend the best format and provide an exact quote.

Request training in English

Course content:

Hide details
  • 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++
Prerequisites:
Good knowledge of C++ programming.
Recommended previous course:
C++ – Practical Programming for Advanced Developers (CPP2)
Schedule:
3 days (9:00-17:00)

Training and learning environment