软件测试-3白盒测试及其用例的设计.ppt

软件测试-3白盒测试及其用例的设计.ppt

ID:50403057

大小:887.50 KB

页数:107页

时间:2020-03-08

软件测试-3白盒测试及其用例的设计.ppt_第1页
软件测试-3白盒测试及其用例的设计.ppt_第2页
软件测试-3白盒测试及其用例的设计.ppt_第3页
软件测试-3白盒测试及其用例的设计.ppt_第4页
软件测试-3白盒测试及其用例的设计.ppt_第5页
资源描述:

《软件测试-3白盒测试及其用例的设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第3章白盒测试及其用例的设计3.1白盒测试方法3.2控制流图3.3白盒测试覆盖指标3.4数据流测试3.5白盒测试方法总结本章教学目标理论环节学习理解白盒测试方法的基本概念学习理解白盒测试的覆盖理论学习掌握白盒测试的路径表达学习掌握白盒测试的基本路径测试法学习掌握白盒测试的数据流测试法实践环节通过案例运用学习掌握覆盖问题的解决方法运用基本路径测试方法进行实际程序测试3.1白盒测试方法为什么要进行白盒测试?如果所有软件错误的根源都可以追溯到某个唯一原因,那么问题就简单了。然而,事实上一个bug常常是由多个因素

2、共同导致的,如下图所示。假设此时开发工作已结束,程序送交到测试组,没有人知道代码中有一个潜在的被0除的错误。若测试组采用的测试用例的执行路径没有同时经过x=0和y=5/x进行测试,显然测试工作似乎非常完善,测试用例覆盖了所有执行语句,也没有被0除的错误发生。白盒测试方法(续)白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例。白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行测试,是一种穷举路径的测试方法。但即使每条路径都测试过了,仍然可能存在错误

3、。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序。穷举路径测试不可能查出程序因为遗漏路径而出错。穷举路径测试发现不了一些与数据相关的错误。白盒测试方法(续)采用白盒测试方法必须遵循以下几条原则,才能达到测试的目的:保证一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试真(true)和假(false)两种情况。检查程序的内部数据结构,保证其结构的有效性。在上下边界及可操作范围内运行所有循环。白盒测试常用的测试用例设计方法逻辑覆盖以程序内部的逻辑结构为基础;根据覆盖

4、测试的目标,逻辑覆盖分为:语句、判定、条件、判定/条件、组合、路径基本路径测试为了解决路径庞大难题;在程序控制流程图的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,设计测试用例的方法。3.3控制流图控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,唯一的。控制流图中包括两种图形符号:节点和控制流线。节点由带标号的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控

5、制流。对于复合条件,则可将其分解为多个单个条件,并映射成控制流图。常见结构的控制流图常见结构的控制流图其中,包含条件的节点被称为判定节点(也叫谓词节点),由判定节点发出的边必须终止于某一个节点,由边和节点所限定的范围被称为区域。转化程序流程图为控制流图A>1andB=0X=X/A123A>1B=0X=X/A2314YYY3.3覆盖测试3.4.1测试覆盖率3.4.2逻辑覆盖法3.4.3功能覆盖3.4.4其他覆盖3.4.5如何使用覆盖率3.4.6测试覆盖准则结构测试中的一个重要问题是,测试进行到什么地步就达到

6、要求,可以结束测试。这需要给出结构测试的覆盖准则。3.3.1测试覆盖率测试覆盖率:用于确定测试所执行到的覆盖项的百分比。其中的覆盖项是指作为测试基础的一个入口或属性,比如语句、分支、条件等。通过覆盖率数据可以知道测试得是否充分,测试的弱点在哪些方面,从而指导我们设计能够增加覆盖率的测试用例。能够有效地提高测试质量,避免设计无效用例。在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。但覆盖率不是目标,只是一种手段。覆盖率概念覆盖率是用来度量测试完整性的一个手段。本身并不包含测试技术,只是测试技

7、术有效性的一个度量。覆盖率种类:逻辑覆盖(LogicalCoverage),也叫:代码覆盖率(CodeCoverage)结构化覆盖率(StructuralCoverage)功能覆盖(FunctionCoverage)。3.3.2逻辑覆盖法根据覆盖目标的不同,逻辑覆盖可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。语句覆盖:选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。覆盖指标C0判定覆盖(分支覆盖):选择若干个测试用例,运行被测程序,使得程序中的每个判断

8、真假值均曾被满足,也就是使程序中的每个取“真”分支和取“假”分支至少均经历一次。覆盖指标C1条件覆盖:选择若干个测试用例,运行被测程序,使得程序中每个判定包含的每个条件的可能取值(真/假)都至少满足一次。逻辑覆盖法(续)判定-条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。——满足判定-条件覆盖的测试用例一定同时满足判定覆盖和

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

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

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