Web兼容性测试的要点
对于网页的兼容性我们主要考虑的是各种浏览器对前台页面的兼容性,因为浏览器对页面的影响是最大的。
现在浏览器的种类越来越多,网页中展现出来的内容也越来越丰富,这些内容包括网页中的字体、图片、动画等,而且有些内容需要网页安装一些插件才能打开。
很多时候同一个网页在不同浏览器下,可能会出现兼容性问题,有些浏览器显示正常,有些浏览器不能正常显示,例如出现乱码、排版异常、无法显示图片和动画、页面的功能不能正常使用等异常情况,所以一般情况下,都应针对当前主流的浏览器进行兼容性测试。
同时主流浏览器(IE,Firefox,Chrome,Opera,Safari)版本更新更加频繁,终端用户甚至不会感知这些浏览器版本的升级。
具体要测试哪些浏览器,主要根据产品经理制定的需求文档而定。
但如果页面上所有的功能都需要在每个浏览器重新测试一遍的话,工作量也是很大的。一般情况下,可以这样分配,例如测试组有6个人是做功能模块测试的,那么这6个人就会分别选用其中一款浏览器进行测试。这样就可以将浏览器分散开来,而不需要一个人来完成,后面还可以进行交换进行,尽量覆盖全面。
其次主要考虑的是分辨率的兼容性,这指的是页面在640400、600800\1024*768或者是更高的分辨率模式下是否能正常显示,例如字体是否太小,文本、图片等页面元素是否正常显示。
对于具体要使用什么样的分辨率进行测试,通常情况下,需求文档中会对分辨率给出建议和要求。
兼容性测试的作用
兼容性测试是软件测试过程必不可少的一个过程,没有兼容测试的测试是不完整的测试,兼容性测试的存在是有一定作用的。我个人觉得最少有以下几点:
·兼容性测试能够进一步提高产品的质量,提高用户体验;
· 兼容性测试能使软件与尽可能多的其他软件“和平共处”,尽可能达到平台无关性;
· 兼容性测试能尽可能的保证软件存在的价值,它是衡量一个软件质量的重要指标;
· 兼容性测试能使软件产品的市场更广阔;
浏览器兼容性测试应该如何来做?
分散风险
一个途径就是在多浏览器环境中执行日常的测试工作。
举个例子来讲,你要测试这样一个[url=]web[/url]应用:用户登入,生成报表,发送报表,退出系统。这个应用还包含一个管理功能,管理员或经理登入后可查看哪些人做了哪些改动。
为了覆盖更多的浏览器,你可以用一种浏览器来测试登入功能,在另一个浏览器中测试“发送报表”的功能,用第三种浏览器测试“审计变动”的功能。
这是一个有效的方法,在日常的功能测试的过程中,同时覆盖多浏览器兼容性测试。上面这个例子还是存在一些问题的,比如讲,如果“审计变动”这个功能在第一种,或第二种浏览器里是有问题,那么就会发现不了。这种方法节省下来的时间,可以让你在做兼容性测试策略时,更有侧重。
让其他人来帮你做测试
对于一些明显的页面兼容性问题,有一些在线工具可以帮着你检查,例如Browser Shots,它可以将你的页面载入到它所支持的浏览器中(它支持浏览器种类和版本很丰富),然后截屏,你可以查看在这些浏览器下的载入情况了.
这是一个很棒的工具,但那些需要登入验证的应用,或则你的应用中包含的页面太多 ,这个工具就显得有点力不从心了.
和标准进行比对
你可以对你的站点进行HTML语法标准检查,如果通过了,在多浏览器兼容性上,你可以更有自信一点了,但即使通过了,还是总有一些浏览器(比如万恶的360)渲染你的页面是会有兼容性问题。
自动化
Web UI的测试可以通过webdriver这个工具来实现自动化,可以使用selenium Grid来将自动化脚本在多浏览器上运行。如果不会写代码的话可以使用TestWriter,完全零编码进行测试。
前提是你得有Web UI自动化的投入。Web UI自动化可以发现一些功能上的问题,但对于多浏览器页面布局方面的差异,通过它是很难发现的。
Fight Layout Bugs
你可以写一些自动化脚本来检查页面在不同浏览器下渲染效果。Fighting Layout bugs是一个开源的工具,可以用来检查页面布局方面的[url=]bug[/url]
手工测试
你可以手工测试所有的浏览器版本,为了避免混淆,你可以将不同的浏览器安装在不同的虚拟机上(uedde的确这这样做的),当有其他人需要用是,可以直接克隆这些虚拟机,或则直接访问这些虚拟机。但这太耗时,费力了,但还是有必要做一次这样的多浏览器手工测试的。
分类
你可以依据内核来划分浏览器。
chrome & safari使用的是webkit内核,Firefox则是Gecko, IE系列的是Trident内核,Opera使用Presto内核。最新的Opera好像也开始使用webkit内核了。
这样你就可以认为,如果在chrome上没有问题,那么“理应”在safari也应该没问题。
模拟
市面上有一些工具可以模拟不同的浏览器,有一些浏览器也附带了工具来兼容老版本。但使用这些工具是要谨慎,这样的模拟并不一定准确。慎重。
outsource selenium
如果你没有条件搭建selenium grid测试环境,你可以尝试着使用Sauce Labs 和 testingbot 这样的服务。
多浏览器的支持我们心中永远的痛,特别是如今浏览器更新如此频繁的状况下。哎~ 你可以选择上面的适合你的方法。
PS:有些浏览器有兼容模式,可以通过兼容模式来模拟老版本。有些浏览器,如chrome,提供了开发者工具可以帮着定位。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
Web兼容性测试的要点相关推荐
- 360安全浏览器兼容模式怎么设置_测试新手一定要知道:最实用的Web兼容性测试经验都在这...
在日常工作中,我们经常碰到网页不兼容的问题.我们之所以要做兼容性测试,目的在于保证待测试项目在不同的操作系统平台上正常运行. 主要包括待测试项目能在同一操作系统平台的不同版本上正常运行:待测试项目能与 ...
- Web兼容性测试(思维导图)
web兼容性测试真实测试思路(思维导图) web兼容性测试-操作系统 web兼容性测试-浏览器 web兼容性测试-分辨率 web兼容性测试-组合测试场景|兼容性测试工具|网速 思维导图原件下载地址:h ...
- web兼容性测试 _ Web测试指南(四)
4.1 平台测试 市场上有很多不同的操作系统类型,最常见的有Windows.Unix.Macintosh.Linux等.Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置.这样,就可 ...
- 专项测试-Web兼容性测试
1.兼容性测试 1.1 随机测试 ü 使用IE6测试,从指派通知书自动加载的接收凭证转入新增时,显示的放大的页面,不合兼容性 ü 网站不兼容,页面有错乱[兼容性视图] ü 软件兼容性:操作系统是 ...
- WEB兼容性测试工具使用说明
IETEST简介 IETEST是以"分页标签"的方式,分别在不同的页签中显示你所指定的IE浏览器版本的网页浏览画面,此外类似Office 2007的软体介面呈现方式也相当新潮好用, ...
- web端兼容性测试相关知识
web兼容性测试相关知识 一.客户端兼容性 1.浏览器的兼容性测试 a.内核角度 Tridnt内核:代表作IE.腾讯.遨游.世界之窗等 Gecko内核:代表作Firefox webkit内核:代表作S ...
- web端的兼容性测试
Web的兼容性测试 Web兼容性测试类型主要有:操作系统,浏览器,分辨率和网速方面兼容性测试 兼容性测试是指待测试项目在特定的硬件平台上,不同的应用软件之间,不同的操作系统平台上,在不同的网络等环境中 ...
- 软件测试-------Web(性能测试 / 界面测试 / 兼容性测试 / 安全性测试)
Web(性能测试 / 界面测试 / 兼容性测试 / 安全性测试) 一.Web性能测试:(压力测试.负载测试.连接速度测试) 1.压力测试: 并发测试 (如500人同时登录邮箱) 2.负载测试 ...
- web测试 (四)兼容性测试
4 兼容性测试 兼容性测试是指待测试项目在特定的硬件平台上,不同的应用软件之间,不同的操作系统平台上,在不同的网络等环境中能正常的运行的测试. 兼容性测试的目的:待测试项目在不同的操作系统平台上正常运 ...
最新文章
- 无论你在学什么语言,都能有小姐姐来陪着你一起学习!
- spawn-fcgi
- python学起来难不难-自学python数据分析之路难不难走?
- Array Splitting
- hive 1.1.1 Specified key was too long; max key length is 767 bytes
- Blazor中的无状态组件
- 微信公众账号 token 验证失败 解决办法
- 《淘宝网开店 SEO 推广 营销 爆款 实战200招》——1.3 网上开店的热门行业有哪些...
- 服务器物理硬盘序列号,服务器硬盘序列号查看
- CSS盒模型居中方法,零基础学习web前端
- DSP与广告位之间的关系
- 自定义Java注解处理器
- 微信公众号发布svg排版文章
- 复旦大学附属肿瘤医院请“牛顿”打造智慧医疗
- chmod777到底是什么意思
- 机器学习的几种分类损失函数
- 阿里云服务器试用一哈
- tensorflow详细安装教程(Win10, Anaconda,Python3.9)
- 凭软考中高级证书可抵扣个税3600元,12月31日前记得做
- JS生成唯一id方式介绍(UUID和NanoID)