软件测试与质量保障课件:单元测试.ppt

上传人(卖家):罗嗣辉 文档编号:2046198 上传时间:2022-01-21 格式:PPT 页数:31 大小:339.50KB
下载 相关 举报
软件测试与质量保障课件:单元测试.ppt_第1页
第1页 / 共31页
软件测试与质量保障课件:单元测试.ppt_第2页
第2页 / 共31页
软件测试与质量保障课件:单元测试.ppt_第3页
第3页 / 共31页
软件测试与质量保障课件:单元测试.ppt_第4页
第4页 / 共31页
软件测试与质量保障课件:单元测试.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、需求规格说明概要设计详细设计编码单元测试集成测试系统测试瀑布式生命周期强调功能分解有构建序列的生命周期有构建序列的生命周期需求规格说明概要设计详细设计编码单元测试集成测试回归测试一系列构建累进测试快速原型法生命周期快速原型法生命周期定义原型目标构建原型详细设计编码单元测试集成测试系统测试一系列原型客户反馈概要设计可执行规格说明生命周期可执行规格说明生命周期开发可执行规格说明执行规格说明详细设计编码单元测试集成测试系统测试可执行规格说明客户反馈概要设计主要内容主要内容 u单元测试概述单元测试概述u单元测试的环境单元测试的环境u单元测试的内容单元测试的内容u单元测试策略单元测试策略u单元测试活动单

2、元测试活动1 1单元测试概述单元测试概述u1.1.概念概念单元测试又称单元测试又称模块测试,是针对软件,是针对软件设计的最小单位设计的最小单位程序模块,进行程序模块,进行正确性检验的测试工作。正确性检验的测试工作。单元测试的内容包括单元的内部结构单元测试的内容包括单元的内部结构、单元的功能和可观测的行为。、单元的功能和可观测的行为。u2.2.单元测试方法单元测试方法功能性测试功能性测试结构性测试结构性测试u3.3.目标目标(1)(1)检查代码实现是否符合设计检查代码实现是否符合设计F测试依据是详细设计描述测试依据是详细设计描述(2)(2)尽早发现错误尽早发现错误u4.4.测试对象:测试对象:“

3、单元单元”结构化编程语言结构化编程语言F单元测试对象是单元测试对象是函数或者或者子过程。面向对象语言面向对象语言F单元测试对象是单元测试对象是类或者或者类的方法。F如一个菜单、屏幕显示界面或对话框等如一个菜单、屏幕显示界面或对话框等2 2 单元测试环境单元测试环境u基本单元本身不是一个独立的程序基本单元本身不是一个独立的程序,自己不能运行,自己不能运行,要靠其它部分来要靠其它部分来调用调用和和驱动驱动。驱动模块驱动模块(driver)(driver) 桩模块桩模块(stub)(stub) 存根模块存根模块u驱动模块驱动模块 (Driver)(Driver)被测基本单元的主程序,它接收测试被测基

4、本单元的主程序,它接收测试数据,并把数据传送给被测单元,最数据,并把数据传送给被测单元,最后输出实测结果。后输出实测结果。u桩模块桩模块 (Stub)(Stub)用来代替被测基本单元调用的其他基用来代替被测基本单元调用的其他基本单元。本单元。单元测试环境单元测试环境单元测试环境单元测试环境测试结果测试结果驱动模块驱动模块桩模块桩模块1 1被测模块被测模块测试用例测试用例桩模块桩模块3 3桩模块桩模块2 2举例举例: :B BA AC CD DE E待测试模块待测试模块被测模块被测模块B B 驱动模块驱动模块( (模拟模块模拟模块A)A)桩模块桩模块( (模拟模块模拟模块E)E)测试用例测试用例

5、测试结果测试结果举例举例: :讨论讨论u通常,在单元测试中需要必要的桩模通常,在单元测试中需要必要的桩模块和驱动模块。桩模块和驱动模块的块和驱动模块。桩模块和驱动模块的设计都需要一定的研发成本。设计都需要一定的研发成本。u你认为驱动模块、桩模块中哪一种类你认为驱动模块、桩模块中哪一种类型模块开发较为容易些,并给出理由型模块开发较为容易些,并给出理由?3 3 单元测试的内容单元测试的内容单元测试主要对模块的单元测试主要对模块的五个基本特性五个基本特性进行评价进行评价错误处理错误处理模块接口模块接口局部数局部数据结构据结构 重要的重要的执行路径执行路径边界条件边界条件模块模块一、模块接口测试一、模

6、块接口测试u对通过被测模块的对通过被测模块的数据流进行数据流进行测试,测试,检检查进出模块的数据是否正确。查进出模块的数据是否正确。uChecklistChecklist :调用本模块的输入参数是否正确;调用本模块的输入参数是否正确;本模块调用子模块时输入给子模块的参数本模块调用子模块时输入给子模块的参数是否正确;是否正确;全局量的定义在各模块中是否一致;全局量的定义在各模块中是否一致; 一、模块接口测试(续)一、模块接口测试(续)u在做在做内外存交换内外存交换时要考虑:时要考虑: 文件属性是否正确;文件属性是否正确; OPENOPEN与与CLOSECLOSE语句是否正确;语句是否正确; 缓冲

