软件测试的级别

这里所说的级别是指一个测试所覆盖的系统的范围的大小。一个测试所覆盖的系统越多,它的级别也就应当越高。之所以想谈软件的级别,是因为对测试级别的不合理划分会引发更多的开发成本,降低开发效率。

在软件开发的整个生命周期中,在它的交付阶段,一个必不可少的步骤便是验收测试。验收测试的目的在于证明软件可以满足客户的所有需求。这个测试是软件测试中的最高级别的测试。它的特点有,系统覆盖范围最为全面,从用户界面,到算法逻辑,到数据存储,全部囊括其中。其次,测试必须基于用户的真实使用环境,一切都是真枪实弹,不能参杂任何的仿真的元素。最后,这种测试往往不能被完全自动化,它的执行会牵连到测试人员的直接参与。

从以上特点我们可以总结出来,一个测试的级别越高,它的执行成本就会越高。其中包括,资源环境的配置,人员的直接干预。这也就必然决定了测试的反馈时间延长(比如说配置环境需要半天,测试人员到位需要提前预约)。其次,由于大的覆盖范围,分析问题,鉴定问题的难度也会增加。因此,一个测试的级别越高,它被执行的次数就应该越少,它被执行的时间段就因该越晚。

我并不反对写高级别的测试,但我反对把一个验收测试当作单元测试用。