📜  黑匣子测试中的等价分配技术

📅  最后修改于: 2021-01-11 00:38:05             🧑  作者: Mango

等价分割技术

等效分区是一种软件测试技术,其中将输入数据分为有效值和无效值的分区,并且所有分区必须表现出相同的行为是强制性的。如果一个分区的条件为true,则另一个相等分区的条件也必须为true,如果一个分区的条件为false,则另一个相等分区的条件也必须为false。等效分区的原理是,测试用例应设计为至少覆盖每个分区一次。每个相等分区的每个值都必须表现出与其他分区相同的行为。

等效分区源自软件的要求和规格。这种方法的优点是,由于从无限到有限的测试用例数量较少,因此有助于减少测试时间。它适用于测试过程的所有级别。

等价分割技术示例

假设有一个软件应用程序的函数可以接受特定数量的数字,该数字不大于或小于该特定数字。例如,一个仅包含六位数,少于或多于六位数的OTP号码将不被接受,并且应用程序会将用户重定向到错误页面。

1. OTP Number = 6 digits


让我们再看一个例子。

软件应用程序的函数接受10位手机号码。

2. Mobile number = 10 digits 


在这两个示例中,我们可以看到存在两个相等有效和无效分区的分区,在应用有效值时(例如,第一个示例中的OTP为6位数字,第二个示例中为10位移动号码),两个有效分区的行为相同,即重定向到下一页。

另外两个分区包含无效值,例如在第一个示例中为5或小于5和7或大于7位数字,在第二个示例中为9或小于9和11或大于11位数字,并且在应用这些无效值时,两者无效的分区的行为相同,即重定向到错误页面。

我们可以在示例中看到,每个示例只有三个测试用例,这也是等效划分的原理,它指出此方法旨在减少测试用例的数量。

我们如何执行等效分区

我们可以通过以下两种方式执行等效划分:

让我们看看新闻发布员和一般实践方法将如何在不同条件下使用:

条件1

如果要求是一个值范围,则导出一个有效输入和两个无效输入的测试用例。

在这里,“值的范围”意味着只要我们要标识范围值,便会进行等效分区以实现最小的测试覆盖率。然后,我们进行错误猜测以实现最大的测试覆盖率。

据记者说:

例如,“测试量”字段接受值的范围(100-400):

根据通用方法:

只要要求是“范围+标准”,则将“范围”划分为内部并检查所有这些值。

例如:

在下图中,Pressman技术足以测试一个有效期和两个无效期的年龄文本字段。但是,如果我们具有10年及以上的保险条件,并且在年龄文本字段中针对各个年龄段制定了多种保单,则需要使用实践方法。

条件2

如果需求是一组值,则导出一个有效输入和两个无效输入的测试用例。

在这里, “值集”意味着,每当我们必须测试一组值时,我们都会选择一个正输入和两个负输入,然后进行错误猜测,并且还需要验证所有值集是否与需求。

例子1

基于Pressman方法

如果金额转帐为(100000-700000)

然后十万→接受

并按照通用方法

10万至70万的范围+百分比

喜欢: 1lak-3lak→5.60%

3lak-6lak→3.66%

6lak-7lak→免费

如果我们有贷款之类的东西,我们应该采用一般做法,将这些东西分成几个区间,以达到最小的测试覆盖率。

例子2

如果我们正在进行在线购物,手机产品以及其他产品ID1,4,7,9

在这里, 1→手机盖4→耳机7→充电器9→屏幕保护

如果我们将产品ID设置为4 ,它将被接受,并且是一个有效值;如果我们将产品ID设置为5和电话保护套,则根据要求它将不被接受,这是两个无效的值。

条件3

如果需求ID为Boolean(true / false) ,则导出两个true / false值的测试用例。

对于单选按钮(复选框),布尔值可以为true和false。

例如

Serial no Description Input Expected Note
1 Select valid NA True
2 Select invalid NA False Values can be change based according to the requirement.
3 Do not select NA Do not select anything, error message should be displayed We cannot go for next question
4 Select both NA We can select any radio button Only one radio button can be selected at a time.

注意:

练习方法中,我们将遵循以下过程:

在这里,我们通过导出以下输入值来测试应用程序:

让我们看一个程序,以便我们更好地理解。

If( amount < 500 or > 7000)
{
Error Message
}
if( amount is between 500 & 3000)
{
deduct 2%
}
if (amount > 3000)
{ 
deduct 3%
}

使用普普曼技术时,将测试前两个条件,但是如果使用练习方法,则将覆盖所有三个条件。

我们不需要对所有应用程序都使用实践方法。有时我们也会使用pressman方法。

但是,如果应用程序具有很高的精度,那么我们就选择练习方法。

如果要使用练习方法,则应遵循以下几个方面:

  • 它应该是特定于产品的
  • 它应因情况而异
  • 分度数取决于精度(2%和3%的扣除额)

等价分割技术的优缺点

以下是等效分区技术的优缺点:

Advantages disadvantages
It is process-oriented All necessary inputs may not cover.
We can achieve the Minimum test coverage This technique will not consider the condition for boundary value analysis.
It helps to decrease the general test execution time and also reduce the set of test data. The test engineer might assume that the output for all data set is right, which leads to the problem during the testing process.