边界值分析法100经典例题,三角形边界值分析法

首页 > 教育 > 作者:YD1662024-05-18 06:02:14

我们先来看一个 Java 小程序,如下图所示。

边界值分析法100经典例题,三角形边界值分析法(1)

Java 小程序

图 java小程序

运行这个程序会发生什么事情呢?在这个程序中,目标是为了创建一个有 10 个元素的一维数组,但是,在 Java 语言中,当一个数组被定义时,其第一个元素对应的数组下标是 0 而不是 1。所以,上述数组定义后,数组中成员的下标最大值为 9,程序运行后,会造成数组下标越界的错误产生。

经验表明,在软件开发中大量的错误都发生在输入或输出范围的边界上,而不是发生在输入/输出范围的内部。开发人员最容易在边界上犯错误,所以,针对软件的各种边界情况设计测试用例,可以达到更好的测试效果。这就需要采用边界值分析法来设计测试用例,接下来看看边界值分析法的使用。

一、边界值划分法的概述

边界值分析法(Boundary Value Analysis,BVA)的测试用例来自于等价类的边界,是等价类划分法的补充。根据边界值划分法,等价类分析法中的测试数据不是选取等价类中的典型值或任意值,而是应当选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据。

使用边界值分析法设计测试用例,首先应该确定它的边界。有些边界并不是需求中直接给出的,需要我们分析出来,比如一些常见的边界值:

二、上点、离点、内点的确定

结合等价类划分的具体情况,针对边界值中的【离点】,有以下三种情况:

1.闭区间(闭区间边界两个值包括在内,如 [a,b])

离点(外点):紧邻上点范围之外的第一对点,如下图所示

边界值分析法100经典例题,三角形边界值分析法(2)

闭区间

2.开区间(开区间边界的两个值不包括在内,如(a,b))

离点(外点):上点内部范围内紧邻的一对点,如下图所示。

边界值分析法100经典例题,三角形边界值分析法(3)

开区间

3.半开半闭区间(闭区间一边的值包括在内,开区间一边的值不包括在内,如(a,b])

离点(外点):开区间一侧是上点内部范围内紧邻的点,闭区间一侧是上点外部范围内紧邻的点,如下图所示。

边界值分析法100经典例题,三角形边界值分析法(4)

半开半闭区间

三、边界值划分法应用步骤

第 1 步:根据等价类划分有效及无效等价类,确定上点、离点及内点,每个点统一编号。

第 2 步:设计一个新的测试用例,使其尽可能覆盖所有尚未覆盖的有效等价类,直到所有有效等价类完全覆盖。

第 3 步:设计一个新的测试用例,使其仅覆盖一个无效等价类,直到所有无效等价类完全覆盖。

四、边界值划分法案例

如有一个用户名输入框,取值范围是:用户名在 6-18 位之间。那么:

边界值分析法100经典例题,三角形边界值分析法(5)

实际案例取值

五、边界值划分法的应用场景

1.如果需求规定了取值范围或规定了取值个数时,可利用该范围的边界内及边界附近的数据进行测试。

如:用户名取值为(6-18)位。按上述案例进行取值。

2.如果需求固定了取值的个数,取刚刚好小于、刚刚好大于的值进行测试。

如:购买 5 件商品可打 8 折。取值为:4 件商品、5 件商品、6 件商品。

3.如果需求规定了一个有序结合的时候,可使用该集合的第一个和最后一个值进行测试。

如:下拉列表中有 4 个城市名称。则取下拉列表中的第 1 个城市和最后一个城市进行测试。

4.如果程序中使用一个内部数据结构的话,则应该从该数据结构的边界进行考虑,如 int 类型。

六、边界值划分法总结

1. 边界值的应用场景

程序中输入域语句编写错误,不管是由于需求界定不准确、设计不严密、程序书写手误或者其他原因造成的,都可以依据边界值分析法选出的测试点把它们找出来。边界值分析法多应用于以下几个场景中:

(1)输入(输出)条件规定了取值范围或值的个数;

(2)程序规格说明书中提到的输入或输出是一个有序的集合;

(3)可以通过分析找出程序的边界

不管是哪种场景,边界值分析法的运用都没有太大差别,首先都是要确定取值范围,然后确定边界,分析预期结果,输出测试用例。

2.等价类和边界值的区别

边界值一般和等价类一起搭配应用。等价类属于确认有效区间,而边界值属于确认边界。边界值数据本质上可以归为有效和无效的范畴,二者常常要一起考虑,边界值分析法属于等价类划分法的补充,但从测试技术角度来讲,需要单独拿出来测试。

边界值分析法和等价类划分法之间最大的区别就是,边界值分析考查正处于等价类划分的边界或在边界附近的状态。

边界值分析通过选择等价类边界作为测试用例,不仅重视输入条件边界,而且也必须考虑输出域边界。比如某程序需要输出一个 0 到 100 的数,那么针对输出域也要取边界进行测试。

3.常见边界值

如果是字符的话,我们常常考虑它的:正常长度、最大长度、最大长度 1、最小长度-1、空值、只有空格、字符前后有空格。

如果是整数的话,我们常常考虑它的:正常长度、最小值、最小值-1、最小值 1、最大值、最大值-1、最大值 1、中间值、字母、特殊字符、非整数、有小数点。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.