软件质量与结构化测试已读版修正版.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件质量与结构化测试已读版修正版

内容提要 什么是软件质量 软件质量特性与质量模型 软件质量的度量 常用软件度量方法 McCabe复杂度 结构化测试技术 软件开发 软件开发的工作分配 什么是软件质量 “The totality of features and characteristics of a product or service that bear on its ability to satisfy stated or implied needs” (ISO 8402) 与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体 什么是软件质量 ISO 9126 Software Quality:软件质量 The totality of features and characteristics of a software product that bear on its ability to satisfy stated or implied needs. 与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体 Quality in Software 为什么质量差? 软件质量保证(QA) 原则 质量不必是“最好”的 质量是用户想要的和愿意购买的 Quality Characteristics 质量特征 Software Complexity Quality Models 分配用户需求 Quality Factors(质量因素) 软件质量的因子-标准-度量关系 质量与质量管理 质量要用需求,可接受性和它们达到的证据来衡量 测量工具的好处 支持质量管理系统 什么是度量( Metric )? 任何测量的单位 e.g. Cm, Litre, Ohm, Second, Color 好的度量 分析一个模块 流图符号 (箭头)称为“边”(edge),代表控制流 (圆圈)称为“节点”(node),代表一个或多个语句动作 由节点和边围成的范围称为“域”(region),在计算域时,图形外的区域也应算做一个“域” 判定节点,指包含条件的节点 分析一个模块 圈复杂度 (v(G))... 是模块结构复杂程度的一种度量。定义为贯穿模块的独立线行路径数,因此,它也是预防错误所需的最小测试路径数 缩写为 v(G) 圈复杂度过高,表明模块的质量较差,且难于理解与维护 经验研究表明,在模块错误与圈复杂度之间存在较强的关联性 三种方法: All methods provide same result 公式 断言(判定节点) 区域 分析一个模块 圈复杂度的计算... 公式法 分析一个模块 圈复杂度的计算... 计算所有的边(e)和节点(n) 使用公式 V(G) = e - n + 2 Example V(G) = e - n + 2 分析一个模块 圈复杂度的计算... 1 2 3 4 5 6 14 7 8 15 9 10 11 12 13 公式法 计算所有的边(e)和节点(n) 使用公式 V(G) = e - n + 2 Example e=15 分析一个模块 圈复杂度的计算... 1 3 2 5 4 6 7 10 12 11 9 8 公式法 计算所有的边(e)和节点(n) 使用公式 V(G) = e - n + 2 Example n=12 分析一个模块 圈复杂度的计算... 公式法 计算所有的边(e)和节点(n) 使用公式 V(G) = e - n + 2 Example V(G) = 15 - 12 + 2 V(G) = 5 断言(判定节点)法 分析一个模块 圈复杂度的计算... 计算所有的断言(P) 使用 V(G) = P + 1 Example V(G) = 4 + 1 V(G) = 5 V(G) = P + 1 区域法 分析一个模块 圈复杂度的计算... 计算所有的由边和节点所围成的区域(R),注意最外围也算一个区域 使用 V(G) = R Example V(G) = R V(G) = 5 1 4 3 2 5 如果线条有交叉时会发生错误 分析一个模块 v(G) = e - n +2 v(G) = 22 - 18 +2 v(G) = 6 练习:Cyclomatic Complexity (v(G)) 圈复杂度度量法的优势 预测软件潜在错误的比率 指出过于复杂需要分解的模块 通过限制程序的逻辑量来指导测试过程 帮助管理测试和维护的资源 (基于复杂度) 分析一个模块 应用任何语言和易于应用 使程序易于理解 易于测试 分析一个模块 基本复杂度Essential Complexity (ev(G))... 一个模块包含“非结构化结构”的程度 缩写为 (ev(G)) 基本复杂度高,表明模块的结构“不够良好”

文档评论(0)

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

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

1亿VIP精品文档

相关文档