模块(单元)测试
模块测试是对程序中单个子程序、子程序或过程进行测试的过程。
优点有:
1.由于模块测试的注意力一开始集中在程序较小单元上,因此它是一种管理组合的测试元素手段;
2.其次模块测试减轻了调试(准确定位并纠正某个已知错误的过程)的难度;
3.模块测试为同时测试多个模块提供可能,让软件测试任务可并行进行。
模块测试的目的是将模块的功能预定义模块的功能规格说明或接口规格说明进行比较。(说明实现与需求存在差距。)
5.1 测试用例的设计
模块设计用例需要模块的规格说明和模块的源代码。规格说明一般规定了模块的输入和输出参数一级模块的功能。
模块测试总体面向白盒测试。用例设计方法可概括为:
模块测试使用一种或多种白盒测试方法分析模块的逻辑结构,然后使用黑盒测试方法对照模块的规格说明以补充测试用例。
第一步是列出程序中所有的条件判断。
多重条件覆盖准则要优于其他准则;任何逻辑覆盖准则尚不足以胜任作为生成模块测试用例的唯一手段。
5.2 增量测试
非增量测试:独立测试完成每个模块的测试,然后组装;
增量测试:先将下一步要测试的模块组装到测试完成的模块集合中,再进行测试。
结论:
1.非增量测试所需的工作量要多一些。对于图5-7所示的程序,需要准备5个驱动模块和5个桩模块(假设顶部的模块不需要驱动模块)。自底向上的增量测试需要5个驱动模块,但不需要桩模块。自顶向下的增量测试需要5个桩模块,但不需要驱动模块。增量测试所需的工作量要少一些,因为使用了前面测试过的模块来取代非增量测试中所需