软件测试(单元测试)

软件测试(单元测试)

ID:38314460

大小:612.81 KB

页数:35页

时间:2019-06-09

软件测试(单元测试)_第1页
软件测试(单元测试)_第2页
软件测试(单元测试)_第3页
软件测试(单元测试)_第4页
软件测试(单元测试)_第5页
资源描述:

《软件测试(单元测试)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单元测试第3章补充扩展内容本章要点单元测试的含义、目的和优点单元测试使用的方法单元测试的步骤单元测试环境驱动模块和桩模块的含义单元测试用例的设计CppUnit的安装及环境配置CppUnit的使用步骤3.1单元测试概述1.单元测试的概念单元测试是对软件基本组成单元的测试。在传统的结构化编程语言如C语言中,单元一般是模块,也就是函数或子过程;在象C++中,单元是类或类的方法;在Ada语言中,单元可为独立的过程、函数或Ada包;在第四代语言(4GL)中,单元对应为一个菜单或显示界面。多个被测模块之间的单元测试可同时进行,以提高单元测试效率。单元测试一般应该由编程人员完成,有时测

2、试人员也加入进来,但编程人员仍会起到主要作用。单元测试的依据是软件的详细设计描述、源程序清单、编码标准等。2.单元测试的目的验证代码能否达到详细设计的预期要求。发现代码中不符合编码规范的地方。准确定位发现的错误,以便排除错误。3.单元测试的优点由于单元测试是在编码过程中进行的,若发现了一个错误,不管是从做回归测试的角度,还是对错误原因理解的深刻性的角度,修复错误的成本远小于集成测试阶段,更是小于系统测试阶段。在编码的过程中考虑单元测试问题,有助于编程人员养成良好的编程习惯,提高源代码质量。4.单元测试的测试方法在单元测试阶段,应使用白盒测试方法和黑盒测试方法对被测单元进行

3、测试,其中以使用白盒方法为主。在单元测试阶段以使用白盒测试方法为主,是指在单元测试阶段,白盒测试消耗的时间、人力、物力等成本一般会大于黑盒测试的成本。3.2单元测试的步骤单元测试的实施应遵循一定的步骤,力争做到有计划、可重用。单元测试的步骤如下:①计划单元测试②设计单元测试③实现单元测试④执行单元测试⑤单元测试结果分析并提交测试报告3.3单元测试的环境构成在单元测试时,如果模块不是独立的程序,需要辅助测试模块,有两种辅助模块:驱动模块(Driver)桩模块(Stub)3.3单元测试环境驱动模块(Driver)用来代替被测单元的上层模块的。驱动模块能接收测试数据,调用被测单

4、元,也就是将数据传递给被测单元,最后打印测试的执行结果。可将驱动模块理解为被测单元的主程序。桩模块(Stub)又称为存根模块,它用来代替被测单元的子模块。设计桩模块的目的是模拟实现被测单元的接口。桩模块不需要包括子模块的全部功能,但应做少量的数据操作,并打印接口处的信息。人们在进行单元测试时尽量避免开发驱动模块和桩模块。尤其应避免开发桩模块,因为驱动模块开发的工作量一般少于桩模块。若采用自底向上的方式进行开发,底层的单元先开发并先测试,可以避免开发桩模块,采用这种方法测试上层单元时,也是对下层单元的间接测试,但当下层单元被改动后,则需要执行回归测试判断其上层单元是否需要修

5、改。当不得不开发驱动模块及桩模块时,人们力求它们的简单以提高工作效率。但过于简单的驱动模块和桩模块会影响单元测试的有效性,因而,对被测单元的彻底测试有时会被推迟到集成测试阶段完成。建立单元测试的环境,需完成以下一些工作:构造最小运行调度系统,即构造被测单元的驱动模块。模拟被测单元的接口,即构造被被测单元调用的桩模块。模拟生成测试数据及状态,为被测单元运行准备动态环境。3.4单元测试用例设计3.4.1单元测试的内容单元测试的对象是软件设计的最小单位——模块或函数,单元测试的依据是详细设计描述。测试的内容模块接口局部数据结构测试路径测试错误处理测试边界测试模块接口调用所测模块

6、的输入参数与模块的形式参数在个数、属性、顺序上是否匹配;所测模块调用子模块时,它输入个子模块的参数与子模块的形式参数在个数、属性、顺序上是否匹配;是否修改了只做输入用的形式参数;输出给标准函数的参数在个数、属性、顺序上是否匹配;全局变量的定义在各模块中是否一致;限制是否通过形式参数来传送。局部数据结构测试检查不正确或不一致的数据类型说明;使用尚未赋值或尚未初始化的变量;错误的初始值或错误的默认值;变量名拼写错误或书写错误;不一致的数据类型。路径测试常见的不正确的计算有:运算的优先次序不正确或误解了运算的优先次序;运算的方式错误(运算的对象彼此在类型上不相容);算法错误;初

7、始化不正确;运算精度不够;表达式的符号表示不正确等。路径测试常见的比较和控制流错误有:不同数据类型的比较;不正确的逻辑运算符或优先次序;因浮点运算精度问题而造成的两值比较不等;关系表达式中不正确的变量和比较符;“差1错”,即不正确地多循环或少循环一次;错误的或不可能的循环终止条件;当遇到发散的迭代时不能终止循环;不适当地修改了循环变量等。错误处理测试出错的描述难以理解;出错的描述不足以对错误定位和确定出错的原因;显示的错误与实际的错误不符;对错误条件的处理不正确;在对错误进行处理之前,错误条件已经引起系统的干预;如果出错情况不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。