要想参与 TestFlight 的 App 测试,必须得到相应 App 开发者的邮件邀请。
作为 VVebo 的重度使用者和爱好者我决定试试,按开发者的要求,我发了一封饱含诚意的邮件(包括购买凭证截图以及建议)。
以下是邮件部分内容:
Step2:坐等开发者的邀请
VVebo 开发者大大可能被我满满的诚意打动了有木有,很快就回复邀请我作为测试者,好兴奋呀!
Step3:安装试用版应用
前往 App Store 下载安装 TestFlight。
在 iPhone 上点击「Open in TestFlight」按钮,便会自动跳转安装应用啦!
安装好的测试版,在桌面会以应用名前多出一个「小黄点」进行区分,如图。(注:此黄点目前无法消除)查看当前界面Activity的方法:
1)运行命令:adb shell dumpsys window | findstr "mCurrentFocus"
mCurrentFocus=Window{227cb04 u0 comoppomusic/comoppomusicMainListActivity}
从结果中可知:
当前应用包名:comoppomusic
当前界面Activity:comoppomusicMainListActivity
2)查看应用的PID
adb shell ps | findstr “comoppomusic”,找到PID对应的列
1、“高速摄像机或Iphone慢动作”查看应用的启动时间
1)使用高速相机或Iphone的慢动作(240ps)录制应用的启动视频
2)使用QucikTime的帧分析功能,确定好起始帧(手指按下抬起时)和结束帧(应用完全显示)
3)根据帧数计算启动时间:=1000帧数量/240
备注:最接近真实用户使用场景,但是 *** 作复杂,成本高
2、“ActivityManager”查看应用的启动时间
备注:系统main log中也会有对应的显示(或adb shell logcat -b main | findstr ActivityManager)更佳
1)运行结果:
04-19 15:13:25919 1181 1216 I ActivityManager: Displayed comoppomusic/MainListActivity: +677ms
04-19 15:13:33556 1181 1216 I ActivityManager: Displayed comoppomusic/MainListActivity: +660ms
677ms和660ms就是music应用的启动时间
3、“WaitTime”查看应用的启动时间
测试方法:adb shell am start -W –S packagename/MainActivity命令
1)结果时间说明
ThisTime:一连串启动Activity的最后一个Activity开始算起始时间
TotalTime:一连串启动Activity的第一个Activity开始算起始时间
WaitTime:总的耗时,但是包括前一个应用 Activity pause 的时间和新应用启动的时间
说明:例如有的应用启动Activity的时候,会先显示一个白色的Activity,然后在显示正常Activity,这个时候TotalTime就是从第一个Activity启动作为起始时间,如果只有一个Activity则ThisTime和TotalTime相等
总结:
如果只关心某个应用自身启动耗时,参考TotalTime;如果关心系统启动应用耗时,参考WaitTime;如果关心应用有界面Activity启动耗时,参考ThisTime
4、“am_activity_launch_time”查看应用启动时间
测试方法:
1)开启系统的moblie log,例如mtk的moblie log,然后启动应用(或者adb shell logcat -b events | findstr am_activity_launch_time)
2)从moblie log中找到类似如下的event log:events_log_3__2019_0418_152200
3)搜索关键词:“am_activity_launch_time”,然后匹配对应的包名,如下:
04-18 15:21:28365484 1181 1216 I am_activity_launch_time: [0,73476478,comoppomusic/MainListActivity,668,668]
04-18 15:21:37295923 1181 1216 I am_activity_launch_time: [0,231925826,comoppomusic/MainListActivity,680,680]
4)应用的启动时间为668ms、680ms
5、Systrace查看应用的启动时间
1)抓取应用启动的trace文件
a、开发给的python脚本抓取,需要安装对应的python
b、打开android自带的monitor工具抓取,需要安装java环境和android sdk包
2)chrome浏览器输入chrome://tracing/,然后load对应的trace文件
3)搜索iq,如果能搜到说明正确抓取了trace文件,否则没有抓到启动时间点
4)找到应用对应的PID或包名的那一行
5)找到UI Thread那一行,然后可以使用W放大,S缩小,A左移,S右移,注意界面上的 *** 作导航,需要选取对应的项才能使用快捷键
放大并移动找到activityStart那一列,选中该项并点击键盘m键可以查看阶段时间如下:
6)在activityStart下一行对应的handleLaunchActivity找到第一个draw,按下ctrl然后选中activityStart在选中draw,在按下m键,如下图:
7)从步骤5中可以看到,music的启动时间为458656ms
备注:界面快捷键 *** 作
6、adb脚本录屏方法(不一定有用,有的机器无该命令或–bugreport选项,且需要android API21+)
测试方法:
1)adb shell screenrecord –bugreport /sdcard/testmp4
2)使用QuickTime分析视频即可,同方法1
备注:查看是否支持-bugreport选项
使用 adb shell screencap –help查看是否支持—bugreport选项
7、各种方法测试数据比较在AppStore上面搜索“TestFlight”软件
1、打开iPhone上的AppStore软件;
2、选择“搜索”栏目;
3、输入“TestFlight”进行搜索。
下载TestFlight软件
1、打开TestFlight详情页;
2、下载,可能会提示输入Apple ID的密码,按提示输入密码;
3、下载完成(可在iPhone主屏幕上看到TestFlight应用图标)。
打开TestFlight进行使用
1、应用提示是否允许“推送通知”,一般是允许的,提醒测试新版本;
2、这时候TestFlight内是没什么内容可看的;
3、等待开发者邀请测试。(注意查看关联Apple ID邮箱的邮件,2封邮件)
接受邀请iTunes Connect
1、打开邮箱邮件(电脑和手机 *** 作都可以);
2、点击邮件详情里面的“activate your access”,跳转到iTunes Connect登录页;
3、登录Apple ID账户,按提示勾选同意协议接受邀请。
注:这是第一封邮件,只有邀请加入开发者用户才会收到。只需要接受一次即可。
接受TestFlight测试邀请
1、打开邮箱邮件(电脑和手机 *** 作都可以,推荐手机 *** 作。);
2、点击邮件详情里面的“Start Testing”;
3、打开“TestFlight”(手机 *** 作第2步会自动打开TestFlight);
4、在TestFlight显示App信息,可以接收测试邀请“Accept”。
注:这是第二封邮件,只有邀请加入应用测试的才会收到。只需要接受一次即可。
电脑 *** 作要有这3步:
1Get TestFlight from the App Store
(翻译:到App Store下载TestFlight)
2Open TestFlight and choose Redeem
(翻译:打开TestFlight选择Redeem)
3Enter xxxxxx and start testing
(翻译:输入验证码,然后开始测试)
1 UI 测试
app主要核ui与实际设计的效果图是否一致;交互方面的问题建议,可以先与产品经理确认,确认通过后,才开始让开发实施更改或优化
2 功能测试
根据软件说明或用户需求验证App的各个功能实现,实际测试过程一般都是根据功能测试用例来执行。测试覆盖率基本上都是有测试用例主导,也就是说在功能测试部分,是检验测试用例是否有效以及完整的,也就导致另外一个问题,测试用例怎么写的问题,将另外一篇文章来单独阐述测试用例的编写方法。
3 中断测试
模拟用户真实使用app是会遇到的中断情况进行测试如: 网络的断网, 切换网络, 断电,来电话/短信,听音乐,切换到其他app, 打开其他app 的通知等
4 兼容以及适配测试
新旧版本的在功能,逻辑层面的兼容测试, 同一个app 在不同系统版本运行,以及不同机型之间的适配测试
兼容测试:接口的兼容性测试能够保证大部分的功能完善;app在不同系统版本上保证运行
适配性: 屏幕,系统版本等(系统位数一定要考虑)
该部分通过第三方的云平台进行
5 性能测试
可测试的方面
- 安装和启动时间
- CPU的占用
- 内存的占用
- 流量的耗用
- 电量的耗用
- 后端,测试App中的各类 *** 作是否满足用户响应时间要求,主要是测试点在网速方面,2g,3g,wifi, 4g一定要覆盖到
- 后端 有网络并发
6 稳定性测试,压力测试
1在各种边界压力情况下(如电池、存储、网速等),验证App是否能正确响应
2反复/长期 *** 作下,系统资源是否占用异常;Android 可是使用adb命令
3压力测试主要集中在后端,前端的压力测试目前测的较少
7安全测试
App安全测试大概划分为以下几类:
1)从数据的本地存储到数据的传输、处理以及远程访问等各个环节,基于相应的安全标准/行业标准评估App的安全特性;
2)借鉴在Web App和网络安全测试的一些成功经验在智能终端App测试中进行裁减或适配;
3)检测App的用户授权级别,数据泄漏,非法授权访问等;
4)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测,以期发现潜在的安全问题;
5)基于各种通信协议或相应的行业安全标准检视App是否满足相应的要求。
8用户体验测试
这个简单的说就是站在用户的角度上进行使用app,学习成本低,易上手等,可以进行用户盲测,根据用户反馈的意见进行修改。测试人员可以通过与其他竞争品进行对比, 或者根据较大厂商app的交互习惯进行比较。
9 回归测试--一般这部分建议使用自动化测试, 如果没有自动化测试,可以根据以几方面进行测试
1根据产品说明书或者功能文档进行功能确认
2重新将主要优先级较高的测试用例执行一遍
3重新验证bug
10 线上测试
线上测试是产品上线之后一定要完成的,这部分可以根据场景化进行回归测试,其中网络环境要全部覆盖一遍
手机app测试主要有以下:
1安全测试
1)软件权限
-扣费风险:包括发送短信、拨打电话、连接网络等-隐私泄露风险:包括访问手机信息、访问联系人信息等-新增风险项
2)开发者官方权限列表信息比对分析2安装、运行、卸载测试
验证App是否能正确安装、运行、卸载,以及 *** 作过程和 *** 作前后对系统资源的使用情况,主要包括:
1)检测软件是否能正确安装、运行、卸载;2)安装、卸载、更新错误报告;3)其他辅助信息:-位置和文件夹是否合理;-组件是否正确注册或删除;
-评估 *** 作前后,CPU、Memory(内存占用)、Storage(磁盘占用)等系统资源的使用情况。3UI测试
测试用户界面(如菜单、对话框、窗口和其它可视控件)布局、风格是否满足客户要求,文字是否正确,页面是否美观,文字,组合是否完美, *** 作是否友好等。
UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易 *** 作性测试。4功能测试
根据软件说明或用户需求验证App的各个功能实现,采用如下方法实现并评估功能测试过程:
1)采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准(若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或规则)。2)根据被测功能点的特性列举出相应类型的测试用例对其进行覆盖,如:涉及输入的地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。3)在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。5性能测试
评估App的时间和空间特性
1)极限测试:在各种边界压力情况下(如电池、存储、网速等),验证App是否能正确响应。
2)响应能力测试:测试App中的各类 *** 作是否满足用户响应时间要求3)压力测试:反复/长期 *** 作下,系统资源是否占用异常;4)性能评估:评估典型用户应用场景下,系统资源的使用情况。
5)Benchmark测试(基线测试):与竞争产品的,产品演变对比测试等。6中断测试
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法,如:App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。7兼容测试
主要测试内部和外部兼容性,包括:
与本地及主流App是否兼容;检验在各种网络连接下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA2000、HSPDA等),App的数据和运用是否正确;
与各种设备是否兼容(若有跨系统支持则需要检验是否在各系统下,各种行为是否一致)。
8安全测试
安全测试显得尤为重要,粗心、不谨慎的数据存储或传输方式使得非法、恶意目的有可乘之机。
智能终端安全涉及各信息交互、存储接点,借鉴于网络传输和相关安全测试经验,App安全测试大概划分为以下几类:
1)从数据的本地存储到数据的传输、处理以及远程访问等各个环节,基于相应的安全标准/行业标准评估App的安全特性;
2)借鉴在WebApp和网络安全测试的一些成功经验在智能终端App测试中进行裁减或适配;
3)检测App的用户授权级别,数据泄漏,非法授权访问等;
4)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测,以期发现潜在的安全问题;
5)基于各种通信协议或相应的行业安全标准检视App是否满足相应的要求
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)