第九章:软件测试(二).docx

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

第九章:软件测试(二)软件测试用例设计 设计测试用例就是为测试准备测试数据。由于测试用例不同,发现程序错误的能力也就不同,为了提高测试效率降低测试成本,应该选用高效的测试用例。 白盒测试用例设计主要采用逻辑覆盖,包括语句覆盖、判定覆盖、条件覆盖、判定—条件覆盖、条件组合覆盖和路径覆盖。 黑盒测试用例设计包括等价划分、边界值分析和错误推测等几种方法。 通常的做法是,用黑盒法设计基本的测试方案,再用白盒法补充一些必要的测试方案。具体地说,可以使用下述策略结合各种方法: (1) 在任何情况下都应该使用边界值分析的方法。经验表明, 用这种方法设计出的测试用例暴露程序错误的能力最强。 必要时用等价划分法补充测试用例。 必要时再用错误推测法补充测试用例。 (4)对照程序逻辑,检查已经设计出的测试方案。可以根据对 程序可靠性的要求采用不同的逻辑覆盖标准。 1.1 白盒测试用例设计白盒测试用例设计主要采用的是逻辑覆盖,这是一种以程序内部逻辑结构为依据的用例设计方法,包括语句覆盖、判定覆盖、条件覆盖、判定—条件覆盖、条件组合覆盖和路径覆盖等几种覆盖强度各不相同的逻辑覆盖形式。 (1)语句覆盖 为了暴露程序中的错误,至少每个语句应该执行一次。语句覆盖的含义是,选择足够多的测试数据,使被测程序中每个语句至少执行一次。 (2)判定覆盖 判定覆盖含义是:不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次。 判定覆盖能够包含语句覆盖,因此判定覆盖比语句覆盖强。(3)条件覆盖 条件覆盖的含义是:不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。(4)判定-条件覆盖 判定-条件覆盖是指既能满足判定覆盖,又能满足条件覆盖,其含义是:选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。 (5)条件组合覆盖 条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。 (6)点覆盖 点覆盖的含义是:选取足够多的测试数据,使得程序执行路径至少经过了程序图中每个节点一次。显然,点覆盖标准和语句覆盖标准是相同的。 (7)边覆盖 边覆盖的含义是:选取足够多的测试数据,使得程序执行路径至少经过程序图中每条边一次。通常,边覆盖和判定覆盖是一致的。 (8)路径覆盖 路径覆盖的含义是:选取足够多的测试数据,使程序的每条可能的路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。 1.2 黑盒测试用例设计 (1)等价类划分 等价类划分的特点是把所有可能的输入数据(有效的和无效的)划分成若干个等价类,并做出如下假定:每个等价类中的一个典型值在测试中的作用与这一类中所有其他值的作用相同。因此,可以从每个等价类中只取一组数据作为测试数据。 在使用等价类划分法设计测试用例时,首先需要划分输入数据的等价类,为此需要研究程序的功能说明,从而确定输入数据的有效等价类和无效等价类。 在确定输入数据的等价类时,常常还需要分析输出数据的等价类,以便根据输出数据的等价类导出对应的输入数据的等价类。 例如,学生成绩的录入与输出。假如录入的是百分制成绩,范围是:0—100分;输出的是等级制成绩,等级是:优秀(85—100分)、合格(60—84分)、不合格(0—59分)。则根据等价划分划分的原则,可以考虑以下的用例设计方案。 根据录入数据,可以确定以下3个等价类: 0 (无效类) = 0并且 录入数据 = 100 (有效类) 100 (无效类) 根据输出结果,还可以将录入数据的有效类继续细分为以下3个等价类: = 85并且录入数据 =100 (有效类) = 60并且 录入数据 85 (有效类) = 0并且录入数据 60 (有效类) 因此,根据对录入数据与输出结果的综合考虑,可以从上述5个等价类中各取一个数据组成一组测试用例,如:–20,20, 80,90,120 划分等价类往往需要经验,下面几条规则可能有助于等价类的划分: 如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内),两个无效的等价类(输入值小于最小值和大于最大值)。 如果规定了输入数据的个数,则类似地也可以划分出一个有效的等价类和两个无效的等价类。 如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值)。 如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从各种不同角度违反规则)。如果规定了输入数据为整型,则可以划分出正整数、零和负整数等三个有效类;如果程序的处理对象是表格,则应该使用空表以及含一项或多

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档