📅  最后修改于: 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位数字,并且在应用这些无效值时,两者无效的分区的行为相同,即重定向到错误页面。
我们可以在示例中看到,每个示例只有三个测试用例,这也是等效划分的原理,它指出此方法旨在减少测试用例的数量。
我们可以通过以下两种方式执行等效划分:
让我们看看新闻发布员和一般实践方法将如何在不同条件下使用:
如果要求是一个值范围,则导出一个有效输入和两个无效输入的测试用例。
在这里,“值的范围”意味着只要我们要标识范围值,便会进行等效分区以实现最小的测试覆盖率。然后,我们进行错误猜测以实现最大的测试覆盖率。
据记者说:
例如,“测试量”字段接受值的范围(100-400):
根据通用方法:
只要要求是“范围+标准”,则将“范围”划分为内部并检查所有这些值。
例如:
在下图中,Pressman技术足以测试一个有效期和两个无效期的年龄文本字段。但是,如果我们具有10年及以上的保险条件,并且在年龄文本字段中针对各个年龄段制定了多种保单,则需要使用实践方法。
如果需求是一组值,则导出一个有效输入和两个无效输入的测试用例。
在这里, “值集”意味着,每当我们必须测试一组值时,我们都会选择一个正输入和两个负输入,然后进行错误猜测,并且还需要验证所有值集是否与需求。
例子1
基于Pressman方法
如果金额转帐为(100000-700000)
然后十万→接受
并按照通用方法
10万至70万的范围+百分比
喜欢: 1lak-3lak→5.60%
3lak-6lak→3.66%
6lak-7lak→免费
如果我们有贷款之类的东西,我们应该采用一般做法,将这些东西分成几个区间,以达到最小的测试覆盖率。
例子2
如果我们正在进行在线购物,手机产品以及其他产品ID – 1,4,7,9
在这里, 1→手机盖4→耳机7→充电器9→屏幕保护
如果我们将产品ID设置为4 ,它将被接受,并且是一个有效值;如果我们将产品ID设置为5和电话保护套,则根据要求它将不被接受,这是两个无效的值。
如果需求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方法。
但是,如果应用程序具有很高的精度,那么我们就选择练习方法。
如果要使用练习方法,则应遵循以下几个方面:
以下是等效分区技术的优缺点:
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. |