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