性能测试策略

Android 性能测试策略

一:监测设备的内存和cpu 。

1. adb shell 的top 能够监测CPU

具体的命令为:adb shell top [-mmax_procs][-niterations][-ddelay][-ssort_column][-t]其中[]内的为可选项。max_procs表示最多显示多少个进程、iterations 表示要刷新的次数,delay 表示刷新的间隔时间(默认为5s ),sort_column表示按哪列排序,[-t]表示要显示线程信息而不是进程。

2. adb shell 的dumpsys meminfo 命令能够监测pad 的Pss 内存(Pss 是占用的私有内存加上平分的共享内存。例如一块1M 的共享内存被两个进程共享,那每个进程分500K 。各进程的Pss 相加基本等于实际被使用的物理内存,所以这个经常是最重要的参数。我也不太懂)。

用法:adb shell dumpsys meminfo com.iflytek.autofly 。最后那个“com.iflytek.autofly ”是包名,想监控哪一个就换哪一个包名就行了。

3.

组合起来可以是这样的:

这是用perl 写的程序,第一行的意思是:以在末尾追加的方式向d 盘的log_memory.txt文件(最好自己新建一个)里写入。注意那个“\”和“log ”字之间要有一个空格(我也不知道为什么)。然后进入死循环,第三行就是用dumpsys meminfo 获取com.iflytek.autofly 的Pss 等信息并放在a 变量中。第四行是获取当前的时间放入b 变量中。第五行就是用top ……。然后那个i++目前没什么用。第八、九、十三行是向文件

写入a 、b 、c 三个变量里的内容的意思。第十一行是写分割线,第十二行是让程序不要运行的太快,沉睡0.5s 之后再进行下一步的意思。

二:根据数据画图

使用工具抓取数据,并用Excel 绘图。可能是由于不同的Android 版本不同,导致dumpsys meminfo 获取的数据格式有所不同,需要使用不同的脚本:

三:数据分析

分析平均值,查看是否满足需求、是否达到验收标准。

峰值,查看是否出现异常情况,分析在什么操作下会出现异常,引起异常的原因是什么。变化趋势,查看折线图的变化趋势,分析是什么情况下对应什么样的曲线状态,并判断操作继续极端是否会出现内存溢出等异常。

平均值与峰值的差距,查看系统是否稳定,后期可以用正态分布加以完善。

四:测试报告

根据分析出的数据,结合需求文档、验收标准描述实际情况与标准的差距,给出测试报告。

Android 性能测试策略

一:监测设备的内存和cpu 。

1. adb shell 的top 能够监测CPU

具体的命令为:adb shell top [-mmax_procs][-niterations][-ddelay][-ssort_column][-t]其中[]内的为可选项。max_procs表示最多显示多少个进程、iterations 表示要刷新的次数,delay 表示刷新的间隔时间(默认为5s ),sort_column表示按哪列排序,[-t]表示要显示线程信息而不是进程。

2. adb shell 的dumpsys meminfo 命令能够监测pad 的Pss 内存(Pss 是占用的私有内存加上平分的共享内存。例如一块1M 的共享内存被两个进程共享,那每个进程分500K 。各进程的Pss 相加基本等于实际被使用的物理内存,所以这个经常是最重要的参数。我也不太懂)。

用法:adb shell dumpsys meminfo com.iflytek.autofly 。最后那个“com.iflytek.autofly ”是包名,想监控哪一个就换哪一个包名就行了。

3.

组合起来可以是这样的:

这是用perl 写的程序,第一行的意思是:以在末尾追加的方式向d 盘的log_memory.txt文件(最好自己新建一个)里写入。注意那个“\”和“log ”字之间要有一个空格(我也不知道为什么)。然后进入死循环,第三行就是用dumpsys meminfo 获取com.iflytek.autofly 的Pss 等信息并放在a 变量中。第四行是获取当前的时间放入b 变量中。第五行就是用top ……。然后那个i++目前没什么用。第八、九、十三行是向文件

写入a 、b 、c 三个变量里的内容的意思。第十一行是写分割线,第十二行是让程序不要运行的太快,沉睡0.5s 之后再进行下一步的意思。

二:根据数据画图

使用工具抓取数据,并用Excel 绘图。可能是由于不同的Android 版本不同,导致dumpsys meminfo 获取的数据格式有所不同,需要使用不同的脚本:

三:数据分析

分析平均值,查看是否满足需求、是否达到验收标准。

峰值,查看是否出现异常情况,分析在什么操作下会出现异常,引起异常的原因是什么。变化趋势,查看折线图的变化趋势,分析是什么情况下对应什么样的曲线状态,并判断操作继续极端是否会出现内存溢出等异常。

平均值与峰值的差距,查看系统是否稳定,后期可以用正态分布加以完善。

四:测试报告

根据分析出的数据,结合需求文档、验收标准描述实际情况与标准的差距,给出测试报告。


相关文章

  • 分享:08年年度测试工作总结及09年工作规划
  • 分享:08年年度测试工作总结及09年工作规划分享:08年年度测试工作总结及09年工作规划 1 08年年终改进点分析 08年年终改进点分析,共从四个维度进行,分别是:财务.顾客.内部流程.学习创新 测试流程.客户满意度.财务与绩效以及学习创新 ...查看


  • 软件测试选择题[1]
  • 1.坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发工程中尽早发现和预防错误,将出现的错误克服在早期( A ). A. 技术评审B.程序测试C.文档审查D.管理评审 2.经验表明,在程序设计中,某模块与其他模块相比,若该模块已发 ...查看


  • 一种使用反向学习策略的改进花粉授粉算法_井福荣
  • 第36卷第3期 江西理工大学学报 JournalofJiangxiUniversityofScienceandTechnology Vol.36, No.3Jun. 2015 2015年6月 文章编号:2095-3046(2015)03-0 ...查看


  • 软件测试试题库
  • 一.单选题(2分/题,共30分) 二.多选题(1分/题,共10分) 三.名字解释题(3分/题,共9个) 试题一 (http://xiaolifang84.blog.163.com/blog/#m=0) 一.判断正误题 1. 测试是调试的一个 ...查看


  • WebSphere性能调优-垃圾收集器
  • 基于WebSphere 构建的企业应用,时常会出现性能问题,在严重的情况下还会提示出内存溢出,这是一件很让人恼怒的事情.在WebSphere Application Server(Was)运行的时候,内存溢出,会生成大量的溢出文件,如Jav ...查看


  • 公司面试测试人员一般考什么
  • 公司面试测试人员一般考什么? 01. 为什么要在一个团队中开展软件测试工作? 02. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作? 03. 您是否了解以往所工作 ...查看


  • 常见的性能测试方法
  • 常见的性能测试方法有以下几种: 1.负载测试 在这里,负载测试指的是最常见的验证一般性能需求而进行的性能测试,在上面我们提到了用户最常见的性能需求就是"既要马儿跑,又要马儿少吃草".因此负载测试主要是考察软件系统在既定负 ...查看


  • 企业宣传策划书
  • 企业宣传策划书 封 面: 一份完整的广告策划书文本应该包括一个版面精美.要素齐备的封面, 一份完整的广告策划书文本应该包括一个版面精美.要素齐备的封面,以给新闻记者者以 良好的第一印象. 良好的第一印象. 广告策划小组名单: 广告策划小组名 ...查看


  • 软件测试面试必备知识
  • 1.为什么要在一个团队中开展软件测试工作? 因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作.在测试的过程中发现软件存在的问题,及时让开发人员 ...查看


热门内容