跨浏览器测试策略
我们生活在一个每天创建超过 50 万个网站的时代。截至今天,世界上有近 400 万个网站,其中只有 150 万个处于活动状态。剩下的呢?根据记录,90% 的 Web 应用程序因浏览器兼容性问题而无法运行,而 62% 的移动应用程序卸载是由于移动崩溃引起的。这些发人深省的统计数据充分说明了跨浏览器测试对于开发功能完备的 Web 或移动应用程序的重要性。来自不同组织的 QA 和开发人员确实定期努力使跨浏览器测试达到标准,合适的策略将有助于避免阻碍应用程序及时发布的瓶颈。现在是我们重新评估跨浏览器测试工具和方法并寻找更好的替代方案的时候了。
今天我们讨论一流的测试策略,这些策略将使跨浏览器测试更简单、更快、更方便。
选择合适的设备和浏览器
为跨浏览器测试选择正确的浏览器和设备组合是一个巨大的飞跃,涵盖了正在进行的过程中的一个重要里程碑。使用产品的使用数据来确定客户喜欢哪些设备和浏览器是启动该过程的关键组成部分。一旦完成分析客户喜欢的设备和浏览器类型,只需要修改列表以满足目标市场中不断变化的浏览器和设备。确定浏览器和设备列表以及优先级之后,我们需要确保在旧设备和浏览器消失而新设备出现时检查并采取措施。
选择最好的 UI 测试框架
一旦选择正确的设备、及时更新的浏览器和设备集,这些为后续策略奠定了基础。选择一个好的 UI 测试框架就是下一个支柱。一个好的 UI 测试框架可以让整个浏览器测试变得简单无缝,从而开发出高性能的应用。
Web 应用程序的 UI 测试框架
用于测试 Web 应用程序的最流行、可靠和健壮的 UI 测试框架是 Selenium。它不仅是最容易学习的 web UI 测试框架之一,而且一旦被 QA 和开发团队采用,它就避免了我们未来可能面临的许多意想不到的漏洞。Selenium webdriver 用于自动化跨浏览器测试。Selenium Webdriver 接受命令并将它们发送到浏览器执行。测试团队使用 selenium webdriver 通过指示 webdriver 在浏览器和设备中执行特定操作来自动化测试他们的 web 应用程序。Selenium 帮助测试团队节省大量宝贵时间,使他们能够专注于需要他们全神贯注的其他任务,例如分析测试报告和执行手动测试。
移动应用程序的 UI 测试框架
最流行的测试自动化框架及其在移动应用程序测试方面的优缺点如下:
Appium: Appium 是最流行的开源测试自动化框架,可以测试各种移动应用程序,如混合、Web 和原生。测试工程师可以使用其对 Android 和 iOS 设备的移动应用程序进行测试。它使用与 selenium 相同的库函数,使其易于使用和采用。它使用 WebDriver 接口运行测试用例。由于它支持多个平台,测试人员还可以重用他们的源代码在 iOS 和 Android 上进行测试。
Espresso: Espresso 是 google 开发的另一个开源的 Android 应用测试自动化工具。它使开发人员和测试人员能够为 Android UI 编写可靠的测试。因此,与 Appium 相比,Espresso 表现更好,因为测试速度更快且不那么不稳定。Espresso 测试自动化使用高端技术实践,如持续测试、敏捷开发和 Devops。
利用自动化和并行测试
对于跨浏览器测试,自动化 Selenium 测试是缩短测试执行时间的必要条件。然而,伴随着执行并行测试的是使跨浏览器测试完整和高效的原因。例如,如果你要通过一个需要 10 分钟执行的测试用例来测试 10 种不同浏览器和设备的组合,理论上需要 100 分钟来执行,但是通过并行测试,整个任务只需要 10 分钟. 因此,并行测试允许在最短的时间内对多个浏览器和设备执行测试,而用于测试自动化的 selenium 网格允许同时在多个环境中运行测试用例。测试的两个方面的结合将推动跨浏览器测试处于最佳水平。测试工程师可以通过 CI/CD 管道进一步简化此流程使用持续集成,其中测试周期执行得更早并且通常是由于在集中式存储库中进行的频繁提交。
在云上测试
建立物理设备实验室需要大量时间、金钱和精力。但是,它也保证了高级别的安全性。另一方面,有许多在线平台,特别是 SaaS 产品,由基于云的设置组成,可以随时随地访问。云平台消除了维护物理基础设施所需的沉重成本、时间投资、空间和人力。另一个优势是地理位置分散的团队可以轻松访问,24 * 7 访问时间和灵活的工作时间保持业务连续性完好无损,这对公司来说是一个巨大的好处。另一方面,有些公司提供本地服务,其中设备实验室在公司的基础设施内提供,维护控制也可供相应的客户使用。
因此,一个理想 SaaS 产品应当具有一下功能:
高度可定制以满足组织的动态要求
支持多种框架
允许在多个环境中运行测试用例
允许运行并行测试用例并且具有高度可扩展性
支持人工智能和机器学习等未来技术
支持持续测试、持续集成、敏捷开发、DevOps 等高端技术
包含大量设备浏览器组合,以促进与目标市场中所有可用设备的跨浏览器兼容性
能够保障企业数据的安全
选择高可扩展的测试平台
只有在满足动态市场需求时才能实现跨浏览器兼容性,这可以通过拥有一个设备实验室来实现,该实验室可以根据项目需求轻松添加和删除设备。浏览器及其版本、操作系统及其版本、设备及其版本的组合具有高度不确定性。因此,团队的设备实验室应该具有高度可扩展性,以便可以根据项目要求添加或删除设备,而不会影响设备实验室的其他功能。
灵活定制
在高度动态的市场中生存需要一个始终就绪的平台,这意味着它应该具有足够灵活的硬件和软件集成,以允许在任何给定时间点进行定制。应用行业是直接面向需求不断变化的用户群的市场。因此,请确保产品足够灵活以适应客户未来的需求,并能够按时交付优质产品!
使用 AI 驱动的测试工具
无论测试人员多么努力,都无法从软件应用程序中完全排除缺陷。几乎所有 SaaS 产品组织都在努力使用持续集成和 DevOps 等高端技术来更快地获得定性结果。但是人工智能可以通过提供无代码解决方案来帮助进一步加速这个过程。这将在很大程度上减少 QA 团队的时间和精力。此外,可以利用人工智能和机器学习来减少测试用例的脆弱性,从而可以定期努力实现人工智能支持的自动化和无人干预特性。
满足安全需求
如今,移动和软件应用行业几乎涵盖了其旗下的所有垂直领域。使用应用程序与银行和保险领域保持一致的组织极易受到互联网上发生的安全漏洞和不当行为的影响。因此,确保使用的产品能够满足所有安全要求并且是经过认证的安全投诉产品对于顺利成功的业务运作至关重要。
结论
跨浏览器测试对于开发高性能应用程序非常重要,但同时它也是一个非常复杂的测试套件,因为它必须处理浏览器、操作系统和设备的多种组合。但是适当的计划和策略可以使过程更简单、更快和定性。规划跨浏览器测试首先要重新评估您的浏览器、操作系统、设备等列表,并定期重复演练。
版权声明: 本文为 InfoQ 作者【FunTester】的原创文章。
原文链接:【http://xie.infoq.cn/article/4faa23aed6c10ecb6bef57ca5】。文章转载请联系作者。
评论