黑盒测试用例设计方法——持续测试(03)

发表于:2022-9-16 09:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈磊    来源:51Testing软件测试网原创

  1.3  测试用例也是工程实践
  测试用例设计方法是软件测试方法中的核心内容之一。很多人会觉得说到测试用例设计方法就是老生常谈,但是一说到测试用例具体是什么又解释不清楚。
  IEEE Standard 610 (1990)给出了测试用例的定义:“测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。”
  测试用例是执行的最小实体。简单地说,测试用例就是一个检验软件程序在某种场景下能够正常运行并且达到程序所设计的执行结果的场景设计。这就说明,如果测试工程师设计的测试用例能够验证全部的软件设计场景,那么测试活动就结束了。但是在实际测试过程中,无法穷尽所有验证场景,因此测试人员就需要从庞大的测试场景中选择有代表性的、数据特殊的测试用例来完成测试工作。测试用例应该满足的特性如图1-2所示。
图1-2  测试用例应该满足的特性
  那么到底应该如何设计满足上述要求的测试用例呢?答案是使用科学的测试用例设计方法。测试用例设计方法如图1-3所示。
图1-3  测试用例设计方法
  1.3.1  黑盒测试用例设计方法
  黑盒测试用例设计方法有很多,这里重点介绍使用频度较高的3个方法——等价类划分法、边界值分析法和场景法。其他方法如果读者有兴趣,可以自行查阅相关资料进行学习。
  1.等价类划分法
  等价类划分法的重点是把程序的输入划分成若干类,然后从每一类中选取少数具有代表性的输入数据作为测试用例,这样某一类中的少数代表性数据就等价于该类中的其他数据。该方法基于某一类中的少数代表性输入数据,如果出了问题,那么该类中所有的数据都会出现问题;反之,亦然。
  假设三角形的3条边分别为a、b、c,则必须满足
  a>0,b>0,c>0,且a+ b > c,b + c >a,a+ c > b
  如果三角形是等腰三角形,还须满足a= b或b = c或a= c。
  如果三角形是等边三角形,则须满足a= b = c。
  使用等价类划分法设计测试用例的第一步就是识别有效等价类和无效等价类,然后输入等价类表中。等价类表如表1-1所示。
表1-1  等价类表
  依据等价类表设计测试用例,输入是a,b,c,如表1-2所示。
表1-2  测试用例表
  表1-2中的输入就是测试用例,输出就是预期结果。可以看出,两位测试工程师使用等价类划分法设计的测试用例可能不一样,但覆盖的等价类是一样的。
  2.边界值分析法
  边界值分析法的重点是找到刚好满足和刚好不满足输入条件边界的输入数据并使用它们设计测试用例。这是目前应用很广泛的测试用例设计方法。边界值分析法如图1-4所示。
图1-4  边界值分析法
  边界值分析法主要包含边界条件和次要边界条件。边界条件主要从以下两个方面考虑。
  需求约束边界。例如,如果用户名在需求中的约束条件是“字母、数字,并且以字母开头,长度为5”,那么测试用例包含criss、cris、12345、1cris、c123s、+riss、crisss。
  功能依从性边界。如果测试的是一个计算器程序,那么该程序就应该和物理计算器一样,不可以在其中输入汉字、非数学运算符号的符号等。
  上述边界条件主要的判定依据就是需求或者系统使用过程中的一些特性。虽然用户在使用过程中很难触碰到一些次要边界条件,但是仍有必要测试它们,如变量取值范围、ASCII值的范围、数组越界与“空”值的表示等。
  充分发挥这种基础测试用例设计方法的作用的方式是混合使用边界值分析法和等价类划分法。
  3.场景法
  当今人们所面对的被测系统都是通过数字化事件的不同触发顺序实现场景数字化的。Rational公司基于该思想提出了场景法这种测试用例设计方法。场景法中的主要工作是设计基本流和备选流。其中,基本流是主流程,备选流是程序设计的各种分支流程。基于基本流和备选流的全覆盖建立符合业务逻辑的场景,然后设计参数并实现对应的场景,完成测试用例设计。
  按照软件正确的事件流,设计的测试流程就是基本流。
  在基本流之上,在程序设计的各种分支流程中,重点关注业务异常的测试流程就是备选流。
  假设基本流和备选流如图1-5所示,其中黑色表示基本流,其他颜色的箭头表示备选流。备选流从基本流开始,在不同的条件下进入不同的流程,在完成备选流后可能结束基本流,也可能直接结束用例。
图1-5  基本流和备选流
  每一个开始用例阶段都从基本流开始,经由不同流程形成不同的测试场景。具体场景设计如表1-3所示。这里为了讲解清楚,只简单给出了场景法的使用示例,实际项目中的场景设计会比给出的示例复杂。
表1-3  场景设计
  下面以在异步社区购买图书为例进行介绍。用户只需要访问异步社区首页,输入用户名和密码,然后在搜索框中输入要购买的图书名称,单击搜索到的图书图标,进入图书详情节,单击“立即购买”按钮,结账付款,即可购买成功。这个流程是实际购买流程,其基本流和备选流呢?
  基本流是访问异步社区首页,输入用户名和密码,在搜索框中输入要购买的图书名称,单击搜索到的图书图标,进入图书详情页,单击“立即购买”按钮,结账付款。
  备选流如下。
  备选流1:账户问题。
  备选流2:密码问题。
  备选流3:图书库存为零。
  备选流4:图书不存在。
  按照场景法设计测试用例,如表1-4所示。
表1-4  购书流程测试用例场景设计
  以上设计的5个场景中每一个场景都需要对应的测试用例,一般采用矩阵或决策表来确定和管理测试用例。首先确定执行用例场景所需的数据元素,然后构建矩阵,最后确定包含执行场景所需的适当条件的测试用例。在下面的矩阵中,V表示这个条件必须是有效的才可执行基本流,I表示这种条件下将激活所需备选流,n/a表示这个条件不适用于测试用例。
  表1-5展示了利用场景法设计的购书流程测试用例。
表1-5  利用场景法设计的购书流程测试用例
  在上面的矩阵中,5个测试用例对应5个场景。对于基本流和备选流,都有测试用例。测试用例如表1-6所示。
表1-6  测试用例
  在应用场景法时,要时刻记得基本流不一定就只有一条,而备选流也不一定就有多条,具体依据被测业务及被测系统而定。场景法特尤其适用于工作中的定时任务类的流程测试。
  关于其他黑盒测试用例设计方法,建议读者查阅相应资料,在将不同方法应用到工作中的同时不断体会它们各自的优越性,以及适用的场景。
查看《持续测试》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号