|
知识路径: > 系统开发和运行维护知识 > 系统实施知识 > 系统开发与测试 > 系统测试基础知识 > 软件测试策略 >
|
相关知识点:4个
|
|
|
|
单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。单元测试侧重于模块中的内部处理逻辑和数据结构。如果选用机器测试,一般用白盒测试法。这类测试可以对多个模块同时进行。单元测试主要检查模块的以下5个特征:
|
|
|
(1)模块接口。模块的接口保证了测试模块的数据流可以正确地流入、流出。在测试中应检查以下要点:
|
|
|
①测试模块的输入参数和形式参数在个数、属性、单位上是否一致。
|
|
|
②调用其他模块时,所给出的实际参数和被调用模块的形式参数在个数、属性、单位上是否一致。
|
|
|
③调用标准函数时,所用的参数在属性、数目和顺序上是否正确。
|
|
|
|
|
|
|
⑧在使用文件之前是否已经打开文件或使用文件之后是否已经关闭文件。
|
|
|
(2)局部数据结构。在单元测试中,局部数据结构出错是比较常见的错误,在测试时应重点考虑以下因素:
|
|
|
|
|
|
|
(3)重要的执行路径。在单元测试中,对路径的测试是最基本的任务。由于不能进行穷举测试,需要精心设计测试例子来发现是否有计算、比较或控制流等方面的错误。
|
|
|
①计算方面的错误。算术运算的优先次序不正确或理解错误;精度不够;运算对象的类型彼此不相容;算法错;表达式的符号表示不正确等。
|
|
|
②比较和控制流的错误。本应相等的量由于精度造成不相等;不同类型进行比较;逻辑运算符不正确或优先次序错误;循环终止不正确(如多循环一次或少循环一次)、死循环;不恰当地修改循环变量;当遇到分支循环时,出口错误等。
|
|
|
(4)出错处理。好的设计应该能预测到出错的条件并且有对出错处理的路径。虽然计算机可以显示出错信息的内容,但仍需要程序员对出错进行处理,保证其逻辑的正确性,以便于用户维护。
|
|
|
(5)边界条件。边界条件的测试是单元测试的最后工作,也是非常重要的工作。软件容易在边界出现错误。
|
|
|
由于模块不是独立运行的程序,各模块之间存在调用与被调用的关系。在对每个模块进行测试时,需要开发驱动和桩两种模块。其中,驱动模块相当于一个主程序,接收测试例子的数据,将这些数据送到测试模块,输出测试结果;桩模块也称为存根模块,桩模块用来代替测试模块中所调用的子模块,其内部可进行少量的数据处理,目的是检验入口、输出调用和返回的息。
|
|
|
提高模块的内聚度可以简化单元测试。如果每个模块只完成一种功能,对于具体模块来讲,所需的测试方案数据就会显著减少,而且更容易发现和预测模块中的错误。
|
|
|
对于面向对象软件,单元的概念发生了变化。封装导出了类的定义。每个类和类的实例(对象)包装有属性(数据)和处理这些数据的操作(函数或方法)。封装的类常是单元测试的重点,然而,类中包含的操作是最小的可测试单元。由于类中可以包含一些不同的操作,且特殊的操作可以作为不同的类的一部分存在,因此,面向对象软件的类测试是由封装在该类中的操作和类的状态行为驱动的。
|
|
|