📜  软件测试——边界值分析

📅  最后修改于: 2022-05-13 01:56:15.080000             🧑  作者: Mango

软件测试——边界值分析

功能测试是一种软件测试,其中系统根据系统的功能需求进行测试。执行它以确保应用程序正确满足要求。功能测试验证软件应用程序的每个函数是否符合要求和规范。边界值分析(BVA)是功能测试之一。

边界值分析

边界值分析基于测试有效和无效分区的边界值。等效分区边缘的行为比分区内的行为更可能不正确,因此边界是测试可能产生缺陷的区域。

它检查边界附近有较高出错机会的输入值。每个分区都有其最大值和最小值,这些最大值和最小值是分区的边界值。

笔记:

  • 有效分区的边界值是有效边界值。
  • 无效分区的边界值是无效的边界值。
  • 对于每个变量,我们检查 -
    • 最小值。
    • 刚好高于最低。
    • 面值。
    • 略低于最大值。
    • 最大值。

示例:考虑一个接受 18 到 56 岁的系统。

Boundary Value Analysis(Age accepts 18 to 56)

Invalid

(min-1)

Valid

(min, min + 1, nominal, max – 1, max)

Invalid 

(max + 1)

17

18, 19, 37, 55, 56

57

有效测试用例:上述的有效测试用例可以是输入大于 17 且小于 57 的任何值。

  • 输入值 - 18。
  • 输入值 - 19。
  • 输入值 - 37。
  • 输入值 - 55。
  • 输入值 - 56。

无效的测试用例:当输入任何小于 18 且大于 56 的值时。

  • 输入值 - 17。
  • 输入值 - 57。

单一故障假设:当检查同一应用程序的多个变量时,可以使用单一故障假设。将除一个变量外的所有变量保持在极值,并允许其余变量取极值。对于要检查的 n 变量:

问题:考虑一个确定先前数据的程序。

设计边界值测试用例。

解决方案:将年份作为单一故障假设,即年份的值将在 1900 到 2000 之间变化,而其他年份将具有标称值。

Test Cases

Month

Day

Year

Output

1

6

15

1990

14 June 1990

2

6

15

1901

14 June 1901

3

6

15

1960

14 June 1960

4

6

15

1999

14 June 1999

6

15

2000

14 June 2000

将 Day 作为单一故障假设,即 Day 的值将在 1 到 31 之间变化,而其他的将具有标称值。

Test Case

Month

Day

Year

Output

6

6

1

1960

31 May 1960

7

6

2

1960

1 June 1960

8

6

30

1960

29 June 1960

9

6

31

1960

Invalid day

将月份作为单一故障假设,即月份将具有从 1 到 12 变化的值,而其他月份将具有标称值。

Test Case

Month

Day

Year

Output

10

1

15

1960

14 Jan 1960

11

2

15

1960

14 Feb 1960

12

11

15

1960

14 Nov 1960

13

12

15

1960

14 Dec 1960

对于要检查的 n 变量,最多需要 4n + 1 个测试用例。因此,对于 n = 3,最大测试用例是 -

BVA的关注点: BVA关注函数的输入变量。让我们定义两个变量 X1 和 X2,其中 X1 位于 a 和 b 之间,X2 位于 c 和 d 之间。

显示合法域

BVA 背后的想法和动机是错误往往发生在变量的极端附近。边界值上的缺陷可能是无数可能性的结果。

语言类型: BVA 不适用于 COBOL 和 FORTRAN 等自由格式语言,这些语言被称为弱类型语言。这可能很有用,也可能导致错误。

PASCAL, ADA 是一种强类型语言,它需要使用关联数据类型定义的所有常量或变量。

边界值分析的局限性:

  • 当产品在测试中时,它工作得很好。
  • 它不能考虑变量函数依赖的性质。
  • BVA 相当初级。

等价划分

它是一种黑盒测试,可以应用于所有级别的软件测试。在这种技术中,输入数据被划分为可用于派生测试用例的等效分区——

  • 在此输入数据被划分为不同的等价数据类。
  • 当有一定范围的输入值时应用它。

示例:下面是结合等价分区和边界值的示例。

考虑一个接受最少 6 个字符和最多 10 个字符的字段。那么测试用例的划分范围是0-5、6-10、11-14。

Test Scenario

Test Description

Expected Outcome

1

Enter value 0 to 5 character

Not accepted

2

Enter 6 to 10 character

Accepted

3

Enter 11 to 14 character

Not Accepted

为什么要结合等价分区和边界分析测试:以下是结合这两种方法的一些原因:

  • 在这种情况下,测试用例被简化为可管理的块。
  • 测试的有效性不会在测试用例上受到影响。
  • 适用于大量变量。