App项目测试内容

App测试包发布和管理

App客户端(内部)发布平台

在实际测试工作中,为了方便测试程序包的安装和管理,可以使用一些应用内测分发平台。如:蒲公英、Testlink等。

操作步骤:

  1. 开发将应用测试包上传到这些平台上
  2. 平台可以生成对应的二维码
  3. 测试直接扫码进行应用安装

App客户端(线上)发布平台

产品测试完成后要在线上进行发布,让用户进行下载使用。

安卓应用:豌豆荚、应用宝、360手机助手、各类手机品牌商城等;

IOS应用:主要有 App store、iTools

操作步骤:

  1. 开发者账号注册,申请在发布平台(各种应用商店)上架
  2. 针对不同的发布平台,在软件包中加入对应的平台ID(渠道ID),上传到发布平台
  3. 平台审核通过后,用户即可在应用商店中下载。

注意

一般线上发布过程,由开发人员负责。

在软件包加入平台ID后,上传到发布平台时,需要测试人员验证核心的业务功能。

 App项目测试内容(重点掌握)

功能测试

登录、注册、搜索、购物车、下单、支付模块、轮播图

专项测试

 

1、兼容性

  • APP在不同的机型上由于软件、硬件等不同可能出现各种各样的问题,因此需要做兼容性测试
  • 不同的操作系统及版本(安卓各版本、ios各版本)
  • 不同的手机型号(小米、三星、苹果、oppo...
  • 不同的分辨率(1080x1920720x1280.。。)
  • 不同的屏幕尺寸(5.54.7.。。)
  • 不同的屏幕(水滴屏、刘海屏、瀑布屏、全面屏、LED屏、OLED屏)
  • 系统应用的兼容性
  • 不同的网络(2G3G4GWiFi。。)

如何执行兼容性测试?

一般情况下,在公司中会存在各种型号的手机,使用真机进行兼容性测试即可。(使用不同的机型打开软件操作,无异常即可)

若公司没有太多机型,可参考云测平台或者模拟器

如果项目的用户量非常大,真机无法覆盖完全,可以找第三方的兼容性平台进行测试

如:线上云测平台testinhttps://www.testin.cn/

2、安装卸载升级

APP是客户端程序,客户端程序就需要提前进行安装才能使用,因此需要测试安装、卸载、升级操作

安装测试关注点:

正常场景:

  1. 在不同的操作系统版本上安装
  2. 从不同的安装渠道安装(APP商城、手机助手、直接下载apk或者ipa文件安装)
  3. 不同的安装路径(安装到手机上、安装到SD卡上 

异常场景:

  1. 安装时出现异常(关机、断网),恢复后能否
  2. 继续安装
  3. 安装时存储空间不足
  4. 安装时手动取消或暂停,恢复后是否能正常安装
  5. 正在运行时覆盖安装(后台运行\前台运行:需要考虑是否会打断用户操作)
  6. 低版本覆盖安装高版本
  7. 卸载后安装(卸载后是否会清除数据)

卸载测试关注点:

  1. 正常卸载(APP手动卸载、使用第三方软件卸载)
  2. 运行时卸载(后台运行)
  3. 取消卸载(第三方软件\二次弹窗确认时取消)
  4. 卸载异常中断(关机)
  5. 卸载后数据残留(给用户提示确认,如果用户同意残留,可以保留数据;如果用户拒绝残留,不可以保留数据)(如果不做任何确认提示,默认需要清空残留数据)

升级测试关注点:

  1. 从临近版本升级(上一次发布的版本)
  2. 跨版本升级
  3. 不同渠道升级(应用商场、手机助手)
  4. 升级提醒成功(可不提醒、可以提示升级、强制升级)
  5. 应用内升级时非WIFI提醒

注意事项:升级后要观察升级前的数据正常(当数据结构改变而开发没有处理好时很容易出现升级前的数据混乱)。

3、干扰测试(交叉事件测试)

  • App运行时,接打电话
  • App运行时,收发短信
  • App运行时,音视频电话
  • App运行时,查看应用推送(其他软件的推送\当前软件的推送)
  • App运行时,连接蓝牙设备
  • App运行时,接收文件弹窗提醒(确认接收\拒绝接收)
  • App运行时,旋转屏幕
  • App运行时,切换网络(移动数据和WiFi自动切换)
  • App运行时,手机自带应用(打开相机\手电筒\计算器)
  • App运行时,低电提醒
  • App运行时,插拔充电器(充电动画)

4、Push消息推送

4.1、什么是push消息?

4.2、Push消息推送原理

4.3、Push消息测试关注点

 

  • 一,push内容的准确性。用户收到的和推送的是否一致
  • 二,什么场景下会触发push推送
  • 三,push推送的用户是否准确。(分为全部推送,部分推送,指定用户推送)
  • 四,push推送消息时点击跳转是否正常
  • 五,app在前台运行和后台运行,用户是否能够收到push消息
  • 六,用户未登录的情况下是否能够收到push消息
  • 七,用户长时间未登录,后续第一次登陆时,是否会接收到历史推送消息
  • 八,用户设置了禁止推送,能否能够提示开启推送

4.4、什么时候会使用Push消息?

消息推送场景:

产品角度:功能需要,如:资讯类产品的新闻推送、工具类产品的公告推送、快递签收通知,等等

运营角度:活动运营需要,如:电商类产品的促销活动;召回用户 / 提高活跃度等等

推送服务器(是否按照规则去推送)

  • 推送内容
  • 推送的时间
  • 推送频率
  • 推送的对象

手机端

  • 不接收消息将不会收到任何推送
  • 接收消息
    • APP在前台运行时消息如何显示
    • APP在后台运行时消息如何显示
    • APP离线消息如何显示
  • 消息能否打开
  • 接收时设置
    • 接收消息但不提醒手机提醒不会触发
    • 接收消息的同时触发提醒结合手机模式:静音模式\震动模式\铃声
    • 接收消息但不显示消息内容(例如:微信发来一条消息)

5、用户体验测试

用户体验:以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。

  • UI界面测试对照UI交互设计文档,检查每个界面设计菜单、对话框、窗口、风格、布局等
  • 横竖屏测试横竖屏的切换是否正常(特别要关注APP中有表格,因为横竖屏的显示宽度不一样)
  • 易用性测试
    • 是否有空数据界面设计,引导用户去执行操作
    • 菜单层次是否太深
    • 完成业务操作的步骤是否过多
    • 界面中按钮可点击范围是否适中
  • 关注手机应用上的其他辅助功能可以重点关注放大字体、盲人模式、语音转换、多点触碰等功能

性能测试

App性能测试工具介绍:SoloPi

SoloPi是一个无线化、非侵入式的Android自动化工具,具备录制回放、性能测试等功能。

配置ADB环境:想要在Windows使用SoloPi软件对App进行性能测试,需要先在Windows下配置ADB环境,然后在雷电模拟器里安装SoliPi软件使用。具体操作看以下pdf文档。

使用示例:SoloPi-性能测试工具使用简述 - 简书 (jianshu.com)

APP性能测试常见指标

1. CPU

CPU基础知识——时间片

每个程序运行都需要占用CPU,那么单CPU的机器是如何同时运行多个程序的?

时间片即CPU分配给各个程序的时间,每个程序被分配一个时间段,称作它的时间片,即该程序允许运行的时间。

CPU监控指标

SoloPi工具提供了两个CPU的监控指标:全局占用CPU应用进程CPU

全局占用CPU

1.整机的CPU使用水平,即当前手机的CPU整体使用率。

2.计算公式:

  • Linux 系统下,CPU 利用率分为用户态、系统态和空闲态
  • 用户态:表示 CPU 处于应用程序执行的时间
  • 系统态:表示系统内核执行的时间
  • 空闲态:表示空闲系统进程执行的时间。
  • CPU 使用率 = CPU 执行非系统空闲进程时间 / CPU 总的执行时间

应用进程CPU

表示自开机以来,应用程序消耗的CPU时间片的总数

2. 内存

每个程序运行时都需要将代码和数据放入内存中,内存不足则程序无法正常运行。

SoloPi工具提供了两个内存的监控指标:PSSPrivate dirty

Private dirty(私有内存):进程独占内存,也就是进程销毁时可以回收的内存容量。

PSS(实际使用内存):将跨进程共享页也加入进来,进行按比例计算PSS。这样能够比较准确的表示进程占用的实际物理内存。

内存泄露memory leak内存的曲线持续增长增的远比减的多)。

内存溢出out of memory一定是因为有内存泄露才会出现内存持续增加突然降为0(如:应用停止运行)。

 

3. 流量测试

手机上网时消耗的流量需要收费的,因此流量测试是app性能测试中比较重要的一项。

流量(指网络流量)

用手机打开APP进行互联网操作时,会和服务器之间交换数据,手机流量就是指这些数据的总大小。

数据报文是包含手机上下行的报文。

4. 电量测试

注意对于电量,公司是否有基线要求。如果有要求,那么我们需要去检验产品是否达标;如果没有基线,可以和竞品对比测试。

5. 启动速度

APP启动测试:测试从启动app到主页面显示的时间,打开一个app等待的时间过长时就会有一种较差的体验。

APP启动:分为冷启动,热启动。

冷启动:指app被后台杀死后,在这个状态打开app,这种启动方式叫做冷启动。

热启动:指app没有被后台杀死,仍然在后台运行,通常我们再次去打开这个app,这种启动方式叫热启动。时间比冷启动短。

启动速度测试方法(Android

格式:adb shell am start -W 包名/Activity 

TP商城单商户包名/Activity名为:com.tpshop.malls/com.tpshop.malls.SplashActivity 

该命令获取3个关键指标:

ThisTime: 当前activity的时间。

TotalTime:应用的启动时间,包括创建进程、App初始化、 Activity初始化到界面显示。

WaitTime:前一个应用activity pause的时间+TotalTime

adb kill-server  # 关闭服务

adb start-server  # 打开服务(如果上图的启动无效,试试先关闭再打开服务)

6. 流畅度测试

SoloPi工具提供了流畅度的监控指标:帧率FPS

FPS:即Frames per secondGPU在一秒内绘制的帧数(简单理解为一秒内呈现给用户的图片数)。 FPS值越高画面越流畅

7. 稳定性测试

稳定性测试:通过长时间对应用程序进行无序操作,检验应用程序是否会出现异常。如闪退crash、无响应ANR等。

稳定性测试工具——Monkey

  • Monkey是一个命令行工具,是由安卓官方提供的。
  • 测试人员可以通过Monkey来模拟用户的触摸、点击、滑动以及系统按键等操作(操作事件都是随机的),从而实现对APP压力的测试和稳定性测试。(具体Monkey的使用在后续app自动化章节介绍)
  • 开发人员结合monkey 打印的日志和系统打印的日志,修改测试中出现的问题。

稳定性测试的时机:

  • 注意性能数据监控
  • 注意日志收集(出问题了难复现,交日志给研发去分析)
  • 一般需要等产品稳定了,bug比较少的时候,再用monkey去测试待测试应用的稳定性。

模拟器使用常见异常处理

  • 问题1: devices offline (设备离线) 解决方案重启模拟器
  • 问题2: devices not found (找不到设备) 解决方案重启模拟器
  • 问题3: more than one devices emulater(连接了多个设备
    • 获取设备列表:adb devices #命令行输入
    • 断开不需要的设备:adb disconnect 手机ip #命令行输入

 

posted @ 2023-07-26 16:57  鹿先森JIAN  阅读(140)  评论(0编辑  收藏  举报