阅读本文大约需要1.8分钟。
前言
之前看到过这么一个问题:如果一个月发布一个版本,在上线前都需要回归某功能,如果实现这个功能的自动化脚本只需要一天,那是否应该对这个功能实现自动化测试?这个问题没有绝对的答案,与实际项目的具体情况有很大的关系。我们心里对自动化测试应该有一个正确的概念:“自动化测试的根本目的是提高效率和降低成本。”
在实施自动化测试之前,我们需要进行如下思考:
首先,项目是否真的需要自动化测试,投入产出比如何?
其次,什么自动化方案更适合?
最后,如何实现自动化?
在实际项目中,很多同学过多地考虑第三个问题,也会做一些关于第二个问题的调研,但往往缺乏对第一个问题的思考。每个团队应该从自己项目的角度出发,慎重思考自动化测试的投入和收益,选择适合自己项目的方法,使投入产出比最大化。
想了解我们团队关于上面几个问题的思考可以参考另外一篇文章《终端自动化测试探索之路》。在已经确定自动化测试可以带来收益的情况下,接下来就是要选择测试方案,尽量让开发成本和维护成本降低一些。
下面是我们经过一年左右的实践后的一些思考。
基于Appium的UI自动化测试
基于UIAutomator的竞品对比测试(性能测试)
测试方案确定下来后,就需要考虑如何实施了。有过自动化测试开发经验的同学应该都知道,自动化测试的脚本开发其实不难,但测试脚本的维护却是比较困难的。测试脚本设计的思想是尽量地提高测试脚本的可重用性和稳定性,降低脚本的维护成本,提高收益。
推荐阅读:
想要明白些道理,遇见些有趣的事 —— 离岛