浏览器兼容测试环境 下面的每个环境上下文都是互斥的: winxp + IE6 / 搜狗 / 360 win7 + ie9(可以使用其 ie7 / ie8 兼容模式来测试 IE7 和 IE8 ) / 搜狗 / 360 / opera / firefox / chrome win7 + ie10 win7 或 xp + ie8 或 ie7(可忽略) mac + safari / firefox / chrome (可忽略) win8.1 + ie11 (不需要) 每一个选项都应该是一台远程或本地的测试机器,或者是一个vmware虚拟机,装有原生对应版本浏览器的操作系统。 1 主要是用于测试IE6,而360/搜狗的内核,有可能与装了原生IE8+和360/搜狗的系统不太一样。之前遇到的一个例子是:localStorage在装了winxp+ie6的360上面,只要用到,就会报错,除非使用try catch语句包裹它,而winxp+ie8的360上面,就可以正常使用。(之后未再印证这个bug360有没有修复) 2 建议作为大家的开发环境,可以涵盖非常大比例的浏览器兼容部分。 3: “过了前2的测试,但3测试失败”?这里有一个原因。 4 我几乎没有遇到“过了前3的测试,但4测试失败”的问题,IE9的IE8/IE7兼容模式可以很好地把相应的bug发掘出来,这个环境可忽略,但QA最好不要放过这里。 5 mac机器的浏览器和windows的浏览器还是有一些区别的,比如说滚动事件和windows完全不一样,如果做到的交互涉及滚动的托管之类的,一定要用mac测测,但是考虑到用户群非常少,所以要求不这么严苛的话,可以忽略。 6 ie11出现以后,其实和现代浏览器已经没有什么区别,没有必要额外测试。update:微软又自作多情地在sdk里面取消了margin-bottom的支持,如果你用html5和js编写的win8的app的页面还用于浏览器的web app话,还是得测。 最后,不要相信IE Tester,不要相信Microsoft Expression 4 Superview的交互模式的结果,我吃了N遍“IE Tester自测通过但QA用原生低版本IE测出bug”的亏。 浏览器的分级 太困了这里mark一下回头再补完……