FAQ

兼容测试 FAQ

926 views 2017年11月28日 2018年8月16日 zhangying 6

1.什么是monkey测试?开发的应用程序进行稳定性测试,monkey测试只在我们平台的标准兼容测试中,如果客户点击选择执行Monkey测试,那么在3分钟时间内,有1分钟执行monkey,但是由于执行monkey很容易把APP点击死掉,问题几乎不好定位,目前这块客户也很少去选择执行,因为APP发布后,很少有真的用户实际去快速乱点

2.什么叫串行测试和并行测试?

串行测试是一款一款设备的去执行,效率较慢,并行测试是多部设备同时在运行测试。

3.性能数据是怎么抓取出来的?用什么工具抓取出来的?

我们在手机插在上位机上的时候,会自动在手机里安装我们公司的一个小工具itestin(不是脚本录制工具),通过技术手段去获取应用的性能数据。

Ps:客户本身自己在测试的时候,通过技术手段也是可以获取到APP的性能数据,开发成本比较高,我们做了四年的测试,用专业的手段在大量手机上运行的情况汇总出来,结果肯定也是更加准确

4.什么是堆栈信息?

程序在运行出错的时候,会有堆栈信息输出在log中,包括当时系统和APP的运行信息,可以帮助分析是哪个地方出错

5.很在意FPS的输出,但是我们的报告中只能获取一部分手机中APP的FPS,怎么做?

我们的平台只能获取一部分手机中APP的FPS,是由于手机本身的封闭及技术受限,只能获取这部分手机的FPS,客户如果有需要,可以选择按照我们的格式输出在日志中,我们可以全部通过技术手段拿出来,汇总在测试报告中,输出格式如下

1.Logcat 日志样例,注意”,”与空格

11-20 09:50:50.507 I/fpstracer(1000): TestinLog-FPS>>>> Type fpstracer, Frames 26

01-28 15:05:23.153 I/TestinExternalLog(21489): TestinLog-FPS>>>> Type powervr, Frames 0

01-28 15:05:26.154 I/TestinExternalLog(21489): TestinLog-FPS>>>> Type powervr, Frames 0

01-28 15:05:29.207 I/TestinExternalLog(21489): TestinLog-FPS>>>> Type powervr, Frames 50

01-28 15:05:32.262 I/TestinExternalLog(21489): TestinLog-FPS>>>> Type powervr, Frames 88

 01-28 15:05:35.278 I/TestinExternalLog(21489): TestinLog-FPS>>>> Type powervr, Frames 98

01-28 15:05:38.348 I/TestinExternalLog(21489): TestinLog-FPS>>>> Type powervr, Frames 94

01-28 15:05:41.396 I/TestinExternalLog(21489): TestinLog-FPS>>>> Type powervr, Frames 0

2.数据项说明

TestinLog-FPS: 自定义tag

Type: 获取方式

Frames: fps值

6.线上测试报告中GC点代表什么意思?

GC点表示在某个时间执行了内存清理的动作,APP在运行的过程中觉得运行空间不够,就会自动去调用GC点,安卓系统会自动杀死一些优先级比较低的来腾出运行空间。

7.Testin云测的标准兼容测试是可以无限制提交吗?

Testin云测目前安卓的标准兼容测试和脚本测试是免费开放的,根据账户权限的不同,终端数量和测试速度都有所不同。以下为每个不同账号等级每天的免费次数。标准兼容每天一次100款。如果需要高可以联系销售对接。

8.标准兼容测试的次数,时间,终端款数?

标准兼容每天一次100款安卓。测试时间2-8小时。如果需要高可以联系销售对接。

9.标准性兼容测试对app有没有修改(签名)?

为进行Robotium自动化测试,需要对Apk用本地Android sdk中的debug.keystore进行重签名。

10.标准兼容测试中随机点击的间隔时间是多少?

随机点击的间隔时间是1-3秒。

11.报告方式会以什么方式呈现?发到什么地方(邮箱,QQ)?

