自动化测试不成功的原因主要有:
1) 自动化测试成为某几个人的责任,而不是整个测试团队的任务。这样,自动化测试工程师不参与项目具体的测试活动,而真正理解产品特性的测试人员又不参与自动化测试工作,从而造成实际测试和自动化测试的脱节,极大地降低了自动化测试的有效性。
2) 测试自动化的目标不清楚,是将所有的测试用例转化为测试脚本,还是根据自动化特点有针对性地完成测试自动化工作,最终获得最佳的投入产出比呢?虽然自动化测试可以达到节省时间、提高测试效率、执行重复的测试、提高测试覆盖率等目标,但对某一个特定的项目,可能须要侧重某一、两项重点目标。
3) 引入自动化测试之后,整个软件开发的流程没有相应的变化。
4) 自动化测试时间不充足,在进行项目计划时,没有规划自动化测试,或者说在计划中没有很好地考虑自动化测试。测试人员不得不通过加班来完成这项工作。
5) 测试自动化团队不稳定,一些能力强的测试人员被开发团队“挖走”了。
6) 测试自动化工具可能不适合某些特定的需求,以及对自动化测试的困难估计不足等。
除此之外,在自动化测试实施过程中,还存在其他一些问题,例如:
7) 对自动化测试期望过高,希望自动化测试覆盖率达到100%,代替手工测试;或者期望通过测试自动化方法来解决目前测试工作中所有遇到的问题。测试工具的软件厂商自然会强调有利的或成功的一面,而对测试工具的局限性可能只字不提。结果,期望越大、失望越大,可能会对自动化测试彻底失去信心。
8) 软件测试自动化并不是简简单单地使用测试工具,须要建立良好的自动化测试框架、开发测试脚本,这就要求测试人员熟悉软件开发平台和具备较高的编程能力。而软件公司对测试人员的招聘策略不对,又缺乏相应的培训,使合格的自动化测试人员严重短缺。
9) 没有建立相应的脚本编写规范,缺乏有效的脚本评审机制,又没有对脚本进行有效的配置管理,从而导致测试脚本的质量低劣。测试脚本的质量将直接影响到测试执行过程,脚本执行不稳定,并导致测试结果不准确、不可靠,严重影响了自动化测试的实施。例如,有很多存在问题的测试脚本,表面上执行通过了,没有记录任何错误日志,而实际上软件存在缺陷,没有被发现,这就是失败的自动化。这样会使测试人员对自动化失去信心。
10) 缺乏对测试人员有效的培训,测试人员对测试工具理解不够,使用测试工具的能力也不具备,从而导致测试工具的使用效率低下,不能达到预期效果。特别是当项目团队开始实施自动化测试或自动化测试还不成熟时,培训和指导是至关重要的。
11) 选择了不合适的测试工具。不同的测试工具面向不同的测试目的,具有各自的特点和适用范围,不是任何一个优秀的测试工具都能适应不同公司的需求。如果错误地选择了工具,使用起来会不顺手,加大开发的成本,甚至无法使用。此时测试工具成了摆设。
本文来自朱少民老师的《轻轻松松自动化测试》,如有侵权,请通知后删除