- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter05白盒测试用例设计方法研讨
语句覆盖法 语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次 如果是顺序结构,就是让测试从头执行到尾 如果有分支、条件和循环,需要利用下面的方法,执行足够的测试覆盖全部语句 abd acd ace abe 路径测试: 路径测试就是设计足够多的测试用例,覆盖被测试对象中的所有可 能路径。 在上面的测试用例中再添加一个测试用例则可对程序进行了全部的 路径覆盖。 测试用例 x=4、y=6、z=5? x=4、y=5、z=15? x=2、y=6、z=15? x=5、y=6、z=5? 通过路径 覆盖条件 T1、T2、T3、T4 T1、‐T2、T3、‐T4? ‐T1、‐T2、‐T3、‐T4? ‐T1、‐T2、‐T3、‐T4? 基本路径测试 上面的例子是一个很简单的程序函数,只有四条路径。但在实践中, 一个不太复杂的程序,其路径都是一个庞大的数字,要在测试中覆盖所有 的路径是不现实的。为了解决这一难题,只得把覆盖的路径数压缩到一定 限度内,例如,程序中的循环体只执行一次。 下面介绍的基本路径测试就是这样一种测试方法,它在程序控制图的 基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从 而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个 可执行语句至少执行一次。 前提条件 测试进入的前提条件是在测试人员已经对被测试对象有了一定的 了解,基本上明确了被测试软件的逻辑结构。过程是通过针对程序逻 辑结构设计和加载测试用例,驱动程序执行,以对程序路径进行测试。 测试结果是分析实际的测试结果与预期的结果是否一致。 1. 基本路径测试步骤 在程序控制流图的基础上,通过分析控制构造的环路复杂性, 导出基本可执行路径集合,从而设计测试用例。 包括以下4个步骤: 程序的控制流图:描述程序控制流的一种图示方法。 2.程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出 程序基本路径集合中的独立路径条数,这是确定程序中每个可执行 语句至少执行一次所必须的测试用例数目的上界。 3.导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预 期结果。 4.准备测试用例:确保基本路径集中的每一条路径的执行 程序控制流图 在介绍基本路径方法之前,必须先介绍一种简单的控制流表示方法, 即流图。流图使用下面的符号描述逻辑控制流,每一种结构化构成元素 有一个相应的流图符号。 顺序结构 IF选择结构 WHILE重复结构 UNTIL重复结构 CASE多分支结构 例子 如下面的C函数: void Sort(int iRecordNum,int iType) { int x=0; int y=0; while (iRecordNum-- 0) { if(0= =iType) x=y+2; else if(1= =iType) x=y+10; else x=y+20; } } 第一步:画出控制流图 c/c++语句中的控制语句表示含义如下: 图中的每一个圆称为流图的结点,代表一条或多条语句。流图中的箭头 称为边或连接,代表控制流。 为了说明流图的用法,我们采用过程设计表示法,此处,流程图用来描 述程序控制结构。可将流程图映射到一个相应的流图(假设流程图的菱形决 定框中不包含复合条件)。在流图中,每一个圆,称为流图的结点,代表一 个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点, 流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条 边必须终止于一个结点,即使该结点并不代表任何语句(例如:参见if- else-then结构的符号)。由边和结点限定的范围称为区域。计算区域时应包 括图外部的范围。 任何过程设计都要被翻译成控制流图。 画出其程序流程图和对应的控制流图如下: 4 4 6 7 6 8 10 11 7 8 10 11 14 13 14 程序流程图 13 控制流图 1a 程序设计中遇到复合条件时,生成的流图变得更为复杂。当条件语句中用到 一个或多个布尔运算符(逻辑OR,AND,NAND,NOR)时,就出现了复合条件。 下图为语句IF a OR b中的每一个a和b创建了一个独立的结点,包含条件的 结点被称为判定结点,从每一个判定结点发出两条或多条边。例如: if a or b x else y 对应的逻辑为: 1b 2 3 2 第二步:计算圈复杂度 圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量 用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试
您可能关注的文档
最近下载
- 建筑工人实名制管理制度.docx VIP
- UL60950中文版(最新整理版).pdf VIP
- 新商务星球版八年级上册地理全册精编知识点合集.pdf
- 项目1 初识高铁客运乘务《高速铁路客运乘务实务》教学课件.pptx VIP
- 环境科学与工程的前沿技术与应用.pptx VIP
- 2020高中英语必修一Welcomeunit知识点归纳及练习.pdf VIP
- StartingOutwithC++EarlyObjectsEighthEditionbyTony.ppt VIP
- 【大单元教学】《赏书法之韵》第1课时课件 人美2024版七年级上册.ppt VIP
- .潍坊滨海经济技术开发区.PDF VIP
- 小学奥数-几何五大模型(鸟头模型)..pdf VIP
文档评论(0)