摘要:单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。如果选用机器测试,一般用 白盒测试法,多个模块可以同时进行。
3.5.3.3 测试策略与测试方法
3.软件测试步骤
软件测试实际上分成四步进行。
(1)单元测试。
单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。如果选用机器测试,一般用 白盒测试法,多个模块可以同时进行。
单元测试主要从模块的以下五个特征进行检查。
①模块接口。模块的接口保证了测试模块的数据流可以正确地流人、流出。
在测试中应检查以下要点:
·测试模块的输入参数和形式参数在个数、属性、单位上是否一致。
·调用其他模块时所给出的实际参数和被调用模块的形式参数在个数、属性、单位上是否一致。
·调用标准函数时所用的参数在属性、数目和顺序上是否正确。
·全局变量在各模块中的定义和用法是否一致。
·输入是否仅改变了形式参数。
·开/关的语句是否正确。
·规定的 I/O 格式是否与输入输出语句一致。
·在使用文件之前是否已经打开文件或是用文件之后是否已经关闭文件。-
②局部数据结构。在单元测试中,局部数据结构出错是比较常见的错误,在测试时应重点考虑以下因素:
·变量的说明是否合适。
·是否使用了尚未赋值或尚未初始化的变量。
·变量的初始值或默认值是否正确。
·变量名是否有错(例如:拼写错)。
·是否出现上溢、下溢或地址异常的错误。
③重要的执行路径。在单元测试中,对路径的测试是?基本的任务。由于不能进行穷举测试,需要 精心设计测试例子来发现是否有计算、比较或控制流等方面的错误。
·计算方面的错误:算术运算的优先次序不正确或理解错误;精度不够;运算对象 的类型彼此不相容;算法错;表达式的符号表示不正确等。
·比较和控制流的错误:本应相等的量由于精度造成不相等;不同类型进行比较;逻辑运算符不正确 或优先次序错误;循环终止不正确(如多循环一次或少循环一次)、死循环;不恰当地修改循环变量;当遇 到分支循环时,出口错误等。
④出错处理。好的设计应该能预测到出错的条件并且有对出错处理的路径。虽然计算机可以显示出错信息的内容,但仍需要程序员对出错进行处理,保证其逻辑的正确性,便于用户维护。
⑤边界条件。边界条件的测试是单元测试的?后工作,也是非常重要的工作。软件容易在边界出现错误。
由于模块不是独立运行的程序,各模块之间存在调用与被调用的关系。 在对每个模块进行测试时,需要开发两种模块:
·驱动模块。相当于一个主程序,接收测试例子的数据,将这些数据送到测试模块,输出测试结果。
·桩模块,也称为存根模块。桩模块用来代替测试模块中所调用的子模块,其内可进行少量的数据处理,目的是为了检验入口,输出调用和返回的信息。
提高模块的内聚度可以简化单元测试。如果每个模块只完成一种功能,对于具体模块来讲,所需的测 试方案数据就会显著减少,而且更容易发现和预测模块中的错误。
章节目录:
返回全书目录:系统分析师章节辅导教程
软考备考资料免费领取
去领取