• 0
  • 0
分享
  • 测试跨浏览器兼容性时不可忽视的浏览器差异——软件测试圈
  • 恬恬圈 2023-08-30 15:50:42 字数 2177 阅读 1006 收藏 0

  当涉及到一个网络应用程序时,在它投入生产之前,开发人员必须确保它在所有浏览器中都能正常工作。最终用户应该能够体验能够处理所有关键功能的全功能站点而不考虑最终用户使用的浏览器或设备。应用程序的行为在不同的操作系统、浏览器甚至设备中是不同的,这取决于它们的分辨率。大多数开发人员通常更喜欢在一个浏览器上工作,即使工作站中安装了多个浏览器。

  这有时会导致应用程序在其他浏览器中存在bug。在测试阶段,在产品中部署应用程序之前,必须涵盖所有维度。

  让我们讨论在以下情况下需要执行的测试策略跨4种主要浏览器测试应用程序,测试人员面临的常见问题以及如何解决这些问题。

1.jpg

  Internet Explorer 和 Microsoft Edge

  根据W3C发布的一项研究,全球近4%的最终用户使用IE浏览器。IE是任何开发人员最容易关注代码的浏览器。从IE9到IE11几乎支持所有最新的Java和CSS框架。然而,IE8是另一回事。IE8有时不支持常用的JS框架,如Angular 和Bootstrap。谷歌分析的一项研究将显示IE8是最常用的版本之一。如果客户端在SRS中提到应用程序应该正确呈现的浏览器的数量及其版本,那就不同了。否则测试也应该在IE8上进行。

  测试人员和开发人员面临的一个常见问题是,应用程序在IE 8中经常不能正确呈现。文本可能被破坏,按钮可能无法工作,有时页面可能根本无法加载。这是因为长时间运行的脚本在IE 8中表现得异常缓慢。处理这个解决方案的最好方法是减少文档对象模型的递归、循环和操作。在CSS中,如果使用id代替类,页面加载会快一点。Microsoft Edge是另一回事。它要优化得多,在其他浏览器如Chrome或Firefox中正确呈现的网站在其中运行良好。尽管如此,某些引导样式标签据报告在Edge中工作不正常,当被定制的CSS替换时,它们工作正常。因此,在部署之前,应该在其中正确地进行测试。

1-1.jpg

  Mozilla Firefox

  大约10年前引入Firebug时,它是业界最好的浏览器集成开发工具。Mozilla Firefox在全世界变得非常受欢迎。尽管谷歌浏览器超过了其开发工具的速度,但它仍然是一个可靠的浏览器,提供用户界面定制和大量插件目录。为了克服性能问题,最近发布了一个使用多进程架构的新版本。2018年6月发布的一项统计数据显示,火狐是10%桌面用户和17%移动用户的首选浏览器。在部署应用程序之前,应该在火狐中执行适当的浏览器测试。

  在Firefox中测试时发现的常见问题包括不支持现代功能,如CSS网格、HTML5视频或音频以及flexbox,引导4完全基于该功能。使用供应商特定的CSS前缀,比如-moz,可以去掉大多数CSS3标签。为了支持引导数据库,开发人员可能需要手动下载引导数据库,并在代码中使用引导数据库。当没有找到任何合适的工作解决方案来呈现任何CSS属性时,开发人员可能需要更改它并找到实现该功能的另一种方法。

1-2.jpg

  Google Chrome

  就开发工具而言,谷歌浏览器在市场上处于领先地位,拥有近63%的桌面用户,55%的移动用户,和近58%的平板电脑用户。同时它也是开发人员中最受欢迎的浏览器之一,因为它有广泛的调试和开发工具。为了提高速度,chrome开发者最近做了一些改变,允许在网络覆盖不良的移动设备上渲染网页。

  然而,chrome的一个缺点是,浏览器在页面加载期间只验证一次主资源。开发人员或测试人员经常会面临代码变化没有得到反映的问题。插件在chrome网络商店中是可用的,它使用了一个破坏缓存的过程。使用它,只需刷新就可以查看代码更改,而无需重新加载整个页面。图像方向问题是铬合金中的另一个常见问题。在其他浏览器中正面朝上的图像可能会以chrome显示。这不是一只虫子。只有当图像的EXIF方向与实际方向不匹配时,才会发生这种情况。在服务器端处理图像将解决此问题。

