专项APP什么app上都是旅游有那些软件

当下软件园 / 汇聚当下最新最酷的软件下载站!
热门搜索:
您的位置:
> 粉笔公考专项题库怎么打印 粉笔公考APP专项题库打印方法
粉笔公考专项题库怎么打印 粉笔公考APP专项题库打印方法
在粉笔公考APP中,有非常多的试题,有些试题是可以打印打来的。那么,粉笔公考专项题库怎么打印呢?下面,小编就为大家介绍一下粉笔公考APP专项题库打印方法,一起来看看吧!
类别:学习办公 &&大小:27.37M &&&语言:简体中文
点击查看==&
粉笔公考中的专项题库是不可以打印的,套题可以打印。如果想知道试卷怎么打印,可以参考&&这篇教程哦!
以上就是关于&粉笔公考专项题库怎么打印&的方法介绍,希望对大家有所帮助哦!
如果想进一步了解粉笔公考的话,可以直接下载粉笔公考安卓版进行体验哦!
点击进入:
粉笔公考试题下载、打印相关教程
不少用户都选择使用了国产手机,其中荣耀10更是受到大家的欢迎,这还是要受益于它强大的智能辅助功能,其中就有专门为会议中使用的来电闪光灯。让你知道有来电又不会影响别人,还不知道怎么设置的小伙伴们继续看。
拼多多是一款最近非常流行的购物软件。现在很多人都想要在这里进行拼团吧,但是这么便宜的话这些东西会是正品吗?下面小编就告诉你!
相信很多用户都在手机上看优酷视频吧,但是里面很多都需要会员才可观看,下面小编就为你带来优酷会员共享一人一个不掉线,你值得拥有它们!
拼多多最近推出了限时免单活动,于是很多用户都在问这个活动到底是不是真的?有没有可以抢到免单的商品呢?下面小编就告诉你!
随着互联网的发展,利用互联网实施的诈骗也变得越演越烈,而首当其冲的想必就是社交软件的转账诈骗了,那么有什么办法可以让你追回微信上因为转账而被骗的钱呢?
Copyright (C)
www.downxia.com.All rights reserved.国内首部App监管专项法规发布,你读懂了吗?_智合法律新媒体_传送门
国内首部App监管专项法规发布,你读懂了吗?
作者 | 君合律师事务所
许蓉蓉、张岳、闵娜娜来源 | 君合法律评论(已获授权)■ 本文仅代表作者个人观点,不代表智合立场2016年6月28日,国家互联网信息办公室(以下简称“网信办”)发布《移动互联网应用程序信息服务管理规定》(以下简称“《应用程序规定》”),将从日开始施行。《应用程序规定》是国内第一部专门针对移动互联网应用程序(以下简称“App”)进行监管的专项法规,旨在加强对通过App提供信息服务的管理,进一步明确信息服务App提供者和互联网应用商店(以下简称“App Store”)服务提供者的责任和义务。一《应用程序规定》的适用范围《应用程序规定》主要适用于在中国境内提供相应服务的两类主体:(一)信息服务App提供者《应用程序规定》所适用的App主要指信息服务App,即通过预装、下载等方式获取并运行在移动智能终端上、向用户提供信息服务的应用软件。相应地,《应用程序规定》下App提供者的概念也主要指信息服务App的提供者,即提供信息服务的移动互联网应用程序所有者或运营者。(二)App Store服务提供者《应用程序规定》规定,App Store指通过互联网提供应用软件浏览、搜索、下载或开发工具和产品发布服务的平台。但是,《应用程序规定》并未明确App Store服务提供者的定义。依据通常的理解,App Store服务提供者一般指App Store平台的运营者。需要注意的是,对于App Store服务,《应用程序规定》并未将适用范围限定在信息服务App。换言之,无论App Store所提供的应用软件中是否包含信息服务App,App Store服务提供者均需遵守《应用程序规定》的要求。二《应用程序规定》的主要要求根据《应用程序规定》的规定,信息服务App提供者应履行以下义务:(一)依法取得法律法规规定的通过App提供信息服务的相关资质;(二)按照“后台实名、前台自愿”的原则,对注册用户进行基于移动电话号码等真实身份信息认证;(三)其他适用于互联网信息服务提供者的义务,如不得提供违法违规或侵犯知识产权的信息内容,对违法违规信息内容进行审核、监管和处置,保护用户个人信息和知情权、选择权等相关权益,保存用户日志记录等。特别地,基于App及作为App载体的移动智能终端的特点,《应用程序规定》要求,未向用户明示并经用户同意,不得开启收集地理位置、读取通讯录、使用摄像头、启用录音等功能,不得开启与服务无关的功能,也不得捆绑安装无关应用程序。根据《应用程序规定》的规定,App Store服务提供者应履行以下义务:(一)在业务上线运营三十日内向地方网信办备案;(二)审核App提供者的真实性、安全性、合法性等事项,建立信用管理制度,并向地方网信办分类备案;(三)其他对App提供者和App的管理职责,如督促App提供者保护用户信息并提供相应说明,督促App提供者发布合法信息内容及App,对不符合相关规定的App提供者进行审核、监管和处置等。三简评总体而言,《应用程序规定》的出台进一步加强了信息服务App及App Store服务的政策监管,但相关规定中尚存在一些不明确之处,有待于网信办的进一步解释和监管实践的明晰。具体简述如下:(一)在一定程度上明确了信息服务App的资质要求,并建立了App Store备案制度通过App提供的信息服务属于广义上的互联网信息服务范畴,其实现原理和服务性质与通过网站形式向用户提供的信息服务并无实质差别。但是,由于App的流行和普及时间不长,在很长的一段历史时期内,相关法律法规并未对App信息服务的监管作出明确的规定,很多地方电信主管部门也通常不将App纳入电信业务监管的范畴。2015年12月25日,工业和信息化部发布了《电信业务分类目录(2015年版)》,首次明确将“智能终端等的客户端软件”纳入信息服务业务的范围,为App信息服务的监管提供法律法规依据。本次《应用程序规定》中要求,信息服务App应依法取得法律法规规定的相关资质。虽然《应用程序规定》并未指明相关资质的具体内容,但根据电信法律法规,我们理解该相关资质即指互联网信息服务业务经营许可证(即ICP证)或ICP备案。由此,信息服务App的监管政策得到了进一步的明确。同时,对于App Store服务和其提供的相关App,《应用程序规定》新增了备案要求。因此,在《应用程序规定》实施后,经营AppStore平台的主体除需取得ICP证等现行法律法规所要求的资质,还需按照《应用程序规定》的规定履行相应的备案程序。(二)在信息服务App领域明确引入实名制要求早在日全国人民代表大会常务委员会通过的《关于加强网络信息保护的决定》中即规定,为用户提供信息发布服务的网络服务提供者,应当在与用户签订协议或者确认提供服务时要求用户提供真实身份信息。本次《应用程序规定》进一步将实名制要求引入App信息服务领域,明确规定信息服务App提供者应按照“后台实名、前台自愿”原则对注册用户基于移动电话号码等进行真实身份信息认证,无论信息服务App是否提供信息发布服务。因此,在《应用程序规定》实施后,运营信息服务App的主体在用户注册时需设置手机验证等真实身份信息认证流程,以满足《应用程序规定》的要求。(三)《应用程序规定》仍存在一些不明确之处1.《应用程序规定》主要适用于提供信息服务的App,对于并不提供信息内容的以功能性为主的App(例如苹果公司的Keynote应用软件)是否同样需要满足《应用程序规定》的要求,其规定并不明确。2.《应用程序规定》中的信息服务App提供者的概念不仅包括相关App的运营者,还有可能包括相关App的所有者(通常理解为相关App的著作权人)。实践中,在通常情况下,App的所有者和运营者通常是同一主体,但在某些特殊情况下,也可能分别为不同主体(例如制作App的主体并无ICP证,而需委托具有ICP证的另外一个主体进行App的运营)。在此情况下,App的所有者是否仍有义务遵守和履行《应用程序规定》,此问题并不明确。3. 根据《应用程序规定》,App Store服务提供者应对App提供者进行真实性、安全性、合法性等审核,建立信用管理制度,并向地方网信办分类备案。此处要求进行备案的内容为App提供者的审核情况,还是App Store服务提供者已建立的信用管理制度,并不十分明确,有待于进一步关注网信办的实践操作。4.《应用程序规定》适用于在中国境内提供App Store服务的主体,对于国外主体以跨境方式提供的专门面向中国用户(如通过境内的内容分发网络(CDN)和互联网数据中心(IDC)等基础设施为境内用户提供服务)的App Store服务是否纳入《应用程序规定》的监管及如何进行监管,《应用程序规定》并未规定。在App信息服务和App Store服务监管逐步加强的背景和趋势下,我们不排除网信办有可能在未来会同电信主管部门对此类服务进行进一步监管。____________________责编 | Wendy编辑 | Angie分类 | 转载原文标题:君合法评丨国内首部App监管专项法规发布-《移动互联网应用程序信息服务管理规定》解读· 正文完,欢迎点击下方智合在线沙龙,最快获得一手实务经验 ·(点击文末“阅读原文”报名参加)投稿请联系微信:txqm33 / wjx-Wa,点击获取转载请联系微信:soyabeancat,点击获取 邮箱:
本站仅按申请收录文章,版权归原作者所有如若侵权,请联系本站删除
觉得不错,分享给更多人看到
智合法律新媒体 微信二维码
分享这篇文章
7月22日 22:13
智合法律新媒体 最新文章移动APP测试 【4】-- 专项测试
时间: 18:00:59
&&&& 阅读:243
&&&& 评论:
&&&& 收藏:0
如下问题:
  Crash&
  设备兼容
  流量使用过多
  APP 导致用户手机电量消耗过快
  在不同网络情况下不稳定,比如 卡死 和 白屏的问题
  针对某个特殊方面或者问题的,称之为 专项测试
    如 兼容性测试,流量测试, 电量测试, 弱网络测试, 稳定性测试, 安全性测试 和 环境相关的测试