Testin提供线上报告、Excel、PDF三种形式报告,测试完成后,会以邮件的形式通知您登陆查看、下载报告(目前PDF报告只针对于深度兼容测试和IOS测试),您也可以关注Testin的微信服务公众号(Testinyunce),绑定注册邮箱后即可在微信端接收测试报告。

12.如果出现没有的机型怎么去测试?

如果您在我们机型库里没有查到机型,可以将您需要的机型发邮件至service@testin.cn,我们会进行记录并考虑采购。机型查询库

13.深度兼容能免费测试么?能测几次?

深度兼容测试目前没有活动,请留意官网或关注Testin微信号,随时关注Testin新动态。

14.我们的脚本是用什么工具编写的?什么语言?

我们的脚本录制工具是我们公司自研的用java语言编写的itestin,测试框架以robotium为主,整合uiautomator、monkey等多套自动化测试框架,同时基于java语言封装了多套自定义jar包,实现了跨分辨率、跨进程操作支持,完美解决了h5 app、native app、web app和混合app等各类app的脚本支持,脚本语言是类似java语言,通过封装,testin自定义了脚本规则,仅用于在testin自动化测试系统进行操作。

ios脚本也是由公司内部人编辑,用javascript这个脚本语言编写出来的js脚本。

15.兼容性测试可试用的Android设备和IOS设备分别是多少个?

如果客户没有明确的要求,我们一般是测试150款(不是TOP150)终端给客户看一下效果,如果有明确的要求,可与交付同学商量后尽量满足客户的需求,ios设备目前不支持试用,当然特殊情况也可以具体分析。

16.兼容性测试免费和付费的主要区别?

区别点 深度兼容 标准兼容
测试脚本 测试专家根据您的要求以及测试经验帮您编写脚本,测试流程更加符合用户实际操作 自动遍历,缺乏流程逻辑
脚本时长 10分钟,更长,所以更准 3分钟
结果保障 会有专门的PM审核报告,排除设备、网络原因导致的非app错误,精准定位问题

运行有错误的会进行补测,对结果会有PM进行专门的审核,反馈准确的错误信息

没有,需要您根据结果来判断
人工分析的好处举例 会有人工介入,根据截图判断UI以及一些自动化测试无法判断的功能问题

例如:黑屏/花边/拉伸/错位,或者在某个界面上应该出现的按钮在某款机型上没有出现,这些都可以检测出来

没有人工分析,您通常需要根据截图来自己对问题进行判断
机型 Top机型,覆盖90%的活跃用户 100款空闲机型,比较随机
价格 连一款主流配置手机的价格都不到,省去了购买设备和部署设备的钱,以及投入的人力成本 免费
服务 有商务和PM一对一进行跟踪服务,可以把控流程及售后服务 没有专门的人员跟进

17.兼容性测试设备上出现的问题是都能在机型上都复现吗?

不能保证完全复现,毕竟我们测试设备的环境和客户用的设备版本以及真机环境是有区别的,即使复现不出来,客户可以根据日志及截图来定位,证明当时的崩溃就是出现,同时说明在设备上有崩溃的潜在可能。

18.性能数据对开发有什么帮助,抓log的工具对性能数据是否会有影响?

性能数据对APP肯定是有帮助的,例如启动一款APP耗时太久或者是运行的时候占用内存过高导致卡顿死机的话,会严重影响APP的体验,开发肯定会把性能数据控制在一个合理的范围内,日志是APP在运行时设备自动打出来的,我们的工具只是将其收集起来,不会对性能有影响。

19.功能异常是怎么样判断的?是人工审查的吗?

功能异常是人工审查的,PM在交付之前就在测试机上线试用,确保可执行,这样PM就会记住正常的流程,在测试完成后的审核过程中结合正常流程做对比,就会发现功能异常,当然如果客户怀疑我们的流程,可以给我们提供流程图样例。

20.流程和截图会不会和客户确认一下?

如果客户需要看的话,流程和截图可以客户确认下的,这就需要我们销售先和客户拿到一个基本的需求,自己过滤后交给交付的同学评估,细节方面需要沟通的可以创建讨论组及时和客户确认。

