文章目录
一:概述二:测试重点(了解)(1)模块结构(2)局部数据结构(3)重要的执行通路(4)出错处理通路(了解)(5)边界条件三:测试方法(1)代码审查A:定义(了解)B:流程C:优点(了解)D:与计算机测试的关系(2)计算机测试(了解)一:概述
单元测试集中检测软件设计的最小单元一模块,它和编码属于软件过程的同一个阶段。在编写出源程序代码并通过了编译程序的语法检查之后,就可以用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误。单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行,包括人工测试和计算机测试两种
测试依据:详细设计文档测试技术:白盒测试技术测试方法:人工测试和计算机测试
二:测试重点(了解)
(1)模块结构
模块接口的数据流是否能正常进出参数的数目、次序、属性或单位系统与变元是否一致是否修改了只作输入用的变元全局变量的定义和用法在各个模块中是否一致(2)局部数据结构
对于模块来说,局部数据结构是常见的错误来源。应该仔细设计测试方案,以便发现局部数据说明、初始化、默认值等方面的错误。
(3)重要的执行通路
选择最有代表性、最可能发现错误的执行通路进行测试设计测试方案来发现由于错误计算、不正确的比较或不适当的控制流而造成的错误(4)出错处理通路(了解)
当评价出错处理通路时,应着重测试可能发生的错误为:
对错误的描述是难以理解的记下的错误与实际遇到的错误不同在对错误进行处理之前,错误条件已经引起系统干预对错误的处理不正确描述错误的信息不足以帮助确定造成错误的位置
(5)边界条件
边界测试是单元测试中最重要的任务。软件常常在它的边界上失效,例如,处理n元数组的第n个元素时,或做到1次循环中的第1次重复时,往往会发生错误。使用刚好小于、刚好等于和刚好大于最大值或最小值的数据结构、控制量和数据值的测试方案,非常可能发现软件中的错误。
三:测试方法
(1)代码审查
A:定义(了解)
人工测试源程序可以由程序的编写者本人非正式地进行,也可以由审查小组正式进行。后者称为代码审查是一种非常有效的程序验证技术。
B:流程
组建审查小组审查会议C:优点(了解)
一次审查会上可以发现许多错误不需要每次发现一个错误就进行验证,减少了系统验证的总工作量D:与计算机测试的关系
对于查找某些类型的错误来说,人工测试比计算机测试更有效;对于其他类型的错误来说则刚好相反。因此,人工测试和计算机测试是互相补充,相辅相成的,缺少其一都会使查找错误的效率降低。
(2)计算机测试(了解)
模块并不是一个独立的程序,因此必须要为每个单元测试开发驱动软件和(或)存根软件,具体如下:
驱动程序:接收测试数据,把这些数据传送给被测试的模块,并且印出有关的结果存根程序:代替被测试的模块所调用的模块,它使用被它代替的模块的接口,做最少量的数据操作,印出对入口的检验或操作结果,并且把控制归还给调用它的模块