Date of Award


Degree Type


Degree Name

Master in Advanced Studies (MAS)


Computer Science


Ned Nedialkov




Domain experts, who create mathematical models and then implement scientific computing software typically focus on their models and implementation, but often pay less attention to systematic and extensive testing of their software. One reason for this situation is that domain experts usually lack software testing experience and know little about testing tools. However, it is desirable to introduce software testing techniques and tools into the development process of scientific computing software.

This thesis originates from testing the scientific computing package DAETS, Differential-Algebraic Equations by Taylor Series. Documentation driven testing, code coverage analysis, and software testing tools are utilized to help verify and improve the quality of the software in this testing project. First, static inspection is used to check the correctness and completeness of the user guide, and verify the consistency of public interface information between the user guide and the source code. Then, black box test cases are designed based on public interface specifications in the user guide. After that, by executing code coverage analysis, test cases are added based on white box testing. Finally, the automatic testing framework tool CppUnit is used to automate the testing process, which greatly facilitates regression testing. In the DAETS testing projects, 163 test cases (more than 5000 line test code) are implemented, 27 documentation and software defects are found, and 150 lines of dead code are removed.

McMaster University Library