21.客户希望所有的界面都能完全的跑一遍,不要有遗漏,兼容测试可以做到吗?

需要根据应用进行技术评估:实际脚本时长以及功能操作会否有难以自动化的部分,可以要求客户把App发给我们,兼容测试主要测试的APP和设备之间的兼容问题,脚本时长大概控制在10分钟,基本可以遍历全游戏的新手引导以及应用的主要功能点,如果有时长要求,可以满足,但是需要加成本。

22.手游/应用测试内容;脚本有谁编辑;

脚本统一由Testin交付人员录制编辑

游戏:安装、启动、一键注册、登录、新手引导(10分钟)、卸载标准流程以及游戏内部UI检测;

应用:应用标准场景测试:安装、启动、注册、登录、使用引导/主要功能场景(10分钟)、卸载标准流程以及应用内部UI检测。

23.TOP150、TOP300、TOP600分别对市场上多少的覆盖率?

50%-60%、70%-80%、90%左右的主流机型覆盖。

24.所有手机需要多少个脚本就可以执行任务了?

一个任务中包含一个APP和一个脚本,这个脚本是所有设备都可以复用,这也是自动化测试的优势。

25.平台上的截图会保留多久?

付费的6个月,免费的2个周,我们服务器空间不够了就提前删除免费测试的结果。

26.咱平台上的设备都支持googleplay的服务插件吗?

几乎都不支持。

27.关于html5的兼容性测试

h5的app开发,在一些平台商与技术标准公司的支持下,越来越趋向于组件化、模块化、简约化的快捷开发方向,为开发者们节约成本、降低门槛,因为其非常重要的一个特点是一个版本能适用于不同的终端、平台,甚至包括pc端和手机端。

作为专业的测试服务提供商,Testin在进行h5类型应用的兼容测试时,发现h5类型的app,通常会出现以下几类问题:

  1. 重度的h5插件在部分手机上运行容易出现页面崩溃现象;
  2. 部分页面如果样式表控制的不好,容易出现ui布局错位等问题;
  3. 图片在页面中的适配问题较突出,尤其是整图加载不完全的情况;
  4. h5的兼容测试除了h5页面与手机兼容的问题外,还有一个特殊一些的测试内容:h5页面在不同浏览器上的兼容测试,因为通常不同的浏览器开发商,会基于不同的浏览器内核引擎来自研,标准并没有统一好,也应会出现部分页面在一些浏览器上会出现问题。

基于以上,h5的兼容测试除了在不同型号手机上的兼容测试外,还有不同浏览器的兼容测试,通常需要做更多的兼容测试,其测试量会是普通app的数倍。

我们H5测试目前有两种方式:基于微信和浏览器。如果是基于浏览器,请在提测时指定,建议使用市场占有率教高的浏览器,非手机原生浏览器。

28.HTML5的APP只是一个链接,这样可以抓到他的日志吗?

假如我们把这个链接输入到UC浏览器中,那么手机会抓取UC浏览器的日志,客户可以根据日志来分析运行HTML5页面的情况,就是说,目前咱们测试报告中的性能数据都是浏览器的性能数据。

29. Sim卡相关测试

Sim卡相关测试目前支持300以下机器。SIM卡只用于app短信注册登录用,不做他用,不支持2G、3G、4G测试。因多个sim卡手机放在一起会互相干扰,建议需要sim卡注册的测试尽量提供相应账号列表,将sim卡注册功能放在bug探索或功能测试进行验证。

30.测试过程中的支付是怎么样操作的?

三种情况,一,要求客户做测试的支付环境,虚拟的状态,之前有遇到过商城购买类的APP,我们测试的时候把里面的东西都买光了,客户中途找来说不测试了,这样造成很多麻烦,二,客户提供有游戏中货币的账号,这样购买的时候无需我们自己充钱,三、客户提供银行卡或者支付宝等支付账号,至少20个。

31.什么是原生APP,什么是WEB APP?

原生APP:⊙ 直接下载到设备

⊙ 以独立的应用程序运行(并不需要浏览器)

