软件测试框架
程序最重要的是
稳定性
,而不是花销的算法,或是性能,或是节省空间多少。
如何保证程序的稳定性?
代码规模越大,越容易产生bug,这里的bug分两种, 一是逻辑上的bug,二是程序挂掉。通常避免系统的bug办法是做单元测试。
单元测试是保证每一个模块,每一个函数运行正确,不管输入什么参数,都应该正确的输出结果。只要每个子模块都运行正确,那么集成系统的时候就是正确的。核心公式:
输入 -> 输出 = 预期输出?. 统计成功次数
软件框架:
模块化设计:每个模块是一个文件,测试也是一个文件,测试文件调用模块文件的api。
测试框架:
编写CHECK_EQ函数,这个函数的功能是校验输入的值经过要测试的函数输出值,以后跟预期的值有没有一样,然后统计结果。
在构建系统中加入 -ftest-coverage -fprofile-arcs 可以做覆盖性测试。
具体参考 unittest