7、区容量与记录长度是否匹配;缓冲区容量与记录长度是否匹配; 在进行读写操作之前是否打开了文件;在进行读写操作之前是否打开了文件; 在结束文件处理时是否关闭了文件;在结束文件处理时是否关闭了文件; 正文书写正文书写/ /输入错误;输入错误; I/OI/O错误是否检查并做了处理。错误是否检查并做了处理。二、模块局部数据结构测试二、模块局部数据结构测试u检查局部数据结构能否保持完整性检查局部数据结构能否保持完整性uChecklistChecklist :不正确或不一致的数据类型说明不正确或不一致的数据类型说明变量没有初始化变量没有初始化变量名拼写错或书写错变量名拼写错或书写错数组越界数组越界非法指针非

8、法指针全局数据对模块的影响全局数据对模块的影响 三、模块边界条件测试三、模块边界条件测试u检查临界数据是否正确处理检查临界数据是否正确处理uChecklistChecklist:普通合法数据是否正确处理普通合法数据是否正确处理普通非法数据是否正确处理普通非法数据是否正确处理边界内最接近边界的边界内最接近边界的( (合法合法) )数据是否正确数据是否正确处理处理边界外最接近边界的边界外最接近边界的( (非法非法) )数据是否正确数据是否正确处理处理四、模块独立执行路径测试四、模块独立执行路径测试u对模块中重要的执行路径进行测试。检查由对模块中重要的执行路径进行测试。检查由于计算错误、判定错误、控

9、制流错误导致的于计算错误、判定错误、控制流错误导致的程序错误。程序错误。uChecklistChecklist:死代码死代码错误的计算优先级错误的计算优先级精度错误(精度错误(比较运算错误、赋值错误比较运算错误、赋值错误)表达式的不正确符号表达式的不正确符号 循环变量的使用错误循环变量的使用错误五、模块内部错误处理测试五、模块内部错误处理测试u检查内部错误处理设施是否有效检查内部错误处理设施是否有效uChecklistChecklist:是否检查错误出现是否检查错误出现出现错误,是否进行错误处理出现错误,是否进行错误处理l 抛出错误、通知用户、进行记录抛出错误、通知用户、进行记录错误处理是否有

10、效错误处理是否有效4 4 单元测试策略单元测试策略u自顶向下自顶向下的单元测试的单元测试u自底向上自底向上的单元测试的单元测试u孤立单元测试孤立单元测试自顶向下的单元测试自顶向下的单元测试u方法:方法:先对最顶层的基本单元进行测试先对最顶层的基本单元进行测试,把所有调用的单元做成桩模块。然后,把所有调用的单元做成桩模块。然后再对第二层的基本单元进行测试,使用再对第二层的基本单元进行测试,使用上面已测试的单元做驱动模块。依此类上面已测试的单元做驱动模块。依此类推直到测试完所有基本单元。推直到测试完所有基本单元。自顶向下的单元测试(续)自顶向下的单元测试(续)u优点:在集成测试前提供早期的集成途径

11、。优点:在集成测试前提供早期的集成途径。在执行上和详细设计的顺序一致。不需要开在执行上和详细设计的顺序一致。不需要开发驱动模块。发驱动模块。u缺点:随着测试的进行,测试过程越来越复缺点:随着测试的进行,测试过程越来越复杂,开发和维护成本增加。杂,开发和维护成本增加。u总结:比孤立单元测试的成本高很多,不是总结:比孤立单元测试的成本高很多,不是单元测试的一个好的选择单元测试的一个好的选择。自底向上的单元测试自底向上的单元测试u方法:方法:先对最底层的基本单元进行测试,先对最底层的基本单元进行测试,模拟调用该单元的单元做驱动模块。然后模拟调用该单元的单元做驱动模块。然后再对上面一层进行测试,用下面

12、已被测试再对上面一层进行测试,用下面已被测试过的单元做桩模块。依此类推,直到测试过的单元做桩模块。依此类推,直到测试完所有单元。完所有单元。u优点:在集成测试前提供系统早期优点:在集成测试前提供系统早期的集成途径。不需要开发桩模块。的集成途径。不需要开发桩模块。u缺点:随着测试的进行,测试过程缺点:随着测试的进行,测试过程越来越复杂。越来越复杂。u总结:比较合理的单元测试策略,总结:比较合理的单元测试策略,但测试周期较长。但测试周期较长。自底向上的单元测试(续)自底向上的单元测试(续)孤立单元测试孤立单元测试u方法:不考虑每个单元与其它单元之间的关系方法:不考虑每个单元与其它单元之间的关系,为

13、每个单元设计桩模块或驱动模块。每个模,为每个单元设计桩模块或驱动模块。每个模块进行独立的单元测试。块进行独立的单元测试。u优点:简单、容易操作,可达到高的结构覆盖优点:简单、容易操作,可达到高的结构覆盖率。率。u缺点:不提供一种系统早期的集成途径。缺点:不提供一种系统早期的集成途径。u总结:最好的单元测试策略。总结:最好的单元测试策略。单元测试的难点单元测试的难点u到底要测试到什么程度到底要测试到什么程度草草了事草草了事/ /过犹不及过犹不及/ /何处是平衡点何处是平衡点确定测试的标准之一:覆盖率确定测试的标准之一:覆盖率u大量的测试代码和测试用例大量的测试代码和测试用例生成、共享、管理、标注很麻烦生成、共享、管理、标注很麻烦尽量使用测试工具尽量使用测试工具 测试过程中工具用的最多的地方测试过程中工具用的最多的地方单元测试、后期的回归测试、负载测试、缺陷管理单元测试工具单元测试工具uJunitJunit:Java环境单元测试的终极利器uCppUnit CppUnit uC+TestC+Test:C/C+语言开发的首选利器uNunitNunit:.Net环境单元测试的首选利器

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

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(软件测试与质量保障课件:单元测试.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|