⊙ 用户必须手动去下载并安装这些原生App

⊙ 有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数

WEB APP:⊙ 从移动设备上的浏览器访问

⊙ 不需要安装额外的软件

⊙ 软件更新只需要服务器就够了

⊙ 因为现在没有商品或卖场提供这种App,所以搜索这些移动Web App不简单

32.我们的日志是怎么样取出来的?

Android设备自己有方法去获取应用程序在安装启动运行卸载时所有的日志,我们会把这些日志用技术手段收集,不排除有很少一部分设备不打出日志,这个时候崩溃分析嵌入SDK就可以解决这个问题。

33.为什么脚本时长限制是10分钟?

之前做过各方面的调研,10分钟脚本既能满足APP的兼容性需求,也能保证我们平台的任务产量。

34.有问题想调试,应该要怎么做?

可以使用远程真机进行调试,地址:http://remote.testin.cn/machine/device/index。

35.兼容测试可以实现交互吗?

可以做,示例滴滴司机端&乘客端,多至300款vs300款。

36.短信和图片验证码方式怎么通过脚本方式实现

可以要求客户配合把验证码写死,比如说就是111111,如果不配合我们通过技术手段获取提取短信验证码里的数字及图片里信息,在我们这交付了不少客户都可以顺利交付,可以放心,但是目前只有300个SIM卡,装在手机里,但并不是严格意义上的TOP300,仅仅是600款当中的任300,而且能够稳定交付的大概是200多,因为有一些sim卡会出现没信号等等之类的问题。

37.怎么判断出UI问题的?

是通过人工审核的方式,交付人员从管理后台把每一个步骤的所有设备的截图放在管理平台里进行审核,这样直接找不同的地方,一般的UI问题比较明显,比如说是文字重叠,显示不全,花屏黑边等等,PM根据多年测试经验很容易能够分辨出来,如果客户比较纠结依据的准确性,可以提供给我们样例参考图。

38.ios性能数据都能获取出来吗?

自动化测试,但是由于IOS系统本身比较封闭的情况,通过现有的技术手段取不到所有性能数据,详情查看ios兼容测试报告。

39.安卓跟IOS可以指定机型吗?至少指定多少款才可以执行?

安卓可以至少指定50款起做,ios至少指定10款起做,具体问题具体分析。

40.有5万+部手机为啥只测到600款?可以测4000不?

公司现有4500款,5万+部设备,是由于一款设备有不同的系统版本,而且即使系统版本一致的情况下,为了稳定交付,有的热门机型即使版本一样也可能会有三四部是重复的,所以导致5万+部的情况,这5万+部中也有一部分版本比较老的,比如1.5-2.0的,这部分手机本身就不适用于APP,没必要测试5万部,还有一些设备在我们的合作伙伴那里,我们的TOP600是通过友盟数据归纳出来的TOP600,市场覆盖率达到90%以上,基本符合现阶段所有客户的需求。

41.性能数据可以只获取进入某一个副本战斗的性能数据吗?

不能,目前我们还没有做区分出来,我们获取的是整个流程的性能数据,如果只查看对应阶段的数据,可以根据日志、截图及线上报告中的测试轨迹图进行具体分析。

42.为什么会出现定位不到的问题?

因为有的手机本身不输出关键信息日志或输出信息不够详细,通过技术手段也就定位不到,可以嵌入我们的SDK,通过崩溃分析来解决这个问题。

43.单个页面加载时间、多个页面切换时间、游戏loading时间等性能数据获取

目前fps部分手机可以获取到,其余加载时间类性能数据暂时获取不到。如果客户想查看这部分相关数据,可以由客户自己技术输出相关信息到日志里,日志需按照我们指定的格式,我们会取出数据展现在报告里,详情联系交付人员。

44.平台是怎么判断出来运行失败的?

主要是通过日志自动化判断,安装失败、崩溃闪退或者是无响应的时候手机会输出错误信息,根据这个报错,自动化判断为运行失败了。

45.目前我们可以在做兼容测试的时候往手机里放入指定文件,或取出指定位置的文件吗?

