android 专项测试 耗流量测试

安卓性能测试(五):耗流量 流量测试是app测试中比较重要的一项,因为现在的流量实在太贵了,而且各种助手都会统计你的使用流量情况,一旦你使用的过多,就可能会被卸载。 流量测试,我们可以在低、中、高三种负荷情况下进行测试: 低负荷:应用切到后台或锁屏状态; 中负荷:应用正常操作; 高负荷:应用极限操作,如下载; 那么针对三种负荷,我们可以选择如下场景进行测试: app首次启动后... 阅读详情

静置耗流量测试方法

主要步骤(一)

1、静置耗流量,测试前手机与PC端Fiddler建立连接,用来待机测试的过程中同时用电脑端抓包;

2、adb shell ps | grep package_name :获取应用PID

3、adb shell cat /proc/PID/status :获取应用UID

4、adb shell cat /proc/net/xtqtaguid/stats|grep UID|awk '{rxbytes+=$6}END{print rx_bytes} :tcp、udp接收数据流量和

5、adb shell cat /proc/net/xtqtaguid/stats|grep UID|awk '{txbytes+=$8}END{print tx_bytes} :tcp、udp发送的数据流量和

6、第4步和第5步的数值相加即为当前应用从使用到现在消耗的流量,单位为B,除以1024换算为KB;

7、测试应用静置耗流量的时候,设定好初始条件(如操作完主要网络业务后,放置入后台开始待机),执行前6步,记录当前应用从使用到现在消耗的流量;待机12小时完成后,再次执行前6步获取应用从使用到现在消耗的流量,二次测试数据相减获取应用待机这段时间内获取的流量消耗,就是静置这段时间内应用消耗的流量。

备注:静置耗流量一般晚上测试,应用进入后台待机,统计12小时左右的静置流量消耗,通常这部分消耗与发送数据包或者长连接相关

方法(一):集成一些脚本处理

