51Testing软件测试论坛
标题:
Web兼容性测试的要点
[打印本页]
作者:
lsekfe
时间:
2022-12-28 13:33
标题:
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,提供了开发者工具可以帮着定位。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2