深度兼容测试常见问题
Q: 云测需要提供什么样的安装包呢?iOS包云测没有企业证书怎么办?
A:
- 安卓App:提供apk安装包即可;
- iOS App:建议提供企业版App(inhouse,使用企业证书打包);如无企业证书,可以提供内测版App(Ad Hoc,使用个人证书打包),Testin测试时会对安装包使用Testin企业证书进行重签,重签后手机可以正常安装。
Q: iOS可以通过扫描安装或者从App Store,TestFlight安装吗?
A: 可以,不过如果通过TestFlight安装需要您提供账号。兼容平台建项目安装包是必选项,如果您给没有给安装包,云测就会上传一个默认的安装包,这样就会导致云测平台获取到的性能数据是云测传的默认包,这样报告中的性能数据方面对您意义就不大了。
Q: 兼容测试是怎么实现安装的?
A:
安卓安装命令:adb;
iOS安装命令:ideviceinstaller。
Q: 提测是在正式环境还是测试环境做测试呢?
A: 正式环境和测试环境都可以。若有测试环境并且环境稳定可以支撑100款以上机型并发访问,建议用测试环境。一般正式环境账号不容易提供,或者有交易类或发布消息等可能会影响到您的真实用户,还可能产生脏数据。
Q: 可以走sim卡注册流程吗?
A: 可以,云测有超过700张sim卡用于测试。sim卡只用于app短信注册登录用,不做他用,不支持2G、3G、4G测试。因为多个sim卡手机放在一起会互相干扰,如果是需要sim卡注册的测试建议您提供相应账号列表,将sim卡注册功能放在bug探索或功能测试进行验证。
Q: 能提供4G网络测试吗?
A: 可以,同上。
Q: 晚上服务器环境稳定些,可以指定只在晚上测试吗?
A: 可以,但是晚上测试交付时间可能会更长,大概延长24小时。
Q: 兼容提测需要准备多少个测试账号?
A: 如果同一个账号同时登录多个设备出现互踢情况,并且测试场景中有一次性的操作(如账号只有一个订单,且提交完不能反复提交),需要准备测试机型数1.5倍的账号数量;如果账号不互踢且也没有限制,提供至少2个账号即可;如果账号互踢,但测试场景中没有一次性限制,账号处理较为困难,需尽量提供100个以上的账号。
Q: 只能提供5个测试账号,且账号互踢,你们能不能测试?
A: Testin云测平台目前限制最低要并发20个,建议每次最低20个,测试热门600并发20的情况下,预计交付周期在需求确认后的6-7个工作日交付。如果少于20个,交付时间会加长,对您的影响较大。
Q: 10分钟脚本能覆盖多少内容?
A: 应用类10分钟脚本可覆盖大约100个点击左右,20-23张截图;可覆盖游戏类90个点击左右,17-20张截图。
Q: 为什么以10分钟脚本做为标准?
A: 以10分钟脚本为标准是因为云测经过大量测试发现,10分钟脚本可以满足大多客户的主要兼容性功能点测试需求,所以设定10分钟脚本为一次标准测试,如果您测试需求比较多,建议您用20分钟或以上的脚本,20分钟的脚本将扣除2次配额。
Q: 你们热门机型的定义,机型怎么判断是热门600?
A: 目前云测定义的热门机型是根据友盟指数、艾瑞数据、以及各电商手机评测平台的热门程度,结合Testin的大数据综合维度计算。
Q: 性能数据是怎么抓取出来的?用什么工具抓取出来的?
A:
- 安卓:
安装时间:执行命令adb install做为起始时间,返回结果作为截至时间;包括APK文件的拷贝和安装
启动时间:main activity resume完成时间
CPU:dumpsys cpuinfo,取全过程平均值
内存:dumpsys meminfo,取全过程平均值
流量:读取/proc/net,按照UID识别,取全过程最终值
GPU:芯片厂商API,取全过程平均值
FPS:芯片厂商API/dumpsys SurfaceFlinger, 取全过程平均值
电池温度:安卓API,取全过程平均值
电量消耗:安卓API,取全过程最终值
- iOS:
通过分析instrunent的trace文件
Q: 云测兼容是怎么调度手机执行测试任务的?
A: 当Testin与您确认好流程之后,录制完脚本会提交到平台。平台会根据当前的每个手机的任务量,按照优先级顺序执行。
Q: 脚本基于什么语言编写?
A: 云测的脚本录制工具是云测公司自研的用java语言编写的itestin,测试框架以robotium为主,整合uiautomator、monkey等多套自动化测试框架,同时基于java语言封装了多套自定义jar包,实现了跨分辨率、跨进程操作支持,完美解决了H5 App、native App、web App和混合App等各类App的脚本支持,脚本语言是类似java语言,通过封装,testin自定义了脚本规则,仅用于在testin自动化测试系统进行操作。
iOS脚本也是由公司内部人编辑,用javascript这个脚本语言编写出来的js脚本。
Q: 云测流程涉及扫一扫人脸、指纹识别、蓝牙连接、人机交互等,能支持吗?
A: 兼容测试是基于脚本在真机实验室模拟真实用户点击实现的自动化测试,所有的真机都是在实验室内,并且静态固定在机柜里。除了资源限制,部分特殊人工操作的场景深度兼容一般都能支持。但由于涉及人工介入,需要先进行评估,需要您把具体需求和安装包邮件发到my.report@testin.cn,云测进行评估后给您方案。
Q: 你们判断是否是bug的标准是什么?
A: 云测测试过程中和测试流程中约定的预期结果不一致即评判为异常,测试完成后还会有人工进行二次审核。
Q: 有的手机获取不到FPS帧率和GPU值是什么个问题?
A: 这是因为云测通过合作厂商的API和系统命令获取FPS和GPU数据,覆盖的设备比较有限。
Q: 报告里的流量是如何获取的?
A: 流量消耗:通过android API层获取App UID相关的数据,每3~5s获取一次,包括上行、下行流量的速率、总值;
测试报告内最终给出的是全测试流程的总量,CPU、内存是流程的均值。
Q: 安装时间是怎么计算的?
A: Android的安装时间是安卓adb install的返回时间,优化建议是压缩包体;iOS的安装时间是调用命令行完成ipa安装的时间。
Q: 启动时间是怎么计算的?
A: 计算的是从吊起应用包名至 onResume的时间,应用启动时间长短对用户第一次体验至关重要,同时系统对应用的启动、恢复等状态的运行时间也有严格的要求,在应用超时的情况下系统会直接关闭应用。例如在iOS系统下,对app运行时间的要求:Launch 20秒;Resume 10秒;Suspend 10+秒;Quit 6秒;Background Task 10分钟。
Q: 兼容测试报告数据内有些CPU占用峰值会有高于100%或空的数值呢?
A: 安卓通过dumpsys命令去获取的CPU占用,iOS通过Instruments获取,对于多核的系统,返回数值会超过100%。
Q: 怎么测试这么久?10分钟脚本10分钟不就测完了吗?
A: 测试是需要排队的,如果手机的任务较多,那么排队时间就会稍长一些,而任务较少则会快一些。一般10分钟脚本都是24-48小时交付。
Q: 报告方式会以什么方式呈现?发到什么地方(邮箱,QQ)?
A: Testin提供线上报告、Excel、PDF三种形式报告,测试完成后,会以邮件的形式通知您登陆查看、下载报告(目前PDF报告只针对于深度兼容测试和iOS测试),您也可以关注Testin的微信服务公众号(Testinyunce),绑定注册邮箱后即可在微信端接收测试报告。
Q: 如果出现没有的机型怎么去测试?
A: 如果您在云测机型库里没有查到机型,可以联系销售或者对接PM或将您需要的机型发邮件至my.report@testin.cn,云测会进行记录并考虑采购。
Q: 深度兼容能免费测试么?能测几次?测试多少款?
A: 因为深度兼容测试场景较复杂,需要综合考虑,如果您想了解,可在云测官网www.testin.cn联系在线客服,客服会安排专人给您详细讲解;如果已有销售跟您联系,也可咨询销售人员详细讲解。
Q: 兼容性测试免费和付费的主要区别?
A:
区别点 | 深度兼容 | 标准兼容 |
---|---|---|
测试脚本 | 测试专家根据您的要求以及测试经验帮您编写脚本,测试流程更加符合用户实际操作 | 自动遍历,缺乏流程逻辑 |
脚本时长 | 10分钟起,覆盖更多场景 | 3分钟 |
结果保障 | 有PM审核报告,排除因设备、网络原因导致的非app错误,精准定位问题,反馈准确的错误信息 | 无保障,需要您根据结果来判断 |
人工分析 | 会有人工介入,根据截图判断UI以及一些自动化测试无法判断的功能问题 例如:黑屏/花边/拉伸/错位,或者在某个界面上应该出现的按钮在某款机型上没有出现 | 没有人工分析,您通常需要根据截图来自己对问题进行判断 |
机型 | Top机型,覆盖95%的活跃用户 | 100款空闲机型,比较随机 |
价格 | 不到一款主流配置手机的价格,省去购买设备和部署设备的钱和投入的人力成本 | 免费 |
服务 | 有商务和PM一对一进行跟踪服务,可以把控流程及售后服务 | 没有专门的人员跟进 |
Q: 兼容性测试设备上出现的问题是怎么进行复现定位?
A: 云测报告可以提供详细的问题描述,截图,日志,视频等,可通过远程真机在问题机型上进行复现,也可以提供人工复现。
Q: 所有手机需要多少个脚本就可以执行任务了?
A: 一款App仅需一个脚本,脚本可以在所有设备中复用,这也是自动化测试的优势。
Q: 平台上的截图会保留多久?
A: 会保留一年有效期。
Q: 关于HTML5的兼容性测试怎么实现?
A: HTML5的App开发在一些平台商与技术标准公司的支持下,开发越来越趋向于组件化、模块化、简约化的快捷开发方向,为开发者们节约成本、降低门槛。其非常重要的一个特点是一个版本能适用于不同的终端、平台,甚至包括pc端和手机端。
作为专业的测试服务提供商,Testin在进行H5类型应用的兼容测试时,发现H5类型的App,通常会出现以下几类问题:
重度的H5插件在部分手机上运行容易出现页面崩溃现象;
部分页面如果样式表控制的不好,容易出现ui布局错位等问题;
图片在页面中的适配问题较突出,尤其是整图加载不完全的情况;
H5的兼容测试除了H5页面与手机兼容的问题外,还有一个特殊一些的测试内容:H5页面在不同浏览器上的兼容测试,因为通常不同的浏览器开发商,会基于不同的浏览器内核引擎来自研,标准并没有统一好,也应会出现部分页面在一些浏览器上会出现问题。
基于以上,H5的兼容测试除了在不同型号手机上的兼容测试外,还有不同浏览器的兼容测试,通常需要做更多的兼容测试,其测试量会是普通App的数倍。
云测H5测试目前有两种方式:基于微信和浏览器。如果是基于浏览器,请在提测时指定,建议使用市场占有率教高的浏览器,而不是手机原生浏览器。
Q: HTML5的App只是一个链接,这样可以抓到他的日志吗?
A: 云测把H5链接输入到UC浏览器中,那么手机会抓取UC浏览器的日志,客户可以根据日志来分析运行HTML5页面的情况,就是说,目前咱们测试报告中的性能数据都是浏览器的性能数据。
Q: 有问题想调试,应该要怎么做?
A: 您可以使用远程真机进行调试,访问网址:远程真机。
Q: 兼容测试可以实现交互吗?
A: 可以,涉及人为交互需要具体评估。
Q: 短信和图片验证码方式怎么通过脚本方式实现?
A: 对于大多数设备,可以通过AI实现,但对于部分设备则需要人工干预。
Q: 怎么判断出UI问题的?
A: 在脚本执行过程中,Testin人员会把测试结果和预期结果进行对比,再通过人工审核的方式,将每个步骤在所有设备上的截图上传至管理平台进行审核。这种方法可以直接比较不同之处,一般的UI问题比较明显,例如文字重叠、显示不全、花屏、黑边等。凭借多年的测试经验,工作人员能够很容易识别出这些问题。
Q: iOS性能数据都能获取出来吗?
A: 由于iOS系统本身比较封闭的情况,自动化测试通过现有的技术手段取不到所有性能数据,详情查看iOS兼容测试报告。
Q: 安卓和iOS可以指定机型吗?至少指定多少款才可以执行?
A: 可以指定机型,双端指定20款起测。
Q: 性能数据可以只获取进入某一个副本战斗的性能数据,单个页面加载时间、多个页面切换时间吗?
A: 深度兼容测试报告中记录了测试过程的性能数据,如果只查看对应阶段的数据,可以在日志、截图及线上报告中的测试轨迹图进行查找。
如果您对某些页面或操作的性能数据很关注,并且希望获取多次测试的性能数据,可以详细了解云测的"页面响应时长性能检测"服务。
Q: 目前云测可以在做兼容测试的时候往手机里放入指定文件,或取出指定位置的文件吗?
A: 可以支持,测试前放入指定文件到手机、测试后取出指定文件功能。放入时间(安装前、安装后、启动后)、放入目录以及取出目录需单独确认。说明:部分手机权限问题可能放入或取出失败,具体需求可以和交付人员确认。
Q: 怎么保证安全性的问题?
A:
- 云测专注于黑盒测试,以用户角度进行兼容性适配。所提供给云测的安装包均已编译完成。Testin承诺不会对应用程序代码进行扫描、反编译或泄露用户应用程序信息。
- 客户将安装包提供给商务,商务再转交给产品经理(PM),过程仅涉及这三个角色。
- 云测设备在完成任务后会自动卸载并清除所有数据。
- 除非获得用户的明确同意,云测绝不会公开用户的任何测试结果。
Q: 测试报告中的可用RAM是怎么得来的?
A: 在报告中,RAM指的是运行内存空间,而ROM是指物理存储空间。安装包存储在ROM中,而运行时所占用的内存则是指RAM。可以将ROM类比为电脑的硬盘空间,比如512GB,而RAM则是电脑的运行内存,比如2GB或4GB。这些数据直接从设备出厂时的配置文件中获取。可用的RAM空间是指总的运行内存减去系统及其他后台程序进程占用的空间,表示当前这款App能够运行的剩余空间。
Q: 安卓手机同款是否有多个版本?
A: 是否提供多个版本的测试是根据手机的热门程度决定的,Testin会对热门的手机型号提供多个不同版本测试服务。
Q: 是否支持App拍照功能的兼容测试?
A: 支持拍照功能,但由于设备被固定在机柜上,自动化无法拍摄具体内容,拍照具体内容需要人工干预。
Q: 测试报告的错误分类是怎样的?
A: Testin兼容性测试错误分类及判定如下:
1)安装失败:App在测试过程中出现安装不成功现象;
2)启动失败:启动后在未做任何操作前App出现的失败情况,如启动闪退、启动卡死、启动后资源加载失败等;
3)运行失败:在App运行测试过程中出现的无法继续运行的失败情况,如运行闪退,运行过程中无响应、运行过程中卡死等;
4)功能异常:在App运行测试过程中出现的可以继续运行的失败情况,如页面加载失效,无应有的引导等;
5)UI异常:在App运行测试过程中出现的UI展示异常的情况,如黑屏、花屏、白屏、文字异常、展示缺失等;
6)待优化:在App运行测试过程中出现ANR,但未报出错误日志的情况。
Q: Android 常见错误分类是怎样的?
1)ANR(Application Not Responding),发生该异常时,Android 设备通常会弹出“程序 xxx 无响应,是否等待”的提示框。
发生原因:
a)应用主线程卡住,对其他请求响应超时
b)死锁
c)系统反应迟钝
d)CPU 负载过重
2)JAVA Runtime Error,发生该异常时,Android 设备通常会弹出“程序 xxx 意外终止,是否立即关闭”的提示框。
常见错误:
a) NullPointerException
b) IndexOutOfBoundsException
c) IllegalArgumentException
d) IllegalStateException
3)NDK Error(Native Development Kit),发生该异常时,程序在 Android 设备上都会立即退出,即通常所说的闪退,而不会弹出“程序 xxx 意外终止,是否立即关闭”之类的提示框。
常见错误:
a)初始化错误
b)访问错误
c)内存泄露
d)参数错误
e)堆栈溢出
f)类型转换错误
g)数字除 0 错误
Q: Android 日志分类是怎样的?
1) V: verbose
2) D:debug
3) I:information
4) W:warning
5) E:error
6) F:fatal error
Q: 如何制定提测标准,如什么类型的代码改动需要做兼容性测试?
A:
大改版:进行全业务范围兼容性测试。
小改版:重点在变更范围和核心功能进行兼容性测试。
H5活动页面:重点覆盖关键设备,并确保覆盖不同分辨率设备。
Q: 如何准确地制定兼容性测试目标:如覆盖机型数量,覆盖操作系统数量,应当测试哪些页面功能?
A:
测试设备、操作系统范围根据目标用户/客户画像选择,如无数据,建议选择多覆盖;
测试页面/功能范围建议覆盖核心业务功能和本次修改功能。
Q: 如何通过代码变更点划定测试范围,如更新百度地图SDK,是否要覆盖所有百度地图的业务场景,H5下拉框组件是否要爱盖所有下拉框等?
A: 建议分析业务范围中涉及到百度地图SDK的场景,重点验证相关业务逻辑的适用性;下拉框组件需要验证不同分辨率、不同数据量、不同位置的UI适配形式。
Q: 对兼容性问题的定位分析经验,如何改良编码习惯?
A: 可参考谷歌或者阿里建立适用的开发编码规范,代码评审机制以及检查工具。
Q: 兼容性测试设备上出现的问题是都能在机型上都复现吗?
A: 不能保证完全复现,Testin测试设备的环境和客户用的设备版本以及真机环境是有区别的。不过即使不完全复现,客户仍然可以根据日志及截图来定位,证明出现了当时的崩溃情况,这可以说明在设备上有崩溃的潜在可能。
Q: 性能数据对开发有什么帮助,抓log的工具对性能数据是否会有影响?
A: 性能数据对APP肯定是有帮助的,例如启动一款APP耗时太久或者是运行的时候占用内存过高导致卡顿死机的话,会严重影响APP的体验,开发肯定会把性能数据控制在一个合理的范围内,日志是APP在运行时设备自动打出来的,Testin提供的工具只是将其收集起来,不会对性能有影响。
Q: 功能异常是怎么样判断的?是人工审查的吗?
A: 功能异常是人工审查的,测试人员在交付之前就在测试机上线试用,确保可执行,然后记录正常流程。在测试完成后的审核过程中测试人员会结合正常流程做对比,以检查功能是否异常,当然如果您怀疑此流程,可以为Testin提供流程图样例。
Q: 云测是否会跟我确认测试流程和截图呢?
A: 销售会先跟您确定一个基本的需求,如果您需要看的话,会跟您确认流程和截图。如果细节方面需要沟通的话Testin会创建讨论组及时和您确认。
Q: 我希望所有的界面都能完全的跑一遍,不要有遗漏,兼容测试可以做到吗?
A: 这需要根据应用进行技术评估。兼容测试主要测试的APP和设备之间的兼容问题,脚本时长大概控制在10分钟,基本可以遍历全游戏的新手引导以及应用的主要功能点,如果有时长要求,可以满足,不过可能需要加成本。如果有实际脚本时长以及功能操作会否有难以自动化的部分,您可以把App发给交付人员帮您处理。
Q: 手游/应用测试内容;脚本由谁编辑?
A: 脚本统一由Testin交付人员录制编辑。
游戏:安装、启动、一键注册、登录、新手引导(10分钟)、卸载标准流程以及游戏内部UI检测;
应用:应用标准场景测试:安装、启动、注册、登录、使用引导/主要功能场景(10分钟)、卸载标准流程以及应用内部UI检测。
Q: TOP150、TOP300、TOP600分别对市场上多少的覆盖率?
A: 分别覆盖了50%-60%、70%-80%、90%左右的主流机型。
Q: 所有手机需要多少个脚本就可以执行任务了?
A: 一个任务中包含一个APP和一个脚本,这个脚本所有设备都可以复用,这也是自动化测试的优势。
Q: 平台上的设备都支持googleplay的服务插件吗?
A: 几乎都不支持。
Q: 应用内支付是怎么样测试的?
A: Testin平台采用对第三方支付吊起支付页面进行测试。需要您提供有实际支付能力的账号,如果账号支付有设备、次数的限制,则需要您提供足够的支付账号。
Q: 什么是原生APP,什么是WEB APP?
A: 原生APP的特性如下:
⊙ 直接下载到设备
⊙ 以独立的应用程序运行(并不需要浏览器)
⊙ 用户必须手动去下载并安装这些原生App
⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数
WEB APP的特性如下:
⊙ 从移动设备上的浏览器访问
⊙ 不需要安装额外的软件
⊙ 软件更新只需要服务器就够了
⊙ 因为现在没有商品或卖场提供这种App,所以搜索这些移动Web App不简单
Q: 云测的日志是怎样取出来的?
A: Android设备可以获取应用程序在安装启动运行卸载时所有的日志,Testin会用技术手段收集这些日志。可能会出现有很少一部分设备不打出日志的情况,这个时候崩溃分析嵌入SDK就可以解决这个问题。
Q: 性能数据可以只获取进入某一个副本战斗的性能数据吗?
A: 不能,目前Testin还没有做区分出来,Testin获取的是整个流程的性能数据,如果只查看对应阶段的数据,可以根据日志、截图及线上报告中的测试轨迹图进行具体分析。
Q: 为什么会出现定位不到的问题?
A: 因为有的手机不输出关键信息日志或输出信息不够详细,通过技术手段无法定位,可以嵌入Testin的SDK,通过崩溃分析来解决这个问题。
Q: 单个页面加载时间、多个页面切换时间、游戏loading时间等性能数据获取?
A: 目前可以获取到fps部分手机的性能数据,其余加载时间类性能数据暂时获取不到。如果您想查看这部分相关数据,您可以根据自己的需要输出相关信息到日志里,日志需按照Testin指定的格式,Testin会取出数据展现在报告里,详情联系交付人员。
Q: 平台是怎么判断出来运行失败的?
A: 主要是通过日志自动化判断,安装失败、崩溃闪退或者是无响应的时候手机会输出错误信息,根据这个报错,自动化会判断为运行失败。
Q: 可以在做兼容测试的时候往手机里放入指定文件,或取出指定位置的文件吗?
A: 在增加测试前放入指定文件到手机、测试后取出指定文件功能即可。其中需要确认放入时间(安装前、安装后、启动后)、放入目录以及取出目录。
说明:部分手机权限问题可能放入或取出失败,具体需求可以和交付人员确认。
Q: 测试报告中的行业数据是怎么来的?较优的这个数据是哪个APP?
A: 行业值来源于云测获取的在平台上近三个月测试的数据,分为应用和游戏两大行业。Testin会每两周及时更新行业所有数据,您可以参考理想值,但是Testin不能随意泄露其他客户的信息,所以不能告知具体是哪个app的数据。
Q: 我可不可以自己写脚本提交?
A: 您可以自己写脚本提交,但是Testin不建议,因为云测人员对适用平台的脚本制作有丰富的经验,包括延时、截图点之类,做脚本这部分工作。您可以交给工作人员,只需提供自己的需求就好。