我对测试的理解--测试的两个角度
1 软件测试的两个角度
- 软件测试:使用手工或自动手段来进行软件的测试,目的是查看预期结果和实际结果之间的差异,从而找到软件中的缺陷并修复,从而降低商业风险。
- 从这句话中可以看到,软件测试存在两个维度,一个是代码维度,也就是考虑软件自身产生的实际功能,另一个是需求维度,也就是考虑软件的预期功能。软件测试的目的就是找到这两个维度交叉对比之后的结果是什么。
2 代码角度即实际结果的角度
- 软件开发是按照产品需求说明书来设计开发的,因此软件系统会产生以产品需求说明书为依据的预期实现的功能,这部分功能对于测试者来说是可见的。因为可以参照需求规格说明书。
-但是由于代码本身、生产环境、甚至是客户非预期的异常操作等原因,代码会产生另外一种功能,这种功能就是非预期的、不可见的、衍生的,一般会隐藏一些缺陷、问题和额外的功能点。
3 需求角度即预期结果的角度
- 从需求的角度,以产品需求规格说明书以及其他明确需求为依据,这些需求是明确的,是可见的。对于测试人员来说,难点不是明确需求,而是如何预估是否实现需要以及缺陷如何定位。
- 还有一部分需求是隐性的,需求需要去开发、深挖的,属于未言明的需求。例如:登录页面的手机号输入,必须以1开头。例如产品需求说明书设计本身就考虑不全面或者存在缺陷时。
4 两种角度的交叉
软件测试的目的就是找到这两个角度交叉对比之后的结果是什么。根据对软件测试的理解,对交叉结果分类如下: