【APP】之性能测试的分类,性能关注的指标,GT工具的介绍及使用,cpu测试,内存测试,流畅度测试,流量测试,电量测试,启动时间测试,用户体验测测试,稳定性测试

文章目录

      • 1.APP性能测试的分类
      • 2.性能测试
          • 1.性能测试关注的指标
          • 2.GT工具的介绍
          • 3.GT工具的使用
          • 4.cpu测试
          • 5.内存测试
          • 6.流畅度测试
          • 7.流量测试
          • 8.电量测试
          • 9.启动时间测试
      • 3.用户体验测试
      • 4.稳定性测试
      • 5.你是如何测试APP?

1.APP性能测试的分类

后端服务器的性能测试(高并发)
APP客户端的性能测试(cpu,内存,电量,流量)
APP稳定性测试(对手机进行长时间无规则测试)

2.性能测试

1.性能测试关注的指标
  1. CPU
  2. 内存
  3. 流量
  4. 电量
  5. 启动时间
  6. 流程度
2.GT工具的介绍

性能测试工具介绍——GT
GT简介:
GT(随身调) Android版是腾讯 MIG 专项测试组自行研发的APP 随身调测平台,它是直接运行在手机上的“集成调测环境”(ITE, Integrated Test Environment)。
之所以叫“集成调测环境”,是因为仅用 GT即可独立完成如下针对 AUT 的测试工作:
基础性能测试:手机整机或者手机上安装的任何一个 APP 的 CPU、内存、网络流量、流畅度/帧率、电量等基础性能指标的 实时展示、历史数据采集及 excel 格式存储、曲线绘制等。
日志查看:APP 的 Logcat 日志查看,便于直接用手机现场定位 APP 功能异常、crash。 网络数据包抓包:直接用手机抓包保存成 pcap 文件,下载到 PC 后用 Wireshark 查看。 GT安装:
GT 有两种版本:
(1)可独立安装的 GT(APK,IOS无该版本),像普通APP一样安装。
(2)GT SDK:将GT的SDK嵌入到被调测的应用的工程里。 GT使用:

1.功能

  1. 基础性能指标测试:cpu,内存,流量,电量,流畅度
  2. 获取手机日志
  3. 进行数据抓包

2.安装

  1. APK安装包直接安装,只有Android
  2. GD SDK 集成到被测的应用,有Android和iOS
3.GT工具的使用

注意:GT使用时,部分功能需要有root权限

1.AUT界面

  1. 选择被测应用
  2. 选择检测指标

2.参数界面

  1. 选择整机的检测指标
  2. 保存检测的数据
  3. 查看检测的数据

3.命令

adb devices #查看当前adb工具和手机是否连接
192.168.27.101:5555   device
adb shell #进入手机终端
adb pull 手机中文件的路径 电脑文件夹的路径

4.手机日志

  1. 在日志界面,点击logcat开关
  2. 点击保存按钮,保存日志文件

5.手机抓包

  1. 进入插件页面,点击抓包插件
  2. 直接点击开始抓包,点击停止,保存数据
4.cpu测试

1.cpu的指标
cpu的状态:

  1. 用户态–处理应用程序的时间
  2. 系统态–处理系统内核的时间
  3. 空闲态–处理空闲进程的时间

cpu的使用率
cpu的使用率=(用户态+系统态)/总时间

jiffies

  1. 自开机依赖应用程序消耗的cpu时间总片数

2.cpu产生问题的表现

  1. 长时间cpu使用率在90%以上
  2. 手机发热,电量消耗快
  3. 反应变慢,引起ANR(程序无响应)

3.cpu测试操作

  1. AUT界面–选择被测应用,配置检测指标
  2. 在参数界面–配置参数指标
  3. 在日志界面打开日志
  4. AUT–启动应用,根据需求进行操作
  5. 参数界面–停止数据采集,保存数据
  6. 在日志界面–保存日志
5.内存测试

1.内存指标

  1. Private dirty - 私有内存-程序独占的内存,程序退出,内存释放
  2. PSS - 实际使用内存=私有内存+共享内存(平均)

2.内存产生到的问题

  1. 内存泄漏-申请的内存,程序退出没有及时释放
  2. 内存溢出,程序申请内存时,系统已经没有空闲内存

3.内存问题的体现

  1. 内存泄漏–PSS指标持续增长
  2. 内存溢出–程序崩溃

