• APP专项测试方法和工具的使用(测试新手必看)


    APP专项测试

    1、网络测试

    可使用抓包工具辅助网格测试推荐:fiddler,Charles

    1. 1)网络切换
    2. 2G-3G-4G-wifi-网络信号差--无网
    3. 2)网络信号弱
    4. 关注是否出现ANR、crash

    2、中断测试

    1. 1)意外中断
    2. a、来电
    3. b、短信
    4. c、闹铃
    5. d、断网
    6. e、断电
    7. f、视频聊天
    8. g、语音聊天
    9. h、无响应
    10. i、系统更新提醒
    11. j、内存不足提醒
    12. k、其他app的消息通知
    13. 2)任务切换
    14. a、锁屏
    15. b、切换到其他应用

    3、兼容测试

    1. 1)不同的机型
    2. 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. 1)客户端性能测试
    2. a、流量消耗
    3. b、耗电量
    4. cCPU
    5. d、内存消耗
    6. 2)服务器端性能测试

    5、UI测试

    1. 1)横竖屏切换
    2. 2)手势操作
    3. a、长按呼出菜单
    4. b、双手捏合放大放小
    5. c、滑动
    6. 3)输入信息界面自适应键盘遮挡
    7. 4)其他UI测试要点与web基本相同

    6、安全测试

    1. 1)密码不明文显示
    2. 2)密码框不支持复制
    3. 3)敏感信息加密传输
    4. 4)多次登录失败,锁定账号
    5. 5)登录成功后,长时间不操作软件,session是否丢失,提示重新登录
    6. 6)权限控制
    7. 7)SQL注入

    7、稳定性测试(使用monkey完成)

    8、安装测试

    1. 1)安装前
    2. a、干净的安卓系统
    3. b、装有旧版本的安卓系统
    4. c、装有本版本的安卓系统
    5. d、装有最新版本的安卓系统(需要安装旧版本)
    6. e、装有杀毒软件的安卓系统
    7. f、装有同行业其他软件的安卓系统
    8. g、内存不足的安卓系统
    9. 2)安装过程中
    10. a、意外中断
    11. b、许可确认提示
    12. c、是否显示安装进度
    13. 3)安装后
    14. a、软件是否可以正常启动
    15. b、检查安装文件是否齐全
    16. c、检查许可权限
    17. d、统计安装总时长

    9、升级测试

    1. 1)自动升级
    2. 2)弹出是否升级的提示,人工选择
    3. 3)升级过程中意外中断
    4. 4)升级过程中内存不足
    5. 5)升级后数据是否同步
    6. 6)app运行状态下升级
    7. 7)跨版本升级测试

    10、卸载测试

    1. 1)大型app考虑卸载过程中意外中断
    2. 2)app处于运行状态下进行卸载
    3. 3)app卸载后,对应的文件是否删除
    4. 4)卸载后,重新再次安装该版本app
    5. 5)是否弹出卸载确认提示

    11、接口测试(需求抓包工具辅助)

    1. 1)系统内模块间的接口
    2. 2)系统外第三方接口(有界面,主调)
    3. 3)系统外被调接口(无界面,需要接口测试工具模拟发送请求)

    12、其他测试

    1. 1)支持文件格式
    2. a)图片上传
    3. b)视频上传
    4. c)文件上传

    APP测试需要的工具

    一、adb测试工具

    adb:android debug bridge,安卓调试桥梁,一款用于连接电脑与安卓手机的工具

    1. 1、adb get-serialno 获取序列号:
    2. 2、adb devices:用于查看电脑当前连接的安卓设备
    3. 3、adb install apk文件包:在安卓设备上安装app
    4. 注意:若当前电脑连接的安卓设备2台及以上,可通过以下命令完成安装:
    5. adb -s 设备序列号 install apk文件包
    6. install -r 覆盖安装,保留数据和缓存文件 -d 解决低版本version问题 -s 安装apk到sd
    7. 4、adb uninstall app软件包名:卸载app
    8. uninstall 可选参数-k的作用为卸载软件但是保留配置和缓存文件
    9. 5、adb shell:进入adb运行环境
    10. 5.1、adb [-d|-e|-s <serial Number>] <command>
    11. -d:真机(多个设备中只有一个真机时适用)   
    12. -e:模拟器(多个设备中只有一个模拟器时适用)   
    13. -s:序列号
    14. 5.2、adb shell ls [-al] 列出目录下的文件和文件夹,可选参数-al可查看文件和文件夹的详细信息
    15. 5.3、adb shell cd <folder> 进入文件夹
    16. 5.4、adb shell cat <filename> 查看文件
    17. 5.5、adb shell rename path/oldfilename path/newfilename 重命名文件
    18. 5.6、adb shell rm -r <folder> -r 可选参数用于删除文件夹及下面的所有文件
    19. 5.7、adb shell mv path/1 path/2 移动文件
    20. 5.8、adb shell cp file path/1 拷贝文件
    21. 5.9、adb shell mkdir path/1 创建目录
    22. 5.10、adb shell chmod 777 filename 设置文件最高读写权限
    23. 6、adb push 电脑端路径及文件 手机端路径:将电脑端指定的文件传输到手机指定的路径中
    24. 7、adb pull 手机端路径及文件 电脑端路径:将手机端指定的文件传输到电脑端指定的路径中
    25. 8、adb logcat 查看log:
    26. 安卓系统中生成的日志,有哪些级别?
    27. I:信息
    28. V:冗(rong)余 (最低优先级)
    29. D:调试
    30. W:警告
    31. E:错误
    32. F:严重错误
    33. S — 静默 (最高优先级,不会打印任何信息)
    34. 日志格式:adb logcat -s 过滤指定参数log -v time 保留日志时间 >> 追加写 > 覆盖写
    35. 日志过滤:adb -e logcat 标签名:级别>1.txt 或者使用grep过滤adb logcat | grep "SEARCH_TERM"
    36. 如:adb -e logcat taobao:w>11.txt
    37. 将w级别及其以上级别日志,且含taobao标签的所有日志保存到11.txt中
    38. 如:adb -e logcat *:w>11.txt
    39. 将w级别及其以上级别日志,所有日志保存到11.txt中
    40. 使用来清除旧的日志
    41. adb logcat -c
    42. 9、adb reboot 重启机器:
    43. 10、adb reboot [bootloader|recovery] 重启设备,可选参数进入bootloader(刷机模式)或recovery(恢复模式)
    44. 11、adb shell am start -n package_name 启动应用
    45. 12、adb kill-server 终止adb服务进程:
    46. 13、adb start-server 重启adb服务进程:
    47. 14、adb help 获取帮助 里面有adb的各种命令和参数的介绍
    48. 15、adb version 查看adb版本
    49. 16、adb root 以root权限重启adb
    50. 17、adb remount 将system分区重新挂在为可读写分区,此命令在操作系统目录时很重要
    51. 18、adb shell pm path <package_name> 查看app的路径
    52. 18.1、adb shell pm list packages 查看所有App的名称查看手机上的APP名称。可以在后面加上 -f
    53. 19、adb shell dumpsys package <package_name> | grep version 查看apk的版本信息
    54. 20、adb shell pm clear <PACKAGE> 删除与包相关的所有数据:清除数据和缓存
    55. 21、adb shell ps <package_name|PID> 【 adb shell ps | grep <package_name>】 查看某个app的进程相关信息
    56. 22、adb shell kill pid Number杀掉某个进程,一般用于模拟某个bug复现
    57. 23、adb shell dumpsys meminfo <package_name|PID> 查看某一个app的内存占用
    58. 24、adb shell getprop | grep heapgrowthlimit 查看单个应用程序的最大内存限制
    59. 25、adb shell dumpsys batterystats ><package_name> > xxx.txt 获取单个应用的电量消耗信息
    60. 26、adb shell wm size【adb shell dumpsys window | grep Surface】 查看手机分辨率
    61. 27、adb shell getprop | grep version 查看手机sdk版本
    62. 28、adb shell getprop | grep product 查看手机型号信息
    63. 29、 adb shell cat /proc/meminfo 查看系统当前内存占用
    64. 30、adb shell top 查看设备上进程的cpu和内存占用情况
    65. 31、adb shell screencap /sdcard/screen.png 命令来进行手机屏幕截图
    66. 32、adb shell screenrecord /sdcard/demo.mp4 命令来录制屏幕视频
    67. 33、adb shell input 模拟按键/输入
    68. 33.1、adb shell input text "insert%stext%shere" 命令向屏幕输入框输入一些信息%s表示空格
    69. 33.2、adb shell input tap 500 1450 模拟屏幕点击事件
    70. 33.3、adb shell input swipe 100 1500 100 450 100 模拟手势滑动事件表示从屏幕坐标(1001500)开始,滑动到(100,450)结束,整个过程耗时100ms. 【adb shell input swipe 100 500 100 500 500】模拟长按事件
    71. 33.4、adb shell input keyevent 模拟点按实体按钮的命令

    二、monkey

    1. 1、使用场合:主要用于app的稳定性测试。安卓系统自带的一款工具。
    2. 2、原理:通过发送大量的随机事件,测试手机或某app的稳定性。
    3. 3、adb shell monkey 事件数>日志文件:测试手机的稳定性
    4. 4、monkey命令的基本参数
    5. 1)-p app软件包名
    6. 注意:若需要同时往多个app发送随机事件,增加-p app软件包名2即可
    7. 如:
    8. adb shell monkey -p 软件包名1 -p 软件包名2 事件数>日志文件
    9. 2)日志详细级别:
    10. -v:详细级别为1等级
    11. -v -v
    12. -v -v -v
    13. ANR:应用程序无响应,application not responding
    14. 3)增加事件延迟
    15. --throttle 毫秒数
    16. 4)-s 种子数
    17. 5、monkey的事件类型
    18. 1)--pct-touch 百分比:触摸事件
    19. 注意:百分比可书写为7070%,多种事件百分比相加不能大于100%
    20. 2)--pct-motion 百分比:滑动事件
    21. 如:adb shell monkey -p 软件包名 -v -v -v --pct-touch 60 --pct-motion 20 5000 >日志文件
    22. 3)--pct-trackball 百分比:轨迹事件
    23. 4)--pct-nav 百分比:上下左右方向键
    24. 5)--pct-majornav 百分比:Home键,菜单键,返回键
    25. 6)--pct-syskeys 百分比:声音键、锁屏键等系统键
    26. 6、monkey的调试选项
    27. 1)--hprof:在/data/misc目录下会生成profiling报告,该报告文件容量较大,小心使用
    28. 2)--ignore-crashes:忽略崩溃。monkey执行过程中,遇到崩溃,不停止,继续执行下去
    29. 3)--ignore-timeouts:忽略超时错误(ANR)。monkey执行过程中,遇到ANR,不停止,继续执行下去
    30. 4)--ignore-security-exceptions:忽略许可错误。monkey执行过程中,遇到许可错误,不停止,继续执行下去
    31. 5)--kill-process-after-error:程序出错后结束进程。

    ADB用法大全:

    点开链接访问具体内容:http://www.wanandroid.com/blog/show/2310

    笔者先写这些测试方法,后续会继续更新,如有其他好的测试方法请在下方留言!!!

  • 相关阅读:
    WorkPlus:企业数字化底座,统一数字化办公入口
    Unexpected WSL error错误处理备忘
    并发编程day05
    Day818.电商系统的分布式事务调优 -Java 性能调优实战
    DiagnosisPrintDialog 使用广播导致关闭不了的问题
    Windows平台下OpenCV的编译与安装
    数据结构初阶--单链表(讲解+类模板实现)
    霸王条款惹品牌争议,京东双11站在商家对立面?
    C#语言实例源码系列-实现输入框焦点变色和窗体拖拽改变大小
    2013年下半年 系统架构设计师 下午论文
  • 原文地址:https://blog.csdn.net/MJH827/article/details/134509216