一  兼容性测试
    也是功能性测试,只不过侧重在不同的软硬件环境
  1  环境准备
    针对APP通常会考虑:
      OS version , 屏幕分辨率 , 不同厂家的ROM,网络类型
  2  基于 UI 自动化脚本的云测试方案
      如 Testin
二  流量测试
   流量的消耗: 用户的操作, 后台【即 用户没有直接使用情况下的流量消耗】
  1  Android App 特有的流量测试方法
    a) 基于 系统自带的 统计功能
      proc/uid_stat/[UID] /tcp_snd
      proc/uid_stat/[UID]/tcp_rcv
  2  IOS APP 特有的流量测试方法
    a) 通过 Instruments 自带的 Network 来查看网络流量
  3  通用的流量测试方法
    手机上抓包
      windows 【 Wireshark】 , Linux 【 tcpdump 】 , Android 【tcpdump 】
      tcpdump -s 0 -w t1.pcap -v&
    基于 WiFi 代理的方式,获取流量数据
    自动化流量统计方案:
      通常会使用 Fidder 工具 进行HTTP 抓包,并进行手动分析
  4  常见的流量节省的办法
    数据的压缩, 不同数据格式的采用, 控制访问的频次, 只获取必要的数据
    缓存 【需要,控制缓存的有效期和更新策略】,针对不同的网络类型设计不同的访问策略