4.扩展

  1. 一个应用程序可以由对个进程组成
  2. 进程是系统分配资源最小单元

5.测试内存步骤

  1. AUT-选择被测应用,选择观测指标PSS
  2. 在参数界面-选择MEM内存指标,点击开始采集
  3. 日志-开启日志
  4. 跟举需求进行操作应用
  5. 参数界面-点击停止采集,保存内存数据
  6. 日志-保存日志
6.流畅度测试

1.指标 FPS

  1. 至少要达到24,流畅度较好
  2. 最高是60
    2.流畅度测试步骤
  3. AUT选择被测应用
  4. 参数–选择FPS监控指标,拖到悬浮窗
  5. 日志—打开日志开关
  6. 根据业务需求操作APP
  7. 参数—保存FPS数据,日志—保存日志
7.流量测试

1.指标 NET

  1. 请求 数据量大小
  2. 响应数据量大小
    2.如何检测
  3. 统计你的整体数据流量的消耗
  4. 进行抓包,通过报文大小进行分析
    3.流量测试操作步骤
  5. AUT—选择被测应用
  6. 参数界面–选择NET
  7. 在插件页面–tcpdump插件,打开抓包的开关
  8. 日志—打开日志
  9. 按照需求操作app
  10. 参数—停止采集数据,保存NET数据、日志、抓包数据
    4.优化流量的场景
  11. 对数据进行压缩
  12. 不用数据格式的采用
  13. 控制访问频次
  14. 只获取必要的数据
  15. 缓存机制
  16. 针对不同的网络类型,采取不同的传输策略
8.电量测试

1.电量测试的指标

  1. 电流、电压、电量和温度
    2.测试电量消耗的场景
  2. 定位的功能–GPS定位
  3. 网络传输
  4. 手机屏幕亮度
    3.测试电量的擦操作步骤
  5. AUT–选择被测应用
  6. 插件—选择电量测试的插件
  7. 日志界面–开启日志开关
  8. 设置采样频率、选择检测的指标电流、电量、电压和温度、设置屏幕亮度。点击开始
  9. 根据业务需求,操作手机—考虑耗电的场景
  10. 参数—停止采集,保存数据。日志–保存日志
9.启动时间测试

1.冷启动和热启动

  1. 冷启动—app后台进程被杀死,启动app
  2. 热启动—app在后台运行,启动app
    2.如何通过adb命令获取启动时间
# 获取app的启动时间
adb shell am start -W 包名/Activity名

ThisTime: 1541
TotalTime: 1541
WaitTime: 1549
# 获取包名和界面名
# 先保证想获取对 界面在手机的屏幕上,挼后输入命令
adb shell dumpsys window windows | findstr usedApp

# 学车不的包名 和Activity名
com.bjcsxq.chat.carfriend/.module_main.activity.MainActivity

3.启动时间的分析


ThisTime: 当前页面启动的时间
TotalTime: This Time + 公共代码运行的时间
WaitTime: Total Time + 系统分配资源消耗的时间

# 测试以Wait Time为准

4.测试启动时间结果分析

  1. 与基准数据分析(从产品经理那获取,和以往数据进行对比)
  2. 横向对比,和竞品一起测试,不超过竞品的1倍

3.用户体验测试

  • 概念
    • 以用户身份,去感知被测应用,查看应用是否好用、易用、有用等。
    • 提易用性缺陷,尽量要具体,给出依据。
  • 考虑的场景
    • UI界面
    • 易用性
    • 横竖屏
    • 兼容手机辅助功能

4.稳定性测试

  • 概念
    • 对app长时间进行无规则,无序的操作,查看app是否崩溃(crash),无响应(NAR)
  • 测试的时机
    • 测试后期,已经没有太多bug,项目比较稳定,上线之前,进行Monkey测试

5.你是如何测试APP?

  • 测试策略
    • 进行业务功能测试
    • 兼容性测试
    • 安装、卸载和升级测试
    • 交叉事件
    • PUSH消息测试
    • 性能测试
      • CPU
      • 内存
      • 电量
      • 流量
      • 流畅度
      • 启动速度
    • 用户体验测试
    • 稳定性测试
  • 项目上线后
    • 处理用户反馈
      • Bug反馈
        • 复现bug,如果是bug,提bug,回顾
        • 复现bug,如果不是,hulue
      • 意见和建议
        • 反馈给产品,决定是否在后续版本优化

你可能感兴趣的:(软件测试,APP测试,软件测试)