• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

APP测试

android 搞代码 3年前 (2022-04-09) 14次浏览 已收录 0个评论
文章目录[隐藏]

一、 麻利开发模型

  • 作用:形容公司中产品、开发、测试、运维等相干人员如何协同配合实现软件开发过程
  • 利用场景:需要不稳固,工夫周期短(疾速高效)

    1.1 瀑布模型和麻利模型

  • 瀑布模型:需要稳固【无奈应答需要变动】,我的项目周期长【测试染指是从开发编写完代码之后开
    始】
  • 麻利模型:需要不稳固,工夫短速度快,要求疾速反馈,疾速试错,疾速改良

1.2 麻利开发模型介绍

  • 定义:以用户的需要进化为外围, 采纳迭代, 循序渐进的办法进行软件开发
  • 特点:小步快跑,互相独立

    1.3 麻利开发模型的框架–scrum

  • 定义:一个麻利的,疾速迭代的增量开发模型

    • 迭代(sprint):我的项目开发过程中的最小周期,个别为2~4周,一个软件我的项目开发能够继续若干个迭代
    • 3种角色5种会议

      • 3种角色:产品经理【PO】、项目经理【SM】、我的项目小组【DT】

        一个scrum小组个别是7~9人
        有一个产品经理
        有一个项目经理(属于开发团队)
        开发和测试人员(3:1~5:1)

二、 我的项目环境

2.1 后端

组成:OS-linux ,应用服务器:Nginx/Apache,数据库服务器:Mysql,我的项目代码:PHP

2.2 环境分类

  • 开发环境:开发人员编写代码、调试代码的环境
  • 测试环境:测试人员测试执行,回归测试的环境
  • 预生产环境:行将公布的新代码,连贯生产数据库,次要由测试人员用于测试业务流程
  • 生产环境:正式用户应用的环境,也叫正式环境【测试偶然会有,会复现bug或者公布之后验证流程】

2.3 后端环境的公布

灰度公布策略:危险低,对于用户应用过程不影响(用户是无感知)
面试题:你们公司我的项目实现后是怎么上线的?


本人总结:首先让局部服务器下线,用于更新代码,更新之后让这部分服务器上线,同时把残余的服务器下线,测试须要和用户一样测试已上线更新过后的服务器,如果新服务器呈现问题立刻下线,持续把原有的服务器上线,如果不呈现问题就把残余的服务器全副更新上线。

三、 专项测试

3.1 装置

3.2 卸载

3.3 降级

3.4 兼容性测试

APP在不同的软硬件平台上应用是否失常
指标获取:https://tongji.baidu.com/research/app

兼容分类:

  • 品牌及机型:市场支流机型(市场排名前三的找进去)
  • 操作系统:市场支流操作系统

    不同的操作系统,同一操作系统的不同版本
    Android :4.4以上
    iOS:8.5以上
    HarmonyOS(鸿蒙):2.0以上
    
  • 尺寸与分辨率
    留神

    1.个别第一个版本测试涵盖(占比90%)比例分辨率和尺寸
    2.更新的版本次要思考测试支流机型分辨率和尺寸(排名靠前三位)
    
  • 网络(弱网)
  • 利用兼容:和其余软硬件兼容

    • 与手机硬件:音量、开关机键、home键等
    • 与内部硬件:耳机、音响、蓝牙设施等
    • 与操作系统组件:WLAN设置、零碎工夫调整、定位服务等
    • 与其余APP:以后APP音视频和正在进行的其余音视频软件

兼容性扩大
指标的获取:https://tongji.baidu.com/rese…
测试工具抉择
真机:继续一段时间市场占有率最高的几款机型购买
模拟器:市场占有率不高,然而又须要笼罩的机型能够通过手机模拟器去测试
云测平台:介于上述之间的,能够通过云测平台进行测试(免费)

3.5 穿插事件测试

A.穿插事件测试:也叫抵触测试或干扰测试,指一个性能失常执行过程中,另外一个事件对该过程的干扰测试
B.中断事件处理实现之后,个别会复原到以后中断的地位继续执行

3.6 Push音讯

app推送给用户的各种提醒音讯

3.7 用户体验

参考规范
- 考察询问用户
- 应用竞品公司软件比照

四、app性能测试

从工夫和空间层面思考app的失常应用

4.1 CPU

  • CPU呈现性能问题景象

    • 超过90%
    • 手机发烫
    • 耗电量减少
    • 反馈变慢
  • CPU验证的参考根据

    • 程序耗费CPU/总CPU

      • 屡次运行之后的CPU使用率平均值(依据教训和产品确认)
      • 同样的操作参考竞品公司同类软件的CPU使用率,进行比拟
  • 论断:CPU的使用率越小越好

