单元测试分析与设计

上传人:桔**** 文档编号:592527765 上传时间:2024-09-21 格式:PPT 页数:31 大小:135.50KB
返回 下载 相关 举报
单元测试分析与设计_第1页
第1页 / 共31页
单元测试分析与设计_第2页
第2页 / 共31页
单元测试分析与设计_第3页
第3页 / 共31页
单元测试分析与设计_第4页
第4页 / 共31页
单元测试分析与设计_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《单元测试分析与设计》由会员分享,可在线阅读,更多相关《单元测试分析与设计(31页珍藏版)》请在金锄头文库上搜索。

1、第四章 单元测试4.1 4.1 什么是单元测试什么是单元测试规格定义设计编码系统测试集成测试单元测试用户需求验收测试回归测试配置管理缺陷跟踪 4.1 4.1 什么是单元测试什么是单元测试单单元元测测试试(Unit Unit TestingTesting)是是对对软软件件基基本本组组成成单单元元进行的测试,单元的基本属性:进行的测试,单元的基本属性:- 明确的功能;明确的功能;- 规格定义;规格定义;- 与其他部分明确的接口定义;与其他部分明确的接口定义;- 例:例:C+C+中的中的publicpublic的成员函数,单独的函数或类;的成员函数,单独的函数或类; 4.1 4.1 什么是单元测试什

2、么是单元测试单元测试的目的:单元测试的目的:- 验证代码是否与设计相符;验证代码是否与设计相符;- 跟踪需求和设计的实现;跟踪需求和设计的实现;- 发现设计和需求中存在的错误;发现设计和需求中存在的错误;- 发现编码过程中引入的错误;发现编码过程中引入的错误;4.1 4.1 什么是单元测试什么是单元测试为什么进行单元测试?为什么进行单元测试?- 单元测试浪费了太多时间;单元测试浪费了太多时间;- 单元测试仅仅是证明这些代码做了些什么;单元测试仅仅是证明这些代码做了些什么;- 我是个很棒的程序元,我可以不进行单元测试;我是个很棒的程序元,我可以不进行单元测试;- 不管怎样,集成测试将会抓住所有的

3、不管怎样,集成测试将会抓住所有的bugbug;- 它的成本效率不高;它的成本效率不高;4.2 4.2 单元测试策略单元测试策略桩桩模模块块(StubStub):用用以以模模拟拟被被测测模模块块工工作作过过程程中中所所调调用用的的模模块块,他他们们一一般般只只进进行行很很少少的的数数据据处处理理,例例如打印入口和返回;如打印入口和返回;驱驱动动模模块块(DriverDriver):用用以以模模拟拟被被测测模模块块的的上上级级模模块块,它它接接受受测测试试数数据据,把把相相关关的的数数据据传传送送给给被被测测模模块,启动被测模块,并打印相应的结果;块,启动被测模块,并打印相应的结果;4.2 4.2

4、 单元测试策略单元测试策略 由顶向下的单元测试策略;由顶向下的单元测试策略; - - 先先对对最最顶顶层层的的单单元元进进行行测测试试,把把顶顶层层所所调调用用的的单单元元做做成成桩桩模模块块,其其次次对对第第二二层层进进行行测测试试,使使用用上上面面已已测试的单元做驱动模块,以此类推;测试的单元做驱动模块,以此类推; 由底向上的单元测试策略;由底向上的单元测试策略; - - 先先对对模模块块调调用用层层次次图图上上最最底底层层的的模模块块进进行行单单元元测测试试,为为该该模模块块建建立立驱驱动动模模块块,其其次次对对上上一一层层做做单单元元测测试,下面测试过的模块做桩模块,以此类推;试,下面

