- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 软件测试1
软件测试定义 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程。 软件测试根据生存期的时间: 单元测试:完成模块编码时进行的测试。 综合测试:完成编码后进行的测试。 软件测试的对象 软件应贯穿于软件定义与开发的整个期间,包括需求规格说明、概要设计规格说明、详细设计规格说明以源程序,都是软件测试的对象。 软件测试包括各种确认和验证: 确认:证实在一个给定的外部软件逻辑的正确性,包括需求规格说明和程序的确认。 验证:证明在软件生存各个阶段,以及阶段间的逻辑协调性、完备性和正确性。 软件生存期各阶段需要保持正确性 测试与软件开发各阶段的关系 软件开发过程是一个自顶向下的过程,测试则依相反顺序安排的自下向上的过程。 逻辑覆盖程度 例: 设计能够满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖的测试用例。 例: 请为下列方程设计条件/判定覆盖测试用例。 8.3.2基本路径测试 基本路径测试:在程序控制流图的基础上,通过分析控制构的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 控制流图的图形符号: 程序流程图与控制流图 导出测试用例的步骤 1.以详细设计或源代码作为基础,导出程序 的控制流图。 2.计算得到的控制流图G的环路复杂性V(G)。 3.确定线性无关的路径的基本集。 4.生成测试用例,确保基本路径集中每条路径的执行。 例: i=1; Total.input=total.valid=0; Sum=0; Do while value[i]-999 and total.input100 increment total.input by 1; if value[i]=minimum and value[i]=maximum then increment botal.valid by 1; sum=sum+value[i]; else skip; endif; increment I by 1; enddo If total.valid0 then averagy=sum/total.valid; Else averagy=-999; End if 例: Path1:1-2-10-11-13 图形矩阵 图形矩阵是在基本路径测试中起辅助作用的软件工具,利用它可实现自动地确定基本路径集。 图形矩阵 根据图形矩阵计算环路复杂性:若一行有2个以上的元素,则表示结点一定是判定结点。 例: 请写出下图的语句覆盖和判定覆盖,并计算环路复杂性的值。 例 根据下图按判定覆盖测试填表: 例: 计算下图的环路复杂性值,并写出基本路径集. 循环测试路径选择 循环分为4种不同类型:简单循环、连锁循环、嵌套循环和非结构循环。 (1) 简单循环 ① 零次循环:从循环入口到出口② 一次循环:检查循环初始值③ 二次循环:检查多次循环④ m次循环: 检查在多次循环⑤ 最大次数循环、比最大次数多一次、少一次的循环。 (2) 嵌套循环 ① 对最内层循环做简单循环的全部测试。所有其它层的循环变量置为最小值;② 逐步外推,对其外面一层循环进行测试。测试时保持所有外层循环的循环变量取最小值,所有其它嵌套内层循环的循环变量取“典型”值。③ 反复进行,直到所有各层循环测试完毕。 ④ 对全部各层循环同时取最小循环次数,或者同时取最大循环次数。 (3) 连锁循环 如果各个循环互相独立,则可以用与简单循环相同的方法进行测试。但如果几个循环不是互相独立的,则需要使用测试嵌套循环的办法来处理。 (4) 非结构循环 这一类循环应该使用结构化程序设计方法重新设计测试用例。 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 8 7 9 10 13 12 11 1 2 3 4 5 6 8 7 9 10 13 12 11 1 3 4 2 5 a b d e f g c e g f c b d a 1 2 3 4 5 1 2 3 4 5 e g f c b d a 1 2 3 4 5 1 2 3 4 5 1 -1 = 0 2 -1 = 1 2 -1 = 1 2 -1 = 1 复杂性=3+1=4 0 MAX FOR I=X TO 13 MAXI*I %13 T F MAX=I*I %13 Start 0-Max) i=X i13 MaxI*I %13 Max=I*I%
文档评论(0)