其基本思路是:测试单项业务功能前,(比如更换用户个人资料图像)运行脚本获取当应用已经消耗的累计流量,操作完业务操作后,再次运行脚本获取已消耗的累计流量,前后两次流量做差值即为当前业务操作下的流量消耗;如果是WIFI下操作,则统计WIFI下的流量消耗,如果是移动网络,则统计移动网络下的流量消耗;

    package UItest;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.rmi.server.UID;
    import java.text.DecimalFormat;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;


    public class JavaPerformanceTest {
    public static void main(String[] args) throws Exception{
    // String res = testGetPackage();
    // String res = "com.xdja.HDSafeEMailClient";
    // String res = "com.xdja.ryhzw";
    // String res = "com.tencent.mm";
    // String res = "com.tencent.mobileqq";
    // String res = "com.xdja.eoa";
    // String res = "com.kingsoft.email";
    String res = "com.xdja.jxclient";
    getFlowWifi(res);
    getFlowdata(res);
    }

    /**
    * getuid:当前应用WIFI下流量消耗的总量统计,用于测试静置流量消耗,二次做一下差值即可
    * @author lzz
    *
    */
    public static void getFlowWifi(String pkg){
    String uid = null;
    try {
    uid = getuid(pkg);
    System.out.println("应用"+pkg+"的UID信息是:"+uid);
    } catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    float flow = 0;
    try {
    flow = getliuliangwifi(uid);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.println("从开机到现在累计的流量消耗,静置耗流量需要测试前后收集二次数据并做差值");
    System.out.println("当前被测应用为:"+pkg);
    System.out.println("当前应用WIFI流量累计总消耗是:"+flow+"单位:Byte");
    DecimalFormat df = new DecimalFormat("0.00");//添加数据格式化对象
    System.out.println("当前应用WIFI流量累计总消耗是:"+df.format(flow/1024)+"单位:KB");
    System.out.println("当前应用WIFI流量累计总消耗是:"+df.format(flow/1024/1024)+"单位:MB.\n\n");
    }

    /**
    * getuid:当前应用数据下流量消耗的总量统计,用于测试静置流量消耗,二次做一下差值即可
    * @author lzz
    *
    */

    public static void getFlowdata(String pkg){
    String uid = null;
    try {
    uid = getuid(pkg);
    System.out.println("应用"+pkg+"的UID信息是:"+uid);
    } catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    float flow = 0;
    try {
    flow = getliulianggprs(uid);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.println("从开机到现在累计的流量消耗,静置耗流量需要测试前后收集二次数据并做差值");
    System.out.println("当前被测应用为:"+pkg);
    System.out.println("当前应用数据流量累计总消耗是:"+flow+"单位:Byte");
    DecimalFormat df = new DecimalFormat("0.00");//添加数据格式化对象
    System.out.println("当前应用数据流量累计总消耗是:"+df.format(flow/1024)+"单位:KB");
    System.out.println("当前应用数据流量累计总消耗是:"+df.format(flow/1024/1024)+"单位:MB.\n\n");
    }

    /**
    * getuid:根据应用包名获取Android APP uid信息
    * @author lzz
    *
    */
    public static String getuid(String packagename) throws Exception
    {
    Process p=Runtime.getRuntime().exec("adb shell dumpsys package "+packagename+" |grep userId");
    java.io.InputStream in=p.getInputStream();
    InputStreamReader ir=new InputStreamReader(in);
    BufferedReader br=new BufferedReader(ir);
    // System.out.println(br.readLine());//br.readLine()一旦被执行一次,则影响下一次的执行结果
    String uid=br.readLine().split("=")[1].split(" ")[0];
    return uid;
    }

    /**
    * PID:根据应用包名获取Android APP PID信息
    * @author lzz
    *
    */
    public static String PID(String PackageName) throws IOException {

    String PID=null;
    Runtime runtime = Runtime.getRuntime();
    Process proc = runtime.exec("adb shell ps |grep "+PackageName);
    try {
    if (proc.waitFor() != 0) {
    System.err.println("exit value = " + proc.exitValue());
    }
    BufferedReader in = new BufferedReader(new InputStreamReader(
    proc.getInputStream()));
    StringBuffer stringBuffer = new StringBuffer();
    String line = null;
    while ((line = in.readLine()) != null) {
    stringBuffer.append(line+" ");
    }
    String str1=stringBuffer.toString();
    String str2=str1.substring(str1.indexOf(" "+PackageName)-46,str1.indexOf(" "+PackageName));
    String str3 =str2.substring(0,7);
    str3 = str3.trim();
    PID=str3;
    } catch (InterruptedException e) {
    System.err.println(e);
    }finally{
    try {
    proc.destroy();
    } catch (Exception e2) {
    }
    }

    return PID;
    }

    /**
    * package:根据应用置顶app包名,暂时还未调试好
    * @author lzz
    *
    */
    public static String getPackage() throws Exception
    {
    Process proc=Runtime.getRuntime().exec("adb shell dumpsys window |grep mFocus");
    String str1 = "";
    try {
    if (proc.waitFor() != 0) {
    System.err.println("exit value = " + proc.exitValue());
    }
    BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
    StringBuffer stringBuffer = new StringBuffer();
    String line = null;
    while ((line = in.readLine()) != null) {
    stringBuffer.append(line+" ");
    }
    str1=stringBuffer.toString();
    // System.out.println(str1);
    }catch (InterruptedException e) {
    System.err.println(e);
    }finally{
    try {
    proc.destroy();
    } catch (Exception e2) {
    }
    }

    return str1;
    }

    /**
    * package:获取应用流量消耗,WIFI的流量消耗,累计到这段时间内,WIFI消耗的总流量。
    * @author lzz
    *
    */
    public static float getliuliangwifi(String uid) throws IOException
    {
    Process p=Runtime.getRuntime().exec("adb shell cat /proc/net/xt_qtaguid/stats |grep "+uid+" |grep wlan0");
    java.io.InputStream in=p.getInputStream();
    InputStreamReader ir=new InputStreamReader(in);
    BufferedReader br=new BufferedReader(ir);
    String str;
    float total=0;
    while((str=br.readLine())!=null)
    {
    total=total+Integer.parseInt(str.split(" ")[5])+Integer.parseInt(str.split(" ")[7]);
    str=br.readLine();
    }
    return total;
    }

    /**
    * getCmdOut:以字符串的形式输出Cmd命令的结果
    * @author lzz
    *
    */
    public static String getCmdOut(String cmd) throws IOException
    {
    Process p=Runtime.getRuntime().exec(cmd);
    java.io.InputStream in=p.getInputStream();
    InputStreamReader ir=new InputStreamReader(in);
    BufferedReader br=new BufferedReader(ir);
    String str;
    StringBuffer stringBuffer = new StringBuffer();//字符串接收对象
    while((str=br.readLine())!=null)
    {
    stringBuffer.append(str);
    str=br.readLine();
    }
    str = stringBuffer.toString();
    return str;
    }

    /**
    * package:获取应用流量消耗,GPRS的流量消耗,累计到这段时间内,数据消耗的总流量。单位为Byte.
    * @author lzz
    *
    */
    public static float getliulianggprs(String uid) throws IOException
    {
    Process p=Runtime.getRuntime().exec("adb shell cat /proc/net/xt_qtaguid/stats | grep "+uid+" |grep rmnet");
    java.io.InputStream in=p.getInputStream();
    InputStreamReader ir=new InputStreamReader(in);
    BufferedReader br=new BufferedReader(ir);
    String str;
    float total=0;
    while((str=br.readLine())!=null)
    {
    total=total+Integer.parseInt(str.split(" ")[5])+Integer.parseInt(str.split(" ")[7]);
    str=br.readLine();
    }
    return total;
    }

    /**
    * testGetPackage:点击打开当前应用,以获取当前应用的包名
    * @author lzz
    *
    */
    public static String testGetPackage(){
    String pkg= "";
    try {
    // Process process = Runtime.getRuntime().exec("ipconfig /all");
    Process process = Runtime.getRuntime().exec("adb shell dumpsys window |grep mFocus");
    // System.out.println(process);
    // Process p = null;
    BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
    String line = null;//初始化变量
    String str = "";
    while ((line = input.readLine()) != null) {
    // System.out.println(line);
    str =str+line;
    }
    // System.out.println(str);
    String pattern = "(com.*?)/";
    Pattern r = Pattern.compile(pattern);
    Matcher m = r.matcher(str);
    if (m.find( )) {
    // System.out.println("Found value: " + m.group(0) );
    // System.out.println("Found value: " + m.group(1) );
    pkg = m.group(1);

    } else {
    System.out.println("NO MATCH");
    }

    } catch (IOException e) {
    e.printStackTrace();
    }
    return pkg;
    }
    }

fiddler的使用步骤

1、首先,确保安装 Fiddler 的电脑和你的手机在同一局域网内,因为Fiddler只是一个代理,需要将手机的代理指向 PC 机,不能互相访问是不行的。(或者在PC机上开启一个热点WIFI)

2、开启Fiddler的远程连接,Fiddler 主菜单 Tools → Fiddler Options…→ Connections页签,选中Allowremote computers to connect。

3、开启好远程连接之后,重启Fiddler,不然就不会更新你刚开启的远程配置

4、设置手机连接PC端热点WIFI,长按手机端WIFI修改网络,选择高级选项配置手机端WIFI代理,例如获取PC的IP地址192.168.2.121(打开cmd,输入ipconfig来查看电脑端的本地ip),配置手机端ip为是:192.168.2.121(长按连接的WIFI网络-高级选项-输入代理ip地址和端口,默认为8888的端口);

5、关闭手机端第三方联网应用和PC机联网应用,打开被测APP进行操作,可以开始抓包了。

6、如果手机端没有证书,请安装证书后使用。手机端访问“192.168.2.121:8888”(PC的ip地址和端口号),如果出现响应页面说明成功,操作手机端联网APP,可以在fiddler中看到抓取的数据包详情。
网络请求测试和说明

测试步骤和方法:

1、一般是进入有网络请求的页面,比如:进入个人中心页面、进入某展示页面等,则查看这段时间fiddler抓取的数据包,看是否有重复的网络请求(url及数据返回结果一样,则可能是重复请求);如右上图展示了在进入某页面时存在两个一样的网络请求。
这里写图片描述

2、反复进入某一有网络请求页面,比如:进入个人中心页面,如果每次进入都会请求相同的数据,则需要怀疑,逻辑是否正常,是否应该将数据缓存到本地,减少网络请求的个数。如右中图展示了请求了两张一样的图片(虽然图片的名称不一样,但是经比对是一样的)。
这里写图片描述

3、服务器有缓存,客户端没有使用;可以通过查看数据包的request headers 和response headers信息,第一次请求,如果在response headers中存在Entity的数据信息,说明服务器端有缓存信息;第二次请求,假如request headers 中没有带上etag和last-modified 字段,说明客户端并没有利用缓存,会额外的消耗流量。见下图
这里写图片描述

app常见专项测试点 常见的apk专项测试,主要有几类(主要指项目中经常用到的) 1、稳定性 2、安全性 3、兼容性 4、版本升级 5、流量测试 6、实际测试总结(对整个项目团队是如何进行测试以及测试的内容) 一、稳定性测试 稳定性测试是指对应用进行长时间的操作,检测功能是否稳定。一般稳定性测试时间是 N*12小时。项目中稳定测试多采用monkey,进行随机测试。 测试方法: 1、跑monkey adb shell m... 阅读详情

相关推荐

【APP专项】monkey专项性能测试实践-分析-监控

【APP专项】monkey专项性能测试实践-分析-监控

橘子偏爱橙子随笔 688

测试app是否有流量消耗

记录用。。。 1、连接手机:使用adb devices ,返回手机序列号,即为连接成功 2、打开androidstudio,点击右上角 profile角标 ,左侧打开SESSION会话(查看是否为自己想看的app会话,不对的话可更改),右下方自动打开profile页面,展示CPU、MEMORY、NETWOEK、ENERGY四部分呢 3、双击NETWOEK部分,有峰值显示即有流量消耗 若想看具体信息:1 双击NETWOEK——2 点击Tread View——3 点击蓝色/橙色,会显示具体流量消耗信息

暖暖的博客 1101

app常见专项测试点_app需要做哪些方面的测试

不仅要有自己测试的实验室,还要拥有大量的手机,还有一整套的自动化测试平台。(一个app, 一次次迭代,就会有多个版本在市场上被使用,新版本的开发不应该影响到旧版本,尤其是出现一次版本改动比较大,或者重构应用的时候,回归多个老版本是必不可少的测试点,当然并不是要测试到每个点,修改的部分需着重测试,可以和开发沟通了解,了解可能影响的点,有针对性的测试)应用的耗流也是用户的一个重要关注点,一是节省用户的使用成本,二是流量优化能带来响应速度的优化,三是能清楚的知道每个场景需消耗的流量,确认是否有能优化的空间。

2401_84140707的博客 2812

Android top指令,Runtime.getRuntime()获取CPU/GPU/内存等信息

-- top指令 String topCmdOld = "top -d 1 -n 60 -m 10 -s rss"; String topCmdNew = "top -d 1 -n 60 -s 6"; -- Android Runtime.getRuntime().exec 使用方法- https://blog.youkuaiyun.com/dodod2012/article/details/8110032...

ShareUs的专栏 3554

Quectel_BC260Y-CN-TE-B_耗流测试指导_V1.01

1引言该开发板经修改后,可用于测试模块的耗流数据。本文档介绍了如何修改 BC260Y-CN-TE-B,以测试和获取准确的模块耗流数据。上海移远通信技术股份有限公

AI漫剧实战:MiniMaxH3本地部署+ComfyUI工作流,6G显存出长视频

随着AI视频生成技术的普及,创作者开始追求在有限硬件条件下的本地化部署。本地部署不仅降低使用成本,更能获得对生成流程的完全可控性,这为高频次的内容生产提供了基础。以开源工作流引擎ComfyUI为依托,通过量化模型与显存优化,即便是6G显存的中端显卡也能流畅运行MiniMaxH3视频生成模型,输出60秒级别的AI漫剧片段。本文从视频生成原理出发,讲解模型选择、节点搭建、参数调优与提示词结构化设计,并延伸到剧本拆分、角色一致性控制、后期合成及平台变现路径,为AI漫剧创作者提供一套低成本、可复制的工程化方案。无论

weixin_29051149的博客 159

网 络 流 量 分 析 及 优 化 测 试 From:kingcable.com.cn

定期地对网络流量进行分析和调整,是及时了解当前网络性能,避免停运和提供发现早期问题的重要步骤。 测试目的:   通过网络流量分析及优化测试,用户可以及时获得各网段及关键网络设备的使用情况(利用率、碰撞、错误及广播四大参数)。在对所采集的数据样本进行分析整理后,我们将为你提供进行网段优化的具体建议。 测试仪器:   FLUKE OptiView 网络综合协议分析仪   FLUKE ...

weixin_30807779的博客 314

别再手动配网了!用安信可PB-02模组+PHY Mesh App,5分钟搞定蓝牙Mesh智能灯群控

本文详细介绍了如何使用安信可PB-02模组和PHY Mesh App快速搭建蓝牙Mesh智能灯群控系统。通过5分钟的硬件连接和固件烧录,用户可实现多灯分组控制、场景切换及地理围栏等高级功能,显著提升智能家居部署效率。方案特别适合需要快速实现灯光群控的场景。

weixin_28675839的博客 419

安卓专项测试之流量

流量是指连接网络的设备在网络上所产生的数据流量。 一般分为应用运行期间网卡的下行和上行流量 获取流量方法: 1、流量统计文件:读取读取/proc/net/dev文件 其中 lo 为本地流量, rmnet0为移动流量, wlan0为无线流量 另外网络上还有其他两种本地读取流量的方式 (1)在/sys/class/net/下可以找到相关类别(如rmnet0)的目录.在其子目录statistics下rxbytes和txbytes记录收发流量. (2)在/proc/uid_stat/{uid}/tcp_rcv记录

fzxwl的博客 1019

Anki小白必看:手把手教你打造高颜值个性化笔记模板(附Leaflyer模板下载)

本文为Anki新手提供详细的个性化笔记模板设计指南,从基础配置到高级定制技巧,帮助用户打造高效记忆系统。特别推荐Leaflyer模板下载,通过视觉优化和功能强化,显著提升学习体验和记忆效率。

weixin_28717969的博客 433

手把手教你用YOLOv5和OpenCV实现DNF全自动刷图(含自动拾取与Boss战逻辑)

本文详细介绍了如何使用YOLOv5和OpenCV构建DNF全自动刷图系统,包括环境配置、游戏画面采集、目标检测、场景导航及操作控制等核心模块。通过实战案例,帮助开发者掌握游戏自动化技术,实现自动拾取与Boss战逻辑,提升游戏效率。

weixin_42628941的博客 448

功能测试(八)—— APP之专项测试、性能测试、性能测试工具SoloPi

如果没有基线,可以和竞品对比测试。能使用solopi完成APP的性能测试(CPU、内存、流畅度、流量、电量、启动速度、稳定性)能够实现APP的专项测试(兼容性、安装卸载升级、干扰测试(交叉)、Push推送、用户体验)能独立说出常用的APP命令格式(内存、CPU、安装、卸载、流量、启动时间、抓取日志)基线:如果有基线要求,CPU曲线图是否存在长期超过基线的现象(min)下图 : 蓝色曲线是问题曲线(长时间超过基线),红色曲线是正常曲线。内存, CPU, 流量, 电量, 启动速度, 流畅度、 稳定性。

此心光明事上练的博客 2万+

《Android最全面试题-Offer直通车》目录

如今Android求职是僧多粥少,竞争非常激烈,企业招聘时要求很高,本专栏汇聚android面试各种考点,各大公司Android面试题,《Android 最全面试题》将助你全方位提升,助您脱颖而出,早日拿到满意Offer。本专栏汇聚了海量优质内容,文章数量超过100 篇。凭借过硬的质量,每月新增订阅用户数以百计,如今仅需特惠价 9.9 元,限时抢购,后续将逐步恢复原价,早订阅早开启逆袭之旅。精心筹备,整理出一系列超万字精华篇章,累计数十万的 Android 面试题深度剖析。

大模型大数据攻城狮的专栏 2860

APP专项测试

APP专项测试包含:兼容性测试、交叉事件测试、安装、卸载、升级测试、推送测试、稳定性测试、内存测试、CPU测试、耗电量测试、流量测试、弱网测试等。

qq_40526148的博客 6071

SCI一区论文投稿终极技巧:Expert Systems With Applications;Knowledge-Based Systems

投稿计算机1区论文(如KBS、ESWA)的核心技巧包括:1)关键词选择需平衡范围与相关性,避免过细或过泛;2)研究内容聚焦单一核心创新点,避免内容分散;3)必须设计消融实验量化创新点的贡献;4)公开实验代码和数据集,确保可验证性;5)合理使用AI工具仅辅助写作,核心内容需自主完成;6)实验数据必须真实可靠。特别强调1区期刊对创新性和实验严谨性的高要求,需避免常见拒稿原因如内容分散、缺乏验证等。这些策略可提高投稿成功率,但前提是研究本身具有实质性创新。

