首页 > Python自动化测试 阅读数:21

Python什么样的项目适合做自动化测试

假如你已经决定要在项目中引入自动化测试,在正式开展之前需要分析清楚,你的项目、你的团队真的适合做自动化测试吗?虽然恰当引入自动化测试能给产品质量带来非常大的助力,但并不是所有类型的产品或团队都一定适合开展自动化测试。

对于公司项目而言,如果产品三天一小改、半月一大改,可能自动化测试脚本刚起步,产品就已经改动了。对于这类项目来说,引入自动化测试显然是不合适的。既然并不是所有项目或者团队都一定适合做自动化测试,那么决定要不要做自动化测试的因素有哪些呢?其中时间是一个比重较大的因素。

假如一个项目从立项到结束只有一个月的时间,而这一个月的时间中相当长的时间都要用来看需求文档、改需求文档、编写测试用例等,真正留给测试的时间并不多。这个时候如果强行做自动化测试,可能用例设计还没有完成,项目就结束了。这种情况,手工测试绝对是第一选择。

但是,一旦项目稳定下来,就要考虑接入自动化测试。因为这个时候项目比较稳定,做自动化测试就可以参照手工用例去做了。除了时间,还需要考虑成本和效率。自动化测试之所以能在很多大公司实施运作起来,根本在于项目的适宜性和有较高的投资回报率。

虽然行业中没有严格的标准,但在具体实施自动化测试之前,首先要做的是结合当前团队的现状和研发质量存在的痛点,对软件开发过程进行分析,观察其是否适合引入自动化测试,可以从以下几个方面进行权衡。

1) 项目变动少

测试脚本的稳定性决定了自动化测试的维护成本。如果项目需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。

如果项目中的某些模块相对稳定,而某些模块需求变动性很大,我们便可对相对稳定的模块进行自动化测试,而变动较大的模块仍用手工测试。

2) 项目周期足够长

自动化测试从需求范围的确定,到自动化测试框架的设计,以及测试脚本的编写与调试,均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,如果项目的周期比较短,没有足够的时间支持这样一个过程,那么自动化测试便是笑谈。

3) 项目资源足够

当自动化要求越来越多的时候,自动化不是一个人完成的,需要一帮人长期维护才能更好地发挥自动化测试的价值。所以还需要考虑当前团队的人力、物力(基础设施)是否能足够支撑。

4) 产品型项目

对于产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复测试那些没有改动过的功能,这部分测试完全可以让自动化测试来承担,同时可以把新加入功能的测试也慢慢地加入自动化测试中。

5) 能够自动编译、自动发布的系统

要完全实现自动化测试,必须具有能够自动化编译、自动化发布系统进行测试的功能。 当然不能达到这个要求也可以在手工干预的情况下进行自动化测试。

6) 回归测试

当存在大量的回归用例需要验证,并且占用了大量的人力时间时,可以考虑将此部分回归测试转换成相应自动化测试。回归测试是自动化测试的强项,它能够很好地验证你是否引入了新的缺陷,老的缺陷是否修改过来了。

7) 多次重复、机械性动作

将烦琐的任务转化为自动化测试。自动化测试最适用于多次重复、机械性动作,这样的测试对它来说从不会失败。

8) 需要频繁运行测试

如果在一个项目中需要频繁地进行测试,测试周期按天算,就能最大限度地利用测试脚本。