《软件工程模型与方法》配套教学课件.ppt

《软件工程模型与方法》配套教学课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共922页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.基本路径测试 路径测试是最强的覆盖准则,但实际上,一个不太复杂的程序,路径数都是非常庞大的,所以真正做到完全路径覆盖是很困难的,必须把覆盖路径数目压缩到一定限度。 基本路径测试是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 基本路径测试步骤 (1)导出程序流程图的拓扑结构-流图 (程序图) (2)计算流图G的环路复杂度V(G) (3)确定只包含独立路径的基本路径集 (4)设计测试用例 导出程序的控制流图 计算程序环路复杂性 进行程序的基本路径测试时,程序的环路复杂性给出了程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。 所谓独立路径,是指包括一组以前没有处理的语句或条件的一条路径。 通常环路复杂性可用以下三种方法求得: 将环路复杂性定义为控制流图中的区域数。 设E为控制流图的边数,N为图的结点数,则定义环路复杂性为 V(G)=E-N+2。 若设P为控制流图中的判定结点数,则有 V(G)=P+1。 基本路径集 path1:1 - 11 path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11 path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11 path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11 导出测试用例 采用基本路径法导出测试用例的步骤为: 以详细设计或源代码为基础,导出程序的控制流图; 计算得到的控制流图G的环路复杂性V(G); 确定现行无关的路径基本集; 利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行。 3.控制结构测试 关于分支结构路径数的讨论 嵌套型分支若有n个判定语句,则需要n+1个测试用例 连锁型分支若有n个判定语句,则需要2n个测试用例 减少测试用例 为减少测试用例的数目,可采用试验设计法,抽取部分路径进行测试。 1)设耦合型分支结构中有n个判定,计算满足关系式 n+1≤2m 的最小自然数m; 2)设t = 2m,取正交表Lt,并利用它设计测试数据。 条件测试的策略 程序中的条件分为简单条件和复合条件。 简单条件是一个布尔变量或一个关系表达式(可加前缀NOT); 复合条件由简单条件通过逻辑运算符(AND、OR、NOT)和括号连接而成。 如果条件出错,至少是条件中某一成分有错。 条件中可能的出错类型有:布尔运算符错、布尔变量错、布尔括号错、关系运算符错、算术表达式错。 BRO 测试法 BRO(分支与关系运算符)测试法可以发现多个布尔运算符或关系运算符错,以及其它错误。 BRO策略引入条件约束的概念。 设有n个简单条件的复合条件C,其条件约束为D =(D1, D2, …, Dn),其中Di(1≤i≤n)是条件C中第i个简单条件的输出约束。如果在C的执行过程中,其每个简单条件的输出都满足D中对应的约束,则称条件C的条件约束D由C的执行所覆盖。特别地,布尔变量或布尔表达式的输出约束必须是真(t)或假(f);关系表达式的输出约束为符号、=、。 循环测试 简单循环测试 对于简单循环,测试应包括以下几种。其中的 n 表示循环允许的最大次数。 零次循环:从循环入口直接跳到循环出口。 一次循环:查找循环初始值方面的错误。 二次循环:检查在多次循环时才能暴露的错误。 m次循环:此时的m<n,也是检查在多次循环时才能暴露的错误。 最大次数循环、比最大次数多一次的循环、比最大次数少一次的循环。 嵌套循环测试 对于嵌套循环,不能将简单循环的测试方法简单地扩大到嵌套循环,因为可能的测试数目将随嵌套层次的增加呈几何倍数增长。这可能导致一个天文数字的测试数目。下面给出一种有助于减少测试数目的测试方法。 除最内层循环外,从最内层循环开始,置所有其它层的循环为最小值; 对最内层循环做简单循环的全部测试。测试时保持所有外层循环的循环变量为最小值。另外,对越界值和非法值做类似的测试。 逐步外推,对其外面一层循环进行测试。测试时保持所有外层循环的循环变量取最小值,所有其它嵌套内层循环的循环变量取“典型”值。 反复进行,直到所有各层循环测试完毕。 对全部各层循环同时取最小循环次数,或者同时取最大循环次数。对于后一种测试,由于测试量太大,需人为指定最大循环次数。 连锁与非结构循环测试 对于连锁循环,要区别两种情况。如果各个循环互相独立,则连锁循环可以用与简单循环相同的方法进行测试。但如果几个循环不是互相独立的,则需要使用测试嵌套循环的办法来处理。 对于非结构循环,应该使用结构化程序设计方法重新设计测试用例。 11.5.4输入/输出效率 指导原则 : 输入/输出的请求应当最小化 ; 安排适当的缓冲区,以减少频繁的信息

您可能关注的文档

文档评论(0)

158****4367 + 关注
实名认证
内容提供者

学海无涯

1亿VIP精品文档

相关文档