技术手段和测试流程,不是一回事
![技术手段和测试流程,不是一回事](https://static001.geekbang.org/infoq/4e/4e1dda3a22ea7d4744bd71f6bd479ca0.webp)
看到这样一个问题:造测试数据时,如果失败了怎么办,如何处理这种失败的情况?失败了需要停止测试活动吗?
很久没看到这么有意思的问题了,毕竟测试数据是很重要的测试活动开展资料,如果缺失或者不准确,会对测试结果造成极大的影响。那么该如何理解和解决上述的问题呢?
我们先来解读一下这个问题。
在软件研发交付的整个生命周期中,测试活动执行属于相对滞后的环节。测试活动开展有这几样基本要素:测试环境、测试对象、测试用例和测试数据。
其中测试环境是测试活动开展的底层基础设施,测试对象是具体某个需求实现或者功能测试点,测试用例可以看做是测试对象的具体定性,而测试数据则是对测试对象的多维度定量指标。
我们都知道测试的目的是验证代码实现是否符合需求设计要求,而测试数据的重要性就在于,对代码实现的功能进行多角度的度量,最终得到具体结论。
从测试流程的角度来看,测试活动的生命周期大体如下图:
![](https://static001.geekbang.org/infoq/c3/c388f62d38a5b5ef0444bd7c8f88d1b5.png)
其中,测试数据和测试执行步骤,都是测试用例设计的子集,也可以理解为测试数据是执行测试用例的前置条件之一。既然是前置条件,那就应该在测试活动执行之前的准备阶段,就将测试所需的数据准备好,而不是因为准备测试数据过程中遇到了阻塞就停止测试活动。
现在很多测试团队在准备测试数据时,都是通过自动化脚本或者造数据工具来准备测试数据,这些都是技术手段。技术手段可以看做是测试团队的基础技术设施建设。
在我的角度理解,技术手段可以有多种多样,无论是用工具准备测试数据,还是手动一条一条准备测试数据,都是技术手段,区别无非手段的表现形式和效率的差别。
而测试活动执行,则是测试流程的范畴。流程的属性侧重协作和方向,就像地图导航中的路线规划以及导航过程中的各种提示。而技术手段则是导航中我们所使用的交通工具,目的是支撑我们到达目的地。
做过自动化测试的同学应该都知道这样一个基础概念:脚本和数据分离。其实置换到测试数据准备和测试活动执行的背景下,这个概念同样适用。即:数据和脚本分离,造数据和测试流程分离。
而且技术手段和流程规范解耦,本身就是一种高效的软件工程方法。
版权声明: 本文为 InfoQ 作者【老张】的原创文章。
原文链接:【http://xie.infoq.cn/article/d0167341b01c89de54175cab4】。文章转载请联系作者。
评论