三  电量测试
  1  Android 电量测试方法
    1)  基于 硬件的测试方案, 可以较为 精确的测试手机的电量消耗情况
      GSam Battery Monitor Pro 查看 电量消耗
    2)  借助一个第3方APP 来 评估手机上 各个APP的电量消耗
  2  IOS 电量测试方法
四  弱网络测试
  当 网络环境复杂的时候,App 才暴露的一些 问题
  1  借助手机自带的网络状况模拟工具
    主要针对 ios , 对 android 的 支持不好
  2  基于代理的弱网络的模拟
    Windows 下的 Network Delay Simulator
    Mac 下的 Network Link Conditioner
五&  稳定性测试
  1  基于 Monkey 的稳定性测试
      Monkey &是 Android 系统自带的 , 由 Java 编写的,在 Android 中的 路径 /system/framework.monkey.har
      shell 程序的位置 /system/bin/monkey
      monkey -p APP_NAME -v &显示 执行时的信息 COUNT 发送的 事件数目
      monkey 可以 模拟: APP click , 滑动,key-input, 还模拟了各种手机系统的操作, 调整音量,打开通知栏,改变网络状态,锁屏
      monkey 测试停止条件,主要有
        1)  执行次数到了
        2)  如果限定了 Monkey 运动在一个 或者几个 特定的包上,当监测到试图转到 其他的包的操作, 会对其进行终止
        3)  Application 崩溃或者接收到任何失控的异常, Monkey 将 停止并且报错
        4)  Application 发生了 ANR 【 应用程序不响应】的错误, Monkey 将停止 并且报错
        【NOTE】 MonkeyRunner 和 Monkey 并无任何关联
            MonkeyRunner 是一个 工具包,提供了 一些API,可以在 Android 代码之外,控制 Android 设备和模拟器,相比 Monkey 不可控的模拟事件, MonkeyRunner 可以通过自己的代码,来启动APP,控制发送模拟的击键操作
        Android &ANR 是一个比较容易 遇到的 稳定性问题, 当 APP 遇到以下两种情况之一时,会发生 Application Not Responding&
          a)  输入事件 5 秒内未响应完成, 如 点击屏幕,按键等操作
          b)  BroadcastReceiver 10 秒内 未 执行完毕
          常见的造成 ANR 的原因之一,就是 在 主线程执行了 耗时过长的操作
          Android ANR 的日志 存放在 /data/anr/traces.txt&
              包括了 App 每个线程的 堆栈信息, developers 可以通过 这个文件,进行排查
     3  基于 模糊测试 思路的 稳定性测试方法的探索
         借鉴了 模糊测试 Fuzzing Test 的 思想,模糊测试 常常用户 做 安全性测试,发掘安全漏洞