5、测试过的模块做桩模块,以此类推; 孤立测试孤立测试 - - 不不考考虑虑每每个个模模块块与与其其他他模模块块之之间间的的关关系系,为为每每个个模块设计桩模块和驱动模块;模块设计桩模块和驱动模块;4.3 4.3 单元测试分析单元测试分析单元测试所考虑的方面:单元测试所考虑的方面:模块模块接口局部数据结构出错处理独立路径边界条件4.3 4.3 单元测试分析单元测试分析模块接口:模块接口:- 调调用用所所测测模模块块时时的的输输入入参参数数与与模模块块的的形形参参在在个个数数、属性、顺序上是否匹配;属性、顺序上是否匹配;- 参数与变量的属性、单位是否一致;参数与变量的属性、单位是否一致;- 全局变量

6、的定义在每个模块中是否一致;全局变量的定义在每个模块中是否一致;- - 是否修改只是作为输入值的变量;是否修改只是作为输入值的变量;- 有没有把常数当变量来传送;有没有把常数当变量来传送;- 调调用用内内部部函函数数时时,变变量量的的个个数数、属属性性和和次次序序是是否否正确;正确;4.3 4.3 单元测试分析单元测试分析局部数据结构:局部数据结构:- 检查不正确或不一致的数据类型说明;检查不正确或不一致的数据类型说明;- 使用尚未赋值或尚未初始化的变量;使用尚未赋值或尚未初始化的变量;- 错误的初始值或错误的默认值;错误的初始值或错误的默认值;- 变量名拼写错误或书写错误;变量名拼写错误或书

7、写错误;- 不一致的数据类型;不一致的数据类型;- 上溢、下溢或地址错误;上溢、下溢或地址错误;4.3 4.3 单元测试分析单元测试分析独立路径:独立路径:- 误解或不正确的算术优先级;误解或不正确的算术优先级;- 运算方式错误;运算方式错误;- 不同数据类型的比较;不同数据类型的比较;- 不正确的逻辑运算符或优先次序;不正确的逻辑运算符或优先次序;- 错误或不可能的循环终止条件;错误或不可能的循环终止条件;- 不恰当的修改了循环变量;不恰当的修改了循环变量;- 因浮点数运算精度问题而造成的两值比较不等;因浮点数运算精度问题而造成的两值比较不等;4.3 4.3 单元测试分析单元测试分析出错处理

8、:出错处理:- 出错的描述难以理解;出错的描述难以理解;- 出错的描述不足以对错误定位和确定出错的原因;出错的描述不足以对错误定位和确定出错的原因;- 显示的错误与实际的错误不符;显示的错误与实际的错误不符;- 对错误条件的处理不正确;对错误条件的处理不正确;- 在在对对错错误误进进行行处处理理之之前前,错错误误条条件件已已经经引引起起系系统统的干预;的干预;- 遗漏的错误处理;遗漏的错误处理;4.3 4.3 单元测试分析单元测试分析边界条件:边界条件:- 循环条件;循环条件;- 控控制制流流中中刚刚好好等等于于、大大于于、小小于于确确定定的的比比较较值值时时出现错误的可能性;出现错误的可能性

9、;4.4 4.4 单元测试用例设计单元测试用例设计 为正向测试设计用例;为正向测试设计用例; - - 验验证证设设计计说说明明书书所所对对应应的的功功能能项项或或性性能能指指标标能能否否兑现;兑现; 为逆向测试设计用例;为逆向测试设计用例; - - 验证被测的软件单元有没有做它不应该做的事情;验证被测的软件单元有没有做它不应该做的事情; 为满足特殊需求设计用例;为满足特殊需求设计用例; 为代码覆盖设计用例;为代码覆盖设计用例; 为覆盖率指标完成设计用例;为覆盖率指标完成设计用例;4.4 4.4 单元测试用例设计单元测试用例设计主要采用的方法:主要采用的方法: 等价类划分;等价类划分; 边界值分

10、析;边界值分析; 定义定义/ /使用测试;使用测试; 路径测试;路径测试;4.5 4.5 单元测试过程单元测试过程测试计划测试设计测试执行测试记录分析测试总结完毕缺陷跟踪针对测试目标,规定测试任务、资源分配、人员角色、进度安排等。根据测试计划,设计测试用例,包括:测试步骤、测试场景、测试代码、测试数据(包括预期结果)。根据测试计划,配置测试环境,并手动或者自动执行测试设计。根据测试计划,忠实地记录测试执行的过程和结果。分析测试记录,如果发现与预期结果不同,确定并重现缺陷。检查测试设计是否全部执行完毕,缺陷是否全部关闭。记录、分发、评估、关闭缺陷报告。分析测试过程和缺陷报告,评估测试质量和测试效

