首页 > 其他分享 >App项目测试内容

App项目测试内容

时间:2023-07-26 17:15:18浏览次数:38  
标签:APP CPU 内容 测试 推送 安装 App

App测试包发布和管理

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

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

操作步骤:

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

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

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

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

IOS应用:主要有 App store、iTools

操作步骤:

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

注意:

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

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

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

功能测试

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

专项测试

1、兼容性

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

如何执行兼容性测试?

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

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

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

如:线上云测平台testin(https://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消息测试关注点

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工具提供了两个内存的监控指标:PSS和Private 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 second,GPU在一秒内绘制的帧数(简单理解为一秒内呈现给用户的图片数)。 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 #命令行输入

 

标签:APP,CPU,内容,测试,推送,安装,App
From: https://www.cnblogs.com/lwj0126/p/17582964.html

相关文章

  • 左侧导航右侧内容对应位置高亮
      <divclass="mc_aside_navboxmc_aside_navbox1show">    <ulclass="mc_aside_nav">      <liclass="mc_aside_li on">        111      </li>      <liclass="m......
  • @mapper(componentModel = “spring”)
    在接口上使用该注解,可以自动生成该接口的实现类.实现DTO-DO各种模型之间的字段映射(不仅仅限制于DTO-DO)https://blog.csdn.net/qq_36937844/article/details/126848404......
  • 开发必看!一文读懂Salesforce测试策略实用建议!
    可靠的测试策略是确定重大决策的关键工具,以便参与测试的人员能够做出符合共同目标的决策。测试软件的次数越多,就越能从制定高级计划中受益。本文将详细介绍测试策略,以及如何建立测试策略的实用建议。01什么是测试策略?测试策略,是测试过程的战略布局,是指导测试过程设计和进行的......
  • 全选 和 不能全选 测试题 逻辑代码
    全选和不能全选测试题逻辑代码关于测试题会出现三种情况1.可以全选的点击就加入选中数组里面2.不可以全选的先点击可以多选的再点击不能多选的会选中数组情况3.不可以全选的先点击不能全选的再点击可以全选的不能全选的那个被取消可以全选的一个个添加......
  • 【医疗仪器注册之测试流程】
    加样准确性(称重):吸液量偏倚  CVv<10  ±1 <5%10<v<50   ±10%    <3%v>50 ±5%  <2%称重:1.将20个反应杯称重后记录好质量为:m02.控制试剂针或样品针往该容器中加入规定量除气纯水,再在电子天平上称量其质量并记录:m13.使用m......
  • 测试1
    title:list:<%_.forEach(people,function(name){%><li><%=name%></li><%});%>people:-JonSchlinkert-BrianWoodward---title:list:<%_.forEach(people,function(name){%><li><%=name%></li>......
  • 基于Android的眼镜商场app-计算机毕业设计源码+LW文档
    前端用户功能:(1)app首页:显示app所有商品的相关信息,供用户搜索、浏览查看,包括商品展示、商品类别及搜索等信息的展示。(2)注册登录:实现用户注册,登录系统实现,注册成功之后默认为登录状态。(3)商品展示:商家可以制作漂亮的眼镜产品图片,并在商场展示。用户可以通过查看图片细节来......
  • uni-app vue-cli命令行创建项目,拉取模板(dcloudio/uni-preset-vue)失败,443超时报错
    安装vue/clinpminstall-g@vue/cli问题根据官网提示,通过vue-cli命令行创建项目,出现如下报错。Fetchingremotepresetdcloudio/uni-preset-vue...ERRORFailedfetchingremotepresetdcloudio/uni-preset-vue:ERRORRequestError:connectETIMEDOUT192.30.25......
  • Appium-启动App
    Appium-启动App0.前言:上一篇已经记录了环境准备的笔记,这一篇记启动app一、安装完成后,启动Appium,host和port默认的即可,然后设置AndroidSDk和JavaJDK  点击StartServer按钮 二、真机连接测试1.连接手机打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启......
  • vue : 无法加载文件 C:\Users\jianfei\AppData\Roaming\npm\vue.ps1,因为在此系
    背景在新电脑上配置vue环境PSE:\CODE_PROJ\myvue\vue23\P61_使用脚手架\vue_test>npminstall-g@vue/[email protected]:Seehttps://github.com/lydell/source-map-url#[email protected]:Pleaseseehttps://github......