逻辑覆盖测试讲解.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习一 1.如图显示某程序的逻辑结构。试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。 结合研究生教案 结合研究生教案 SWPU SWPU 把程序看成装在一个透明的白盒子里,程序的结构和处理呈现过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。 第3章 白盒测试方法 2 路径分析测试 3 分支条件测试、循环测试 4 其它测试类型 5 主要内容 综合测试实例 6 黑盒测试与白盒测试 1 逻辑覆盖测试 黑盒测试与白盒测试 任何工程产品都可以使用白盒测试和黑盒测试两种方法之一进行测试。 1.黑盒测试 黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试证明每个功能是否实现、每个实现了的功能是否符合客户要求。 软件的黑盒测试意味着测试要在软件的接口处进行,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书和用户手册,检查程序的功能是否符合它的功能说明,以及性能是否满足用户的要求。因此黑盒测试又叫功能测试或数据驱动测试。 2.白盒测试 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。 白盒测试的基本概念 什么是白盒测试 把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。 不可能进行彻底的白盒测试 结论是:41+42+43+……+410,需要14秒左右的时间 如果循环次数为20次,100次时,结果又如何? 结论是:循环20次,需要约4072小时,循环100次则大约需要6.79*1047年 左图是具有某程序的流程图,假设循环10次,请计算一下有多少条程序执行通路?假设由图中得到的所有路径都是可执行路径,执行一次循环大约需要10微秒(奔腾4 1.7G),且一年365天每天24小时不停机,请回答:如果循环次数为10的话,遍历图中所有路径需要多长时间? 白盒测试的常用方法 逻辑覆盖 路径分析测试 循环、条件分支 … 逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。 逻辑覆盖 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖 弱 强 覆盖程度从低到高排列 覆盖准则的作用 说明 用于描述在测试过程中,被测对象被测试的程度,有时候也称为软件测试覆盖准则或者测试数据完备准则,可以: 作为测试停止的标准,用于衡量测试是否充分; 作为选取测试数据的依据,满足相同覆盖准则的测试数据是等价的. 逻辑覆盖例题 入口 A 1 AND B=0 T A=2 OR X 1 T X = X / A X = X + 1 返回 F F 路径:P1(TT)P2(FF)P3(FT)P4(TF) 程序如下: function js(float A,float B,float X) { if(( A1)(B= =0)) X=X/A; if((A==2)||(X1)) X=X+1; } 1 语句覆盖 设计足够的测试用例,使得程序中的每个语句至少执行一次。 1 语句覆盖 入口 A 1 AND B=0 T A=2 OR X 1 T X = X / A X = X + 1 返回 F F A B X 用例1 输出 路径:P1(TT)P2(FF)P3(FT)P4(TF) ? 第一个判断中的逻辑运算符“AND”若错写成了“OR”,能否测试出来? 只包含了P1一条路径,所以语句覆盖的覆盖程度是最弱的 3 0 2 2 2 0 4 2 判定覆盖 设计足够的测试用例,使得在语句覆盖的基础上,程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖。 2 判定覆盖(分支覆盖) 入口 A 1 AND B=0 T A=2 OR X 1 T X = X / A X = X + 1 返回 F F ? 判定覆盖比语句覆盖强,但是仍不能保证判断条件的正确性。例如:第二个判断条件中的x>1若错写成了x<1,能否测试出来? 还有其它可能吗?

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档