该如何测客户端专项测试?

news2024/11/29 1:31:55

整个行业现在越来越重视客户端的专项测试了。像接口的性能测试、webview 测试、H5性能分析等,每一项都需要测试。而对于卡顿的分析、系统资源分析、耗电量测试及弱网测试这块,也变得越来越重要了!后面也会有相关的文章更新。大家可以戳此关注哦~

霍格沃兹测试学院

霍格沃兹测试学院致力于培养专业的测试人才,推动测试行业的技术更新和发展,我们本着此宗旨,为您提供最新的测试技术培训和实战,让您真正的可以在测试能力上获得提升。

Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。在一个android应用中,一个Activity通常就是一个单独的屏幕,Activity上可显示控件,也可以监听并处理用户的事件并做出响应,下图是Android启动app时发生的事情:

  • 创建一个Linux进程,Linux进程创建Android虚拟机

  • 进行application onCreate的加载

  • 启动主线程:进行activity的初始化,activity onCreate用于加载自身逻辑及发送远程数据请求和渲染界面

  • 加载动态页面

使用

从上面可以看出,app启动会发生多个事件,测试人员需要知道整个环节是否出现问题,还需要了解到具体是哪个环节存在问题,把各个环节拆分成冷启动,暖启动,热启动,首屏启动,含义如下:

• 冷启动:从进程创建开始到界面的展示

• 暖启动:相对于热启动要消耗更多资源。当用户退出应用程序时,进程还会存在。暖启动相较于冷启动只是少了进程的创建

• 热启动:应用之间的切换

• 首屏启动:第一次安装启动

标准:

• 冷启动需要5秒甚至更长

• 暖启动需要2秒甚至更长

• 热启动需要1.5秒甚至更长

整个启动过程可以用adb工具进行分析,利用adb logcat获取启动数据,或者录屏,使用ffmpeg拆帧分析。

adb logcat

首先定义一个变量,这个变量填写用到的包名

package=com.xueqiu.android

清除缓存数据

adb shell pm clear $package

停止进程

adb shell am force-stop $package

通过以上命令就做好了冷启动的环境,下面启动app并获取数据。启动App

adb shell am start -S -W $package/.view.WelcomeActivityAlias

• -S表示启动之前先停止应用进程

• -W是表示等待对应的activity启动完成

获取数据

bash adb logcat |grep -i displayed

获取的时间如下:

录屏 + 拆帧

使用adb logcat获取到的时间不精准,无法得到具体的启动时间,比如首屏启动时间或者去广告后的启动时间,此时可以用录屏,拆帧的方式分析启动时间。

停止应用进程

adb shell am force-stop $package

录制30秒的视频,录制的视频会保存到手机上

adb shell screenrecord --bugreport \--time-limit 30 /data/local/tmp/xueqiu.mp4 &

启动应用

adb shell am start -S -W $package/.view.WelcomeActivityAlias

等待视频录制完成(30s),将视频从手机拉取到本地,下面命令中的“.”是指计算机的当前目录:

adb pull /data/local/tmp/xueqiu.mp4 .

当前目录会生成一个“xueqiu.mp4”的视频文件,ffmpeg是一款视频处理工具,可用完成视频的转换,裁剪,拆帧等,利用ffmpeg对视频文件进行拆帧分析

ffmpeg -i xueqiu.mp4 -r 10 frames_%03d.jpg

“-r”参数指定每秒要拆多少帧,这里将一秒拆成10帧。

最后人工统计时间。比如起始帧是200,结束帧是300,那么中间加载时间是(300-200)*0.1,这个时间就是从启动到广告结束的时间:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166326.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快解析远程访问解决方案——安全稳定,部署简单

我们说的远程办公通常指狭义上的远程办公,是指通过远程技术,或远程控制软件,对远程电脑进行操作办公,实现非本地办公,如在家办公、异地办公、移动办公等远程办公模式。这种技术的关键在于:穿透内网和远程控制的安全性。…

Wisej.NET 3.1.6 Crack

新功能 Wisej.NET 3.1 通过添加几个新的独特功能和简化的安装过程增强了里程碑 3.0 版本。 除了大量错误修复和对我们库的显着性能增强之外,3.1 还包括以下值得注意的新功能: 视觉工作室市场 Wisej.NET 现在比以往任何时候都更容易使用。或 Visual Studi…

联合证券|五大国际巨鳄集体爆雷,美股期指大跳水!

商场现已进入到雷雨季! 周五晚间,花旗、摩根大通、高盛、富国和贝莱德团体爆雷。 花旗集团上一年第四季度每股收益低于预期,尽管营收好于预期。花旗集团Q4每股收益1.16美元,预期为1.17美元。财报发布之后一度暴降超3%;…

【机器学习之模型融合】Stacking堆叠法

目录 1、Stacking的基本思想💍 2、思考💎 3、在sklearn中实现Stacking🎯 3.1、导入工具库和数据👕 3.2、定义交叉验证评估函数👗 3.3、个体学习器与元学习器的定义🍗 3.4、模型构建🍪 4…

【Linux】创建新用户 sudo配置,添加信任

目录 一、创建新用户 二、sudo不被允许 三、添加信任用户 一、创建新用户 相关指令: adduser [用户名]:创建新用户 passwd [用户名]:修改用户密码 su [用户名]:切换到该用户 设置密码,重复输入两遍之后&#xff0…

大数据技术架构(组件)——Hive:环境准备1

