如何在跨浏览器测试中提升效率

Web端应用测试主要障碍之一就是在不一样的浏览器上“测试他们的网站/应用程序”,也称为“跨浏览器测试”或者“兼容性测试”。 浏览器和浏览器版本不少(Google Chrome,Mozilla Firefox,Internet Explorer,Microsoft Edge,Opera,Yandex等),能够经过多种设备(经过台式机,笔记本,智能手机,平板电脑等)访问网站/应用。 )以及可能用于访问网站的多种操做系统(Windows,MacOS,Linux,Android,iOS等)。java

要确保网站的UI/UX及其功能正常运行,而且在“浏览器+浏览器版本+操做系统+设备配置”的组合上没有任何BUG,则将须要大量的开发,测试和维护工做。手动跨浏览器测试的主要痛点是,测试人员可能须要花费大量时间来测试不一样的网页,跨浏览器跨愈来愈多的“复杂”组合中的不一样断点测试Web应用程序。算法

测试人员要确保在不影响迭代周期的状况下,保持测试流程覆盖到位以提升执行测试的速度。下面是改善手动跨浏览器测试(兼容测试)的一些方法和技巧。数据库

并行测试

无论测试策略是否涉及自动化测试,众所周知的事实是,与串行开发/串行测试相比,并行模块开发/并行测试将始终更快。能够经过开发测试脚原本实现并行测试,该脚本将容许跨不一样浏览器,操做系统和设备的源代码进行跨浏览器测试。您可使用Selenium WebDriver开发有效测试脚本。编程

在云上执行跨浏览器测试

创建能够兼容性设备,浏览器和操做系统组合的测试基础架构是一项昂贵的事情。例如,若是您必须在不一样版本的Android上测试网站功能;您将须要具备这些Android版本的设备,而且还须要从不一样的智能手机供应商处购买设备。所以,这种方法是不可行且不可持续的。理想的方法是在云测试服务上测试功能,以便您能够专一于测试而没必要担忧基础架构。也能够经过下载相应的WebDriver for Selenium使用Selenium编写自动测试脚本。浏览器

各个阶段进行测试

按期测试可避免在开发周期的后期阶段才会遇到错误。做为开发人员,应该针对不一样的组合测试功能。即便您不习惯测试模块,也应该改变思惟方式,并将测试做为工做的一部分。若是您正在使用复杂的功能,则能够将测试计划划分为不一样的阶段,以便对其进行解耦。架构

测试脚本

单元测试是在“单元级别”执行的,而回归测试是在产品的端到端功能的状况下进行的。理想状况下,进行回归测试以确保新的代码更改不会对现有功能产生影响。在某些状况下,功能中可能包含视觉元素,例如使用JavaScript的按钮单击;而在某些状况下,接口上没有更新,例如,单击按钮后,将更新数据库中的某些字段。所以,建议及时开发和维护测试脚本,并应按优先级对测试脚本进行分组。框架

跨浏览器兼容性矩阵

一旦完成了负责为您的网站带来流量的浏览器的分析,接下来就能够经过对浏览器进行分类来对其进行优先级排序,以下所述:性能

  • 彻底支持且最受欢迎的浏览器。
  • 彻底受支持的浏览器不那么受欢迎
  • 部分受支持但很喜欢的浏览器。
  • 部分受支持,而不是最受欢迎的浏览器。
  • 不支持但最喜欢的浏览器。
  • 不支持且不受欢迎的浏览器。

跨浏览器兼容性列表将帮助您实现执行跨浏览器测试时切勿错过的浏览器。经过清楚地说明未提供结果的浏览器,还能够帮助您减小测试工做。使用跨浏览器兼容性列表,能够更有效地执行跨浏览器测试策略。单元测试

关注浏览器自己的差别

浏览器也是一个软件,与其余任何软件同样,它们也有错误。浏览器公司会按期修复错误,并经过更新将其推送给用户。修复的版本可能不会对您实现的功能产生任何影响。但因为存在许多操做系统,所以应该关注浏览器版本的更新日志,再决定将哪一种浏览器版本和系统版本进行组合。若是浏览器在这些操做系统之间的变化很小,须要跳过。当执行手动跨浏览器测试时,应该专一于那些差别更大的的测试组合。测试

众包测试

若是您没法在内部找到测试资源,则可使用众包测试服务。对于众包测试网站,您能够选择适合条件的测试人员。根据产品的性质,您能够得到由测试人员签署的NDA(保密协议),以便保护有关产品的机密信息。愈来愈多(规模不一样)的公司正在使用众包测试,由于它具备良好的成本优点。

目标地区的浏览器市场份额

2019年浏览器市场份额排行榜

前面咱们讨论了在重要的浏览器上进行测试的重要性,由于这些浏览器在市场上最为流行。所以,在开始设计和编码网站/ Web应用程序以前,务必先了解不一样浏览器支持的功能差别。您须要收集各个浏览器在目前地区的份额,并根据这些发现肯定功能开发和测试的优先级。

使用自动化捕获屏幕截图

“屏幕抓取”功能可用于验证渲染输出,这是图像回归测试的重要组成部分。整个方法很是简单。在执行特定功能期间进行屏幕抓取,并使用图像差别算法来验证屏幕抓取质量与预期输出之间的差别。自动截图,可捕获大量屏幕截图,以快速跟踪跨浏览器的测试工做。在一个测试周期中,能够从各类浏览器,浏览器版本,操做系统和设备中捕获多个屏幕截图进行对比验证。

尽早关注与本地化和用户体验相关的功能

手动测试易于验证与用户体验紧密相关的功能。早期的重点应该放在用户体验测试上,而且应该在产品测试的不一样阶段继续进行。若是您的产品具备本地化功能,例如以其余文字向客户显示网站内容,则在产品达到必定的成熟阶段后,必须对这些功能进行严格测试。


  • 郑重声明:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。

技术类文章精选

非技术文章精选

相关文章
相关标签/搜索