Tests are one of the most important parts of any CD/CI system. It helps you to ensure that a section of an application or your new codes(the unit) meet their design and behave as intended. By writing tests first for the smallest testable units, then the compound behaviors between those, one can build up comprehensive tests for complex applications. You may ask what makes a good test? Tests should be independent, repeatable, portable, reusable, well organized, provide as much information about the problem as possible, and finally, tests should be fast. Google’s C++ test framework, has it all!