1.0.1、环境准备1.0.1.0、maven安装1.0.1.0.1、下载软件包1.0.1.0.2、配置环境变量1.0.1.0.3、调整maven仓库打开$MAVEN_HOME/conf/settings.xml文件&#xff0c;调整maven仓库地址以及镜像地址<settings xmIns"http://maven.apache.org/SETTINGS/1.0.0"xmIns:xsi…

电脑磁盘占用率高怎么办?

Windows磁盘占用率高是一种普遍存在的问题&#xff0c;相信很多用户遇到过不止一次&#xff0c;它可能是在刚开机时、可能是在下载文件时、也可能是在开启关闭应用程序时……当磁盘占用高之后&#xff0c;您的计算机运行速度会变得像蜗牛一样缓慢&#xff0c;更糟糕的是有些电脑…

python 代码注释

文章目录写在前面使用方法plainEpytextGoogleNumpyreStructuredText相关程序包其他写在前面 如果说高效率的算法是一个项目的内核&#xff0c;那么完备的文档注释、API 接口则是项目的外壳&#xff0c;直接与客户交互。 pycharm 提供了 5 种 代码注释格式。 分别是 plain, epy…

Tslib配置文件ts.conf

默认&#xff1a; # Access plugins ################# Uncomment if you wish to use the linux input layer event interface module_raw input# For other driver modules, see the ts.conf man page# Filter plugins ################# Uncomment if first or last sample…

【运维心得】正确的校正mysql-slave及mysqldump

实践出真知&#xff0c;有些细节&#xff0c;记录下。本文不涉及主备知识&#xff0c;有需右转: https://blog.csdn.net/qq_26834611/article/details/121385550mysql 正确的dump 命令:0. 检查当前主库所在位置ip addr 查看虚拟ip所在位置 1. 备机数据库dump备份:mysqldump -ur…

【ChatGPT】注册OpenAI账号试用ChatGPT

主要参考&#xff1a; 手把手教你注册 AI 聊天机器人模型 ChatGPT&#xff1a;大体流程注册OpenAI账号试用ChatGPT指南&#xff1a; 相关网站 openai: https://beta.openai.com/signup直接登录charGPT&#xff1a;https://chat.openai.com/接入微信&#xff0c;1.2K&#xf…

OneKeyGhost工具进行备份还原windows操作系统

OneKeyGhost OneKey Ghost是一款设计专业、操作简便的绿色程序&#xff0c;能够在 Windows 下对任意分区进行一键备份、恢复&#xff0c;支持ISO文件、光盘、U盘里的GHO文件硬盘安装。 OneKeyGhost备份wind系统 系统需要包含两个磁盘&#xff0c;一个系统盘另外一个数据盘。 …

Linux-文件权限命令

用户及权限操作 d:表示文件夹&#xff0c;-&#xff1a;表示文件&#xff0c;后面每隔3个分别代表 u、g、o。 使用ls -l &#xff08;ll&#xff09;可查看文件&#xff08;目录&#xff09;的权限 使用 chmod 可修改文件权限&#xff0c;有两种使用格式&#xff1a;字母法…

剑指offer五道题,C++实现,看看自己能不能解出来。

第一道&#xff08;剑指offer46 把数字翻译成字符串&#xff09; 给定一个数字&#xff0c;我们按照如下规则把它翻译为字符串&#xff1a;0 翻译成 “a” &#xff0c;1 翻译成 “b”&#xff0c;……&#xff0c;11 翻译成 “l”&#xff0c;……&#xff0c;25 翻译成 “z”…

在产业互联网诞生之初,其仅被当成是互联网的衍生品和避风港

在流量和资本的红利已然被出清的大背景下&#xff0c;以平台经济为代表的互联网经济的发展同样被逼退到了进退维谷的境地里。如何突破以往发展模式的束缚&#xff0c;如何让互联网行业的发展重新开启新的想象空间&#xff0c;成为每一个互联网玩家必然需要思考的重要课题。于是…

python 列表生成式

列表生成式 列表生成式的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。列表表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表 # 去除偶数 hh[[1,2,3],[4,5,6],[7,8,9] ]#从做往右读就行 print…

Rpc了解

1、为什么要有rpc? 因为微服务之间需要进行服务间的通信&#xff0c;不同服务之间的接口要互相调用。而常见的通信协议主要有 RPC 和 REST 协议 使用rpc的好处是&#xff1a; 引入RPC框架对我们现有的代码影响最小&#xff0c;同时又可以帮我们实现架构上的扩展 两者对比 …

【7】SCI易中期刊推荐——计算机 | 人工智能(中科院4区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…

Barra模型因子的构建及应用系列二之Beta因子

一、摘要 在前期的Barra模型系列文章中&#xff0c;我们初步讲解并构建了Size因子。在Size因子基础上构建的单因子策略也获得了不错的绝对收益。而本期内容&#xff0c;我们在该系列下进一步构建Beta因子&#xff0c;其中基于Beta因子构建的策略在2022年实现了5.70%年化收益&a…

51单片机——点亮LED

目录 LED基本参数 参数信息 参数解读 拉电流与灌电流 电路示意图 电阻选取 灌电流与拉电流区别 程序编写与现象展示 LED基本参数 参数信息 产品名称贴片发光二极管产品型号0603发光颜色 绿、红、蓝、翠绿、白、黄 电压2V~3.3V电流5~20mA功率0.01~0.06W使用寿命约50000小…