软件测试(单元测试).ppt

上传人:小飞机 文档编号:6610965 上传时间:2023-11-17 格式:PPT 页数:35 大小:283.66KB
返回 下载 相关 举报
软件测试(单元测试).ppt_第1页
第1页 / 共35页
软件测试(单元测试).ppt_第2页
第2页 / 共35页
软件测试(单元测试).ppt_第3页
第3页 / 共35页
软件测试(单元测试).ppt_第4页
第4页 / 共35页
软件测试(单元测试).ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《软件测试(单元测试).ppt》由会员分享,可在线阅读,更多相关《软件测试(单元测试).ppt(35页珍藏版)》请在三一办公上搜索。

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错”,即不正确地多循环或少循环一次;错误的或不可能的循环终止条件;当遇到发散的迭代时不能终止循环;不适当地修改了循环变量等。,错误处理测试,出错的描述难以理解;出错的描述不足以对错误定位和确定出错的原因;显示的错误与实际的错误不符;对错误条件的处理不正确;在对错误进行处理之前,错误条件已经引起系统的干预;如果出错情况不予考虑,那么检查恢复正常后模块可否正常工作。,边界测试,在n次循环的第0次、1次、n次是否有错误;运算或判断中取最大最小值时是否有错误

8、;数据流、控制流中刚好等于、大于、小于确定的比较值时是否出现错误。,3.4.2 单元测试用例的设计思路可按如下的步骤完成单元测试的测试用例设计:为被测单元运行设计测试用例 为正向测试设计测试用例 为逆向测试设计测试用例 为满足特殊需求设计测试用例 为代码覆盖设计测试用例,在单元测试中,白盒及黑盒方法测试用例的使用孰先孰后呢?一般说来,由于黑盒测试是从被测单元外部进行测试,成本较低,可先对被测单元进行黑盒测试,之后再进行白盒测试,以弥补黑盒测试不彻底的不足。,白盒测试为主黑盒测试为辅,白盒测试的用例设计:逻辑覆盖基本路径测试,黑盒测试的用例设计:等价类划分边界值分析猜测错误,主要单元测试方法,人

9、工静态分析自动静态分析人工动态测试自动动态测试,测试过程中各种人员的作用,系统分析设计人员进行需求跟踪,确保系统需求的实现和更新。进行软件单元可测性分析,确定单元测试的对象、范围和方法。软件开发人员负责编码和单元测试过程,完成单元测试计划、方案和报告。软件测试人员参与单元测试计划、方案和报告的评审,对单元测试的计划、设计和执行质量进行监控。根据实际情况,可选择参与由开发人员负责的代码检视、单元测试等活动。配置管理人员对代码及单元测试文档进行配置管理。质量保证(QA)人员参与编码与单元测试评审,对编码和单元测试过程进行审计。,3.5 基本路径测试,基本路径测试法:设计出的测试用例要保证每一个基本

10、独立路径至少要执行一次。,输入参数:int i_count,int i_flag输出参数:int i_return;函数说明:当i_flag=0;返回 i_count+100当i_flag=1;返回 i_count*10否则 返回 i_count*20,基本路径测试步骤:,1.导出程序流程图的拓扑结构控制流图G2.计算控制流图G的环路复杂度V(G)环路复杂度是一种为程序逻辑复杂性提供定量测试的软件度量。将该度量用于计算程序的基本独立路径数目。为确保所有语句至少执行一次的测试数量的上界。简单的定义就是控制流图的区域数目3.确定只包含独立路径的基本路径集4.设计测试用例,控制流图,计算流图G的环路

11、复杂度V(G),有三种方法计算环路复杂度:V(G)=区域个数=4V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量。V(G)=10-8+2=4V(G)=P+1,P是流图G中判定结点的数量V(G)=3+1=4,导出程序基本路径,程序基本路径:基本独立路径就是从程序的开始结点到结束可以选择任何的路径遍历,但是每条路径至少应该包含一条已定义路径不曾用到的边。,基本路径,1 B(4,24)2 C,E,J(4,6,8,24)3 C,D,F,H,A,B(4,6,13,15,22,4,24)4 C,D,G,I,A,B(4,6,13,19,22,4,24),测试用例,1 B(4,24)输入数据:i

12、_flag=0,或者是i_flag0的某一个值。预期结果:i_temp=0.2 C,E,J(4,6,8,24)输入数据:i_count=1;i_flag=0 预期结果:i_temp=101.3 C,D,F,H,A,B(4,6,13,15,22,4,24)输入数据:i_count=1;i_flag=1 预期结果:i_temp=10.4 C,D,G,I,A,B(4,6,13,19,22,4,24)输入数据:i_count=1;i_flag=2 预期结果:i_temp=20.,3.6 小结单元测试是所有的测试活动中最早进行的一种测试,它能以最低的成本发现和修复软件单元中的错误。应有计划地执行单元测试,并在整个软件开发的周期内对其进行维护,使单元测试可重用。单元测试采用白盒及黑盒方法对被测单元从静态和动态两方面进行测试。在执行单元测试阶段的动态测试时,应注重建立单元测试的环境,以达到对被测单元进行测试的目的。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号