Testing C++ Applications: From Unit Tests to Integration Coverage
300 pages
English
PDF
4.5

Testing C++ Applications: From Unit Tests to Integration Coverage

Testing C++ Applications: From Unit Tests to Integration Coverage

Author:

Year:

Summary:

The book "Testing C++ Applications" is a comprehensive practical guide that covers all stages of creating high-quality C++ software. The author systematically takes the reader from basic concepts of unit testing to complex scenarios of integration and load testing.



Who is this book for?

  • Beginner C++ developers who want to master the culture of testing from scratch.
  • Middle and Senior engineers seeking to deepen their knowledge of mocking, TDD, and CI/CD pipelines.
  • Tech leads and architects responsible for codebase quality and implementing standards.


What you will learn:

  • Main types of testing: unit tests, integration, functional, and regression tests.
  • Working with popular frameworks: Google Test, Catch2, Boost.Test, doctest.
  • Creating mocks and stubs using Google Mock, FakeIt, Trompeloeil.
  • Principles of Test-Driven Development (TDD) with real-world examples.
  • Test automation: integration with CMake, CTest, GitHub Actions, Jenkins.
  • Testing asynchronous and multithreaded code.
  • Code coverage using gcov and lcov.
  • Advanced techniques: property-based testing (RapidCheck), fuzzing (libFuzzer).
  • Refactoring legacy code for tests and strategies for introducing testing into old projects.


Each chapter contains a theoretical part, code examples, and practical exercises. The book is written in a lively style, with complex concepts explained through analogies and visual diagrams. All examples are available for download in the GitHub repository.



Why you should read this book: Testing is not just a "checkbox" in the development process, but a tool that saves hours of debugging, increases confidence in the code, and allows for safe refactoring. The book will help transform testing from a routine into an efficient workflow.



The edition is suitable both for self-study and for corporate team training. After reading, you will be able to design testable architecture, write reliable tests, and implement a culture of quality in any C++ project.

Recommendations