测试自动化有助于提高开发速度,同时减少成本和工作量。在本文中,将分享如何进行自动化测试,以帮助保持测试自动化活动在正确的轨道上,以及测试执行、设计和维护大型企业应用程序的关键技巧。
选用合适的自动化测试工具
每个自动化测试项目都有其自身的特定需求。正确的工具可以显著减少测试时间并提高测试团队的效率。错误的工具会引入不必要的复杂性。
选择支持所有所需设备、浏览器、操作系统版本、移动平台、所需的测试自动化级别(UI、API、数据库测试)、测试类型(功能、负载、性能、本地化)和识别技术(本机、图像、文本)的工具。使用单一的工具,交付自动化的学习曲线将显著减少,相同的脚本将被不同的平台重用。
此外,我们建议使用预选工具完成以下检查清单:
普遍要求:
● 技术团队是否具备所需的技能?框架的灵活性是否会赋予团队扩展的能力?
● 你的测试团队是否有使用该工具的经验?
● 该工具是否有强大的社区、帮助资源、用户手册和详细的文档?
● 该工具的供应商对遇到的新技术或问题的反应如何?
● 它是否提供了详细的自动化测试报告?
● 它是否与项目中使用的CI工具、问题管理工具、测试管理工具和通信工具集成?
特定要求:
● 该工具是否允许执行分布式测试?
● 测试的执行需多长时间?
● 它是否支持智能等待(内置或易于集成)?
● 它如何帮助简化测试修改?
● 它是否提供了详细的自动化测试报告?
● 它是否支持DDT方法(比如通过与Cucumber集成)?
将代码与数据分离(DDT方法)
许多自动化测试工程师倾向于将测试数据(输入、输出、验证值)与自动化代码一起存储。当添加新的测试时,这种方法使用多个重复项重载代码。此外,它还大大增加了测试代码维护的复杂性,特别是当一个被测试的应用程序(AUT)经历频繁的更改时。
最大化API测试数量
测试自动化通常通过UI与自动化测试相关联。但是,通过UI进行测试相当耗时。UI测试只能在软件开发项目接近尾声时创建。此外,UI容易频繁更改——即使在最后阶段也是如此。
我们建议在功能测试中优先考虑API测试。API在开发周期的早期就可以使用,并且保持相当程度的稳定。此外,API测试可以在几秒钟内运行,而GUI测试执行则需要2分钟。
使用可视化测试
现代应用程序需要在各种不同的浏览器、操作系统和设备中运行。这可能会导致呈现不一致导致的错误。使用经典的测试脚本(断言特定的CSS规则、选择器、HTML标记)对不同的浏览器、操作系统和设备进行测试意味着大量的额外工作。
我们更喜欢使用截图比较工具来消除视觉上的不一致性。将屏幕截图与示例进行比较,以验证一个准确的屏幕或对象是否如预期的那样出现。我们特别强调基于AI的可视化测试工具(Applitools是它们最受欢迎的代表),因为它们可以区分已接受的变体和更严重的渲染问题,并进一步简化测试过程。
并行测试
自动化的、全面的企业应用程序测试需要大量的时间,因为回归测试以指数级速度发展。当我们需要大幅减少测试时间时,并行测试的执行速度可以提高5倍。此外,现代的测试自动化工具允许使用单个命令并行执行。
支持截图/视频形式的错误报告
当自动化测试在无人参与或远程云中执行时,对错误的理解可能成为测试人员的一个问题。有时,即使是详细的日志也不能保证使您快速地更新。
通过可视化来支持失败的测试结果使得自动化测试更加容易。当我们有一个在错误发生时拍摄的截图或视频时,识别和详细描述问题就变得容易得多了。
总结
希望这些实用的建议将帮助您进步并进一步提高您的测试自动化效率和生产力。除了自动化测试之外,采用专业的项目研发管理工具如禅道,也可以帮助提高代码质量、规范开发测试流程。