因此,既然知道用户会在多种浏览器中选择,就需要确保网站与所有浏览器兼容。一些常见的网络浏览器包括 Internet Explorer、Safari、Mozilla Firefox、Google Chrome 等。
什么是跨浏览器测试?
跨浏览器测试可以验证应用程序在不同浏览器上的操作是否正常,同时也可以验证网站是否能够按需稳定运作。浏览器测试可以用于网页和移动端运营当中,以及管理面向客户的应用程序。但最终还会存在这样一个问题,那就是大多数应用程序仅适用于最终用户。
为什么需要跨浏览器测试?
根据 Stat Counter 的数据,亚洲有82% 的移动用户使用安卓系统 ,17% 使用 iOS,而使用其他操作系统的比例不到 1%。在美国,使用 iOS的人数比例为61% ,只有 38% 使用安卓。更令人无奈的是,在美国有10.5 % Windows 用户仍在使用 Windows 7,超过 3% 的人使用 Windows 8.1,甚至有些人还在使用 XP 或 Vista。屏幕分辨率统计数据同样五花八门——360×640 像素、1366 x 768 像素和 1920 x 1080 像素作为设备默认或首选分辨率在全球的比例将近 30% 。
如前所述,跨浏览器测试是为了测试应用程序与多个浏览器的兼容性。实施跨浏览器测试的其他理由如下:
- 发现应用程序中的缺陷并修改
- 提高应用程序的有效性
- 找出任何可能缺陷
- 测试应用在不同浏览器中的外观是否相同
- 验证所有应用程序功能在不同Web 浏览器上是否正常工作
- 验证应用程序是否在所有浏览器中满足客户需求
谁来执行这项测试?
测试人员在跨浏览器测试中扮演着重要的角色。但是,在决定测试必要的浏览器数量和名称方面,业务分析师、客户、利益相关者的作用同样至关重要。为了分析不同浏览器用户的统计数据,一般选择几个用户常用的 Web 浏览器就好,毕竟测试人员不可能把市面上成百上千的浏览器都囊括到跨浏览器测试当中。
分析小组和客户列出用户最常用的浏览器,测试人员将进一步对其进行测试。
如何进行跨浏览器测试?
最重要的部分是执行跨浏览器测试。首先,要确定是执行手动测试还是自动化测试?尽管跨浏览器测试可以通过手动测试实现,但考虑到机器、操作系统和浏览器众多,手动测试面临的挑战可想而知。因此,自动化测试是跨浏览器测试的首选方案。
手动方式
在各种 Web 浏览器上测试应用程序并非易事。以手动测试时,应用程序只能在有限的网络浏览器上扩展,从而限制了应用程序的效能,且这个过程既费时又费钱。
自动化方式
跨浏览器测试要求在不同浏览器上运行相同的测试套件。所以,这项重复性任务如果手动执行既耗时又昂贵,还不免会出错。此外,自动化跨浏览器测试更具成本效益,同时亦有许多工具支持。
HeadSpin
HeadSpin 是业内领先的跨浏览器测试平台之一。它针对移动和网络应用程序,允许用户同时执行手动和自动化的测试工作。HeadSpin可以同时运行多个测试用例,从而有利于资源优化。HeadSpin 具有专用的设备部署模型,可提高测试过程的安全性和性能。HeadSpin 平台的高级 AI/ML 功能能够对各种参数深入了解,包括网络性能、CPU 负载和电池消耗等设备相关因素、网络优化问题以及音频和视频问题等等。
Cross-browser Testing
Cross-browser Testing是跨平台的测试工具,它功能强大,可以基于云环境针对2050 多个真实的桌面和移动浏览器强制执行手动、视觉和 Selenium 测试。Cross-browser Testing具有惊人的记录重放( Record & Replay )属性,允许记录实时测试并在相应的快速测试中运行记录的测试。
Experitest
Experitest 允许在不同的浏览器和移动设备上实施相应的测试。
Selenium
Selenium 与浏览器事务合作可以帮助测试 Web 应用程序,并毫不费力地解决应用程序之间的不一致问题。它是正在快速发展的浏览器测试自动化工具。
LambdaTest
LambdaTest 用于在各种 Web 浏览器和操作系统的 2000 多种组合上测试 Web 应用程序。它是一个基于云的跨浏览器测试平台,允许在 Selenium 网格上实现 Selenium 自动化测试。LambdaTest有助于对云上的网站和 Web 应用程序进行实时交互式跨浏览器测试。
Browserling
Browserling 是一种用于快速测试的实时交互工具。Browserling 提供了对所有标准浏览器和流行操作系统的快速访问。
跨浏览器兼容性自动化测试的好处
对Web 应用程序/网站执行自动化跨浏览器兼容性测试好处很多,下面来看看有哪些最关键的优势:
无缝的用户体验和质量保证
最直接的好处是为最终客户提供理想的用户体验,而这可以进而转化为持续的业务增长,同时降低客户流失率,并让员工的智慧得到更好利用。公司人员无需被跨浏览器调试损坏的用户界面困扰,而是可以将注意力放在开发独特的解决方案上。
降低风险
QA 小组报告显示,自动化为人们节省了 70% 的时间。通过自动化测试,可用性及功能错误可比手动测试更快地关联起来。这种方式使测试人员能够正确评估对市场的威胁或责任,确定危害的优先级,从而解决它们。
缩短发布周期并更快地交付代码
随着新开发路径的推出,测试形势也得到了增强。应用程序测试人员进行无休止的测试几乎是家常便饭,而Selenium 等自动化应用程序可以轻松集成到 DevOps 自动化策略中。测试是 CI/CD 流水线执行的关键阶段,开发团队可以通过永久自动化测试快速交付代码,并缩短新功能的发布周期。
成本效益、时间效率、测试覆盖率和准确性
借助托管浏览器测试自动化结果,测试团队无需再担心依赖版本精确设置架构的枯燥过程。相反,测试人员可以专注用他们喜欢的语言(如 Python、Ruby、Java、PHP 等)编写健壮的脚本。
结论
通过云测试自动化服务,组织能够成功挣脱高额费用和已有测试架构。此外,它还可以完成以下工作:
- 扩展至 2000 个浏览器或设备;
- 缩小内部测试架构并根据需要使用基于云的测试结果;
- Web 浏览器、操作系统、设备和屏幕分辨率的不同组合提供了更好的测试覆盖率;
- 自动化跨浏览器兼容性测试本质上有助于避免人为破坏,提供更好的效能。
译者介绍
崔皓,51CTO社区编辑,资深架构师,拥有18年的软件开发和架构经验,10年分布式架构经验。曾任惠普技术专家。乐于分享,撰写了很多热门技术文章,阅读量超过60万。《分布式架构原理与实践》作者。
原文Automated Cross-Browser Compatibility Testing?作者:Jamie Davidson