测试项目都需要开展自动化吗?浅谈自动化测试的利与弊

作者:自动化测试   发布时间:2020-07-15

自动化测试是把以人为驱动的测试行为转化为机器执行代码的一种过程。通常,在设计测试用例并完成评审之后 ,由测试人员根据测试用例一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了降低人力、时间或硬件资源的投入,提高测试执行效率,就引入了自动化测试的概念。


开展自动化测试


既然选择自动化解决某些问题,首先要清楚自动化测试其本身的利弊。



1.效率方面

提高测试执行效率,缩短测试周期,一定程度解决了测试周期随版本迭代次数的增加(功能点增加)而增长的问题。


2.成本方面

机器资源成本代替人力成本,一定程度解决了重复性的测试执行成本问题。


3.关于测试覆盖

通过自动化测试工具的录制回放及数据驱动来测试功能,可以提高测试覆盖率,一定程度解决了回归测试中测试覆盖率低的问题。


4.发现问题方面

自动化测试具有较好的一致性和可重复性,一定程度解决了手工反复执行过程中的一致性的问题。


5.对于流程方面

自动化测试工具作为一种角色引入到整个测试流程中,提高测试执行流畅性。



1.关于人员方面

额外要求测试人员具备一定测试开发能力,引入了对测试人员能力要求较高的问题。


2.成本方面

自动化测试开发成本因选择自动化框架(或工具)而异,但都具有较高的开发成本,引入了开发成本的问题。


3.发现问题方面

受其本身的局限性(大多应用在回归测试、稳定版本场景中),自动化测试发现问题较少。


4.关于维护

随着版本迭代和功能变更,引入了自动化代码的开发维护的问题。



通过上述,我们不难发现,自动化测试其实也是一把双刃剑。因此,我们在认识自动化优点的时候,是否思考过其弊端带来的影响,我们是否能够应对,如何应对?


所以关于自动化是否开展,我们需要从以下的方面进行考虑做与不做。IT行业甚至其它行业的产品都是能够做到自动化的,所以是否自动化不是能与不能的问题,而是是否存在合适的时间或阶段以及合适方式去做的问题,实施自动化测试之前需要对产品开发过程进行分析,通常需要同时满足以下条件:

1、软件需求变动不频繁(超过10%的变动是频繁变动,当然10%不是一个定值)

2、项目周期足够长

3、自动化测试用例可重复使用。


通常适合于软件测试自动化开展的是在回归测试的场景中,因为重复单一的测试操作造成了不必要的浪费。


所以总的来说,测试项目是否需要开展自动化,要看自动化测试效果,是否达到了我们既定目标,是否节省了更多的人力测试的成本,是否做了更多有价值的事情,如利用自动化节省的时间我们对核心业务做了更多深层分析,挖掘出更多问题等等。我们开展自动化测试的初衷是为了提高测试效率,降低重复投入,能够抽出时间做更多的事情。而自动化测试肯定是解决某些测试过程中的问题而引入自动化测试,如果是为了自动化而自动化,无疑它将是失败的。

推荐阅读:

AutoRunner365自动化测试的基本流程是怎样的?

实例演示:AutoRunner如何录制自动化执行脚本?

做APP自动化探索测试,如何进行?

自助深度兼容性自动化测试-云版MR使用流程

自动化测试过程中遇到的系统验证码问题怎样解决?

如何做苹果手机自动化兼容测试?ios手机自动化测试工具推荐

微信小程序如何测试?



本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。



沪ICP备07036474号-4 |

沪公网安备 31010702003220号

2015-2023 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.