- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试 第4章 白盒测试方法 ——基本路径法 目 录 课堂测试 写出逻辑覆盖测试包含的六种基本类型,并写出它们的基本测试要求。 例: 1、语句覆盖:使程序中的***语句至少测试一次。 B. 基本路径测试 本次课将会接触到的新知识: 基本路径测试 路径测试就是从一个程序的入口开始,执行所经历的各个语句的完整过程。从广义的角度讲,任何有关路径分析的测试都可以被称为路径测试。 完成路径测试的理想情况是做到路径覆盖,但对于复杂性大的程序要做到所有路径覆盖是不可能的。 基本路径测试 在不能做到所有路径覆盖的前提下,如果某一程序的每一个独立路径都被测试过,那么可以认为程序中的每个语句都已经检验过了,即达到了语句覆盖。这种测试方法就是通常所说的基本路径测试法。 基本路径测试 基本路径测试方法是在控制流图的基础上,通过分析控制结构的环形复杂度,导出执行路径的基本集,再从该基本集设计测试用例。基本路径测试方法包括4个步骤: 基本路径测试 (1)画出程序的控制流图。 (2)计算程序的环形复杂度,导出程序基本路径集中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。 基本路径测试 (3)导出基本路径集,确定程序的独立路径。 (4)根据(3)中的独立路径,设计测试用例的输入数据和预期输出。 控制流图 程序流程图又称框图,是我们最熟悉,也是最容易理解的一种程序控制结构的图形表示了。在这种图上的框里面常常标明了处理要求或者条件,但是,这些标注在做路径分析时是不重要的。为了更加突出控制流的结构,需要对程序流程图做一些简化。 1. 程序的控制流图 在控制流图中只有两种图形符号,它们是: 节点:以标有编号的圆圈表示。 控制流线或弧:以箭头表示。 1. 程序的控制流图 1. 程序的控制流图 1. 程序的控制流图 1. 程序的控制流图 在选择或多分支结构中,分支的汇聚处应有一个汇聚节点。 边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。 1. 程序的控制流图 1. 程序的控制流图 区域 1. 程序的控制流图 复合条件的控制流图 如果判断中的条件表达式是由一个或多个逻辑运算符 (OR, AND, ...) 连接的复合条件表达式,则需改为 一系列只有单个条件的嵌套的判断。 1. 程序的控制流图 1. 程序的控制流图 2. 程序环路复杂性 环路复杂性即McCabe复杂性度量,在进行程序的基本路径测试时,从程序的环路复杂性可导出程序基本路径集合中的独立路径条数。 程序的环路复杂性给出了程序基本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。 2. 程序环路复杂性 独立路径:指包括一组以前没有处理的语句或条件的一条路径。 从控制流图来看,一条独立路径是至少包含有一条在其它独立路径中从未有过的边的路径。 一条路径这里指一条“程序通路”。 2. 程序环路复杂性 2. 程序环路复杂性 path1:1 - 11path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11 路径 path1,path2,path3,path4组成了控制流图的一个基本路径集。 2. 程序环路复杂性 程序环路复杂性计算方法(三种): (1)流图中区域的数量对应于环形复杂度 (2)给定流图G的环形复杂度V(G),定义为V(G)=E-N+2, E是流图中边的数量,N是流图中节点的数量。 (3) V(G)=P+1, P是流图G中的判定节点数。 2. 程序环路复杂性 3. 导出测试用例 导出测试用例,确保基本路径集中的每一条路径的执行。 根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到 — 用逻辑覆盖方法。 3. 导出测试用例 每个测试用例执行之后,与预期结果进行比较。如果所有测试用例都执行完毕,则可以确信程序中所有的可执行语句至少被执行了一次。 必须注意,一些独立的路径,往往不是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。 基本路径测试 基本路径测试法的步骤: (1)以详细或源代码作为基础,导出程序的控制流图。 (2)计算得到控制流图G的环路复杂度V(G) (3)确定基本路径集,生成测试用例,确保基本路径集中每条路径的执行。 程序段的流图 计算其环形复杂度 环形复杂度为: V(G)=E-N+2 =10-8+2=4 或者 V(G)=P+1 =3+1=4 例:如下所示的c
文档评论(0)