自动测试容易失败?这5个原因你值得反思!

自动测试容易失败?这5个原因你值得反思!_第1张图片
之前在某测试论坛中,吐槽自己公司自动化测试项目失败,大概过程是自己所在部门的自动化测试经历了几次步进式的建设,都具有阶段性的成果,但是总的看来却不是一个成功的案例。

因为赶进度,仓促的投入让一大堆的脚本质量比较低下,有几个测试组由于没有人力投入自动化开发而又不得不完成自动化的KPI,只好聘请外包来帮忙完成自动化。

理智地想一想,咱们花的那点钱请到过真正精通自动化技术又肯主动深入考察我们公司业务系统特征的外包么?况且外包终究还是要离开的,所以我们不得不接收一堆没有经过精心设计、没有组织性的脚本——尤其是在没有通用测试框架的情况下。且不说UI测试的自动化脚本本身就运行不了多久就会面临界面变更,单单是要让我们接收别人迥然不同的设计风格就是一件很难的事情。

结果呢?要么延续这种无组织性,让脚本数量更加庞大、更加杂乱无章,要么就是放弃对这些脚本的维护,任其自生自灭,最终变成一堆废材。

为了尽早解决这些问题,下面汇总了自动测试失败的五个主要原因。始终注意这些问题,可以作为参考,让自动化项目朝着正确方向进行测试自动化的指南。
自动测试容易失败?这5个原因你值得反思!_第2张图片

遗忘手动测试

测试自动化工作可能失败的另一个原因是,测试团队可能没有在自动化与手动测试之间取得平衡,具体参考:自动化和手动测试,保持平衡!。如上所述,测试自动化并不能摆脱手动测试。相反,质量保障团队应该提供了更多时间和精力专注于仍需要人为操作的测试:参考手动测试存在的重要原因。

为了使自动化成为更具战略意义的决策,应该在进行自动化测试时要牢记手动测试。手动测试的目的与自动测试的目的完全不同,这会影响手动测试的设计,制定策略和执行方式。此外,业务测试人员拥有一套独特的技能,这使它们对于任何测试团队而言都是无价之宝,手动测试存在的重要原因。他们具有商业知识,可以更深入地测试应用程序,并且具有创建机器无法独立考虑的测试所必需的直觉。

业务逻辑更改

自动化测试对于重复性测试特别有用,但前期会占用大量时间和资源投入。无论是像测试登录过程一样简单,还是测试系统核心功能一样复杂,这些都是可以从自动化中受益的出色测试示例。
  
但是,当要更改网站用户界面时会发生什么?例如,当调整登录按钮以使站更加人性化时会发生什么?有解决这些问题的简单解决方案。
  
自动化测试对于重复性测试特别有用,但前期会占用大量时间和资源投入。无论是像测试登录过程一样简单,还是像检查主功能一样复杂,这些都是可以从自动化中受益的出色测试示例。

现在,即使使用的工具拥有很高的机器学习算法准确率,当这些测试仍然失败时,会发生什么?一个重要的免责声明是,尽管AI可以在更改应用程序后使测试维护更加容易,但是当所测试的流程发生变化时,它就无济于事。回到登录示例,AI可以正确克服更改的登录按钮,而无需任何人工干预。但是,它无法完成将登录过程添加一个全新步骤的测试,例如两因素身份验证或完善其他个人资料。为了阻止此测试的中断,测试人员需要进入并修改测试以在登录过程中包括此附加步骤,参考如何维护自动化测试。

及时更新流程

正确实施后,您可以快速掌握可以节省多少时间,以及它如何帮助QA团队更加融入软件开发流程。但是,长期采用自动化技术的公司有时可能会因需要定期进行的大量自动化测试方案而感到困惑。质量检查测试人员可能有一些自动化测试,在测试新功能时会经常使用这些测试,但随着时间的推移,其他测试可能会过时且麻烦。为确保测试自动化工作继续团队受益,重要的是要花时间优化现有的测试自动化套件。尤其是当测试自动化操作更加成熟时,重要的是要回过头来确保旧测试用例仍然有用,而不是仅仅专注于自动化新领域。这将使测试操作保持精简,并使团队更容易扩展测试自动化。

自动测试容易失败?这5个原因你值得反思!_第3张图片

未选择正确的工具

在选择适合的自动化测试工具,了解工具的范围以及它提供的功能是否与团队的优先事项兼容很重要。

没有选择正确的工具来满足自动化测试的需求。在选择自动化测试工具时,了解工具的范围以及它提供的功能是否与团队的优先事项兼容很重要,建议选择商业工具,次之开源。
 
有些公司可能正在寻找与移动应用程序兼容的解决方案,而另一些公司可能会优先考虑可以在其框架内运行的工具。请参考:如何选择正确的自动化测试工具、如何选择API测试工具。

资源分享

下面这些是我的收集和整理的资料,对于开始学习【软件测试】或是技能进阶的朋友来说,绝对是最全面的教程仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你
自动测试容易失败?这5个原因你值得反思!_第4张图片

关注【程序媛木子】微信公众号测试资源将免费获取,技术交流群(644956177)

你可能感兴趣的:(软件测试,测试类型,测试工程师,自动化测试,编程语言)