扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
APP 兼容性测试维度包含:新旧版本兼容测试、不同机型测试(系统兼容性、屏幕兼容性、分辨率兼容、尺寸兼容)、不同网络兼容,具体如下:
创新互联公司2013年开创至今,先为朝天等服务建站,朝天等地企业,进行企业商务咨询服务。为朝天企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
一、新旧版本兼容性测试
1、新旧版本覆盖安装升级正常
2、新增功能,新旧版本覆盖安装后使用正常
二、不同机型测试
1.系统兼容性
(1)iOS 系统:iOS11.x、iOS12.x、iOS13.x、iOS14.x
(2)Android 系统:Android5.x、Android6.x、Android7.x、Android8.x、Android9.x、Android10.x、Android11.x
2.屏幕兼容性
iOS:
(1)刘海屏:例如:iPhone x、iPhone xs 、iPhone XR、iPhone 11、iPhone 11 Pro、iPhone 11 pro max、iPhone 12、iPhone 12 pro、iPhone 12 pro max、iPhone 12 mini
(2)非刘海屏:例如:iPhone 8、iPhone 8 plus、iPhone 7、iPhone 7 plus、iPhone 6、iPhone 6s、iPhone 6s plus、iPhone 5s
Android:
(1)全面屏:例如:华为 P30、红米 K30 至尊纪念版、荣耀 X10、vivo APEX 2020 等
(2)非全面屏:例如:华为 P10、华为 P10 plus、荣耀 8 等
(3)曲面屏:例如:三星 Galaxy S10+、三星 Galaxy Note 10+ 5G、华为 Mate30 Pro、华为 P30 Pro、vivo NEX3 等
(4)折叠屏:例如:华为 Mate XS 5G、华为 mate X2、三星 Galaxy Z Fold2 5G、三星 Galaxy W21 5G
3.分辨率兼容性
iOS
(1)1080*2340 :iPhone 12 mini
(2)1284*2778:iPhone 12 pro max
(3)1170*2532:iPhone 12 、iPhone 12 pro
(4)750*1334:iPhone SE 2、iPhone 7、iPhone 8、iPhone 6、iPhone 6s
(5)1242*2688:iPhone 11 pro max、iPhone XS Max
(6)1125*2438:iPhone 11 pro
(7)828*1792:iPhone 11、iPhone XR
(8)1125*2436:iPhone XS、iPhone X
(9)1242*2208:iPhone 8 plus、iPhone 7 plus、iPhone 6s plus
(10)640*1136:iPhone 5s
(11)iOS 系统自带的显示模式:标准模式、放大模式
Android
(1)1440*3200:小米 11
(2)1344*2772:华为 mate 40 Pro
(3)1080*2400:一加 8T、vivo S7、OPPO Reno5、荣耀 30、小米 10 青春版、荣耀 X10、荣耀 Play4T Pro、OPPO A92s、Redmi K30 Pro、华为 nova7、三星 Galaxy S20 Ultra、荣耀 30 Pro 5G、荣耀 V30、荣耀 V30 Pro、vivo S5、OPPO R17
(4)1080*2460:中兴 AXON 20
(5)1080*2376:IQOO 5、vivo X50、vivo X50 Pro、vivo X60 Pro、一加 8Pro
(6)1080*2340:锤子坚果 R2、荣耀 30Pro、魅族 17、魅族 17Pro、iQOO U1、华为畅享 20Pro、华为 nova7 Pro、红米 9、realme X2
(7)1600*720:红米 9A
(8)1080*2408:vivo Y31s、IQOO Neo3、IQOO z1
(9)720*1560:荣耀 Play4T
(10)1080*2256:vivo NEX 3 5G
(11)720*1600:OPPO A32、OPPO A8
(12)1080*1920:Mi 10 Pro
(13)2340*1080:小米 10
(14)3220*1400:三星 Galaxy S20
(15)1080*2280:三星 Galaxy Note10
说明:因为 Android 不同厂家机型多,不同屏幕分辨率也多,以上主要是列举常见的
4.尺寸兼容性
(1)iOS 主要机型尺寸:4 寸-6.7 寸
(2)Android 主要机型尺寸:5 寸-6.7 寸
5.不同网络兼容性
(1)Wi-Fi 切换 4G/5G 网络情况下功能是否正常
(2)4G/5G 网络切换 Wi-Fi 情况下功能是否正常
(3)有网切换无网情况下功能是否正常
(4)无网切换有网情况下功能是否正常
1.Android兼容性测试(CTS)和连带的兼容性定义文档(CDD),是一个确保终端设备与特定版本Android(比如Android2.2,2.3,3.0)兼容的自管理程序。CTS测试集包含大约24,000个在Android设备上运行的测试用例,这些用例分别针对电话、图形、相机、GPS、触摸屏、无线网等功能。Google针对每个主要Android版本公布了CDD文档,其中指出了对CTS中每类测试的具体要求。
2 CTS简介
CTS拥有兼容性测试包。CTS是一个自动化的测试工具,其中包括两个主要的软件组件:CTS测试工具可以运行在您的台式机和管理测试执行。连接的移动设备或模拟器上执行个别测试案例。作为JUnit测试,并打包为Android是用Java编写测试用例。apk文件运行在实际设备上的目标。手机设备需要通过Android的兼容性测试(CTS),以确保在android上开发的程序在手机设备上都能运行。你的设备只有满足CDD的规定并且通过CTS,才有可能获得Android的商标和享受Android Market的权限。这里有可能指的是需要你自己去向google申请的。
3 CTS在android软件兼容性测试的意义
通过CTS测试之后便允许在设备上使用Android商标,它标志着该设备能够良好兼容软件市场中的数十万应用程序。
4 CTS在终端上的测试详解
5 CTS 终端需求
Android 2.1 的 Compatibility Definition,它定义了一些需求:
数据:必须实现一种无线连接, 速率达到 200Kbit/Sec
Camera: 至少 2M pixels
重力加速: 必须有, 3维, 50Hz
指南针:必须有, 3纬, 10Hz
GPS: 必须有
内存:至少 92M (不包括专用内容)
Nand: /data 分区至少 290M
性能:启动时间: 浏览器 1300ms
MMS/SMS 700ms
AlarmClock 650ms
第二次启动一个应用的时间不能超过第一次启动时间。
CTS 测试: 必须通过最新的 CTS
升级:必须有一种办法可以升级全系统。
可以为:OTA USB SD卡
6 运行CTS方法的步骤(linux环境下)
1进入目录android-cts,该目录是通过上面那两种方法获得的。在android-cts目录下会有3个文件夹,其中一个是tools。
2进入tools目录,输入./startcts来启动CTS。
3如果运行成功会出现Android CTS version 2.3_r1的字样(我的android的版本是2.3的)。如果有连接设备到PC上还会出现Device(设备ID)connected的字样。这里设备可以是连接PC的android的机器,也可以是模拟器。
7 CTS测试的方法(linux环境下)
1在cts_host下敲入help,会显示cts下的许多命令。ls –-plan命令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、 AppSecurity。其中Performance这个方案是google暂不要求的。Java、Signature、Android、VM、 RefApp、Appsecurity方案都是CTS方案的子集。
2用命令ls --d来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上。
3输入命令start –-plan CTS来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,因此除了第一次测试之外,不建议这么做。我做的都是针对某些包的测试。如果连接了多个设备的话需加上-d参数,后面跟上设备id来告诉CTS需要测试的设备。
4对单独一个包进行测试的方法:start –-plan CTS –p 包名;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls –plan CTS
start --plan CTS -p android.content.cts.ContextWrapperTest
5也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名
start --plan CTS -t android.media.cts.MediaPlayerStreamingTest#testRTSP_MPEG4SP_AAC_Video2
8 查看测试的结果:
测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。
9 CTS兼容性测试常见注意事项:
1测试前选装一个apk,然后在设置里面的辅助功能中会多一个Delegating Accessibility Service选项,将这个选项勾起。
2在android设备设置中:显示-屏幕超时-选取30分钟
3在android设备设置中:应用程序-开发-勾选保持唤醒状态。
4保证测试前,android设备在主界面状态。
5将android设备的语言设置为英文。
6 CTS测试集有不同版本,对应不同的终端。cts2.3的包无法安装到2.2终端上。
7 在执行paln时,执行一段时间后会抛异常,异常如下:
CTS_INFO Restarting device ...
Device(HC09MPL00037) disconnected
Exception in thread "Thread-17" com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device
at com.android.ddmlib.AdbHelper.setDevice(AdbHelper.java:736)
at com.android.ddmlib.SyncService.openSync(SyncService.java:164)
at com.android.ddmlib.Device.getSyncService(Device.java:253)
at com.android.cts.DeviceManager$DeviceServiceMonitor.run(DeviceManager.java:217)
是因为权限不够,提升至root权限可解决,命令如下$sudo ./startcts
8 输入./adb shell 出现如下异常:
error: insufficient permissions for device
输入:
$ sudo -s
./adb kill-server
./adb devices
9 出现如下异常:Unable to locate android-sdk-linux_86/tools/adb.
是因为android-sdk-linux_86的tools目录下没有adb文件
注:现在编译出的SDK不会出现此问题。
10 error: device not found。
1)请确认你的手机是否连接电脑,(2)以连接PC,重新拔下来,在连一次(3)如果2操作后还不行,看下USB连接方式是否为默认(仅充电),选USB连接。
11 写入测试结果时报Too many open files的错误,这是因为网络请求过多,也就导致了系统打开的文件过多。每一个连接都会当成“文件”看待的。
用ulimit –a 命令查看每个用户允许打开的最大文件数,看到是的1024,把它改大点,用命令:ulimit -n 4096
注:在测试过程中最好不要查看结果日志
主要测试内容包括:
1、功能正确性测试;
根据这个安桌软件的需求,看它到底支持那些功能,对每个功能,编写测试用例,验证这个功能是否正确;例如:有注册,登陆,编辑消息,发送消息,删除消息,察看消息等功能,那么你就要测试这每个功能是否正确实现了。
2、界面易用性测试;
主要考虑(1)易理解性;(2)易学习性;(3)易操作性;是否达到要求。
3、兼容性测试;
不同安卓版本的兼容性;不同安卓设备的兼容性,例如:不同厂家的手机,PAD等;看该软件在不同的软件和硬件下显示是否正常,功能是否正确;
4、安全性测试;
用户信息是否不被泄漏等;
5、不同网络状态下的测试;
wifi和2g,3g不同的网络速度下的功能是否正确;没有网络连接的情况下会怎么样,等等。
是的,一定要通过CTS认证测试
Android的CTS测试,英文为Compatibility Test Suite,意为兼容性测试。只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限。以下分享我对Android CTS的认识。
一、取得Compatibility Test Suite的两种方法:
(1)可以从下载最新版本的Compatibility Test Suit;
(2)也可以通过编译Android源代码的方式获得。在android源代码目录下输入make cts命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。这个文件夹就是Compatibility Test Suit。
==========================================
1、Error occurred during initialization of VM
Could not reserve enough space for object heap
从字面上看是在初始化java Vm的时候不能获取足够的堆空间,于是修改了build/core/definition.mk文件中的编译core.jar和framework.jar时需要的-JXmx为1024m,此参数代表编译上述两个包时需要的最大内存,此初始值为2048M,由于我的PC电脑总的内存才2G,系统运行会占据一部分内存,故编译android的时候肯定不会分配2G内存,
解决:
把build/core/definitions.mk 文件
第1528行:$(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx2048M) \
改成: $(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx1024M) \
==========================================
二、运行CTS的方法,步骤如下:
(1)进入目录android-cts,该目录是通过上面那两种方法获得的。在android-cts目录下会有3个文件夹,其中一个是tools。
(2)进入tools目录,输入./startcts来启动CTS。
(3)如果运行成功会出现Android CTS version 2.3_r1的字样(我的android的版本是2.3的)。如果有连接设备到PC上还会出现Device(设备ID)connected的字样。这里设备可以是连接PC的android的机器,也可以是模拟器。
三、CTS测试的方法:
(1)在cts_host下敲入help,会显示cts下的许多命令。ls –plan命令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance这个方案是google暂不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上。
(3)输入命令start –plan CTS来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,因此除了第一次测试之外,不建议这么做。我做的都是针对某些包的测试。如果连接了多个设备的话需加上-d参数,后面跟上设备id来告诉CTS需要测试的设备。
(4)对单独一个包进行测试的方法:start –plan CTS –p 包名;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls –plan CTS
(5)也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名
四、查看测试的结果:
测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。
五、注意事项:
(1)测试前需要安装一个apk:adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk 然后在设置里面的辅助功能中会多一个Delegating Accessibility Service选项,将这个选项勾起。
(2)在android设备设置中:显示-屏幕超时-选取30分钟
(3)在android设备设置中:应用程序-开发-勾选保持唤醒状态。
(4)保证测试前,android设备在主界面状态。
(5)将android设备的语言设置为英文
工厂ctq和cts分别是ctq的意思是品质关键点。cts是兼容性测试,手机设备需要通过Android的兼容性测试。
Y是由CTQ导出的组织内部某个具体流程的关键输出变量或关键输入变量。CTQ是从顾客角度出发,分析和确定影响顾客满意度的质量特性,而six sigma中的Y是项目的改善对象。
企业所提供的产品和服务一定要满足客户要求的品质特征,在Six Sigma六西格玛中,常常用Y来表示,很多公司都是把其当为一个输出的衡量性指标。
CTQ的确定有以下一些方法:
由客户指定。有些客户会对某些特定产品规定一些特别重要的特性。可以召集相关的人员,特别是产品工程师,工艺工程师以及流程操作人员讨论,哪些产品特性或过程参数对最终产品品质有重要影响。哪个领域都有专家,应该群策群力。
收集关于该产品在sample-buit或pilot run中发现的问题,或类似产品在生产过程中及使用现场发现的问题的数据,然后进行分析(比如用pareto chart),得出CTQ。对一些复杂的流程(即不太清楚流程的哪些变量对流程输出的质量有关键影响),也许需要借助DOE。
总之,只有对产品特性和过程参数与产品最终性能和品质之间的因果关系有比较清楚的认识,才能有效地确定CTQ。另外,CTQ也许会随时间的变化或流程的变化而改变;同时,确定CTQ后不等于说可以降低对其他特性和参数的重视程度。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流