测试设计-正向测试设计及反向测试设计

最近在补测试理论基础,在一本书中看到了正向测试思维和反向测试思维,这个词语有点懵,但直觉告诉自己,自己测试过程中肯定在用,但这个概念叫法,自己还不清楚,赶快扫盲:

A.正向及逆向测试设计:

1.设计目的:实现测试设计的完整性和全面性。

2.概念:

网上找了下这两个的概念,感觉比较正式的解释如下:

正向测试设计就是试图验证软件是工作的,即软件的功能是按照预先设计的执行的,以正向思维,针对系统的所有功能,逐个验证其正确性;

反向测试设计就是认为软件有错的情况下去测试这个软件。

3.理解:

以等价类为例,通常会设计有效等价类和无效等价类,比如:年龄参数,其取值为Age>=18,其有效等价类即Age>=18的值(Age=18,19,40,是采用边界值的方式选取数据,整体也是有效等价类),

无效等价类即Age<18,则有效等价类即为正向测试设计,而无效等价类即为反向测试设计,也叫逆向测试设计。

通俗一句话:测试设计不仅要设计程序能正确处理的用例,还要设计程序不能正确处理的用例,不能正确处理也即程序的异常处理,如果从流程上讲,即要覆盖正常流和异常流的测试。

扩展:

B.进行用例设计时,会进行区分哪些部分重点设计,进而设计高测试覆盖率的测试用例(针对高覆盖率的,同样要采用更多的测试设计方法)?

识别测试对象时,可从以下方面考虑:

1.哪些功能是软件的特色?

2.哪些功能是用户最常用的?

3.如果系统可以分块卖的话,哪些功能块在销售时最昂贵?

4.哪些功能出错将导致用户不满或索赔?

5.哪些程序是最复杂、最容易出错的?

6.哪些程序是相对独立,应当提前测试的?

7.哪些程序最容易扩散错误?

8.哪些程序是全系统的性能瓶颈所在?

9.哪些程序是开发者最没有信心的?

除以上之外,如果前期的产品需求已定义了高、中、低优先级,同样作为测试设计的输入参考之一,通常,实际工作中,也是主要的参考源。

参考至:https://blog.csdn.net/thinkmore1314/article/details/15506029

原文地址:https://www.cnblogs.com/dLarger/p/12297407.html