六  安全测试
  1  安装包测试
    1)&  能否反编译代码 ,
          使用 dex2jar 工具 结合 jd-gui 工具查看 源代码
    2)  安装包是否签名
          ios 无需考虑
          Android &没有此类检查, 需要在发布前 校验一下 签名使用的 key 是否正确, 以防被恶意的第三方应用覆盖安装等问题
            check : jarsigner -verify -verbose -certs apk包路径
    3)  完整性校验
        check 安装包的 md5 值,可以自动化
    4)  权限设置检查
        Android 平台上,我们可以 直接检查manifest 文件来 读取 应用所需的全部权限
        IOS 则是在 APP 使用到其他权限的时候,才会提示
  2  敏感信息测试
    1)  数据库是否存储 敏感信息
        比如 cookie 保存到 数据库中, 别人 捡到手机,信息将会丢失
        一般, 敏感信息 需要在 用户注销操作后 删除,如 , cookie 类数据,建议设置合理的 过期时间
    2)  日志中是否存在 敏感信息
    3)  配置文件是否存在敏感信息
  3  软键盘劫持
    比如金融 APP, 不能使用 第三方软键盘, 而应该使用,应用中 自带的 软键盘
  4  账户安全
    对于账户的安全性,我们一般需要 关注一下几点
    1) password&
    2) policy
    3) session
    4) logout
  5  数据通信安全
  6  组件安全测试
      Android 平台的各个组件 是否能被 外部应用 恶意 调用,从而带来一些安全问题 , 包括 &Activity , Service , ContentProvider , Broadcase 等等,  采用的测试方法,是通过 使用 drozer 工具 + code&
    1)  服务端接口测试
        SQL, XSS , CSRF , 越权
  7  环境相关的测试
    比如 有些APP 会用到 摄像头,加速感应等硬件
    1)  干扰测试
        收到 电话,短信,通知栏信息,无电提示框弹出,第三方软件告警框弹出
    2)  权限测试
        用户禁止了某些 权限,会导致 UI不友好 ,程序 崩溃
    3)  边界情况
        手机 本身的环境
          可用 存储空间减少, 没有SD卡/双 SD卡,飞行模式,系统时间有误,第三方依赖
    4)  Android 定位测试
        白盒方式  由于定位代码 最终获取的是一个位置对象,我们只需要在 获取到位置对象后,手动设置 经度纬度进行测试
        模拟器 模拟
            
        
      
