单元测试之动态测试.ppt_第1页
单元测试之动态测试.ppt_第2页
单元测试之动态测试.ppt_第3页
单元测试之动态测试.ppt_第4页
单元测试之动态测试.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单元测试之动态测试,体系文件要求,动态测试 测试人员按照软件单元测试计划和单元测试说明,执行测试,并如实记录测试结果及发现的所有问题 测试人员对测试结果进行分析,对未通过测试的测试用例进行分析,采取相应的措施,对不正确的或不充分的测试用例进行修正和补充,并进行回归测试,直至达到测试结束条件,对于异常终止的测试,记录导致终止的条件未完成测试和未被修正的错误,填写问题报告单。,单元测试的环境,单元测试环境可使用与软件开发环境相同的测试环境进行。 测试工具可使用总师单位认可的测试工具 针对单元测试而言,需要建立单元测试环境,包括桩函数和测试驱动函数。保证被测软件单元能够独立运行。 嵌入式软件使用仿真

2、环境做单元测试有时比真实的运行环境更有效。 经过认可的工具不如负责任的测试人员,单元测试的过程,测试策划 测试设计和实现 测试执行 测试总结,单元测试之测试策划,在软件详细设计阶段,测试分析人员根据被测软件的详细设计文档对测试单元进行分析,明确单元测试的对象、测试目标、约束条件、覆盖范围、测试特性、测试资源、测试技术方法、进度及结束条件等,按照Y20_GD812-021要求编写单元测试计划。 单元测试计划必须进行测试组内评审,主要审查: 1.审查单元测试的内容和范围、资源、各方责任是否明确; 2.测试进度安排是否符合软件开发计划的要求; 3. 测试方法是否合理,有效并且可行; 4.测试活动是否

3、独立; 5.测试文档是否符合Y20_GD812-021的编写要求。 评审通过后方可进入下一步工作,单元测试之测试设计和实现,测试设计人员和测试程序员根据单元测试计划和测试单元的特性,设计测试用例、获取测试数据、确定测试顺序、获取测试资源、编写测试程序并建立和校准测试环境。按Y20_GD812-021要求编写软件单元测试说明。 单元测试设计主要要求如下: 1.对软件详细设计文档的所有软件配置单元应进行性能、功能测试; 2.对所有软件单元的语句、路径、和边界条件应进行全面测试; 3.对所有软件单元所有接口的数据项、数据流应进行全面测试; 4.对所有软件单元的输入输出数据格式应进行全面测试。 5.对

4、所有软件单元安全性设计应进行测试; 单元测试说明和测试环境必须进行测试组内评审,主要审查测试用例是否完整、正确、可行和充分;审查测试环境是否正确,合理和有效;测试说明文档是否符合规范要求。 评审必须通过后方可进入下一步。,单元测试之测试总结,测试分析人员根据被测软件的设计文档、单元测试计划、单元测试说明、测试记录及软件问题报告单等对单元测试进行分析,对未完成的单元测试用例进行说明和解释;根据测试用例的设计和测试完成情况,分析单元测试的语句覆盖率、判断覆盖率、MCDC覆盖率、对未满足测试覆盖率要求的要给出原因说明;对测试工件进行总结,形成单元测试总结报告。根据测试记录和软件问题报告单编写测试问题

5、报告。 单元测试总结报告应包含如下内容: 1.概述测试工作内容 2.总结软件单元测试计划与测试说明的不一致性及其原因; 3.对异常终止和不能完成的测试进行说明 4.记录软件单元测试中发现的软件单元与软件详细设计文档之间的差异 5.分析测试记过以及发现问题,对软件单元的设计与实现进行评价,并给出改进建议; 6.改进测试情况分析单元测试的分支覆盖率、语句覆盖率、功能覆盖率,并给出测试结论。,单元测试的结束条件,1.按要求完成了单元测试计划所规定的测试任务; 2.实际测试过程遵循了原定的软件单元测试计划和软件单元测试说明的要求; 3.客观、详细地记录了测试过程和测试中发现的所有问题; 4.测试文档齐

6、全、内容及格式符合Y20_GD812-021的要求; 5.测试过程始终受控; 6.测试中发现的问题或异常有合理解释或正确有效的处理; 7.测试覆盖率达到了该软件的测试覆盖率要求; 8.测试通过了软件单元测试评审; 9.全部测试文档、被测试软件单元、测试支持文件和评审结果已纳入配置管理。,单元测试测试用例设计方法,白盒测试 逻辑覆盖法 路径覆盖法 黑盒测试 等价类划分法 边界值分析法,逻辑覆盖法,语句覆盖 判定覆盖/分支覆盖 条件覆盖 判定条件覆盖 条件组合覆盖 修正条件判定覆盖,语句覆盖,语句覆盖率定义:语句覆盖率是指被测软件在执行时语句执行行数与总行数之比。 int sut(int i) i

