1.兼容性测试
可以从4个维度来说明:
- 软件本身的兼容性:软件的向后兼容,即新开发的软件版本要对历史版本的内容、配置、相应的数据进行兼容。不能因为版本进行了升级,就导致以前的很多功能或者历史数据不能够使用。
- 不同平台下的兼容性:比如开发了一款软件,这款软件要能运行在多个平台上。比如开发的是服务器版本,可以运行在Linux系统上,ubuntu、suse、redhat,这些平台上都需要进行逐一的验证。
- 软件对运行设备的兼容性:软件运行在不同的设备上,在设备上运行的情况可能会对软件的表现产生差异,这时候就需要对设备的兼容性进行测试。比如设备是32位还是64位,小型机、PC server、普通的PC,甚至会运行在平板电脑上、手机甚至电视盒子上。
- 软件互操作性:比如同一个厂商有不同的软件,这些软件如果运行在同一个设备上,之间可能会有一些功能的交互,这些功能在操作时,要考虑到他们相互的影响,在交互时功能是否正常。比如开发的手机应用,面向大众的手机应用,要和主流的应用进行兼容性测试,比如微信,现在开发一个大众的应用,如果和微信不兼容,基本上就玩完了。
2.浏览器内核
对于外部应用来说,有一个重要的兼容性问题,就是浏览器的兼容性。
因为不同厂商实现上的差异,导致web应用可能在不同的浏览器上显示会有区别,这个一般是由浏览器的内核引起的。
浏览器的内核:
- IE的6-8,9,10,这样的一些浏览器的版本。基于的浏览器内核叫trident,它也有4-6不同的版本。内核的影响也是不一样的。
- Firefox:使用的是Gecko版本。
- Safari、Chrome:使用的是Webkit内核。
- opera:使用的是presto内核。
这些不同的内核会导致浏览器兼容性的差异。这是测试的时候需要重点测试的。
3.浏览器兼容性测试工具
- BrowserShots:基于真实浏览器的,进行截图比对的一个工具。
- Browsersandbox:主要是通过不同的插件来实现浏览器模拟的测试。
- Google浏览器兼容测试插件:主要是从页面代码层面进行分析,通过不同的浏览器的内核来判断代码对不同浏览器的兼容情况,来给出分析的建议。