对软件中的最小可测试单元进行检查和验证:
一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
###测试什么### 比较简单的办法是为产品工程建立对应的测试工程,为每个类建立对应的测试类,为每个函数(很简单的除外)建立测试函数。私有函数也要测试。可以用一种简单的方法区隔需测试的函数:简单的函数如数据读写函数的实现在头文件中编写(inline函数),所有在源文件编写实现的函数都要进行测试(构造函数和析构函数除外)。 : ###什么时候测试### 先编写产品函数的框架,然后编写测试函数,针对产品函数的功能编写测试用例,然后编写产品函数的代码,每写一个功能点都运行测试,随时补充测试用例。
测试用例 Test Case 是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例,实测使用的数据。
所谓先编写产品函数的框架,是指先编写函数空的实现, 有返回值的直接返回一个合适值, 编译通过后再编写测试代码,这时,函数名、参数表、返回类型都应该确定下来了,所编写的测试代码以后需修改的可能性比较小.
###关于桩代码 mock ### 单元测试应避免编写桩代码 (mock). 采用由底向上的方式进行开发,底层的代码先开发并先测试,可以避免编写桩代码,这样做的好处有:减少了工作量;测试上层函数时,也是对下层函数的间接测试;当下层函数修改时,通过回归测试可以确认修改是否导致上层函数产生错误。
##集成测试## 它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。
自顶向下测试 从主控模块(主程序)开始沿控制层向下移动,把模块一一组合起来。分两种方法:
组装过程分以下五个步骤:
自底向上测试
从程序模块结构中最底层的模块开始组装和测试.不再需要编制桩模块.