热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软件测试工程师必备:全面解析Web应用的浏览器兼容性测试方法与工具

随着市场上浏览器种类的不断增多,特别是在平板和移动设备上的普及,确保网站在各种浏览器中都能正常运行变得尤为重要。本文将深入探讨Web应用的浏览器兼容性测试方法与工具,帮助软件测试工程师全面掌握这一关键技能,以提高应用的用户体验和可靠性。

如今,市面上的浏览器种类越来越多(尤其是在平板和移动设备上),这就意味着你所测试的站点需要在这些你声称支持浏览器上都能很好的工作。

同时,主流浏览器(IE,Firefox,Chrome,Opera,Safari)版本更新更加频繁,终端用户甚至不会感知这些浏览器版本的升级。

这两点就导致了对于日益增多的浏览器做兼容性测试显示十分必要,但也使得这种兼容性测试变得十分耗时。

通过全覆盖的测试,你就可以明确的知道你的站点支持哪些浏览器,哪些有兼容性问题。一个最简单的减少浏览器兼容性测试的办法,就是停止对老版本浏览器的支持。这个策略对一些公司是适用的,但并不适用所用的公司。

停止对老版本浏览器的支持,并不意味这你的产品在这些老版本上就没有bug, 这仅仅是你可以忽略那些老版本上的潜在问题,把精力放在那些当前支持的浏览器版本上。

一、分散风险

一个途径就是在多浏览器环境中执行日常的测试工作。

举个例子来讲,你要测试这样一个web应用:用户登入,生成报表,发送报表,退出系统。这个应用还包含一个管理功能,管理员或经理登入后可查看哪些人做了哪些改动。

为了覆盖更多的浏览器,你可以用一种浏览器来测试登入功能,在另一个浏览器中测试“发送报表”的功能,用第三种浏览器测试“审计变动”的功能。

这是一个有效的方法,在日常的功能测试的过程中,同时覆盖多浏览器兼容性测试。上面这个例子还是存在一些问题的,比如讲,如果“审计变动”这个功能在第一种,或第二种浏览器里是有问题,那么就会发现不了。这种方法节省下来的时间,可以让你在做兼容性测试策略时,更有侧重。

二、让其他人帮你做测试

对于一些明显的页面兼容性问题,有一些在线工具可以帮着你检查,例如Browser Shots,它可以将你的页面载入到它所支持的浏览器中(它支持浏览器种类和版本很丰富),然后截屏,你可以查看在这些浏览器下的载入情况了.

这是一个很棒的工具,但那些需要登入验证的应用,或则你的应用中包含的页面太多 ,这个工具就显得有点力不从心了.
在这里插入图片描述

三、和标准进行对比

你可以对你的站点进行HTML语法标准检查,如果通过了,在多浏览器兼容性上,你可以更有自信一点了,但即使通过了,还是总有一些浏览器渲染你的页面是会有兼容性问题。

四、自动化

Web UI的测试可以通过webdriver这个工具来实现自动化,可以使用selenium Grid来将自动化脚本在多浏览器上运行。如果不会写代码的话可以使用TestWriter,完全零编码进行测试。
在这里插入图片描述

前提是你得有Web UI自动化的投入。Web UI自动化可以发现一些功能上的问题,但对于多浏览器页面布局方面的差异,通过它是很难发现的。

五、Fight Layout Bugs

你可以写一些自动化脚本来检查页面在不同浏览器下渲染效果。Fighting Layout bugs是一个开源的工具,可以用来检查页面布局方面的bug

六、手工测试

你可以手工测试所有的浏览器版本,为了避免混淆,你可以将不同的浏览器安装在不同的虚拟机上(uedde的确这这样做的),当有其他人需要用是,可以直接克隆这些虚拟机,或则直接访问这些虚拟机。但这太耗时,费力了,但还是有必要做一次这样的多浏览器手工测试的。

七、分类

你可以依据内核来划分浏览器。

chrome & safari使用的是webkit内核,Firefox则是Gecko, IE系列的是Trident内核,Opera使用Presto内核。最新的Opera好像也开始使用webkit内核了。

这样你就可以认为,如果在chrome上没有问题,那么“理应”在safari也应该没问题。

八、模拟

市面上有一些工具可以模拟不同的浏览器,有一些浏览器也附带了工具来兼容老版本。但使用这些工具是要谨慎,这样的模拟并不一定准确。慎重。

九、outsource selenium

如果你没有条件搭建selenium grid测试环境,你可以尝试着使用Sauce Labs 和 testingbot 这样的服务。

多浏览器的支持我们心中永远的痛,特别是如今浏览器更新如此频繁的状况下。哎~ 你可以选择上面的适合你的方法。

PS:有些浏览器有兼容模式,可以通过兼容模式来模拟老版本。有些浏览器,如chrome,提供了开发者工具可以帮着定位问题。

最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

在这里插入图片描述

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

自学推荐B站视频:

零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

在这里插入图片描述


推荐阅读
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 本文探讨了在使用Selenium进行自动化测试时,由于webdriver对象实例化位置不同而导致浏览器闪退的问题,并提供了详细的代码示例和解决方案。 ... [详细]
  • 在跨浏览器开发中,一个常见的问题是关于如何在鼠标悬停时显示图片提示信息。本文深入探讨了 IE 浏览器对 IMG 元素 alt 属性的特殊处理,并提供了最佳实践建议。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文详细比较了CSS选择器和XPath在Selenium中通过页面结构定位元素的优劣,并提供了具体的代码示例,帮助读者理解两者在不同场景下的适用性。 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
author-avatar
客官真的真的不可以
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有