ZhangJiqun&191cm&85kg 1154

使用ArcGIS Pro进行土地利用分类的机器学习与深度学习

传统的土地利用分类方法通常依赖于手动解译和规则定义,但随着机器学习和深度学习的发展,我们现在可以利用这些技术来自动化和提高分类的精度。ArcGIS Pro是一种功能强大的GIS软件,它提供了丰富的工具和功能,可以支持土地利用分类的机器学习和深度学习。我们将首先讨论数据准备和预处理的步骤,然后介绍常用的机器学习和深度学习方法,并提供相应的源代码示例。这可以通过人工标注或半自动的方式完成。数据裁剪:根据研究区域的范围,裁剪遥感影像数据,以减少计算和存储的负担,并确保只包含感兴趣的土地利用区域。

code_program481的博客 2039

Android专项测试

专项测试是在你功能测试中发现了非功能的点,但专项测试不局限于功能测试提过来的需求,也包括其他方面,比如日常的性能监控,或者一些指标评测。 包括: 内存、CPU、FPS、弱网络、电量、流量、流畅度、加载速度、成功率、内存、响应速度、稳定性、规划时间、内容推荐精准度、声源验证、竞品对比测试、支持视频格式 数值跟竞品比或者根据需求来,或者纵向的对比跟上一个版本比,比如性能的提升。 工具:GT GT:在A...

