软件测试详述159.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试详述159

安博测试空间技术中心/ 地址:北京市海淀区学院路40号大唐电信测试空间楼 联系电话:010 软件测试的基本概念 测试现状 电子工程师和建筑工程师要远比软件工程师们训练有素,电子工程师们可以制造近乎0缺陷的包含上百万个晶体管的大规模集成电路。在有关Pentium处理器的热烈的缺陷声讨中,经常被忽略的是310万个晶体管中竟然只有一个缺陷。再看看软件,你上次看到的在310万行软件代码中只有一个缺陷是什么时候?硬件工程师们难道比软件工程师们更加聪明吗?他们达到的质量水平幅度远远高于软件,是因为他们更加训练有素,他们的开发和测试方法更加严格。他们愿意话更多的时间和精力来保证产品的完整性。他们真正认识到了缺陷所带来的影响:经济的或者其他的。建筑工程师在建造摩天大楼面临着同样的挑战。在他们的世界中,系统坍塌意味着建筑倒塌。 测试的说明 不存在没有缺陷的代码,软件测试是为了发现错误而执行程序的过程证明程序有错,而证明程序无错误一个好的测试用例是在于它能发现至今未发现的错误测试用例测试用例测试图1 软件工程:提供了质量的基础,分析、设计和构造方法通过提供一致的技术和可预测的结果帮助提高质量。 技术复审:通过对各个步骤产生的成果进行跟踪检查,控制质量。 测度:通过测量和数据分析来控制质量 SQASCM:SQA是支撑整个质量控制手段的监督协调机制,SCM是对产品进行管理的基础性设施。 标准过程:在组织级保证一致性,从而实现更加广大范围的质量管理 测试:质量控制的最后堡垒,但是测试不能完全的保证质量;同时测试工作的高成本,也要求上述各方面机制的有效配合。 测试原则 测试工作的一些基本原则如下: 测试用例:所有测试均应当追溯到特定要求 测试过程:测试应当从“小规模”开始,逐步转向“大规模” 测试组织:为了达到最佳效果,测试应当由独立的第三方来进行 工具:依据选定的测试方法和测试过程选择工具,将测试工具和过程结合起来 测试的意义 过程反馈机制:测试集成到软件过程中,形成一个反馈环,从而快速的提高质量 可测试性 可测试性,是软件容易被测试的程度,主要包括下面几个指标: 可确认性:可以明确确认软件是否符合要求,例如有明确的要求和指标 可观察性:用于确认的结果可以进行有效的观察 可控制性:相对应的测试环境可以进行控制,从而保证测试的有效性 可分解性:软件可以进行分解,对分解的结构进行测试 测试体系 整个测试体系包括:测试过程、测试方法、测试工具、测试管理工具、测试用例库和缺陷库。他们之间的关系如下图: 图2 根据系统特性选择相应的测试方法 为了高效的利用测试方法,要使用有效的工具 通过测试过程灵活的组合各种测试方法,并进行有效管理 为了有效的管理和改进测试过程,要采用测试管理工具 测试过程的主要财富是“测试用例库”和“缺陷库” 通过分析“缺陷库”可以有效的进行过程改进,并评价一个软件的质量 白盒测试 白盒测试主要关注程序结构,通过分析程序中的关键结构设计测试用例。白盒测试通过逻辑覆盖、路径覆盖等方式选择测试用例,可以用测试覆盖率评价测试用例。白盒测试的开销相比黑盒测试要大的多,一般情况下,我们不会对每个模块都进行白盒测试,只是选择重要个的模块进行。 程序的一些主要结构:语句、分支、逻辑路径、变量;所以白盒测试的主要方法是:语句覆盖方法、分支覆盖方法、逻辑覆盖方法。 语句覆盖方法 Tom McCabe提出的一种白盒测试方法,主要的技术在于环形复杂度的计算,具体步骤如下: 序号 步骤 说明 1 程序结构化 将程序转化为流图 2 环形复杂度计算 得到的是要覆盖所有语句,独立路径数量的上限N 3 构造独立路径 构造N条独立路径 4 确认分支点 针对每条独立路径,确认独立路径上的所有分支点 5 构造执行条件 根据一条独立路径上的所有分支点集合确认路径执行条件集合 6 编制用例 对这些路径和路径执行条件集合进行分析,编制用例 流图 各种程序结构的流图如下: 图3 “UNTIL”结构其实所有相关语句均会执行,所以可以将整个“UNTIL”作为一个节点。 “WHILE”结构类似于“IF”结构 “CASE”语句可以很方便的转化为“IF”结构 所以后面的讨论主要针对“IF”结构进行。 对于“IF”结构复杂判定要进行处理,实际说明系统运行的实际情况,如下图 图4 环形复杂度 根据流图的拓扑结构可以计算流图的环形复杂度,计算方法有: 序号 计算方法 1 环形复杂度=区域数量+1 2 环形复杂度=边的数量-节点数量+2 3 环形复杂度=判定节点数量+1 分支覆盖 分支覆盖测试是检查程序逻辑条件的测试用例方法。 一个逻辑条件的构成:布尔操作符、布尔变量、关系操作符、算术表达式,具体说明如下: 元素 构成结构 布尔操作符 AND,OR,NO

文档评论(0)

精品文档 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档