7、f (i 0) i-; return i; ,i = 10即可达到100%的语句覆盖率。,判定覆盖/分支覆盖,判定覆盖率定义:被测软件实际执行判断分支与总分支数之比。,if (x 0) ,i = 10,i = -2,达到100%判定覆盖,条件覆盖,构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次,a & (b | c),abc,1FTF,2TFT,abc,1FTT,2TFF,判定条件覆盖,设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。,a & (b | c),条件组合覆盖,设计足够的测试用例,使得

8、每个判定中条件的各种可能组合都至少出现一次。这个方法包含了分支覆盖和条件覆盖。,修正条件判定覆盖,要求设计测试用例,运行被测程序,使得条件判断表达式中所有条件操作数逻辑值独立对条件判定表达式结果影响(意思是在其他的条件不变的情况下,改变一个人条件) 算法:穷举一个判定中所有条件的真值组合,通过两两对照因果,从而确定出每个条件的MC/DC对。然后再进行删减。 一般来说,达到MC/DC判定要求的测试用例数为n+12n(n为条件个数),修正条件判定覆盖,因此,我们可以选择测试用例1、2 、4、5,当然,这不是唯一的用例组合。,路径覆盖法,设计适当的测试用例,运行被测程序,使得程序沿所有可能的路径执行

9、,较大程序的路径可能很多,所以在设计测试用例时,要简化循环次数。,基本路径测试方法,在程序控制流图的基础上,通过分析圈杂度,导出基本可执行路径集合,从而设计测试用例的方法。 基本路径测试法的步骤: 导出程序控制流图 计算程序圈复杂度 确定基本路径集 准备测试用例,第1步:导出程序的控制流图,结点:代表一个或多个无分支的语句。 箭头(边):代表控制流的方向;一条边必须终止于一个结点。 区域:边和结点圈定的范围。 复合条件需改为只有单个条件的嵌套的判断。,第2步:计算程序圈复杂度,从控制流图中计算: V(G)=边数结点数+2;或 V(G)=区域数 或 V(G)=独立路径数 独立路径是指包括一组以前

10、没有处理的语句或条件的一条路径。 V(G) = 12-9+2 = 5,第3步:确定基本路径集,从程序的圈复杂度可导出程序基本路径集合中的独立路径条数,这是确保每个可执行语句至少执行一次所必需的测试用例的上界 基本路径集: 1 2 3 8 9 1 2 3 8 2 3 8 9 1 2 4 5 8 9 1 2 4 6 8 9 1 2 4 7 8 9,第4步:准备测试用例,根据判断结点给出的条件,选择适当的数据以后保证基本路径集中的每一条路径的执行。,常用的动态测试工具有:C+ Test,黑盒测试,黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,这种测试不必了解被对象的内部情况,而依靠需求规格

11、说明中的功能来设计测试用例(即基于规格说明的测试)。 黑盒测试也是单元测试动态测试的重要组成部分!,测试过程,分析规格说明 根据规格说明选择有效的输入以确定测试对象是否可以正确地实现需求,同时选择无效的输入确定被测对象能正确地处理; 根据输入数据确定系统的期望输出; 执行测试用例; 将测试执行得到的实际结果与预期结果比较; 确定测试对象的实现是否符合规格说明; 基于规格说明的测试可以应用于软件测试的各个阶段。尽管不同测试级别的测试规模、测试输入与测试输出的复杂度有所不同,但是在应用基于规格说明的技术方面是类似的。,等价类划分法,等价类划分技术将输入域或输出域划分成不同的等价类,其中的任何值都能

12、使组件或系统产生相同的响应结果; 等价类划分的方法是把程序的输入划分若干部分,然后从每个部分中选取少数代表性数据当作测试用例。 等价类是指某个输入域的子集合,其中各个输入数据对于揭露程序中的错误都是等效的。 测试过程中不公要测试有效等价类,也需要测试无效的等价类。,等价类划分方法,有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据集合; 无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据集合; 如果使用等价类中的某一代表值可以发现某缺陷,那么使用该类中的任意其他值也可以发现同样的缺陷; 如果使用等价类中的某一代表值无法发现缺陷,那么使用该等价类中的任意其他值也

13、无法发现此缺陷。,用等价类划分方法设计测试用例,首先建立等价类表,列出所有划分出的等价类: 从等价类中按以下原则选择测试用例: 设计一个测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类。重复这一步,直到所有的有效等价类都被覆盖为止; 设计一个测试用例,使其公覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止,边界值分析法,由过去的经验,程序在边界处的处理常常是关键,也是容易发生错误的。使用等于,小于或大于边界值的数据对程序进行测试,发现错误的概率比较大,因此引入了边界值分析技术。,边界分析方法的准则:,如果输入条件规定了取值范围,或数据个数,则可选择下好等于边界值,刚刚在边界范围内或刚刚超越边界外的值作为测试数据,或是分别选择最大,最小及稍小于、稍大于最大个数作为测试数; 针对规格说明的每个输出条件,保用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论