增加测试前放入指定文件到手机、测试后取出指定文件功能。需要确认放入时间(安装前、安装后、启动后)、放入目录以及取出目录。说明:部分手机权限问题可能放入或取出失败,具体需求可以和交付确认。

 

47.怎么保证安全性的问题?

首先我们做的是黑盒测试,是从用户角度去做兼容适配,给我们的安装包都是编译好的,Testin不会扫描、反编译App代码、不会泄露用户App信息第二,客户把安装包给到商务,商务转给PM,PM进行脚本录制,接触的只有这三个角色,第三,设备在把任务执行完成后会自动全部卸载清除所有数据,第四,除非在用户同意的情况下,Testin绝不会公开用户的任何测试结果。

48.测试报告中的可用RAM是怎么得来的?

报告中的RAM是指运行内存空间,ROM是物理存储空间,安装包是存储在ROM中,运行所占用的内存是指RAM,ROM就好比电脑的硬盘空间512G,而RAM就是电脑2G或4G的运行内存,这俩数据是直接从设备出厂时候的配置文件中获取的,而可用的RAM空间是指总的运行内存减去系统及其他后台程序进程占用的空间,代表的是能够供当前这款APP运行的空间只剩下这么多,客户比较关注的也是这个数据,一些运行失败有可能是运行内存不够导致的,设备的可用RAM是实时获取的。

49.测试报告中的行业数据是怎么来的?较优的这个数据是哪个APP?

行业值都是我们取的在平台上近三个月测试的数据,分为应用和游戏两大行业,行业所有数据我们会每两周就会及时更新一次,理想值是用来给客户参考的,我们不能随意泄露其他客户的信息,所以不能告知具体是哪个app的数据。

50.客户可不可以自己写脚本提交?

可以写脚本自己提交,但是不建议,因为我们的PM对适用我们平台的脚本有一定的经验,包括延时、截图点之类,做脚本这部分工作完全可以交给我们,客户仅提供自己的需求就好。

51.为什么标准兼容测试中有很多未执行的?

APP在标准兼容测试过程中执行超过了8小时,任务会自动终止。由于付费客户优先级较高,选择的机器优先去执行付费的任务,导致标准兼容测试的机器8小时内完成不了,任务被强制终止则会出现未执行的机器。除此之外,如果在测试过程中因为手机电量不足被迫下线充电等原因也会出现未执行机器,而付费任务没有未执行情况,我们每次会多选择机型,比如top600,我们会执行670款,且任务没有八小时限制。

52.标准性兼容测试是怎么做到的?  

Testin平台云端提供了4500+款智能终端,开发者只需将应用传到平台即可完成标准兼容测试,并获得详尽的测试报告。测试流程,通过在大量真机上运行Robotium和Monkey脚本,验证App在终端兼容、安装卸载、运行、功能、UI、安全软件兼容等维度下的兼容性,同时获取App在多个维度下的性能数据,供开发者参考

53.标准性兼容测试的时长?

2分钟UI遍历,1分钟Monkey测试,您可以使用脚本测试,支持至长30min自定义脚本执行时长。

54.H5能做标准兼容吗?

H5和native混合的App可以通过标准兼容做基础遍历测试,纯H5的建议用深度兼容测试,我们将为您定制测试流程。

55.标准兼容测试流程是怎么样的?

提测流程:选择套餐配置-> 上传待测包 ->  选择机型 ->提测成功

56.标准兼容测试为何提供账号密码了还登陆不进去?

标准兼容测试是属于随意点击进行的兼容性测试,因为每一款APP特性功能不同,所以不能保证100%的APP都能成功登入。

小T给您个方法,您可以到这里下载个录制工具http://i.testin.cn/?daohang 录制一段脚本,自定义登入,也可以录制更多的页面,这样在测试的时候,终端会按照您事先录制的脚本来运行应用,如果您不录制脚本也不写脚本,那您联系下小T吧,她总能想出办法解决您的问题。QQ800074282。

57.标准兼容测试为何两次测试结果的数据不一样?

