![c04bcf5993550553ffed28ed908a24f7.png](https://i-blog.csdnimg.cn/blog_migrate/0773544b6b1de966e48f53eb3d79dc12.jpeg)
移动端复习:
1. 安装 ,启动, 卸载, 升级,系统配置, 本地化测试点 。
2. 移动端测试中断有哪些情况(测试点)。
,电话,短信中断。
Home键切换,或称前后台切换。
消息通知、推送中断。
断电中断、蓝牙中断、闹钟中断、插拔数据线、手机锁屏。
3. 兼容性测试情况(测试点)。
1. app与系统的功能(手机按键:menu、back、home、电源键、音量调节等 系统设置:wifi开启关闭、系统时间调节等 外部设备:耳机、蓝牙、存储卡等 与其他应用同时开启,如:听音乐时,进fm、相机、录音、铃声设置、其他第三方音乐播放器等。)的测试。
2. app跟手机屏幕的分辨率。
3. app跟手机屏幕尺寸的兼容性。
4. app跟手机的rom系统的兼容性。
5. app客户端和服务端版本的兼容性:
向上兼容 向下兼容 交叉兼容 。
怎么测?
1. 测试点
2. 测试方法(真机 云测平台 用户体验)。
4. 移动端弱网测试怎么测
测试点 - 测试实现方法 -测试预期结果 (测试发现的bug)。
测试点
弱网功能测试
非WiFi环境下的功能测试,模拟高延迟和丢包的弱网环境测试,需要借助工具实现Network。
* 3G/4G网络通过移动/联通/电信网络进行模拟,这个可以直接用移动网络测试。
* 整体功能测试用例在弱网环境下进行一轮测试。
* 关注点:页面响应时间 页面呈现是否一致。
无网络状态测试
* 实现方法: 切断网络或者设置为假热点
* 关注点:
* 断网情况下数据请求必须要设置超时时间,以便及时提示网络的异常,请重试。
* 断网情况下加载本地数据正常,加载不到的数据缺省默认模式样式友好,一致
* 断网后本地数据在联网以后上报服务器,检查数据的正确性。
网络切换测试
* 网络场景的自由切换组合情况:WiFi 3G 4G 无网络 。
* 关注点:
* 页面交互。
* 是否出现crash和anr。
* session是否一致 ,金融交易或者即时游戏尤为重要。
* 不停的网络切换,是否会导致请求堆积,数据完整和独立性。
弱网体验
* 页面响应时间是否可接受:热启动,冷启动,页面切换,前后台切换,首字时间,首屏时间等等
* 超时文案是否符合定义,异常信息是否正常
* 超时是否可以重连
* 大流量事件分析: 是否会在弱网下更新APK,下载文件
* 中转状态: 进度条 菊花
测试方法:
1. 利用fiddler的一个js脚本控件进行上下行速度的控制。
2. 微软的一个开源工具network emulation 控制电脑的上下行 延迟 报错 丢包等参数,然后利用网卡做个共享WiFi,手机连WiFi。
3. 利用3G/4G的真实网络环境进行测试。
预期结果: 在网络环境比较差的情况下,尽量给用户好的体验超时提示信息等。
发现的缺陷:
登录的时候,网络超时,然后关掉app;再次登录的时候,提示:账户已登录,但是app没有登录成功。
5. 移动端测试adb有什么作用?adb的命令有哪些(安装 卸载 上传和下载文件)。
adb是PC连接移动端的命令(桥梁)install(安装),uninstall(卸载),push(上传),pull(下载)
示例:adb install 所在路径 apk包名
6. 移动端性能测试怎么做?
前端的app的稳定性测试
monkey 进行随机测试 观察移动端的日志和monkey运行日志; 如何知道稳定性好不好,monkey运行日志是否正常结束;移动端日志主要是看是否有异常,比如anr和crash。
monkey的命令和每个选项的作用
adb shell monkey -p 指定apk包名 --thorttle 100 -s 10 10000 -v -v -v >D://apk.log。
-p 指定包名 (所有命令都在此包内执行,如不指定,则在整个系统内执行)。
-v log详细程度(最高支持’-v -v -v’最详细) 。
-s 种子 (指定种子后,同一条命令在任意时间、地点的执行顺序都相同)。
--throttle 单步延时(每步操作间隔,单位毫秒)。
--ignore-timeouts 忽略超时错误。
monkey运行时间,如何去指定命令长时间运行?
thorttle的延时时长单位转化为秒
如:100ms转化为8小时
1秒点击10下,执行2880000 执行时长达到8小时以上
monkey的结果如何分析?
查看输出的日志,有无报错anr和crash。
monkey什么时候运行? 转版本以后,冒烟测试就执行;app界面有改动的时候可以运行下。
前端app性能还包含app安装 卸载 启动的时长。
后台接口的性能测试。
之前有接触过接口的性能测试,用jmeter工具对接口发出请求,观察并发线程执行的性能指标值,TPS,吞吐量,事物,90%响应时间,并发用户数,资源利用率等。
7. 移动端专项测试有哪些?
弱网 适配测试 稳定性测试 安全性测试(1.检查权限的申请是否合理;2.检查抓包请求参数是否加密处理 3.代码是否有混淆(将有意义的变量名改为无意义的,如name改为aaa) 4.对app进行反编译(反编译工具),是否有限制) 。
流量 电量测试
8. 流量测试
测试点:涉及到上传下载,大批量图片,视频/音频 更新升级 首次启动这些场景的时候需要考虑流量测试。
P2P项目APP:
1. 比如上传证件或者各种图片时,需要对上传文件进行压缩,可以用流量工具(GT)或者抓包分析上传的数据量。
2. 首页刷新需要多少流量。
3. 视频认证时选择视频合理清晰度可以节省流量。
4. 安装以后首次启动初始化的流量数据收集,跟竞品对比,在一个合理的范围内。
测试实现方法: 系统自带的流量分析和统计;GT等第三方软件进行统计;抓包分析单个请求的流量。
发现的缺陷: 抓包发现有无效的请求;或发现过上传图片时速度比较慢,原因是没有压缩。
9. 移动端如何看日志
步骤: 1. adb logcat -c 清空 2.操作app 3. adb logcat >d:log.txt
10.如何判断是app的缺陷还是服务器的缺陷(考试)
先使用抓包工具确定服务器接口反回的数据是否正确,这样就可以排除是否是服务器原因
如果返回的是服务器报错那麼就是服务器原因, 如果反回的数据与接口文档不符那麼就是接口问题, 最後就是客户端问题。
11. 如果是一个自研产品,app的项目流程
需求分析:
细化成测试需求,针对需要有歧义的进行需求的澄清;
如果是新增的需求,分析新增需求的特性的影响范围和测试范围;
UI交互设计 :
UI给出设计页面时,测试会对ui界面进行评审
对照UI兵互设计文档,检查每个界面设计菜单、对话框、窗口、风格、布局等
注意事项:图片、按钮(选中效果)、字体大小、颜色、居中对齐等等
研发阶段 :
针对开发的开发计划和详细设计文档,接口文档进行评审,主要是把握开发进度, 制定测试计划(方案);
对接口文档的请求参数和返回数据内容进行评审,并根据评审修改以后的文档,编 写接口测试点;
针对细化的测试需求,编写功能测试用例(包含各个端的界面测试用例和接口用例);
如果接口开发完成(如果没有开发完成,可以用mockserver模拟返回),就可以运用接口测试工具,将接口的测试用例转化成接口测试脚本
测试阶段:
1.如果接口开发完成,就可以运行脚本,执行接口测试(如果要讲性能,接口功能 测试通过以后就可以执行接口性能测试);
2.开发完成以后,并且自测通过,会将代码打包,转测试(自测通过,版本转测说明,待测特性);
3.从SVN取war包和app,安装到测试环境和手机上;
4.手机上执行monkey稳定性测试,并同时执行冒烟测试用例,如果测试通过,进入详细测试;测试不通过,比如说版本基本功能没有测试通过,打回版本,继续开发
5.按照测试用例,进行详细测试,如果发现bug,提交到缺陷管理工具跟踪缺陷;
分析monkey测试结果,观察日志是否出现crash等异常;分析是否出现内存泄漏;
app的测试用例,分为业务功能测试用例,特性测试用例和专项测试用例:
特性测试用例主要是:安装 卸载 升级 系统配置的兼容性 消息推送 正常中断和异常中断测试
专项测试:主要是指弱网测试,适配测试(除了手机执行,利用云测平台),(如果有:流量测试和电量测试)
6.一般来说,执行一轮测试以后,开发会修复缺陷,我们需要对缺陷进行回归测试,并执行新一轮的测试(冒烟,详细测试,交互测试)
(回归测试可以用自动化脚本运行)
测试完成:
1. 测试完成以后编写测试报告,进行测试总结;
灰度发布:
1.进行灰度发布,我们在测试环境进行基本功能验证(上线准备)
注意验证debug版本,需签名和代码混淆(注释掉一些敏感log)再发布
* 要注意签名规范
* 注意版本号的管理
* SVN对版本进行备份
* 风险评估
上线后注意:
* 收集用户反馈并进行处理
* 根据用户和产品的运营进行版本优化和版本迭代
* 如果操作系统升级后APP的适用性,要符合新的操作系统的特性和规范:
* 当前系统的回归测试
* 新系统的适应性测试
* 利用数据埋点或者第三方统计工具(比如友盟)监控App的运行
12. 给你一个app如何进行测试?
首先了解app的功能,根据了解到的需求编写测试用例,用例考虑业务,特性测试如:中断,安装,卸载,升级。专项测试如:网络,流量,适配稳定,稳定测试。后台测试考虑接口,并发,负载的情况。