11、果,给出是否通过测试的建议。4.5 4.5 单元测试过程单元测试过程测试文档:测试计划测试设计测试执行测试记录分析测试总结完毕缺陷跟踪测试计划文档测试用例文档测试记录文档缺陷跟踪报告测试总结报告4.5 4.5 单元测试过程单元测试过程测试计划内容:测试计划内容:1)1)概要:概要:明确测试目的和主要任务,被测系统的简单描述,明确测试目的和主要任务,被测系统的简单描述,被测系统依赖的其它系统描述被测系统依赖的其它系统描述2)2)领域:定义测试和不需要测试的内容,描述与测试计划相领域:定义测试和不需要测试的内容,描述与测试计划相关的重要术语和缩略语,测试场所关的重要术语和缩略语,测试场所3)3)建

12、议的重大事件时间表:列出阶段性进度建议的重大事件时间表:列出阶段性进度4)4)转换标准:转换标准:允许系统进入一个特定的测试阶段所必须具备允许系统进入一个特定的测试阶段所必须具备的条件。定义可能会导致测试执行挂起的状态和事件。说的条件。定义可能会导致测试执行挂起的状态和事件。说明如何决定测试何时可以结束明如何决定测试何时可以结束5)5)测试配置和环境:测试配置和环境:6)6)测试执行:测试人员与分工,错误管理,测试周期等;测试执行:测试人员与分工,错误管理,测试周期等;4.5 4.5 单元测试过程单元测试过程测试计划内容:测试计划内容:7)7)风险和意外事故:风险和意外事故:意外事件的对策意外

13、事件的对策8)8)更改记录:更改记录:到目前为止对测试计划本身所作的更改和修订。到目前为止对测试计划本身所作的更改和修订。内容可包括:编号、更改人、更改内容、修订的发布时间内容可包括:编号、更改人、更改内容、修订的发布时间等。等。9)9)参考文档:测试计划引用的其他文档。如参考文档:测试计划引用的其他文档。如: : 需求规范、设需求规范、设计规范、操作手册、标准、其他相关信息。计规范、操作手册、标准、其他相关信息。4.5 4.5 单元测试过程单元测试过程测试方案内容:测试方案内容:1)1)概要概要2)2)被测试特性:进一步明确和细化被测试的特性被测试特性:进一步明确和细化被测试的特性3)3)测

14、试需求:分析和明确功能等各方面的测试需求测试需求:分析和明确功能等各方面的测试需求4)4)测试方法:拟采用的具体测试技术和方法测试方法:拟采用的具体测试技术和方法5)5)需求规范追踪:把测试需求转化为测试设计需求规范追踪:把测试需求转化为测试设计6)6)测试用例集描述:对测试用例分层次说明测试用例集描述:对测试用例分层次说明7)7)更改记录更改记录8)8)参考文档参考文档4.5 4.5 单元测试过程单元测试过程测试用例内容:测试用例内容:1 用例编号10用例类别2 用例名称11用例状态3 测试目的12用例设计人4 输入数据13创建时间5 测试步骤14用例评审人6 测试脚本15评审时间7 预期结

15、果16评审结果8 响应时间17执行结果9 实际输出18相关模块4.5 4.5 单元测试过程单元测试过程错误管理错误管理- -缺陷的级别:缺陷的级别:1)1)致命性错误(致命性错误(CriticalCritical)1.1.数据丢失,数据计算错误、系统崩溃和非常死数据丢失,数据计算错误、系统崩溃和非常死机机 2)2)严重功能性错误严重功能性错误(Serious)(Serious)1.1.规定的功能没有实现或不完整、设计不合理造规定的功能没有实现或不完整、设计不合理造成性能低下,影响系统的运营成性能低下,影响系统的运营 3)3)告警性错误告警性错误(Moderate)(Moderate)1.1.不

