一、单元测试目的:将模块的功能与定义模块的功能规格说明或接口规格说明进行比较。
二、测试用例设计
第一步:列举程序中所有的条件判断,包括if语句和循环语句的判断条件。
第二步:将所有判定所需要的输入状态列表。
第三步:设计测试用例,原则:用最少数目的测试用例满足最多的判定条件。
过程如下:先采取条件/判定覆盖准则和多重条件覆盖准则设计测试用例。再根据每个判断条件,使用黑盒测试的方法(如因果图法、边界值法等)对每个边界的判断进行列表。最后判断哪些边界调节没有被覆盖到,设计相应的测试用例。
具体使用详见《软件设计的艺术》5.1节。
三、增量测试
1. 非增量测试:先对每个模块进行测试,再将模块组装或集成为完整的程序。但缺点是需要准备大量的驱动模块和桩模块,且经常会出现模块间接口错误和假设相关的错误,此时再测试可能需要花费很多成本。
2. 增量测试:将下一个要测试的模块组装到前面已经测试过的模块集合中去。优点是可以较早地发现模块中不匹配的接口,相当于尽早对模块做了组合测试,且增量测试会将测试进行得更彻底,因为新加入的模块可能会暴露之前模块存在的缺陷。增量测试分为自顶向下的测试和自底向上的测试。
3.驱动模块和桩模块
假设执行模块A需要调用模块B,即A->B。在测试模块A时,需要编写一个小模块,将测试用例作为输入参数由驱动模块传递给模块A。在驱动模块中,不仅要把测试用例驱动到被