为了帮助开发者发现更多的潜在BUG和问题,Testin的标准兼容测试采用的是智能随机测试的方式进行执行,相同的设备每次测试的路径也有可能不同,Testin的测试日志会记录每次执行的路径,并把真实的执行过程和结果反馈给开发者,不同的执行流程有可能会带来测试结果的不一样。

58.兼容测试的交付时间是多少?

标准兼容测试:2~8小时

深度兼容测试:24小时

IOS测试:24小时

脚本测试:2~8小时

59.标准兼容测试是人工测试么?

全程真机自动化测试。

60.标准兼容测试可以指定流程么?

标准兼容测试的执行流程是随机的,深度兼容测试根据您指定的测试需求和流程,来进行测试并输出测试报告。

61.标准兼容测试的运行时间可以加长么?

不能加长,如果需要长时间的测试采购深度兼容测试服务。

62.如何分享报告?

点击测试报告右上角分享报告即可,

1:分享报告可以邮件分享,输入需要分享人的邮箱即可。

2:链接分享,公开报告链接,所以人都可以点开这个链接访问报告。

63.标准兼容测试报告该从哪方面去分析,尤其是失败和崩溃的机型?

Testin报告会提供丰富的截图,详细Logcat日志,多维性能数据供您参考解决问题,建议您使用Testin的崩溃分析,捕获更深层次的日志。

64.测试出的问题能出具解决方案么?

Testin测试结果可以帮助您快速的定位到您的应用在不同手机出现的问题,建议开发工程师来查看LOG日志,可以根据错误定位和LOG日志来查找出现问题的原因。

65.安卓手机同款是否有多个版本?

根据该手机的热度不同,Testin平台对相同的热门为开发者机提供多个不同版本测试服务。

66.付费方式?全款还是分期?

根据购买的服务和方式不同,支持在线直接购买和线下客户经理处购买,在线购买需要付全款,线下购买根据合同的金额不同可以按照合同约定来进行付款。

67.是否支持APP拍照功能的兼容测试?

支持使用拍照功能,由于设备在机柜上固定,不支持拍具体的内容。

68.测试报告的错误分类

Testin兼容测试错误分类、判定:

1)安装失败:App在测试过程中出现安装不成功现象;

2)启动失败:启动后在未做任何操作前App出现的失败情况,如启动闪退、启动卡死、启动后资源加载失败等;

3)运行失败:  在App运行测试过程中出现的无法继续运行的失败情况,如运行闪退,运行过程中无响应、运行过程中卡死等;

4)功能异常:在App运行测试过程中出现的可以继续运行的失败情况,如页面加载失效,无应有的引导等;

5)UI异常:   在App运行测试过程中出现的UI展示异常的情况,如黑屏、花屏、白屏、文字异常、展示缺失等;

6)待优化:   在App运行测试过程中出现ANR,但未报出错误日志的情况。

69.Android 常见错误分类

1)ANR(Application Not Responding),发生该异常时,Android 设备通常会弹出“程序 xxx 无响应,是否等待”的提示框。

发生原因:

a)应用主线程卡住,对其他请求响应超时

b)死锁

c)系统反应迟钝

d)CPU 负载过重

2)JAVA Runtime Error,发生该异常时,Android 设备通常会弹出“程序 xxx 意外终止,是否立即关闭”的 提示框。
常见错误:

  1. a) NullPointerException
  2. b) IndexOutOfBoundsException
  3. c) IllegalArgumentException
  4. d) IllegalStateException

3)NDK Error(Native Development Kit),发生该异常时,程序在 Android 设备上都会立即退出,即通常所说的闪退,而丌 会弹出“程序 xxx 意外终止,是否立即关闭”之类的提示框。

常见错误:

  1. a) 初始化错误

b)访问错误

c)内存泄露

d)参数错误

e)堆栈溢出

f)类型转换错误

g)数字除 0 错误

Android 日志分类:

1)  V: verbose

2)  D:debug

3)  I:information

4)  W:warning

5)  E:error

6)  F:fatal error

这篇文章有帮助吗?


X