In this thesis we investigate methodologies of software testing and emphasize their importance between and after the development phase. Firstly, we introduce the main methods and levels of testing and review their practicality in the real world applications.
Next we implement a short program, which is then tested with two different software tools. We break down the source code into units and, based on their functionality, devise a test strategy and test profiles which serve as a ground for an efficient test plan.
For the demonstration of unit testing we choose Google Test framework and illustrate its usage. With the help of the framework, we construct unit tests, which are simultaneously executed and used for checking whether the units they test are fit for use.
In the end we focus on the potential memory leaks in our program. For this reason, we use software development tool Valgrind, with which we first test our program and then assess the quality of the tool itself by intentionally harming the tested source code.