App测试流程和要点

APP与Web测试的异同

1、相同点:流程方面相同,都要经过计划,方案,测试分析,用例,环境搭建,测试执行,报告,总结等
都要进行功能测试,性能测试,兼容性测试,安全测试,安装/升级/卸载测试
2、不同点1:兼容性方面
WEB的兼容性主要关注:服务器的操作系统,数据库的类型,客户端的操作系统,客户端的浏览器
APP的兼容性主要关注:不同品牌及型号,操作系统类型及版本,屏幕大小,分辨率
不同点2:性能方面
WEB系统的性能测试只需要测试服务端的性能
APP系统的性能测试包括服务端和终端的性能
不同点3:安装方面
WEB系统的安装主要在服务器端
APP系统的安装包括服务端和终端
其他不同点:
APP专项测试相关
版本测试执行过程
通常一个版本的APP测试都要执行如下四个部分的测试:

测试准备阶段:

在这里插入图片描述
- 测试需求分析、指定测试计划(人、设备)、准备用例
测试执行阶段:
接口测试:
- 针对APP内部依赖接口进行功能及性能测试
APP测试:
- 依据需求对APP进行需求覆盖性测试
专项测试:
- 针对APP某项指标或功能进行更加深入全面的测试

APP测试设计与执行策略

第一阶段:保证覆盖全面,期间不接受任何前端/后端提测
新功能+全用例
UI兼容测试
API接口测试

第二阶段:验证问题修复
新功能+BUG回归
升级测试

第三阶段: 基于变更范围的快速BUG验证
全用例+BUG回归

APP专项测试

1、APP测试的准备
移动观象台 http://mi.talkingdata.com/index.html
友盟+https://mobile.umeng.com/
确定APP的设备(品牌、型号、尺寸、屏幕分辨率)
确定APP的版本及操作系统类型(iOS和Android)
用表格记录APP的设备和版本
2、网络测试:2G,3G,4G,Wifi,移动,联通,电信,弱网,强网
不同网络下能正常工作,网络中断,连接,切换
3、多任务处理,切换及意外情况处理
正常打开被测APP
运行APP的功能
突然被其他应用打断(意外,短信、电话、通知)
切换到该应用、或者、忽略该应用
被测APP能够继续之前的操作,不发生ANR或者Crash
4、手势 (长按屏幕,上下、左右滑动,双手指捏合、放大放小)
5、消息通知及显示
6、使用高内存的处理 (App对于读取大量图片、视频等进行高内存占用操作的处理能力)
7、支持的文件格式
8、APP的用户体验(横屏,字体大小设置以及美观,遵循iOS和Android的设计规范)
9、APP响应不同的设备用户界面
10、APP的消息显示和通知显示 (锁屏的通知,下拉通知栏的通知,应用程序消息栏)
11、APP能否及时显示和同步数据(Web端 + PC端 + APP端 同步消息及数据)
12、安装、升级及卸载测试
13、安装之后的最大权限最小权限获取能否正常使用app(或给出友好提示而不是白屏)
13、操作系统升级之后能否访问APP
14、应用召唤
15、多台设备登录
16、交互测试:验证APP与系统事件交互式的运行表现

后端依赖服务测试

1、为什么测?Why
通常APP自身不存储数据与进行复杂运算,这个通常依赖于后端数据接口,所以API接口功能是否正确实现与APP功能及稳定性有很大的关系,所以要测试。
2、测什么?What
所有APP依赖的后端服务接口
3、连哪测?Where
前两个阶段,连接后端服务测试地址
后端上线后,连接当先最近线上地址
4、什么时候测?when
App提测前一周后端依赖服务测试(5W1H)
5、谁来测Who
自动化测试工程师
6、怎么测:How
API自动化回归测试
API结果mock测试

APP测试环境 [模拟器的使用]

1、安装jdk,配置环境变量
2、解压android sdk,解压之后,打开文件夹
3、运行 AVD Manager.exe 创建模拟器
4、如果需要其他版本的android模拟器,则使用 SDK Manager.exe 自行下载

ADB命令

1、adb devices
2、adb shell
3、adb -s 模拟器编号 命令
4、adb install ***.apk
5、adb install -r ***.apk
6、adb uninstall 应用程序包名
7、adb pull
8、adb push
9、adb logcat

Monkey工具

1、为com.amaker.mp执行500次monkey,反馈级别为一级
adb shell monkey -p com.amaker.mp -v 500

2、为com.amaker.mp执行500次monkey,反馈级别为一级,并将结果重定向到文件中
adb shell monkey -p com.amaker.mp -v 500 > d:\monkey.txt

3、为事件加延时操作,固定延时300ms,注意,如果要在报告中显示延时,则需要反馈级别为二级,即 -v -v
adb shell monkey -p com.amaker.mp --throttle 300 -v -v 500 > d:\monkey.txt

4、为事件加随机延时,每次延时在0~400ms之间
adb shell monkey -p com.amaker.mp --throttle 400 --randomize–throttle -v -v 500 > d:\monkey1.txt

5、忽略monkey运行时出现的崩溃和应用程序无响应,当出现时,monkey运行不终止,直到所有次数全部运行完炎止

adb shell monkey -p com.amaker.mp --throttle 400 --randomize-throttle --ignore-crashes --ignore-timeouts -v -v 500 > d:\monkey1.txt

6、忽略其他异常,如monkey本身异常,证书异常等
adb shell monkey -p com.amaker.mp --throttle 400 --randomize-throttle --ignore-crashes --ignore-timeouts --ignore-native-crashes --ignore-security-exceptions --monitor-native-crashes -v -v -v 500 > d:\monkey1.txt

7、-s 随机数seed值
adb shell monkey -p com.amaker.mp -s 315 --throttle 400 --randomize-throttle --ignore-crashes --ignore-timeouts --ignore-native-crashes --ignore-security-exceptions --monitor-native-crashes -v -v -v 500 > d:\monkey1.txt

8、定义事件百分比
如果百分比不足100,剩余的则自动按比例分配
adb shell monkey -p com.amaker.mp -s 315 --pct-touch 40 --throttle 400 --randomize-throttle --ignore-crashes --ignore-timeouts --ignore-native-crashes --ignore-security-exceptions --monitor-native-crashes -v -v -v 500 > d:\monkey1.txt

如果百分比正好为100,则按定义的百分比运行
adb shell monkey -p com.amaker.mp -s 315 --pct-touch 40 --pct-motion 60 --throttle 400 --randomize-throttle --ignore-crashes --ignore-timeouts --ignore-native-crashes --ignore-security-exceptions --monitor-native-crashes -v -v -v 500 > d:\monkey1.txt

如果百分比超过100,则会报错,不能运行monkey
Monkey结果分析:
查找ANR问题与崩溃问题:查 ANR, crash, exception, error
ANR日志的位置:/data/anr -> traces.txt

易测EasyTest

https://easytest.taobao.com

Testin云平台

https://www.testin.cn

阿里MQC

https://www.aliyun.com/product/list

通过adb访问手机

1、打开手机的开发者工具
2、打开手机的USB调试功能
3、如果做了以上两项后,adb还找不到手机设备,请参考此处操作https://jingyan.baidu.com/album/ce09321b5b76642bff858f31.html?picindex=

  • 11
    点赞
  • 242
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值