- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
白盒测试_黑盒测试软件测试 推荐
白盒测试技术 逻辑覆盖 控制结构测试 逻辑覆盖 逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。这一方法要求测试人员对程序的逻辑结构有清楚的了解,甚至要能掌握源程序的所有细节。 由于覆盖测试的目标不同,逻辑覆盖又可分为: 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖 语句覆盖 语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这种覆盖又称为点覆盖,它使得程序中每个可执行语句都得到执行,但它是最弱的逻辑覆盖准,效果有限,必须与其它方法交互使用。 判定覆盖 判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。判定覆盖又称为分支覆盖。 判定覆盖只比语句覆盖稍强一些,但实际效果表明,只是判定覆盖,还不能保证一定能查出在判断的条件中存在的错误。因此,还需要更强的逻辑覆盖准则去检验判断内部条件。 条件覆盖 条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判定的每个条件的可能取值至少执行一次。 条件覆盖深入到判定中的每个条件,但可能不能满足判定覆盖的要求。 条件覆盖不一定包含判定覆盖 判定覆盖也不一定包含条件覆盖 判定-条件覆盖 既然判定条件不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,就自然会提出一种能同时满足两种覆盖标准的逻辑覆盖,这就是判定/条件覆盖。 判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。换言之,即是要求各个判断的所有可能的条件取值组合至少执行一次。 判定-条件覆盖 判定-条件覆盖 判定-条件覆盖 条件组合覆盖 条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。 这是一种相当强的覆盖准则,可以有效地检查各种可能的条件取值的组合是否正确。它不但可覆盖所有条件的可能取值的组合,还可覆盖所有判断的可取分支,但可能有的路径会遗漏掉。测试还不完全。 A>1, B=0 A>1, B≠0 A≯1, B=0 A≯1, B≠0 A=2, X>1 A=2, X≯1 A≠2, X>1 A≠2, X≯1 路径覆盖 路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。这是最强的覆盖准则。但在路径数目很大时,真正做到完全覆盖是很困难的,必须把覆盖路径数目压缩到一定限度。 路径覆盖 通过分析由控制构造的环路的复杂性,导出基本路径集合,从而设计测试用例,保证这些路径至少通过一次。 为了使用图论的知识和术语,引入流图(亦即程序图)的概念,流图即把流程图中结构化构件改用一般有向图的表示形式。 流图(flow graph ) 在流图中用圆表示节点,一个圆代表一条或多条语句。程序流程图中的一个处理框序列和一个菱形判定框,可以映射成流图中的一个节点。流图中的箭头线称为边,它和程序流程图中的箭头线类似,代表控制流。在流图中一条边必须终止于一个节点,即使这个节点并不代表任何语句(实际上相当于一个空语句)。由边和节点围成的面积称为区域,当计算区域数时应该包括图外部未被围起来的那个区域。 流图 导出程序流程图的拓扑结构-流图 计算流图G的环路复杂度V(G) 确定只包含独立路径的基本路径集 设计测试用例 Step1 根据程序的逻辑结构画出流程图 void Func(int nPosX, int nPosY) { while (nPosX 0) { int nSum = nPosX + nPosY; if (nSum 1) { nPosX--; nPosY--; } else { if (nSum -1) nPosX -= 2; else nPosX -= 4; } // end of if } // end of while } Step3 确定基本路径的集合 流图的环形复杂度正好是基本路径的数目 Step4 对每条基本路径设计测试用例 路径1 – 11 nPosX 取-1, nPosY取任意值 路径1 – 2 – 3 – 4 – 5 – 10 – 1 – 11 nPosX 取1, nPosY取1 路径1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11 nPosX 取1, nPosY取-3 路径1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11 nPosX 取1, nPosY取-1 白盒测试是不完备的 对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给出一个小程序的流程图,它包括了一个
您可能关注的文档
最近下载
- 社区养老服务驿站2025年运营策略与案例分析.docx
- 《跨境电商英语》课程标准.docx VIP
- 除颤仪迈瑞D3分布及使用.pptx VIP
- 2019年人教版九下化学《第12章 化学和生活》单元测试卷(解析版).doc VIP
- 中班语言绘本《绿绵羊在哪里》动态PPT课件.pptx VIP
- 人教版五年级上册数学全册教案(永威先学后教模式).pdf VIP
- 变电站验收要点.docx
- nubia主题修改教程附电脑和手机工具努比亚ui4.pdf VIP
- 2024-2025学年人教版化学九年级下学期《第8章 金属和金属材料》测试卷及答案解析.doc VIP
- 最新人教版九年级数学上册-全册课件全集(1215张).pptx VIP
文档评论(0)