APP专项测试方法和工具的使用
APP专项测试
1、网络测试
可使用抓包工具辅助网格测试推荐:fiddler,Charles
(1)网络切换2G-3G-4G-wifi-网络信号差--无网
(2)网络信号弱关注是否出现ANR、crash
2、中断测试
(1)意外中断a、来电b、短信c、闹铃d、断网e、断电f、视频聊天g、语音聊天h、无响应i、系统更新提醒j、内存不足提醒k、其他app的消息通知
(2)任务切换a、锁屏b、切换到其他应用
3、兼容测试
(1)不同的机型
(2)不同的操作系统版本
注意:app兼容测试方法
(1)手工测试(一般适用于用户量小、且对兼容测试要求不高的项目)
(2)云测试平台(一般适用于用户量大、且对兼容测试要求高的项目)
目前市场上主流云测试平台包括:
(1)腾讯云测:
http://wetest.qq.com
(2)百度云测:
http://mtc.baidu.com
(3)阿里云测:
http://mqc.aliyun.com/
(4)testin云测:
https://www.testin.cn/
4、性能测试
(1)客户端性能测试a、流量消耗b、耗电量c、CPUd、内存消耗
(2)服务器端性能测试
mobileperf:阿里巴巴开源的app性能测试框架
官方地址:https://github.com/alibaba/mobileperf 缺点:只支持Android5.0-10.0,不支持iOS
perfdog:腾讯免费工具
官方地址:https://perfdog.qq.com
5、UI测试
(1)横竖屏切换
(2)手势操作a、长按呼出菜单b、双手捏合放大放小c、滑动
(3)输入信息界面自适应键盘遮挡
(4)其他UI测试要点与web基本相同
6、安全测试
(1)密码不明文显示
(2)密码框不支持复制
(3)敏感信息加密传输
(4)多次登录失败,锁定账号
(5)登录成功后,长时间不操作软件,session是否丢失,提示重新登录
(6)权限控制
(7)SQL注入
7、稳定性测试(使用monkey完成)
8、安装测试
(1)安装前a、干净的安卓系统b、装有旧版本的安卓系统c、装有本版本的安卓系统d、装有最新版本的安卓系统(需要安装旧版本)e、装有杀毒软件的安卓系统f、装有同行业其他软件的安卓系统g、内存不足的安卓系统(2)安装过程中a、意外中断b、许可确认提示c、是否显示安装进度(3)安装后a、软件是否可以正常启动b、检查安装文件是否齐全c、检查许可权限d、统计安装总时长
9、升级测试
(1)自动升级
(2)弹出是否升级的提示,人工选择
(3)升级过程中意外中断
(4)升级过程中内存不足
(5)升级后数据是否同步
(6)app运行状态下升级
(7)跨版本升级测试
10、卸载测试
(1)大型app考虑卸载过程中意外中断
(2)app处于运行状态下进行卸载
(3)app卸载后,对应的文件是否删除
(4)卸载后,重新再次安装该版本app
(5)是否弹出卸载确认提示
11、接口测试(需抓包工具辅助)
(1)系统内模块间的接口
(2)系统外第三方接口(有界面,主调)
(3)系统外被调接口(无界面,需要接口测试工具模拟发送请求)
12、其他测试
(1)支持文件格式a)图片上传b)视频上传c)文件上传
13、app自动化测试工具
uiautomator2做安卓自动化测试
gitHub地址:https://github.com/openatx/uiautomator2
airetest :希望提供平台无关的API,让你的自动化代码可以运行在不同平台的应用上
gitHub地址:https://github.com/AirtestProject/Airtest/blob/master/README_zh.md 特点:跨平台的UI自动化框架,适用于游戏和App
Appium:开源框架
官方地址:https://appium.io/ 建议使用:操作简单,支持全面
macaca:面向多端的自动化测试
官方地址:https://macacajs.github.io/zh/
APP测试需要的工具
一、adb测试工具
adb:android debug bridge,安卓调试桥梁,一款用于连接电脑与安卓手机的工具
1、adb get-serialno 获取序列号:
2、adb devices:用于查看电脑当前连接的安卓设备
3、adb install apk文件包:在安卓设备上安装app注意:若当前电脑连接的安卓设备2台及以上,可通过以下命令完成安装:adb -s 设备序列号 install apk文件包install -r 覆盖安装,保留数据和缓存文件 -d 解决低版本version问题 -s 安装apk到sd卡
4、adb uninstall app软件包名:卸载appuninstall 可选参数-k的作用为卸载软件但是保留配置和缓存文件
5、adb shell:进入adb运行环境5.1、adb [-d|-e|-s <serial Number>] <command> -d:真机(多个设备中只有一个真机时适用) -e:模拟器(多个设备中只有一个模拟器时适用) -s:序列号5.2、adb shell ls [-al] 列出目录下的文件和文件夹,可选参数-al可查看文件和文件夹的详细信息5.3、adb shell cd <folder> 进入文件夹5.4、adb shell cat <filename> 查看文件5.5、adb shell rename path/oldfilename path/newfilename 重命名文件5.6、adb shell rm -r <folder> -r 可选参数用于删除文件夹及下面的所有文件 5.7、adb shell mv path/1 path/2 移动文件5.8、adb shell cp file path/1 拷贝文件5.9、adb shell mkdir path/1 创建目录5.10、adb shell chmod 777 filename 设置文件最高读写权限6、adb push 电脑端路径及文件 手机端路径:将电脑端指定的文件传输到手机指定的路径中
7、adb pull 手机端路径及文件 电脑端路径:将手机端指定的文件传输到电脑端指定的路径中
8、adb logcat 查看log:安卓系统中生成的日志,有哪些级别?I:信息V:冗(rong)余 (最低优先级)D:调试W:警告E:错误F:严重错误S — 静默 (最高优先级,不会打印任何信息)日志格式:adb logcat -s 过滤指定参数log -v time 保留日志时间 >> 追加写 > 覆盖写日志过滤:adb -e logcat 标签名:级别>1.txt 或者使用grep过滤adb logcat | grep "SEARCH_TERM"如:adb -e logcat taobao:w>11.txt将w级别及其以上级别日志,且含taobao标签的所有日志保存到11.txt中如:adb -e logcat *:w>11.txt将w级别及其以上级别日志,所有日志保存到11.txt中使用来清除旧的日志adb logcat -c9、adb reboot 重启机器:
10、adb reboot [bootloader|recovery] 重启设备,可选参数进入bootloader(刷机模式)或recovery(恢复模式)
11、adb shell am start -n package_name 启动应用
12、adb kill-server 终止adb服务进程:
13、adb start-server 重启adb服务进程:
14、adb help 获取帮助 里面有adb的各种命令和参数的介绍
15、adb version 查看adb版本
16、adb root 以root权限重启adb
17、adb remount 将system分区重新挂在为可读写分区,此命令在操作系统目录时很重要
18、adb shell pm path <package_name> 查看app的路径 18.1、adb shell pm list packages 查看所有App的名称查看手机上的APP名称。可以在后面加上 -f
19、adb shell dumpsys package <package_name> | grep version 查看apk的版本信息
20、adb shell pm clear <PACKAGE> 删除与包相关的所有数据:清除数据和缓存
21、adb shell ps <package_name|PID> 【 adb shell ps | grep <package_name>】 查看某个app的进程相关信息
22、adb shell kill pid Number杀掉某个进程,一般用于模拟某个bug复现
23、adb shell dumpsys meminfo <package_name|PID> 查看某一个app的内存占用
24、adb shell getprop | grep heapgrowthlimit 查看单个应用程序的最大内存限制
25、adb shell dumpsys batterystats ><package_name> > xxx.txt 获取单个应用的电量消耗信息
26、adb shell wm size【adb shell dumpsys window | grep Surface】 查看手机分辨率
27、adb shell getprop | grep version 查看手机sdk版本
28、adb shell getprop | grep product 查看手机型号信息
29、 adb shell cat /proc/meminfo 查看系统当前内存占用
30、adb shell top 查看设备上进程的cpu和内存占用情况
31、adb shell screencap /sdcard/screen.png 命令来进行手机屏幕截图
32、adb shell screenrecord /sdcard/demo.mp4 命令来录制屏幕视频
33、adb shell input 模拟按键/输入33.1、adb shell input text "insert%stext%shere" 命令向屏幕输入框输入一些信息%s表示空格33.2、adb shell input tap 500 1450 模拟屏幕点击事件33.3、adb shell input swipe 100 1500 100 450 100 模拟手势滑动事件表示从屏幕坐标(100,1500)开始,滑动到(100,450)结束,整个过程耗时100ms. 【adb shell input swipe 100 500 100 500 500】模拟长按事件33.4、adb shell input keyevent 模拟点按实体按钮的命令
keycode | 描述 |
---|---|
3 | HOME 键 |
4 | 返回键 |
5 | 打开拨号应用 |
6 | 挂断电话 |
24 | 增加音量(只显示音量icon需手滑的) |
25 | 降低音量(只显示音量icon需手滑的) |
26 | 电源键 |
27 | 拍照(需要在相机应用里) |
64 | 打开浏览器 |
82 | 菜单键 |
85 | 播放/暂停 |
86 | 停止播放 |
87 | 播放下一首 |
88 | 播放上一首 |
122 | 移动光标到行首或列表顶部 |
123 | 移动光标到行末或列表底部 |
126 | 恢复播放 |
127 | 暂停播放 |
164 | 静音 |
176 | 打开系统设置(有的打不开) |
187 | 切换应用 |
207 | 打开联系人 |
208 | 打开日历 |
209 | 打开音乐 |
210 | 打开计算器(有的打不开) |
220 | 降低屏幕亮度 |
221 | 提高屏幕亮度 |
223 | 系统休眠 |
224 | 点亮屏幕 |
231 | 打开语音助手 |
276 | 如果没有wakelock则让系统休眠 |
二、monkey
1、使用场合:主要用于app的稳定性测试。安卓系统自带的一款工具。
2、原理:通过发送大量的随机事件,测试手机或某app的稳定性。
3、adb shell monkey 事件数>日志文件:测试手机的稳定性
4、monkey命令的基本参数
(1)-p app软件包名
注意:若需要同时往多个app发送随机事件,增加-p app软件包名2即可
如:
adb shell monkey -p 软件包名1 -p 软件包名2 事件数>日志文件
(2)日志详细级别:-v:详细级别为1等级-v -v-v -v -vANR:应用程序无响应,application not responding
数
(3)增加事件延迟--throttle 毫秒数
(4)-s 种子数5、monkey的事件类型
(1)--pct-touch 百分比:触摸事件
注意:百分比可书写为70或70%,多种事件百分比相加不能大于100%
(2)--pct-motion 百分比:滑动事件
如:adb shell monkey -p 软件包名 -v -v -v --pct-touch 60 --pct-motion 20 5000 >日志文件
(3)--pct-trackball 百分比:轨迹事件
(4)--pct-nav 百分比:上下左右方向键
(5)--pct-majornav 百分比:Home键,菜单键,返回键
(6)--pct-syskeys 百分比:声音键、锁屏键等系统键6、monkey的调试选项
(1)--hprof:在/data/misc目录下会生成profiling报告,该报告文件容量较大,小心使用
(2)--ignore-crashes:忽略崩溃。monkey执行过程中,遇到崩溃,不停止,继续执行下去
(3)--ignore-timeouts:忽略超时错误(ANR)。monkey执行过程中,遇到ANR,不停止,继续执行下去
(4)--ignore-security-exceptions:忽略许可错误。monkey执行过程中,遇到许可错误,不停止,继续执行下去
(5)--kill-process-after-error:程序出错后结束进程。
ADB用法大全:
点开链接访问具体内容:http://www.wanandroid.com/blog/show/2310
笔者先写这些测试方法,后续会继续更新,如有其他好的测试方法请在下方留言!!!
APP专项测试方法和工具的使用相关推荐
- 手机移动APP安全测试方法、工具和一些容易产生安全问题
0x00 背景 随着移动互联的扩张,移动APP承载了更多企业的终端梦."用户手机安装APP以后,企业即埋下一颗种子,可持续与用户保持联系." 种子是种下了,可要是它本身就是个[特 ...
- APP专项测试方法有哪些?
APP专项测试: 系统:安卓.苹果(Android IOS) 1.应用性能测试(CPU 内存 电量 流量 温度) 1)CPU:空闲 中等消耗 高消耗,检测cpu的运行情况 adb shell dump ...
- 软件测试技术之APP专项测试方法汇总
APP专项测试: 系统:安卓(Android).苹果(IOS). 1.应用性能测试(CPU 内存 电量 流量 温度) 1)CPU:空闲 中等消耗 高消耗,检测cpu的运行情况. adb shell d ...
- 安卓桌面软件测试自学,最全的安卓APP专项测试方法!不看悔青肠
本文来自牛鹭学院学员:丁孟辉 App启动时间 冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动 启动app命令:adb shell am ...
- AndroidIOS APP启动速度专项测试方法
APP启动速度是一个APP体验好坏最重要的一个标志,一般APP上线之前都会进行启动速度的专项测试,最近看了很多这个测试方法,发现大家说的都不一致,我在这里总结下,用下面这个方法测试出来的启动速度是比较 ...
- Android 应用开发(28)----APP功耗测试方法
APP功耗测试方法 业界比较难测试的一个测试,比如新旧版本对比不一定能说明问题,所以耗电量测试只能定量测试,作为辅助数据帮助我们测试.功耗测试可以基于硬件测试方法(第三方精密仪器)和基于软件测评方法. ...
- 移动 App 应用测试方法与思路
移动 App 应用测试方法与思路 分析三种主流的移动 App 类型,并给出和普通web测试不同的地方,给出测试的思路,并给出部分场景组合. 附:安卓 App 测试常用 adb命令和 money 命令 ...
- android app功耗测试方法,APP功耗测试方法
APP功耗测试方法 发布时间:2018-04-26 23:27, 浏览次数:560 , 标签: APP 业界比较难测试的一个测试,比如新旧版本对比不一定能说明问题,所以耗电量测试只能定量测试,作为辅助 ...
- Android App专项测试-压力测试篇
小伙伴们大家好,今天主要分享的主题是Android App专项测试.如何进行Android App专项测试压力测试呢?我们主要通过Android平台的一门工具Monkey.在学习本门课程之前,如果你具 ...
- Android App 专项性能监控工具
该工具可以用来测试安卓APP专项测试中的流量,内存,cpu,fps等测试项 一.该工具使用环境: 需要安装JDK和SDK,并且配置环境变量才可使用: 测试设备安卓系统要>=5.0系统以上 关闭电 ...
最新文章
- 2018年跨行学习mysql_2018年,让你的数据库变更快的十个建议
- 为什么大多数IP地址通常以192.168开头?
- PostMessage
- 7 个习惯帮你提升Python运行性能
- 变量定义类型长度的理解
- Ant Desing Pro2.0(一)项目初始化
- .NET基础 (04)基础类型和语法
- Install/Remove of the Service Denied
- android 设置iptv vlan tag的命令,关于VLAN TAG的命令行设置
- 【Python】阿里云对象存储OSS图床上传图片
- 两万文字多图详解常用软件工具使用(持续更新)
- C#图像处理:在图片上写字,文字位置居中问题
- 目前最值得收藏的100个各类资源站
- Poj 2965 The Pilots Brothers‘ refrigerator
- mysql sql调用函数_MySQL函数使用
- WordCount单词计数详解
- python和按键精灵自动化测试_按键精灵对APP自动化测试(上)
- java 框架 直播_java如何实现秀场直播功能?基于即构SDK开发
- linux cp保留时间,linux – cp -p会保留一些文件的时间但不是全部吗?
- SwiftUI macOS 设计之Menu设计规范