&标签:原文地址:http://www.cnblogs.com/Nancy0401/p/5590868.html
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!查看: 504|回复: 2
Android APP性能及专项测试
该用户从未签到
1. 性能测试
Android性能测试分为两类:
1、一类为rom版本(系统)的性能测试
2、一类为应用app的性能测试
Android的app性能测试包括的测试项比如:
1、资源消耗
2、内存泄露
3、电量功耗
5、网络流量消耗
6、移动终端相关资源利用率
8、渲染等等....
(工具的原理都是基于调用android底层的一些api来获取到测试所用到的值)GT等
测试方法:
1、设计场景 :手工或自动化场景
2、获取数据:可获取的数据包括:内存、cpu、电量功耗、hprof(内存泄露分析文件)、响应时
间等等。。。。配合手工或自动化场景来获取数据(最好多取几次而且每次配合不同的设备看平
均值)作为最后的对比分析
3、结果分析 :拿到数据后分析哪些模块的数据异常再去Check code定位问题的原因
Android系统的几种场景状态:
1、空闲状态: 指打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲
2、中等规格和满规格状态:中等规格和满规格指的是对应用的操作时间的间隔长短不一,中等规
格时间较长,满规格时间较短
1.1 内存篇
背景知识:
C/C++申请的内存空间在native heap中,而java申请的内存空间则在dalvik heap中。这个是因为
Android系统对dalvik的vmheapsize作了硬性限制,当java进程申请的java空间超过阈值时,就会抛
出OOM异常(这个阈值可以是48M、24M、16M等,视机型而定),可以通过adb shell getprop |
grep dalvik.vm.heapgrowthlimit查看此值。也就是说,程序发生OMM并不表示RAM不足,而是因
为程序申请的java heap对象超过了dalvik vmheapgrowthlimit。也就是说,在RAM充足的情况下,
也可能发生OOM。
这样的设计似乎有些不合理,但是Google为什么这样做呢?这样设计的目的是为了让Android系统
能同时让比较多的进程常驻内存,这样程序启动时就不用每次都重新加载到内存,能够给用户更
快的响应。迫使每个应用程序使用较小的内存,移动设备非常有限的RAM就能使比较多的app常
驻其中。但是有一些大型应用程序是无法忍受vmheapgrowthlimit的限制的
实际上dalvik.vm.heapgrowthlimit和dalvik.vm.heapsize都是java虚拟机的最大内存限制,应用如果
不想在dalvikheap达到heapgrowthlimit限制的时候出现OOM,需要在Manifest中的application标签中
声明android:largeHeap=“true”,声明后应用dalvik heap达到heapsize的时候才会出现OOM
内存测试中的测试子项:
1)空闲状态下的应用内存消耗情况
2)中等规格状态下的应用内存消耗情况
3)满规格状态下的应用内存消耗情况
4)应用内存峰值情况
5)应用内存泄露情况
6)应用是否常驻内存
7)压力测试后的内存使用情况
内存问题现象:
1)内存抖动
2)大内存对象被分配
3)内存不断增长
内存数据获取:
1、各种linux命令(top、free、meminfo…)
2、通过dumpsys
adb shell dumpsys meminfo [pakagename | pid]
3、通过/system/xbin/procrank工具
adb shell procrank
VSS – Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS – Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS – Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS – Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) USS 是针对某个进
程开始有可疑内存泄露的情况,是一个程序启动了会产生的虚拟内存,一旦这个程序进程杀掉就
会释放。不过USS需要通过root的手机。一般没有root的手机我们可以获取PSS。而PSS通过如下
命令来获取:adb shell dumpsys meminfo &Package Name&|grep TOTAL
4、通过android提供的procrank
1)首先去google获取procrank、procmem、libpagemap.so三个文件
2)然后push文件,执行 adb push procrank /system/xbin adb push procmem
/system/xbin adb push libpagemap.so /system/lib
3)赋权 adb shell chmod 6755 /system/xbin/procrank adb shell chmod 6755 /system/xbin/
procmem adb shell chmod 6755 /system/lib/libpagemap.so ,
4)在开启工具记录 adb shell procrank |grep packagename &/address/procrank.txt
5、通过android提供的ActivityManager的getMemoryInfo(ActivityManager.MemoryInfo outInfo)
(这个方法是写一个简单的app去监控的时候用到的,轻便简单)
private void GetMemory()
{
final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(info);
Log.i(tag,&系统剩余内存:&+(info.availMem && 10)+&k&);
Log.i(tag,&系统是否处于低内存运行:&+info.lowMemory);
Log.i(tag,&当系统剩余内存低于&+info.threshold+&时就看成低内存运行&);
}
6、Memory&&Monitor (android studio的插件)&&【makedown???】
4. /proc/meminfo文件里列出的字段解释:复制代码MemTotal: 所有可用RAM大小。 MemFree: LowFree与HighFree的总和,被系统留着未使用的内存。
Buffers: 用来给文件做缓冲大小。 Cached: 被高速缓冲存储器(cache memory)用的内存的大小
(等于diskcache
minus SwapCache)。 SwapCached:被高速缓冲存储器(cache
memory)用的交换空间的大小。已经被交换出来的内存,仍然被存放在swapfile中,用来在需要
的时候很快的被替换而不需要再次打开I/O端口。
Active: 在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要,否则不会被移作
他用。 Inactive:
在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径。 SwapTotal: 交
换空间的总大小。 SwapFree:
未被使用交换空间的大小。 Dirty: 等待被写回到磁盘的内存大小。 Writeback: 正在被写回到磁盘
的内存大小。
AnonPages:未映射页的内存大小。 Mapped: 设备和文件等映射的大小。 Slab:
内核数据结构缓存的大小,可以减少申请和释放内存带来的消耗。 SReclaimable:可收回Slab的大小。
SUnreclaim:不可收回Slab的大小(SUnreclaim+SReclaimable=Slab)。
PageTables:管理内存分页页面的索引表的大小。 NFS_Unstable:不稳定页表的大小。
5. android检查内存泄露步骤:
1、运行Monkey进行压力测试:
adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 --ingore-crashes --throttle 1000
-s 100 -v -v 50
2、监控内存值,如果出现过大等递增异常则保存HPROF文件(hprof文件是Java 虚拟机的Heap快
照)用于分析查看应用内存的命令:
adb shell dumpsys meminfo cn.microinvestment.weitou(进程名)
如果发现内存过大,则保存HPROF文件:adb shell am dumpheap &进程名& &保存路径&
3、分析hprof文件
用工具MAT来查看,首先还要这个HPROF文件转换成MAT可读的文件
在Android SDK tool里面有个hprof-conv命令:
hprof-conv &原HPROF文件路径& &转换后的HPROF路径&
hprof-conv a.hprof b.hprof
4、用MAT工具打开转换后的HPROF文件
一般选择Leak Suspects Report(通过SQL语句来查询对象有没有被释放掉,如果有多个相同的对象,
则会存在内存泄露的问题)
CPU测试中的测试子项:
1)空闲状态下的应用CPU消耗情况
2)中等规格状态下的应用CPU消耗情况
3)满规格状态下的应用CPU消耗情况
4)应用CPU峰值情况
CPU数据获取:
1)adb shell dumpsys cpuinfo | grep packagename
adb shell top -m 10 -s cpu #查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,
-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)
adb shell top | grep PackageName & /address/cpu.txt
1.3 流量篇
中等负荷:应用正常操作
高负荷:应用极限操作
流量测试中的测试子项:
1、应用首次启动流量值
2、应用后台连续运行 2 小时的流量值
3、应用高负荷运行的流量峰值
4、应用中等负荷运行时的流量均值
获取流量数据:
1、tcpdump+wireshark
2、/proc/net/目录下相关文件
cat /proc/net/dev 获取系统的流量信息
3、查询应用的pid: adb shell ps | grep tataufo #如:31002
通过PID获取该应用的流量数据: adb shell cat /proc/31002/net/dev
(wlan0代表wifi上传下载量标识, 单位是字节可以/1024换算成KB, 打开手机飞行模式再关掉就可以
将wlan0中的值初始化0)
4、查询应用的pid: adb shell ps | grep tataufo #如:31002
通过PID获取UID:adb shell cat /proc//status
通过UID获取:adb shell cat /proc/net/xt_qtaguid/stats | grep 31002
5、通过adb shell dumpsys package来获取应用的uid信息,然后在未操作应用之前,通过查看 :
adb shell cat /proc/uid_stat/uid/tcp_rcv
adb shell cat /proc/uid_stat/uid/tcp_snd
获取到应用的起始的接收及发送的流量,然后我们再操作应用,再次通过上述2条命令可以获取到应
用的结束的接收及发送的流量,通过相减及得到应用的整体流量消耗
6、Android代码:Android的TrafficStats类
该用户从未签到
1.4 功耗篇
功耗测试中的测试子项:
1、手机安装目标APK前后待机功耗无明显差异
2、常见使用场景中能够正常进入待机,待机电流在正常范围内
3、长时间连续使用应用无异常耗电现象
功耗测试方法:
方法一:软件
1、采用市场上提供的第三方工具,如金山电池管家之类的。
2、就是自写工具进行,这里一般会使用3种方法:
1)基于android提供的PowerManager.WakeLock来进行
2)比较复杂一点,功耗的计算=CPU消耗+Wake lock消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗
3)通过 adb shell dumpsys battery来获取
3、battery-historian(google开源工具)
方法二:硬件
一般使用万用表或者功耗仪安捷伦进行测试,使用功耗仪测试的时候,需要制作假电池来进行的,
有些不能拔插电池的手机还需要焊接才能进行功耗测试
1.5 GPU篇(FPS)
过度绘制: 界面显示的activity套接了多层而导致
帧率:屏幕滑动帧速率
帧方差: 屏幕滑动平滑度
**FPS:**Frames Per Second 每秒显示的帧数 根据人眼的生理结构,帧率高于24时就被认为是
连贯的。对于游戏画面30fps是最低能接受的,60fps逼真感,如果帧率高于屏幕刷新频率就是浪费。
要达到30fps,每帧所占用的时间要小于33毫秒
GPU测试中的测试子项:
1、界面过度绘制
2、屏幕滑动帧速率
3、屏幕滑动平滑度
过度绘制测试:(人工进行测试)
打开开发者选项中的显示GPU过度绘制(Debug GPU overdraw)
验收的标准:
1、不允许出现黑色像素
2、不允许存在4x过度绘制
3、不允许存在面积超过屏幕1/4区域的3x过度绘制(淡红色区域)
屏幕滑动帧速率测试:
1.手机端打开开发者选项中的启用跟踪后勾选Graphics和View
2.启动SDK工具Systrace,勾选被测应用,点击Systrace,在弹出的对话框中设置持续抓取时间,
在trace taps下面勾选gfx及view选项
3.手工滑动界面可以通过节拍来进行滑动或者扫动,帧率数据会保存到默认路径下,默认名称为
trace.html
4.将trace.html文件拷贝到linux系统下通过命令进行转换,生成trace.csv文件
grep 'postFramebuffer' trace.html | sed -e 's/.]\W//g' -e 's/:.*$//g' -e 's/.//g' & trace.csv
5.用excel打开文件计算得到帧率
硬件的方法,打开高速相机,开启摄像模式,录制手工滑动或者扫动被测应用的视频,再通过人
工或者程序数帧的方法对结果进行计算得到帧率
屏幕滑动平滑度的测试:
方法如同帧率测试,唯一的差异就是最后的结果计算公式的差异
捕获app帧率(android流畅度FPS测试):
1、打开手机开发者选项,勾选GPU显示配置文件(系统会记录保留每个界面最后128帧图像绘制
的相关时间信息)
2、adb shell dumpsys gfxinfo com.xxx.xxx & zinfo.txt
3、结果数据分析
Profile data in ms部分:
Draw: 创建显示列表的时间(DisplayList),所有View对象OnDraw方法占用的时间
Process: Android 2D渲染引擎执行显示列表所花的时间,View越多时间越长
Execute:将一帧图像交给合成器(compsitor)的时间,较小
其他工具:
GameBench 测试android app的FPS工具
Gfxinfo 查看app绘制性能工具
1.6 响应时间篇
1)从单击事件触发到容器启动NativeAPP消耗的时间(埋点)
2)NativeAPP完整启动消耗的时间(可以通过system.log获取)
3)Native调用RPC请求方法的延迟时间(埋点)
4)RPC请求发出去过程中的具体数据(req_size req_header req_time等,通过埋点获取)
5)RPC请求返回的具体数据(res_size res_header res_time等,通过埋点获取)
6)本地解析返回数据所消耗的时间(埋点或者TraceView工具可获取)
7)界面渲染的时间(可以通过慢速摄像机或者埋点获取)
android app启动时间测试
(安卓Activity启动过程性能剖视: )
应用的启动时间的测试,分为三类:
1)首次启动 --应用首次启动所花费的时间
2)非首次启动 --应用非首次启动所花费的时间
3)应用界面切换--应用界面内切换所花费的时间
应用启动时间数据获取:
1、adb logcat & /address/logcat.txt #所有activity打印的日志
find “Displayed” /address/logcat.txt & /newaddress/fl.txt #通过日志过滤关键字Displayed来过滤
find “ActivityName” /newaddress/fl.txt & /newaddress/last.txt #通过activity名来过滤获取所测应用
通过计算activity最后剩余的时间之和即可
2、硬件测试, 使用高速相机或者手机采用录像的方法把应用启动过程给录制下来,然后通过人工
数帧或者程序数帧的方式计算启动时间
2 弱网测试
测试方法:
1、使用真实的SIM卡、运营商网络来进行测试(移动无线测试中存在一些特别的BUG必须在特定的
真实的运营商网络下才会发现)
2、通过代理的方式模拟弱网环境进行测试(charles 硬延迟)
3、连接模拟弱网的热点进行测试
热点模拟方法:
1)通过设置iPhone的开发者模式之后共享热点(硬延迟)
2)FaceBook开源的ATC(可使用树莓派来搭建ACT环境)
用户体验需要做的:
1)在应用中统一弱网加载的界面样式、动画效果、菊花icon等
2)统一网络错误、服务端错误、超时等展现给用户的界面和提示语句
3)定义清楚在每个中间过程是的用户交互行为
TA的每日心情衰5&小时前签到天数: 544 天连续签到: 1 天[LV.9]测试副司令
站长推荐 /3
你真的了解性能测试吗?如果您想了解更多,可以找专家进行提问哦
了解自己的心里圈,学习不同的内容,让自己由内而外强大起来!
众里寻你千百度
缘来你需要的在此处
2018博为峰讲师团招聘全行业兼职讲师
Powered by

我要回帖

更多关于 移动app软件下载中心 的文章

 

随机推荐