一、什么是兼容性测试
很多人都知道兼容性测试,但是却很少能准确理解兼容性测试,大多都只会想到浏览器的兼容;实际兼容性还有其他内容,包括web兼容和APP兼容;那么下面咱们先说说什么是兼容性测试:
兼容测试(Compatibility Test Suite )官方简称CTS ,指对所设计程序与硬件、软件之间的兼容性的测试。一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。
按照我的理解,我认为兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。
二、兼容性测试分类
兼容性测试目前我关注的包括web兼容性测试和APP兼容性测试;
兼容测试包括:
(1)浏览器兼容测试:测试程序在不同浏览器上是否可以正常运行,功能能否正常使用;
(2)屏幕尺寸和分辨率兼容测试:测试程序在不同分辨率下能否正常显示;
(3)操作系统兼容测试:测试程序在不同的操作系统下面能否正常运行,功能能否正常使用,显示是否正确等;
(4)不同设备型号兼容测试:针对于APP,现在移动设备型号五花八门,主要测试APP在主流设备上能否正常运行,会不会出现崩溃的现象。
三、兼容性测试方法
Web端和APP端的兼容性测试,有两种方法:
一种是人工测试即全手工测试兼容;
另外一种是借助第三方兼容性测试工具;
人工测试工作量大,而且覆盖不全;第三方测试工作虽说工作量小,但是在主功能和主流程测试的时候没有侧重点,很难发现一些隐藏的问题;要说这两种方法哪一种更好,我个人认为没有最好,我觉得这两种方法适当的结合才是最好的兼容性测试方法;
四、如何进行兼容性测试
(1)Web兼容性测试
首先开展人工测试,测试工程师测试主流浏览器和常用操作系统测试主流程和主界面,看看主流程和主界面是否有问题,如果存在问题,那么记录下bug情况,以及浏览器型号和版本,以及操作系统,准确定位bug产生的原因,提交bug,告知开发人员修改。所有的主流设备都需要进行测试,只关注主流程和主界面,毕竟每个系统主流程和主界面不是很多,所以这个工作量还是可以承受的。
其次借助第三方测试工具,目前我觉得比较好用的第三方Web测试工具有IEtester(离线)、SuperPreview(离线)和Browsershots:browsershots.org(在线),一款可以测试IE的兼容,一款可以测试主流浏览器的兼容,包括谷歌、火狐、Opera等等。借助第三方测试工具,找到bug产生的位置,分析测试结果,告知程序员调整。
(2)APP兼容性测试
APP的兼容性测试和Web测试类似,首先开展人工测试,测试工程师借助测试设备对主流程和主功能,主界面进行测试;收集所有的能收集到的不同型号的测试设备测试主流程和主界面,看看主流程和主界面是否有问题,如果存在问题,综合考虑设备的使用率等因素,看看是否需要调整,如果需要,那么记录下bug情况以及测试设备的型号和操作系统,准确定位bug产生的原因,提交bug,告知开发人员修改。
其次借助第三方测试工具,对于APP的兼容性测试,我推荐的是百度众测平台和云测平台,我经常使用的是云测平台,这两款测试工具里面包含了安卓和iOS的测试;测试很齐全,包括功能测试、深度兼容测试、性能测试、网络环境测试,还可以模拟海量用户测试,,还可以导入自己编写的测试用例进行功能测试,里面还包括测试专家的测试,当然了找专家是要花钱滴。基本进行兼容性测试是不需要花钱的;测试工程师把打包好的apk或者IPA文件,上传到测试平台,选择需要测试的设备型号,开始任务即可;等待一段时间,在等待的时间你是不需要盯着的,你可以做其他的工作。测试完成后会生成一份测试报告,可以查看错误页面和错误日志,如果需要调整,那么提交bug,告知程序员修改即可。
五、兼容性测试的作用
兼容性测试是软件测试过程必不可少的一个过程,没有兼容测试的测试是不完整的测试,兼容性测试的存在是有一定作用的。我个人觉得最少有以下几点:
兼容性测试能够进一步提高产品的质量,提高用户体验;
兼容性测试能使软件与尽可能多的其他软件“和平共处”,尽可能达到平台无关性;
兼容性测试能尽可能的保证软件存在的价值,它是衡量一个软件质量的重要指标;
兼容性测试能使软件产品的市场更广阔;