- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
07、结构化实现(下)概述
第4章 结构化实现Ⅱ;;4.4 黑盒测试技术; 应用黑盒测试技术可以设计出满足下述标准的测试用例集:
1. 所设计出的测试用例能够减少为达到合理测试而需要设计的附加测试用例的数目;
2. 所设计出的测试用例能够告诉我们,是否存在某些类型的错误,而不是仅仅指出与特定测试相关的错误是否存在。;4.4.1 等价划分;两种不同的等价类;步骤:;划分等价类的几条启发式规则:;(2) 如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。
例如,对变量标识符规定为“以字母打头的……串”。那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类。
(3)如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无???的等价类(任一个不允许的输入值);;(4)如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从各种不同角度违反规则);
(5)如果规定了输入数据为整型,则可以划分出正整数、零和负整数等三个有效类;
(6)如果程序处理对象是表格,则应该使用空表,以及含一项或多项的表。;用等价类划分法,建立输入等价类表:;选择测试用例的原则;4.4.2边界值分析; 这里所说的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。
使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据; 例如:在程序的规格说明中,对输入条件有条件:
“…… 项数可以从1到999 ……”
则有效等价类是“1≤项数≤999”
两个无效等价类是“项数<1”或“项
数>999”。在数轴上表示成: ;比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。 我们应注意到这三个数值应当满足
A>0、B>0、C>0、
A+B>C、A+C>B、B+C>A,才能构成三角形。但如果把六个不等式中的任何一个大于号“>”错写成大于等于号“≥”,那就不能构成三角形。问题恰出现在容易被疏忽的边界附近。; 错误推测法在很大程度上依靠测试人员的直觉和经验进行。它的基本做法是,列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们设计测试方案。对于程序中容易出错的情况已有一些经验总结出来。
例如,输入数据值为零或输出数据值为零往往容易发生错误;还应该仔细分析程序规格说明书,注意找出其中的遗漏或省略的部分,以便设计相应的测试方案,检测程序员对这些部分的处理是否正确。 ; 此外,经验还告诉我们,在一段程序中已经发现的错误数目往往和尚未发现的错误数成正比。例如,在IBM OS/370操作系统中,用户发现的全部错误的47%只与该系统4%的模块有关。这个事实再次证实了本章提到的Pareto原理。因此,在进一步测试时应该着重测试那些已经发现了有较多错误的程序段。;4.4.4 因果图;4.4.5 功能图测试;4.5 测 试 策 略;;;4.5.2 单元测试
通常,单元测试和编码属于软件工程过程的同一个阶段。在编写出源程序代码并通过了编译程序的语法检查之后,可以应用人工测试和计算机测试这样两种类型的测试,完成单元测试工作。这两种类型的测试各有所长,互相补充。
1. 单元测试的重点
在单元测试期间应该着重从下述五个方面对模块进行测试:模块接口,局部数据结构,重要的执行通路,出错处理通路,影响上述各方面特性的边界条件。;(1) 模块接口测试;(2) 局部数据结构测试;(3) 路径测试;(4) 错误处理测试;(5) 边界测试;2. 代码审查(即我们前面提到的静态测试)
人工测试源程序可以由编写者本人非正式地进行,也可以由审查小组正式进行。后者称为代码审查,它是一种非常有效的程序验证技术,对于典型的程序来说,可以查出30%~70%的逻辑设计错误和编码错误。审查小组最好由下述四人组成:
● 组长,他应该是一个很有能力的程序员,而且没有直接参与这项工程;
● 程序的设计者;
● 程序的编写者;
● 程序的测试者。
如果一个人既是程序的设计者又是编写者,或既是编写者又是测试者,则审查小组中应该再增加一个程序员。; 审查之前,小组成员应该先研究设计说明书,力求理解这个设计。
审查会还有另外一种常见的进行方法(称为预排):由一个人扮演“测试者”,其他人扮演“计算机”。会前测试者准备好测试方案,会上由扮演计算机的成员模拟计算机执行被测
文档评论(0)