1-3.jpg

  Safari

  由于大多数桌面用户更喜欢视窗,Safari只占使用份额的3%。然而,由于苹果手机和苹果平板电脑的广泛使用,它在移动设备中的使用率达到17%,在平板电脑中的使用率达到35%,因此是进行测试的重要浏览器。但是,桌面和移动Safari应该被视为完全不同的浏览器,因为平板电脑和苹果手机是通过触摸而不是点击来操作的。Safari的移动版本也经过了优化,以降低处理器的负载。

  Safari有一个内置功能来防止网络钓鱼。此功能的缺点在于排除了通过浏览器上传的文件中的元数据。例如,如果上传任何照片,全球定位系统坐标将被删除。虽然丢失的坐标可以被地理定位应用编程接口代替,但是这个错误还没有得到修复。

  在移动浏览器中,没有通过CSS设置光标样式、悬停或单击动画的元素在渲染过程中会失败。要解决这个问题,事件侦听器应该直接在父元素上声明,而不是其子元素上声明。否则,按钮或列表项在触摸时应该是交互式的,将根本不起作用。

  在浏览器上执行多少测试用例并不重要。当新版本的浏览器发布时,可能会再次出现错误。最好的解决方案是始终关注新版本,并在生产环境中对应用程序运行测试用例。


作者:佚名    

来源http://www.51testing.com/html/74/n-7793474.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   测试人员日常接触的测试多为针对应用系统的测试,如果测试对象是开发平台呢?这里的开发平台指的是开发人员使用的开发框架,与有运行时的应用系统相比,它提供的服务是基础框架和插件,天然的不具有可运行系统的特征。开发平台的测试该怎么测呢?下文从接口测试方面介绍开发平台的测试思路。  首先来分析一下开发平台的接口测试与应用系统接口测试的区别。  开发平台与应用系统接口测试的区别  1.接口及其使用场景的区别  应用系统的接口包括用户与系统间的接口以及系统与系统间的接口,因有业务规则在内使其使用场景固定,功能明确。  而开发平台接口的使用场景则复杂的多,开发平台的接口是指其将某类功能封装后的jar包,插...
            12 12 2237
            分享
          •   测试用例存在一些真相与事实,有些广为人知,有些却很隐蔽。正是基于这些真相与事实,可以对我们的手工测试、自动化测试、甚至规模化的自动化测试(数以万计的用例)带来不同的启发。  真相1:不能提前确定所需要的所有测试用例  测试领域有一个几乎是共识的结论,我们不能完全测试(Complete Test)。除了这个结论本身,其原因也有很大的参考价值:  软件系统本质也是一系统,是由一层层依赖组成的,当我们想测某一点时,总会有假设,但是这个假设本身有时也需要另外的用例来覆盖。而哪一层的假设是可靠、不需要再测试的判断往往是凭个人经验决定的,也许离真实很远。  瀑布流程中的测试用例规划通常是基于规格的,较...
            0 0 1324
            分享
          •   “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识。那么接下来让我们看看接口测试的工具有哪些。目前,市场上有很多支持接口测试的工具。利用工具进行接口测试,能够提供测试效率。例如,让你一天完成100个接口测试任务,你觉得你加班能完成,那么1000个、10000个......  如果有工具,可以大大提高你的效率,可以达到事半功倍,但是不是所有工具都能够支持你完成这个任务。下面我们就来挑选几个常用和常见的工具,简单介绍一下。如果需要或者有兴趣可以在网上查看各种工具对应的资料进行深入人的学习,这里带领大家了解一下,碰到这些工具会用、了解、知道这些工具就达到目的了,不要...
            14 15 2329
            分享
          •   简介  在如何有效地测试Go代码一文中,我们谈论了单元测试,针对它的两大难点:解耦、依赖,提出了面向接口、mock 依赖的解决方案。同时,该文还讨论了一些 Go 领域内的实用测试工具,欢迎读者阅读。单元测试关注点是代码逻辑单元,一般是一个对象或者一个具体函数。我们可以编写足够的单元测试来确保代码的质量,当功能修改或代码重构时,充分的单元测试案例能够给予我们足够的信心。单元测试之上是开发规范。在敏捷软件开发中,有两位常客:测试驱动开发(Test-Driven Development,TDD)和行为驱动开发(Behavior-driven development,BDD)。它们是实践与技术,同...
            0 0 923
            分享
          • 我2006年计算机专业硕士毕业至今,从事软件测试及质量保障领域已经十几个年头了,从白盒自动化测试到黑盒自动化测试,从功能测试到性能测试、安全测试,从测试流程、测试框架到后来的测试管理、质量体系建设,深爱着这个行业,经常为能和小伙伴们攻克了一个技术小山头而激动兴奋, 也为了加班加点使命必达的完成了一个艰巨任务而感到欣慰。我负责测试技术管理、团队管理也已经有8年多了,期间面试过的人少说也有一两千了。从面试中常见的两个场景来聊一聊测试的基本功:场景:面试官: 你最擅长的测试领域在哪里啊?有什么职业发展计划吗?候选人:我比较多的经验在功能测试,以后希望能从事自动化测试方向。 对于这么常见的问...
            0 1 2179
            分享
      • 51testing软件测试圈微信