16、影响业务运营的功能问题不影响业务运营的功能问题 4)4)建议性错误建议性错误(Suggestion,Cosmetic)(Suggestion,Cosmetic)1.1.软件设计和功能实现等不甚合理之处提出建议软件设计和功能实现等不甚合理之处提出建议4.5 4.5 单元测试过程单元测试过程错误管理错误管理- -修改级别:修改级别:1)1)高高2)2)中中3)3)低低4.5 4.5 单元测试过程单元测试过程错误管理错误管理- -错误描述:错误描述:1 分配给错误的ID号2 提交错误的时间3 错误提交人4 版本号发生错误的子系统或模块5 错误发生的条件6 对错误的详细描述7 所使用的测试用例号8 错

17、误被发现的数据库9 使用的机器号10 错误的重要性11 错误的改正优先级12发生错误的子系统或模块及相关的模块13 错误是否易再现14 其他4.5 4.5 单元测试过程单元测试过程错误管理错误管理- -错误跟踪:错误跟踪:1 错误负责人6 错误改正后需要重新做的测试2 严重性7 改正错误所影响的组件3 优先级8 目前错误的状态4 估计改正错误的日期9 错误类别5 估计改正错误所要花费的时间10 解决办法4.5 4.5 单元测试过程单元测试过程错误管理错误管理- -错误分发:错误分发:项目管理者项目管理者测试管理者测试管理者被分配修改错误的人被分配修改错误的人组件代码的编写人组件代码的编写人测试

18、小组中的其他成员测试小组中的其他成员4.5 4.5 单元测试过程单元测试过程错误管理错误管理- -益处:益处:有利于缺陷的清楚传达有利于缺陷的清楚传达依据错误的相对和绝对重要性来修复问题依据错误的相对和绝对重要性来修复问题对错误实现全生命周期管理对错误实现全生命周期管理当错误变化时相关人员及时获悉新的信息当错误变化时相关人员及时获悉新的信息错误的统计分析报告提供更多的信息错误的统计分析报告提供更多的信息4.5 4.5 单元测试过程单元测试过程错误管理错误管理- -方法:方法:使用商业错误跟踪与管理系统使用商业错误跟踪与管理系统 - testdirector - IBM Rational自行开发

19、专用错误跟踪与管理系统自行开发专用错误跟踪与管理系统 - NEUSOFT bugbase4.5 4.5 单元测试过程单元测试过程测试报告内容:测试报告内容:1 测试活动概述6 结果描述2 测试环境描述7 意外事件3 测试资源使用情况8 遗留问题4 差异描述9 评价5 测试充分性的评价10 测试总结4.6 4.6 单元测试应坚持的原则单元测试应坚持的原则 应当尽早和不断地进行软件测试;应当尽早和不断地进行软件测试; 对全新的代码或修改过的代码一定要进行单元测试;对全新的代码或修改过的代码一定要进行单元测试; 被测试的对象为实现一组相关功能的代码;被测试的对象为实现一组相关功能的代码; 单单元元测

20、测试试最最好好根根据据单单元元测测试试计计划划和和方方案案进进行行,排排除除测测试的随意性;试的随意性; 当当测测试试用用例例的的测测试试结结果果与与预预期期结结果果不不一一致致时时,单单元元测测试的执行人员需如实记录实际的测试结果;试的执行人员需如实记录实际的测试结果; 当测试计划中的结束标准达到时,单元测试结束;当测试计划中的结束标准达到时,单元测试结束; 项目管理者保证测试用例经过审核;项目管理者保证测试用例经过审核; 当当程程序序进进行行了了修修改改,测测试试执执行行人人员员执执行行回回归归测测试试以以保保证对发现错误的修改没有引入新的错误;证对发现错误的修改没有引入新的错误;小结小结 单元测试的定义、目的;单元测试的定义、目的; 单元测试的内容;单元测试的内容; 如何进行单元测试用例设计;如何进行单元测试用例设计; 单元测试应遵循的原则;单元测试应遵循的原则;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号