什么是兼容性测试(What)

兼容测试(Compatibility Test Suite )官方简称CTS ,指对所设计程序与硬件、软件之间的兼容性的测试。一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。

理解:

兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。

为什么要进行兼容性测试(why)

兼容性测试的目地:

  • 待测试项目在不同的操作系统上正常运行,包括待测试项目能在统一操作系统平台上不同版本上正常运行;
  • 待测试项目能与其他的软件或系统的“和平共处”;
  • 待测试项目能在指定的硬件环境中正常运行;
  • 待测试项目能在没有网络的环境中正常运行。

兼容性测试属于非功能性测试,应优先保证功能性测试的验证,再去兼顾其它非功能性测试,比如兼容性、安全性、性能、可用性和可靠性等方面的验证。

怎么进行兼容性测试(How)

兼容性测试分为Web和APP兼容性测试

Web兼容性测试

操作系统兼容性

检查要测试的软件在不同的操作系统下功能是否正常,显示是否正确等

主流操作系统:windows系列、Mac OS X系列、UNIX/Linux系列

浏览器兼容性

测试的软件在不同浏览器上Web页面的样式和元素的展示效果以及交互是否正常;

  • 主流浏览器:windows下,IE 9以上、FireFox、Chrome。Mac下,Safari、Chrome、Firefox。
  • 浏览器兼容性问题也可以被称为网页兼容性或网站兼容性问题,指网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题。

国内主流的浏览器内核主要有3种:IE内核、Firefox内核和Chrome内核;

(1)IE内核常见的浏览器有:IE6、IE7、IE8、IE9、IE10、IE11、360安全浏览器(兼容模式)、360极速浏览器(兼容模式)、搜狗浏览器(兼容模式)、QQ浏览器等等;

(2)Firefox内核常见的浏览器即火狐浏览器(Firefox);

(3)Chrome内核常见的浏览器有:Chrome、360安全浏览器(极速模式)、360极速浏览器(极速模式)、搜狗浏览器(高速模式)

分辨率兼容性

同一个页面在不同分辨率下,显示的样式可能会不一样,所以需要进行分辨率的兼容性测试;

可以通过对浏览器的缩放的比例进行不同分辨率的测试;

(1)常见台式机分辨率:

17寸液晶或crt显示器1024×768

19寸液晶显示器(普屏) 1280×1024

19寸液晶显示器(宽屏) 1440×900

22寸液晶显示器宽屏16:10和宽屏16:9的比例,最佳分辨率分分别是16:10的分辨率是1680*1050,16:9的最佳分辨率是1920*1080。

(2)笔记本电脑分辨率

屏幕尺寸 比例 分辨率

12’’ 4:3 1024X768

4:3 1400X1050

16:10 1280X800

16:9 1366X768

13’’ 16:9 1366X768

16:10 1440X900

16:9 1600X900

14’’ 4:3 1024X768

4:3 1400X1050

16:10 1280X800

16:10 1440X900

16:9 1366X768

15’’ 4:3 1024X768

4:3 1400X1050

4:3 1600:1200

16:10 1280X800

16:10 1680X1050

16:10 1920X1200

16:9 1366X768

16:9 1600X9000

网速测试

待测项目在不同的网络环境中能正常的运行测试,可以通过Fiddler、360插件等软件进行设置限速测试。

APP兼容性测试

硬件兼容性

测试对象:一般需覆盖市面上测试环境:需要真机环境测试,可购置相应手机进行,或者在Testin、百度MTC、阿里MQC、腾讯WeTest等云测试平台进行。

测试点:APP的操作系统兼容性

  • 测试对象:需覆盖市面上
    • iOS直接挑选相应的操作系统,
    • Android则根据Android系统版本和各厂商在其之上的定制版本做一些组合挑选(这里手机的挑选可以跟硬件兼容性一同交叉考虑)
  • 测试环境:
    • iOS可通过模拟器进行,
    • Android往往仍需要真机测试,若对厂商定制的操作系统考虑风险较小不进行测试,则也可通过模拟器进行。当然也可以同硬件兼容性一样在云测平台上进行测试。
  • 测试点:APP的分辨率兼容性
    • 测试对象:需覆盖市面上主流的各种屏幕分辨率、屏幕尺寸。这里主要关注的是UI上对各种分辨率、屏幕尺寸的适配情况。
    • 测试环境:iOS可通过模拟器进行,Android往往仍需要真机测试,若对厂商定制的手机屏幕尺寸考虑风险较小不进行测试,则也可通过模拟器进行。
    • 测试点:APP的界面显示、排版等各类网络运营商兼容性
      • 测试对象:在与其他软件的兼容性
        • 测试对象:各主流的APP,可在各大应用市场获取APP的排行,按照分类、下载量等进行组合挑选
        • 测试环境:往往iOS、Android任选一款机型进行测试即可
        • 测试点:在已安装其他APP的前提下安装/卸载待测APP、在已运行其他APP的前提下运行待测AP、在已安装待测APP的前提下安装/卸载其他APP、在已运行待测APP的前提下运行其他APP

        腾讯WeTest大致将兼容测试中的主要问题分为以下8种:

        1、App Crash:即崩溃,表现为闪退。报告中详细给到问题日志和堆栈信息

        2、进程退出:表现为闪退,报告中进程退出的过程日志(一般是am_proc_died,或am_killed),未捕捉到崩溃堆栈。

        3、ANR:即无响应,报告中会详细给到问题日志、堆栈信息,以及trace文件

        4、安装失败:App进行了安装操作,但没有安装成功

        5、拉起失败:App安装成功,但无法正常启动

        6、UI异常:App界面出现UI错位,显示不全,重影,花屏,资源加载异常等问题

        7、Exception:App中有无法捕获的异常

        8、功能问题:App实现与功能设计意图不符

        作者:腾讯WeTest
        链接:https://www.zhihu.com/question/362732335/answer/965513679
        来源:知乎
        著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

        兼容性测试注意事项

        • 向前兼容和向后兼容,新旧版本的软件能否正常读取、加载和交互。
        • 异构数据库兼容, 软件要考虑其对不同数据库平台的支持能力,软件是否可直接挂接,或需提供相关的转换工具。