4.2 内存

  • 内存呈现故障景象

    • 内存泄露

      • 同一软件或者不同软件申请应用内存后没有齐全开释,导致内存空间越来越少的景象
    • 内存溢出

      • 因为某种原因(内存泄露),导致后续的软件无奈申请新的内存空间的现像
  • 内存验证的根据

    • PSS(理论应用内存) = 公有内存 + 共享内存

      • 屡次运行之后的占用内存比例平均值
      • 同样的操作参考竞品公司同类软件的内存占用率,进行比拟
  • 论断:内存的占有率越小越好(绝对

4.3 流量

  • 测试分类

    • 上行(例如上传,发送文件)
    • 上行(也叫下载,个别上行消耗流量最多)
  • 规范
  • 流量优化办法

    • 数据的压缩
    • 不同数据格式的采纳
    • 管制拜访的频次
    • 只获取必要的数据
    • 缓存机制
    • 针对不同的网路类型设置不必的拜访策略
  • 论断:同类型产品运行过程消耗流量越小越好

4.4 电量

  • 规范:要求运行的app消耗电量越少越好(mAh : 毫安时)
  • 耗电场景

    • 定位,尤其是调用GPS定位
    • 网路传输,尤其是非wifi环境
    • 屏幕亮度
    • CPU运算:简单的运算逻辑,死循环等会间接导致CPU负载过高,会导致耗电
    • 锁屏-截屏工夫和次数
  • 验证电量指标

    • 和产品沟通,获取历史的根底数据确定规范
    • 和竞品公司做同样测试电量测试进行比照,查看耗电量的高下
  • 论断:个别产品app耗电量越少越好

4.5 晦涩度

通过FPS形容每秒钟图片的数量 (有关联的间断图片依照肯定的工夫间断切换时会产生动态效果)
FPS : 每秒帧数(图片数)
frame per second
常见应用程序:游戏类、播放类
  • 人类肉眼有感知:10~12帧
  • 根本流程达到:24帧
  • 达到十分流程水平:举荐60帧以上
  • 论断:个别软件应用晦涩度能达到24帧以上即可

五、ADB

什么是ADB?
Android Debug Bridge,Android调试桥,用来管理控制Android的模拟器或者Android的设施
ADB蕴含三局部:
adb客户端(cmd窗口界面,负责输出编写adb命令);
adb服务器(负责传输adb命令到模拟器/Android设施终端);
adb daemon(负责执行adb命令的模拟器终端/手机终端);
为什么须要ADB工具?
通过命令模式操作治理挪动端设施
APP的性能测试须要用adb相干命令
环境变量:以命令行的模式疾速启动软件应用程序【例如:adb程序

5.1 ADB命令

# 在装置了雷电模拟器的门路下进入cmd
# 1.查看设施是否接入,如果offline,能够重启雷电模拟器之后重试
# 正确结果显示:emulator-5554 device 或 127.0.0.1:5555 device
    adb devices
# 2.查看以后挪动设施装置的软件包,pm :package management
    adb shell pm list packages
# 3.查看以后曾经关上的某个APP的包名和Activity名(流动页面)
    adb shell dumpsys window w | findstr mFocusedApp
# 查看启动上述包的工夫 
    adb shell am start -W 包名/Activity名
# 对于稳定性测试,模仿人随机操作1000次
    adb shell monkey -p 包名 --ignore-crashes --ignore-timeouts --throttle
    400 -v 10000
# 查看monkey过程的编号(PID)
    adb shell ps | findstr monkey
# 完结money命令(将上述输出的PID填写后完结)
    adb shell kill 过程PID
# app软件装置/卸载
    adb install 软件门路
    adb uninstall  包名
# 获取app的日志
    adb logcat

5.2 启动速度测试

  • 启动分类

     手动操作开始到显示出所有后果的工夫过程,叫做启动测试 
    • 冷启动:app没有运行(曾经被杀死),在运行启动的过程
    • 热启动:app在后盾运行,通过界面关上启动的过程
  • 查看以后曾经关上的APP软件包名和界面名

    adb shell dumpsys window w | findstr mFocusedApp
  • 测试app的启动工夫
adb shell am start -W com.pingxixi.malls/.SPMainActivity
ThisTime:示意程序启动工夫
TotalTime:程序启动工夫+资源初始化工夫
论断:启动速度越快越好(具体规范由产品定)

5.3 稳定性测试

稳定性测试(伪随机测试):模仿人工操作进行长时间运行APP程序,看会不会呈现闪退,无响应
(ANR)等景象的过程
闪退:crash,忽然间退出
无响应:ANR,Application Not Response的简称
  • 通过monkey工具测试:长时间模仿人的各种操作(点击、滑动、输出等操作)
  • 稳定性测试工夫:个别在APP根本稳固没有太多bug时,就能够进行monkey的稳定性测试
  • 演示monkey测试

      对于商城APP稳定性测试,模仿人随机操作10000次
    adb shell monkey -p com.pingxixi.malls --ignore-crashes --ignore-timeouts 
    --throttle  400 -v 10000 > d:\aaa.txt
    # -p :前面指定包名
    # --ignore-crashes :疏忽闪退(crash),即闪退后monkey持续发送测试事件直到实现
    # --ignore-timeouts :疏忽超时(ANR),即超时后monkey持续发送测试事件直到实现
    # --throttle 400 :随机提早提早400ms
    # -v : 示意记录反馈日志的具体水平 ,-v -v -v 最具体
    # 100000 :伪随机的事件次数
    对于测试过程中常见的日志信息能够搜寻一些关键词确认是否有问题
    error:谬误
    failed:失败
    crash:闪退
    timeout:超时(ANR)
    

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:APP测试

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址