说起自动化测试工具的引入,我们首先要解决的问题是大家对于自动化测试工具的层层滤镜。 比如企业测试团队经常面临认知层面的问题:

1、不清楚自动化测试最终目标是什么,对于达到目标所要进行的投入和产出也没有计划;

2、盲目幻想,认为自动化测试完美能够节省成本,减少人力支出;成功的自动化测试项目,可以轻而易举的节省成本和提高产品质量,但是把节省人力成本当做核心目标,这样想问题的出发点就是致命的;

3、自动化测试的脚本写好一次,可以多次复用,不再需要推敲场景;

坦白讲,这样完全是在异想天开。不可否认,自动化测试是存在它本身的局限性的。

1、对于软件测试工具而言,是不具备想象力的,一些例如思考、界面、美观、易用性的测试,自动化测试会有些无能为力;

2、效率较为依赖用例设计,同时用例的开发工作量有时会比手工测试的工作量要大;

3、如果测试的实践经验比较缺乏,文档少或者不一致,测试发现缺陷的能力也是比较差,这个时候采用自动化测试也是时机不够不成熟;

4、期待自动化能够解决遇到的所有问题;期待自动化去发现大量新的缺陷,这不现实,更大的意义在于批量回归测试。测试没法发现问题,不代表软件没有缺陷,或者测试本身就有问题;

作为管理层去引入自动化的时候,也一定要思考3个问题之后进行判断:

什么样的项目适合自动化?我们这样的项目有多少?自动化测试的介入时间?自动化程度和自动化率的指标是多少?

比较合理和有效选择自动化测试工具建立在以下答案基础之上:

什么样的项目适合自动化:回归测试为主的项目,长期需要做支持维护和覆盖率测试,以及性能测试。这样的项目多少:可以通过推导项目频度以此计算投入产出率;

自动化测试的时间:项目初期不太适合,因为接口和用户界面没有稳定,代码来频繁改动,维护成本会非常的高;项目的后期和维护阶段,自动化介入,为回归测试做准备再合适不过。

自动化程度和自动化率:项目早期可选用某些稳定环节,具体根据具体项目类型进行调整。

最后,希望本文能够给那些想引入自动化测试工具的团队带来一些有价值的思考,后面我们将分享更多有用的知识。