complex numbers

How to automate testing with CMake, CTest, and gtest

In this article, we will have a look at how we can integrate unit, integration, and system tests with CMake. We will see that CMake comes with additional helper utilities, one of which is CTest. We use CMake to register all tests and then compile them into individual executables, and we use CTest to run …

How to automate testing with CMake, CTest, and gtest Read More »

What is test coverage and how to use LCOV/GCOV for testing

In this final article on software testing, we look at test coverage. We discuss first what it is and what a good test coverage looks like. We then jump straight into an example and learn how to use gcov and lcov, two popular tools for reporting test coverage, and see how we can compute test …

What is test coverage and how to use LCOV/GCOV for testing Read More »

The test-driven development for writing bug-free CFD code

In this article, we will put the knowledge that we gained from the previous article on software testing principles into practice, and learn about different software project management approaches, that prioritise testing differently. We will see that there are two competing approaches available, the waterfall and agile approach, where the waterfall approach leaves testing to …

The test-driven development for writing bug-free CFD code Read More »