单位测试东西C++ Test简介
C++ Test是Parasoft公司出品的一个针对C/C++源代码举办自动化单位测试的东西。它可以对源代码举办三种测试:白盒测试、黑盒测试以及回归功测试。
白盒测试
C++ Test对C/C++源代码举办阐明,针对所有的类的成员函数(包罗:民众的、掩护的以及私有范例的)举办测试。测试的要领是判定当输入一个犯科的参数时,有关函数可否正确处理惩罚。(Record呼吁)在此状态下软件针对指定的文件、类可能是函数自动生成测试用例。
黑盒测试
差池源代码举办阐明,而且只针对类的民众接口函数举办测试。(Play呼吁)
在此状态下软件不自动生成测试用例,而是直接运行在"测试用例编辑器"中当前已有的测试用例(手工添加的)。
回归功测试
在修改源代码后用原有的测试用例举办从头测试。(Play呼吁)
发起在实际利用中首先用Record呼吁执行一遍白盒测试,让软件按照函数自动生成相应的测试用例,然后再按照需要手工添加一些测试用例,最后再通过Play呼吁执行一遍黑盒测试。
示例一
假设我们要测试如下一个类的成员函数:int mode2(int nParam),则在举办白盒测试时软件会自动为我们生成如下6个测试用例:
nParam = 1, 0, -1, 2147483647, -2147483647, 230
可以看出,软件测试用例的生成主要照旧测试一些界线值,譬喻最大值、最小值、0等。
示例二
假设我们要测试如下一个类的成员函数:void strcpy(char* dest, char const * src),则软件会自动生成如下9个测试用例:
(1) dest = NULL, src = NULL
(2) dest = "yPqKIJ!u_", src = NULL
(3) dest = "", src = NULL
(4) dest = NULL, src = "h)zn9b"
(5) dest = "BsmC,/i=zI6CT}pX", src = "HcI{BeP(J"
(6) dest = "", src = "% i?~TnON"
(7) dest = NULL, src = ""
(8) dest = "($MN<n;^", src = ""
(9) dest = "", src = ""
可见,假如我们的代码在实现时没有对各类大概环境(尤其是界线条件)举办非凡处理惩罚的话,则通过C++Test可以利便地发明这些潜在的问题。另外,对付一些非凡的测试环境,我们还可以手工建设测试用例。另外,回收C++ Test也可以辅佐我们查抄措施的编码环境,判定是否严格按编码类型举办开拓。
利用
C++ Test的利用较量简朴,即可以针对一个VC工程举办全面的测试,也可以一次只对一个C/C++源文件举办测试。
在试用中发明,假如项目较量大时,最好不要直接对一个工程举办自动测试,而应按文件一个一个地测试,不然可会会导致措施死掉。由于其是回收JAVA技能开拓的,所以在利用时最好利用运算速度较快的呆板。