精华内容
下载资源
问答
  • App性能测试最佳实践

    2018-03-19 16:36:57
    性能测试最佳实践,简单列举了APP性能测试需要关注点等测试项,提供简单的参考思路
  • APP
  • iOS APP功能测试(完整版),总结了,在iOS APP测试过程中需要注意的点和细节,适合初学者的学习
  • APP性能测试

    千次阅读 2020-12-23 16:35:17
    本文将从APP性能维度、性能测试平台等维度全面讲解中兴努比亚APP专项性能测试和监控的案例实践。 一、APP性能维度分析 APP类型众多,根据具体类型划分,性能指标的维度和优先级各不相同。视频类APP归属于娱乐...

    如何把rom测试和手机预装APP测试得更好,用户体验、流畅度、功耗、启动时长等指标是中兴努比亚手机产品线最关注的层面。本文将从APP性能维度、性能测试平台等维度全面讲解中兴努比亚APP专项性能测试和监控的案例实践。

    一、APP性能维度分析

    APP类型众多,根据具体类型划分,性能指标的维度和优先级各不相同。视频类APP归属于娱乐游戏型的APP,因此性能测试维度优先级排序为:流畅度、crash、内存、流量、响应时长、功耗、CPU。

    表征不同维度指标的量化单位如图1所示。比如流畅度是FPS(帧率),内存是兆比等等。

    图1 不同维度指标的量化单位

    因为Android平台底层是由linux系统改良而来,不同维度的指标绝大部分都可以通过命令获取不同的指标(具体方法可以考加后面工具)。

    在iOS平台上,性能的获取必须使用Xcode里面instruments下的相应组件,不像开源的Android那样灵活,但技术上是可以做到各平台的性能指标获取测试。

    二、APP性能测试平台

    从2012年后,测试平台化、服务化的思路推广到全国各地。各大公司都开发了不同的性能测试平台,如图2所示。比较有代表性的性能测试平台包括:

    ●百度的慕斯(又名移动APP测试业务支撑平台(外部名称MTC:http://mtc.baidu.com));

    ●腾讯的bita;

    ●GT(http://gt.qq.com);

    ●itestin(最老的一个性能和兼容性测试平台http://i.testin.cn/)。

    由于IOS性能测试首先要涉及到签名的破解,所以所有平台一般都是从Android的APP进行切入点先行开发。

    图2 三大性能测试平台

    三、APP性能测试落地

    性能测试开展主要分线下性能测试和线上监控测试两大类。

    线下APP性能测试主要依靠传统测试手段和方法,比如PM和QA发起一个性能和竞品对比性能测试,此外,版本大改动、框架迁移,都需要重新进行APP性能测试。线下测试我们用一些比较稳定的平台和工具就足以应付,产品接入即可收集性能指标。百度内部产品线一般都接入了MTC平台;腾讯产品一般都用他们内部开发的GT工具,GT工具不但线下测试比较方便,线上测试性能也不错。

    线上监控测试主要是针对一些动态变化的情况,因为APP测试中关键的一点是场景化测试,即APP必须在特定场合,特别条件才触发某类问题。这时候比较E2E场景case指标功能,才能更精准衡量产品核心性能的能力。

    如我们在二、三线城市特定的网络下,观看某一部特定片源(爱奇艺视频源),并且离线缓存,这时候用到了不同地域网络和调用了爱奇艺在那个城市的server。这是在北京没法做到的场景,虽然可以借助vpn模拟异地场景测试。实际上效果并不良好,因为模拟取决于北京的网络情况,还有vpn不能模拟动态变化网络切换的场景。

    针对线上性能的监控,某公司深圳研究所做了个场测助手,这是一款方便收集性能,定位bug一体化的工具。

    四、APP性能指标获取手段

    下面是几个简单方便的方法,可以让你自己写脚本来获取各种性能指标。

    ● 4.1 Android系统指标获取

    CPU

    CPU的测试方法分为几类:

    使用Android提供的view plaincopy在CODE上查看代码片派生到我的代码片

    adbshell dumpsys CPUinfo |grep packagename >/address/CPU.txt来获取;

    使用top命令view plaincopy在CODE上查看代码片派生到我的代码片

    adbshell top |grep packagename>/address/CPU.txt来获取。

    内存

    内存消耗测试节点的设计目标是为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性。当然关于内存测试,在这里我们需要引入几个概念:空闲状态、中等规格、满规格。

    空闲状态指打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲;中等规格和满规格指的是对应用的操作时间的间隔长短不一,中等规格时间较长,满规格时间较短。

    内存测试中存在很多测试子项,清单如下:

    ●空闲状态下的应用内存消耗;

    ●中等规格状态下的应用内存消耗;

    ●满规格状态下的应用内存消耗;

    ●应用内存峰值;

    ●应用内存泄露;

    ●应用是否常驻内存;

    ●压力测试后的内存使用。

    电量

    电量测试主要从以下几个方面入手进行测试:

    ●测试手机安装目标APK前后待机功耗无明显差异;

    ●常见使用场景中能够正常进入待机,待机电流在正常范围内;

    ●长时间连续使用应用无异常耗电现象。

    电量测试的方法分为软件测试和硬件测试两类。

    软件测试又分为两类:第一类采用市场上提供的第三方工具,如金山电池管家之类的;第二类就是自写工具进行,这里一般会使用3种方法:

    第一种基于Android提供的PowerManager.WakeLock来进行;

    第二种比较复杂一点采用公式:功耗的计算=CPU消耗+Wakelock消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗;

    第三种通过adbshell dumpsys battery来获取。

    硬件测试,一般使用万用表或者功耗仪进行测试,使用功耗仪测试的时候,需要制作假电池来进行的,有些不能拔插电池的手机还需要焊接才能进行。

    启动时长

    关于应用的启动时间的测试分为三类:

    第一类:首次启动 --应用首次启动所花费的时间;

    第二类:非首次启动 --应用非首次启动所花费的时间;

    第三类:应用界面切换--应用界面内切换所花费的时间。

    那么如何来做启动时间的测试呢,一般我们分为2类:一类为使用软件来测试,一类为使用硬件来测试。

    首先我们说说软件测试的方法,可能大部分人都比较通晓使用Android 提供的DisplayManager来获取activity的启动时间。通过日志过滤关键字 Displayed来过滤所有activity所打印的,记录日志通过。

    帧率

    GPU这个词对于PC性能测试者来说并不陌生,而今3Dmax,安兔兔之类的第三方软件让GPU在移动端性能测试领域家喻户晓,但对于APP内的GPU该如何来测试呢?首先我们引入几个名词:过度绘制、帧率、帧方差。

    过度绘制是指界面显示的activity套接了多层导致的结果。帧率是指屏幕刷新率。帧方差是指屏幕刷新帧间隔方差。

    对于GPU的测试主要包括以下几个测试子项:界面过度绘制、屏幕滑动帧速率、屏幕滑动平滑度。

    对于过度绘制的测试主要通过人工进行测试,打开开发者选项中的显示GPU过度绘制来进行测试(PS:只有Android4.2及以上的版本才具备此功能),验收的标准为:

    不允许出现黑色像素;

    不允许存在4x过度绘制;

    不允许存在面积超过屏幕1/4区域的3x过度绘制(淡红色区域)。

    对于屏幕滑动帧速率的测试主要有两种方法。以软件测试为例:

    手机端需打开开发者选项中的启用跟踪后,勾选 Graphics 和 View;

    启动SDK工具Systrace插件,勾选被测应用,点击Systrace插件,在弹出的对话框中设置持续抓取时间,在tracetaps下面勾选gfx及view选项;

    通过节拍来进行滑动或者扫动滑动界面,帧率数据会保存到默认路径下,默认名称为 trace.html;

    将trace.html文件拷贝到linux系统下,通过命令进行转换,生成trace.csv文件。

    网络流量

    这里所指的网络流量测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试。流量测试,同样需要引入几个名词:

    中等负荷:应用正常操作;

    高负荷:应用极限操作。

    流量测试包括以下测试项:

    应用首次启动流量提示;

    应用后台连续运行2小时的流量值;

    应用高负荷运行的流量峰值。

    应用中等负荷运行时的流量均值测试一般都是应用软件来进行的,这里我们一般分为2类:

    一类是采用市场提供的第三方工具来进行测试,如流量宝之类的,第二类是自行研发工具进行测试。

    自行研发工具进行测试一般包含通过tcodump抓包,或通过wireshake直接读取包信息来获得流量。

    通过adbshell dumpsys package来获取被测应用的uid信息,在未操作应用之前,通过查看adbshell cat /proc/uid_stat/uid/tcp_rcv

    adbshell cat /proc/uid_stat/uid/tcp_snd

    获取到应用的起始的接收及发送的流量;再操作应用后,再次通过上述命令获取到应用的结束时接收及发送的流量,通过相减即得到应用的整体流量消耗.

    ● 4.2 IOS系统指标获取

    对于iOS系统,只需要一个装有xcode的mac电脑,便可相对容易地获取上述指标。xcode的最新版本是7.0。

    展开全文
  • APP功能测试

    2016-09-29 15:27:45
    APP功能测试
  • 主要介绍了android的基础知识、专项主题,包含内存、流畅度、网络优化、耗电量的知识,非常全面。
  • app性能测试笔记

    2018-06-23 13:17:39
    app性能测试,包括内存、CPU的监控、流量监控,耗电、弱网等
  • 移动应用的性能测试原理与传统桌面应用并无二致。但是,要全面测试移  移动应用日益普及,其重要性也日益增加,这已是不争的事实。优秀的用户体验将成为让用户驻足的原因之一。移动应用的性能测试原理与传统桌面...
  • APP性能测试工具.pptx

    2020-08-22 19:39:29
    一款使用方便,收集数据齐全的手机端app性能测试工具使用说明,上手极其简单,用在工作中有很高的实用性,对于做手机端测试的同行来说很有实用意义
  • 性能专项我们关注哪些: 1.关注资源消耗(CPU、内存、流量、功耗) 2.启动耗时(冷启、热启),(这个也是很多云测时用到的一个指标) ...(app除了这些性能测试,还有:手机版本号兼容性,屏幕分...

     性能专项我们关注哪些:

          1.关注资源消耗(CPU、内存、流量、功耗)

          2.启动耗时(冷启、热启),(这个也是很多云测时用到的一个指标)

          3.主要页面加载时间

          4.内存泄漏、抖动、卡顿、页面渲染(FPS)

    今天我也只总结资源消耗这块,先谈谈CPU

    普遍的apk性能测试,主要是以下七类

    1、响应
    2、内存
    3、cpu
    4、FPS (app使用的流畅度)
    5、GPU过度渲染
    6、耗电
    7、耗流
    (app除了这些性能测试,还有:手机版本号兼容性,屏幕分辨率兼容性,稳定性测试,安全测试等,后续会持续更新… 流量测试同这些一起更新,这里就不在说明了 )

    一、响应
    软件的响应时间和响应速度直接影响到用户的体验度,如果一个软件,迟迟加载不出来,会直接影响到软件的日活、留存。因此对于一个软件,对响应速度测试是必不可少的。

    主要测试点:
    1、冷启动:首次启动app的时间间隔(只是启动时间,不包括页面加载)
    2、热启动:非首次启动app的时间间隔(只是启动时间,不包括页面加载)
    3、完全启动:从启动到首页完全加载出来的时间间隔
    4、有网启动:从发起跳转,到页面完全加载出来的时间间隔
    5、无网启动:从发起跳转,到页面完全加载出来的时间间隔
    (在项目中,主要测试关注点是冷启动,热启动)

    测试方法:
    1、使用adb命令
    1) 冷启动
    adb shell am start -W packageName/ActivityName(绝对路径,首个Activity)


    含义:
    ThisTime: 该Activity的启动耗时;
    TotalTime: 应用自身启动耗时, ThisTime+应用application等资源启动时间;
    WaitTime: 系统启动应用耗时, TotalTime+系统资源启动时间

    2)热启动:按back按键后再启动adb命令


    测试标准:冷启动时间不超过1.5s, 热启动不超过1s.

    3)完全启动,无网启动,有网启动都可以通过charles抓包来获取启动的时间

    charles是一个很强大的抓包工具,除了截取请求还能进行单接口压测,修改请求参数并发出请求,以及模拟无网,弱网,2G,3G,4G等。能解决app的很多专项测试。


    限制网络情况需要用到charles的一个功能: Throttle Setting

    通过设置网速和抓包,可以获取启动时间,但是有一定的误差。在项目中,一般只需要测试冷启动,热启动便可。

    2、使用AndroidStudio的Android Monitor,查看手机日志系统输出
    Android Monitor总共有5大模块:logcat, memory, cpu, network,GPU
    我们可以通过logcat获取应用的响应时间(如何使用,内存中有介绍)

    cpu检测我们要分3种情况:

    1.在空闲时间的消耗,基本没大应用使用cpu

    2.在运行一些应用的情况下,cpu已占50%的情况下,观察应用程序占用cpu的情况  

    3.在高负荷的情况下看CPU的表现,我定义这个高负荷,cpu占用应是在80%以上

    1.1 如何查看CPU的使用值

    使用命令:adb shell dumpsys cpuinfo apk包名

    从上图我们可以看出:6.4%是针对这个CPU的占用率是6.4%,标红的地方5.2%占用率是用户使用的,1.1是内核的占用率,这个数只是针对1核来说,

    问题:现在手机都是多核的了,那这样的值也不会太准确,那怎么做?

    经验:一般这种取值的,我在测试的时候,会多采集几次,求平均值

    上面数据太多了,我们还可以可以用下面这个命令,和top命令,获取单个数据

    adb shell dumpsys cpuinfo |grep packagename

     

    2.内存篇

    内存的方式和cpu类似,我们通过多次采集,得出内存值,看内存是否异常,那如何获取内存值

    怎么取内存,用命令

    1.adb shell dumpsys meminfo

    2.adb shell meminfo PID

     

    手机运行速度就和内存有很大关系,我记得以前的同事可以研究这个内存,还专门成立了一个小组,可见这个水还是挺深的,而且自己也是知会一点,着重有几个指标需要理解:

    vss,虚拟内存 ,每一个应用时一个java虚拟机,系统会分配一个内存,内存每做一个操作,这样是控制内存的大小,但是不会大于最大限制,虚拟内存就就消失掉,我们比较关心

    Rss 物理内存(包含共享库的内存),应用实际占用的内存,

    pss实际使用的物理内存(比例分配共享占用内存) 如3个进程,那么进程的消耗就应该是除以3,才表示一个

    USS 进程中独自占用内存

    USS针对某个进程开始有内存泄漏的情况,是一个程序启动了会产生的虚拟内存,一旦这个程序进程杀掉就会释放   

    这个博主我觉得讲的更好,我只是皮毛而已http://blog.csdn.net/bigconvience/article/details/35553983

    n内存要多次测试

    使用PID的方式查看:

     

     

    我们关注的是:Heap size 是实际用到的内存       Heap alloc :是实际分配的值

    问题:但是你可以发现alloc<size 为什么会这样,我现在还是不是很还能懂,他们一句话解释是说:进程使用的是虚拟内存,虚拟内存使用远大于物理内存,我现在还不是很懂,

    内存我们还可以查看他的单个应用程序最大的内存限制

    adb shell getprop |grep heapgrowthlimit

    另外一种方式:我们还可以使用procrank工具,就可以查看内存值

     

    3.流量

    大神说可以使用adb shell cat/proc/“+PID+”/net/dev 的命令来查看流量数

    但是我觉得这样不准确,我获取流量的方式是通过抓包的方式,在一个操作内,看流量中的消耗,可以借助wireshork这个工具来帮忙

    大概以上是他提到的内容和自己的理解

    总结:

    做性能测试的方式有两种:1.竞品分析   2.版本对比  这是现在很多公司使用的一种方式

    在说一句:腾讯的GT还是很好用的,网上可以下载,可以试试

    展开全文
  • Android APP功能测试内容(完整版),全部个人总结,非常详细,绝对值得学习
  • APP性能测试工具

    2018-01-31 18:10:45
    1、手机整机性能测试 2、最新增加功耗测试 3、CPU、内存采集 4、自动化工具测试
  • App 性能测试主要指标及测试方法

    千次阅读 2019-07-17 19:27:32
    综述:了解一个APP性能测试的主要方面,为APP开发打好基础 1.性能指标 响应时延 启动时长 内存分析 CPU分析 流量测试 电量测试(在各种情况下APP的耗电量的测试) 弱网测试(在网络不好的情况下APP的运行...

    综述:了解一个APP性能测试的主要方面,为APP开发打好基础

    1.性能指标

    • 响应时延
    • 启动时长
    • 内存分析
    • CPU分析
    • 流量测试
    • 电量测试(在各种情况下APP的耗电量的测试)
    • 弱网测试(在网络不好的情况下APP的运行情况)

    2.什么是流量测试

    • 流量测试基本概念

     目前的网络类型包含2G\3G\4G\wifi,其中还有不同运营商的区分,我们在APP的使用中经常遇到大资源,重复请求,调用响应慢,调用失败等各种情况。在不同的网络类型之下,我们不仅要控制流量使用,还需要加快请求的响应。
    流量测试可以给我们带来什么?
    1.可以让我们很清楚的知道用户在某种场景下使用我们的产品需要消耗多少流量。
    2.流量数据分析可以指导我们去做优化;比如cgi的调用和参数设置是否合理,有些资源或者配置是否可以本地化?
    3.流量的优化可以带来速度的优化;减少tcp数据包的个数,或者直接减少请求数都可以带来速度的优化。

    • 测试项

     应用首次启动流量提示
    应用后台连续运行2小时的流量值
    应用高负荷运行的流量峰值
    应用中等负荷运行时的流量均值

    3.主要的测试工具

    • 使用adb工具及相关的命令
    • 在eclipse上使用mit插件查看内存

    4.adb工具的使用

    ADB(Android Debug Bridge) 是一个用于管理 android 终端(或者模拟器)状态的工具。它的 c-s 工作方式包含有下面主要部分: 客户端 – 客户端运行在 PC 端,通过执行 ADB 命令,可以获得用户资格。其他的 android 工具,例如 ADT , DDMS 等也可以建立 ADB 用户。 服务器端 – 在 PC 端有一个后台程序会运行,这个后台程序主要用于处理客户端与 Android 终端(或者模拟器)之间的通信。 Daemon 服务 – 这是一个运行在 Android 终端(或者模拟器)上的后台程序。

    想想在路通的应用就是使用这个工具,通过ip连接控制机顶盒,实现APP的安装和卸载,监控等;

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 移动app性能测试借助monkey,移动app性能测试脚本。
  • APP性能测试要点

    千次阅读 2019-10-12 15:49:56
    APP性能测试要点:一般性能测试、负载测试、压力测试、稳定性测试、 性能测试: 1.资源消耗: cpu的占用、内存的占用、流量的耗用、电量的耗用 2.响应能力测试: App安装、卸载的响应时间,启动消耗时间的测试(热启...

    APP性能测试要点:一般性能测试、负载测试、压力测试、稳定性测试、
    性能测试:
    1.资源消耗:
    cpu的占用、内存的占用、流量的耗用、电量的耗用
    2.响应能力测试:
    App安装、卸载的响应时间,启动消耗时间的测试(热启、冷启),页面加载时间的测试
    3.负载测试:
    进行负载测试是否有异常
    4.压力测试:
    进行压力测试是否有异常,进行压力测试看APP能承受的最大性能指标
    5.稳定性测试:
    稳定性测试的时候常会用monkey进行。主要通过monkey的伪随机事件流进行大量的点击、滑动等操作,这是为了检测出产品中隐藏的crash、anr等缺陷,确保没有问题。

    压力测试与负载测试两者区别
    • 相同点:
    都是性能测试
    • 不同点:
    1.负载测试强调系统正常工作情况下的性能指标
    2.压力测试的目的是发现在什么条件下系统的性能变得不可接受,发现应用程序性能下降的拐点。

    展开全文
  • Emmagee是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具。 该工具的优势在于如同windows系统性能监视器类似,它提供的是数据采集的功能,而行为则基于用户真实的应用操作 支持SDK:...
  • GT是腾讯推出的手机app性能测试工具,目前已经绝版,最新版本改名叫perfdog,收费较昂贵,我收集了最新的GT版本,供大家下载。
  • 因此,对功能和用户体验有特殊关注的App进行全面测试是必不可少的。如何做到测试用例的百分百覆盖一直是测试用例编写过程中的难点,首先在测试时我们经常会遇见一些常见的bug,那么我们可以在编写测试用例时考虑到...
  • 2.6性能测试流程 6 2.7测试术语 7 第三章 性能测试环境 8 3.1硬件配置 8 3.2软件配置 8 第四章 测试方案 9 4.1测试策略 9 4.1.1人力资源 9 4.2测试策略 9 4.2.1稳定性测试LTP 9 4.2.2基准测试unixbench 10 4.2.3压力...
  • 史上最全的APP通用测试用例。推荐理由:从安装卸载推送等功能方面,到安全性、易用性、兼容性、性能等等方面对APP的各个点进行检查,非常全面,是测试APP必备。
  • APP功能测试点(全)

    万次阅读 多人点赞 2019-04-11 14:11:59
    1.功能测试: ——根据产品需求文档编写测试用例。 ——软件设计文档编写用例。 注意:就是根据产品需求文档编写测试用例而进行测试。 2.兼容性测试: ——android版本的兼容性 ——手机分辨率兼容性 ——网络的...
  • Android APP功能测试(个人总结完整版)

    万次阅读 多人点赞 2019-04-27 22:07:56
    Android APP功能测试包含APP的安装卸载测试,界面测试,业务功能测试,APP特性测试,交叉事件测试,兼容性测试,升级更新测试,消息通知测试,功能键测试,手势测试等 1-APP的安装和卸载 1.1安装 软件在不同操作...
  • APP性能测试指标及测试点

    千次阅读 2019-11-19 10:19:21
    一、定义 1、一般提到的性能测试,是指服务端的性能测试,利用...4、判断是否需要进行APP性能测试,主要看时间成本,如果不追求用户体验,不进行性能测试也可以。一般互联网公司注重性能测试例如12306。 5、性...
  • APP性能测试分为手机端和服务端的性能。 手机端性能 手机端性能主要检查资源问题,如CPU,内的占用,耗电量、流量的情况。 1.CPU占用 据经验表明,在使用APP软件时,如果CPU占用率低于20%表示为最佳状态,如果CPU...
  • 手机APP测试报告

    2018-02-07 15:59:14
    测试报告为招标 手机 APP测试报告,目的在于总结测试阶段的测试情 况以及分析测试结果,描述系统是否符合用户需求,是否己达到用户预期的功能目标,并对测试质量进行分析。
  • app性能测试之Loadrunner

    千次阅读 多人点赞 2018-10-25 17:23:22
    app性能测试之Loadrunner 简介:对于手机端的app,怎样使用loadrunner测试?loadrunner12的版本是支持app性能测试的,但是并发用户数的设置有限,所以大家通常是这么做的:使用loadrunner12录制脚本,在12上跑一遍...
  • 我们在使用各种App的时候基本会关注到:这款软件挺耗流量的?运行起来设备掉电有点快嘛?... 今天就来从我们测试人员的角度,谈一谈App验收测试过程中需要关注到一些指标项目: 内存占用 CPU占用
  • App测试用例总结

    2018-03-08 14:06:21
    App测试用例总结 App测试用例总结 App测试用例总结
  • APP性能测试(1)——Jmeter

    万次阅读 多人点赞 2018-11-09 18:02:10
    本文介绍如何使用Jmeter对移动端APP进行性能测试。 1.测试方法: 手机设置代理,通过Jmeter录制手机APP脚本进行测试。 2.测试步骤: step1、基础环境准备:搭建测试基础环境,配置好APP后台服务器,安装好Jmeter...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 438,412
精华内容 175,364
关键字:

app功能测试