兼容性测试(浅谈)
定义:软件兼容性测试是指 待测软件与硬件之间、与其他软件之间、软件本身新旧版本之间以及在不同网络环境中是否存在冲突的测试,另外还包括数据共享的兼容测试,来检查程序能正常的运行的测试。
移动兼容性测试:App 在不同的硬件设备(厂商)、系统版本、ROM、分辨率上的表现,在不同情况下不会出现 Crash、ANR、UI 显示问题。
对新软件进行兼容性测试,就需要解答以下问题:
1软件设计要求与何种平台(操作系统、Web浏览器或者操作环境)和应用软件保存兼容?
如果要测试的软件是一个平台,那么设计要求什么应用程序在其上运行?
2应该遵守何种定义软件之间交互的标准或规范?
3软件使用何种数据与其他平台和软件交互和共享信息?
所以,兼容性测试既有静态黑盒子测试和静态白盒子测试。
包括整体分析产品说明书和所有支持说明书,还需要与程序员讨论,尽可能深入审查代码以保证软件的所有链接内容得意确认。
如果测试对象是操作系统,就可能要求对 字处理程序和图形程序进行兼容性测试;
如果测试对象是应用程序,就可能要求在多个不同的平台上进行兼容性测试。
如果要进行测试请记住以下三点:
对所有可能的兼容软件进行等价分配,使其成为可以控制的范围。
研究适用于测试软件的高级/低级标准和规范。
测试软件程序之间不同的数据流动方式。
配置测试与兼容性测试的区别:
配置测试的目的是保证软件在其相关的硬件上能够正常运行,而兼容性测试主要是测试软件能否与不同的软件正确协作。
配置测试的核心内容就是使用各种硬件来测试软件的运行情况,一般包括:
(1)软件在不同的主机上的运行情况,例如X86和SUN平台;
(2)软件在不同的组件上的运行情况,例如开发的拨号程序要测试在不同厂商生产的Modem上的运行情况;
(3)不同的外设;
(4)不同的接口;
(5)不同的可选项,例如不同的内存大小;
兼容性测试的核心内容:
(1)测试软件是否能在不同的操作系统平台上兼容;
(2)测试软件是否能在同一操作系统平台的不同版本上兼容;
(3)软件本身能否向前或者向后兼容;
(4)测试软件能否与其它相关的软件兼容;
(5)数据兼容性测试,主要是指数据能否共享。
兼容性测试从以下几个方面入手:
1、测试平台兼容(硬件、操作系统、软件平台、数据库)
2、向前、向后兼容
3、数据共享兼容
4、标准和规范
5、网络兼容
app兼容性测试类型主要有:操作系统及操作系统版本、手机生产厂家、浏览器及浏览器版本、分辨率和网速方面兼容性测试;
主流手机操作系统:
基于UI自动化脚本的云测试: 以外包测试为主,主要用于公司购买的测试机数目较少,黑盒测试人员数目较少的情况。借助一些在线云测试平台---“比如Testin”等公司的数千部测试真机进行测试。
app客户端的兼容性测试: 做移动应用开发的公司或多或少都会购买一部分测试真机,招募一些黑盒测试员工,在新应用发版之前的验收测试时,每名测试员都会分到若干部测试机,在测试过程中可能还会有测试机交换。
这其实就是app客户端的兼容性测试过程。很少有公司会专门组织客户端兼容性测试,主要都穿插在验收测试之中完成。
因为云测平台是第三方公司的,保险起见,还是需要注意一些东西,如:代码需要混淆、不能用 debug 签名、不能打开调试开关等。(阿里云测、腾讯testin、百度MTC)
Web兼容性测试类型主要有:操作系统、浏览器、分辨率和网速方面兼容性测试;
1.主流电脑操作系统:
1.Unix类操作系统
2.Linux类操作系统
3.FreeBSD操作系统
4.MacOS操作系统
5.Windows类操作系统
2.主流电脑浏览器:
谷歌、360、QQ、火狐、UC、傲游、百度、猎豹、搜狗、Edge、IE、Safari
3.分辨率兼容性
同一个页面在不同分辨率下,显示的样式可能会不一样,所以需要进行分辨率的兼容性测试;
可以通过对浏览器的缩放的比例进行不同分辨率的测试。
4.网速测试
待测项目在不同的网络环境中能正常的运行测试,可以通过Fiddler、360插件等软件进行设置限速测试。
5.打印机
6.考虑web产品在 嵌入式手机设备上的浏览器是否兼容,如android、iOS系统自带的浏览器
1、什么是向前兼容?什么是向后兼容?
解答:
向前兼容:以较新版本编译的程序集是否可以在较老版本上执行。
向后兼容:以较早版本编译的程序集是否可以在较新版本上执行。
例子:一个软件2.0版本加入新的功能,能在 1.0版本被正确读取,这就是向前兼容;如果能在 3.0版本上被正确读取,这就是向后兼容。
2、测试部门将对新软件进行兼容性测试,有什么方法和原则?
解答:
- 建立干净的测试环境,只保留最基本的软件,去除多余因素的干扰
- 每次只把另一种软件和待测软件同时使用,便于定位兼容性问题
- 选择最流行的应用软件、操作系统来进行兼容性测试
- 对兼容软件进行分类,如画图类、杀毒类、财务类和数据库类等,每类软件选择几种
- 对兼容软件选择不同生产厂商的软件
- 对兼容软件尽量选择新的版本
3、请问你在工作中有没有做过兼容性测试,怎么测试?
解答:做过。在某某公司工作,主要工作是测试公司的物业系统网站,需要跨浏览器测试,选择了多种浏览器,包括 Firefox多个版本,IE67891011多个版本,谷歌多个版本,Safari多个版本等浏览器,之所以选择它们,因为考察了访问物业系统网站的流量数据,选择了所有用户比例大于5%的浏览器。根据统计数据,重点测试Firefox84,IE11,谷歌78这三种浏览器。
同时,我们还选择了MAC、Windows XP,Windows Vista等几种操作系统与不同浏览器构成测试矩阵。
在跨浏览器测试中的测试方法是:在测试矩阵中的每个浏览器和操作系统组合上执行测试用例,验证软件产品的主要功能。在验证过程中,我们可能会发现一些界面和功能上的跨浏览器方面的软件缺陷。接着从基本测试用例中选择一部分测试用例,在Firefox84,IE11,谷歌78这三种浏览器上进行测试。再从这部分测试用例选出一部分主要的,大约占二分之一左右,在剩余的几种浏览器上进行测试。另外,我们部门还有一个小组,负责手机的浏览器访问网站的测试。
4、请举出日常生活中软件不兼容的例子?
解答:例如微软office系列软件的word2007生成的.docx文件不能被word2003打开,这就属于向前兼容问题。
5、什么是数据兼容测试?
解答:对于软件共享的数据,几个软件之间无须复杂的转换,即能方便共享相互之间的数据。