xinxin920606的博客 892

Multisim14.0仿真应用设计(十六)74LS138译码器应用仿真

74LS138为3线-8线译码器。

zhusl6688的博客 2981

Android测试之流量

或者,使用adb连接到测试机,cat /data/system/packages.list | grep com.yftest.apk ---com.yftest.apk为包名,可以查看出该包的UID以及安装位置等。(5)tcp_rcv代表下行流量,把tcp_rcv换为tcp_snd可以查看上行流量,cat /proc/uid_stat/UID号/tcp_snd。-v/-vv/-vvv,指定输出的详细程度,针对流量测试,我们不需要非常详尽的输出数据,-v就可以了,抓包过程中显示抓包的数量。

at1102010028的博客 1984

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

app专项测试模板

麦子金服财富Android APP专项测试报告 前言 设计用例,通过性能,稳定性和安全对麦子金服财富APP进行专项测试, 使用评分进行标准评估.选择京东金融和拍拍贷理财作为竞品对比, 为APP优化提供建议. 用例设计和测试标准 参照用户使用场景: 麦子金服的用户使用场景主要在前台使用和后台待机, 不存在后台使用场景, 所以设计如下专项测试用例 2.1 安全性测试 API接口数据使用ht...

suzhiyu521的博客 3915

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

APP专项测试、性能测试、adb命令

