如何设计边界值测试用例?

发表于:2023-7-31 10:50

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

 作者:佚名    来源:知乎

  首先确定边界情况,通常输入或输出等价类的边界就是应该着重测试的边界情况。
  正常选取(正向):最小值、略高于最小值、正常值、略低于最大值和最大值处变量值。
  健壮性测试(反向):还需考虑小于最小值,大于最大值
  例如,在某程序的需求规格说明中,对输入条件的限制为:
  “…… 年龄可以输入从15到60的整数 ……”
  边界值正常用例分析:输入应选择15、16、30、59、60
  同时我们还要考虑它的健壮性或者容错性,就需要设置健壮测试(反向用例),一个是小于最小值,一个是大于最大值,所以输入还需考虑:14、61
  常见的边界值:
  并不是所有的值都需要考虑边界值,通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、质量、大小、速度、方位、尺寸、空间等。
  相应的,以上类型的边界值应该在:
  最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最长/最短、空和满等情况
  一旦我们的需求说明书里对这些方面有相关的描述的时候,就一定要考虑,这个时候是不是需要增加边界值的测试。
  下面这个图是边界值分析的取值,我们前面也讲了,正常选取(正向)包括五种:最小值、略高于最小值、正常值、略低于最大值和最大值处变量值。健壮性测试(反向):还需考虑小于最小值,大于最大值。
  边界值分析法常用方法
  边界值分析法常用方法1:
  如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。(中间正常的再取一位)
  例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。
  分析:设计测试用例时,我们应取边界是10~50,还应取9,10,11,30,49,50,51
  边界值分析法常用方法2:
  如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
  例如:一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
  边界值分析法常用方法3:
  将方法1和方法2应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。
  例如,某程序的规格说明要求计算出“每月保险金扣除额为0至1165.25元”,其测试用例输出考虑0.01及1165.24、还要考虑-0.01及1165.26。
  再如一程序属于情报检索系统,要求每次”最少输出1条、最多输出4条情报摘要”,这时我们应考虑的测试用例的输出包括1和4,还应包括0和5等
  边界值分析法常用方法4:
  如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个元素和最后一个元素作为测试用例。
  边界值分析法常用方法5:
  分析规格说明,找出其它可能的边界条件。
  边界值分析法举例
  请用边界值分析方法为NextDate函数设计测试用例,规定了变量month和变量day的取值范围为1≤month≤12和1≤day≤31,并设定变量year的取值范围为1912≤year ≤2050 。
  第一步:确定边界值:month为1-12,day为1-31,year为1912-2050
  第二步:设计测试用例(假设中间值year=2000,month=6,day=15)
  第三部:健壮考虑,month<1或>12,day<1或>31,year<1912或>2050
  测试用例如下表所示:
  错误推测法
  错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。带有破坏性的输入错误的值或方法去进行测试,如果程序要求输入数字,那么我们就输入特殊字符,如果软件只接受正数,我们就输入负数。
  例如:输入数据和输出数据为0的情况;
  输入表格为空格
  输入超长字符
  删除全部数据或记录为空的情况
  ......
  这个方法没有太大的规律,就是靠经验和直觉,我们做测试工作时间长了,就可以积累出这方面的能力了。
  例如:如对某个公司的销售工作人员某一天的销售额进行排序。可推测列出以下几项需要特别的测试的情况:
  分析:
  当天所有销售工作人员均无销售额;
  当天所有销售工作人员只有一人有销售额;
  当天所有销售工作人员的销售额均相同;
  当天销售额均已升序排列好;
  当天销售额均已降序排列好。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号