14、获取启动时间:adb shell am start -W 包名/activity名(-W::获取时间 S :启动前强停 ,冷启动 -R :数字,启动次数)16、获取CPU:adb shell top -s cpu(模拟器把cpu改成9)CPU占用过高可能出现的问题:手机卡顿、发烫、电量消耗严重(后台运行的程序太多)D:CPU运算:复杂的运算逻辑,死循环等会直接导致CPU负载过高,会导致耗电。屏幕类型:刘海屏、水滴屏、曲面屏、折叠屏。性能指标:内存、cpu、流量、电量、启动速度、流畅度、稳定性等。

weixin_42421116的博客 1868

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

移动端专项测试01-sdk环境及adb、安卓模拟器

app又崩溃了 app用久了手机好烫 app耗流量好多 app运行一段时间比较卡........ 实际客户使用过程中经常遇见以上情况,明明已经做过功能测试,为何还会出现类似的问题 因为普通的功能测试很难发现以上问题,需要借助其他工具针对以上问题,进行专项测试 1、Crash的问题 2、设备兼容性的问题 3、流量使用过多的问题 4、在不同的网络情况下,手机卡死或者白屏的情况.......

大麦 1284

Android APP专项测试之ADB命令

Android环境准备 Android APP专项测试需要使用adb命令 需要安装Android SDK参考,验证adb 数据线连接Android设备(或打开安卓虚拟机) Android设备进入开发者模式,打开USB调试、USB安装、USB调试(安全设置),修改GPU呈现模式分析为“在adb shell dumpsys gfxinfo中”(用于fps数据获取) APP专项测试 说明: 获取A...

小冯先生的博客 2540

从哪些方面开始专项测试?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 从哪些方面开始专项测试? APP专项测试: 系统:安卓、苹果(Android IOS) 1、应用性能测试(CPU 内存 电量 流量 温度) 1)CPU:空闲 中等消耗 高消耗,检测cpu的运行情况 adb shell dumpsys cpuinfo |grep packagename -t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量 top -m 5 -s cpu 2)内存 adb shel

weixin_44771153的博客 1860

移动App专项测试

移动App测试实战—专项测试 转自:http://www.51testing.com/html/58/n-3713758.html   我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了性能测试之后,测试工作看似比较完整了。但是当我们的App在大量的用户那里被安装和使用的时候,还是会有很多我们之前没有预料的问题被反馈回来,比如:   · Cras...

diaochuangqi7487的博客 1022
上一篇: Android内存泄露和GC机制
下一篇: Centos 7安装步骤
测试划水老师傅
博客等级 码龄10年 171粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试划水老师傅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值