ios测试必备技能, Instruments - Allocation测试内存

   个人觉得, 对于专项的测试, 万变不离其宗的是策略,或者说是方案的设计.  对于执行步骤-预期结果等等这都是设计的过程中最为重要的, Apple为Ios的开发者提供了Instrument这个强大的工具箱,然而工具的使用不能说是自己已经学会了专项的技术, 策略永远是重点.

测试开始:

1 下面执行测试的是我自己写的一款APP,不如所料的是存在问题的(笔者开始学OC不久,而且之前都是脚本语言较多,对于移动端的测试略少,所以才开始学习OC),我们将使用Allocation进行内存测试

2 了解需求,制定测试方案(自导自演~~):

  1)需求:炫彩动图大师(实际内容并没有这么酷 - -),是一款自我定制(因为我常晚睡,想帮忙催眠下自己)

  

    @1,通过独有的精彩选图,被自己喜欢的音乐催眠,让自己轻松的入睡,(定制的,因为我就这么2 - - 好哄)

    @2,点击上一张,下一张,切换选gif图,音乐也随之切换.

  2)测试方案: <测试步骤>点击下一张,mark一下内存,持续4-5次后, 观察内存. <预期结果>不存在内存增长

3 执行测试:

  1)打开allocation

    ->                                  <Allocation>

  2)选择app-并且观察策略改为Generations,然后点击左上角红点 -> 开车

    

  3)执行:

  

    @1 启动app,待稳定后-点击一下mark

    @2 点击<下一张>,稳定后mark(这里的稳定后,可以通过上方的观察界面图形,看到稳定值)

    @3 重复第二步4-5次

    @4 点击左上角关闭,进入分析

    

  4) 分析:

    

    @1 如上图看出,每次执行后这里都存在的增量约为1M左右, 中间的我们参考从第二开始.

    @2 一般来说,第一次mark是启动之后,这里存在的值可能存在部分常驻单例, 所以不应该设计考虑,所以我们都是第二个mark开始

    @3  点开2-3-4-5的mark.(最底下选择All VM Regions)

      

    @4 如图可以看到,每一个mark都有个存在一个VM:MALLOC_LARGE就是我们每次增量的大头,而他也就是我们内存增长的原因

      

    @5 现在,将他点开,可以看到,本次需求的内存大头是它

      

(大家别注重我的初学者app代码,写个示例真的还是勉强, 我也会加强我的OC能力的,共勉哈)

这就是Allocation在我平时工作中的使用,但,测试, 永远重在沟通.

  

    

时间: 2024-10-06 04:29:51

ios测试必备技能, Instruments - Allocation测试内存的相关文章

测试必备技能系列6:软件安装部署是最基本的能力!

今天,老徐再来聊聊测试必备技能 必备技能系列6 软件安装部署,你必须会! 老徐简单陈述观点: 1. 对于刚入门的测试同学 或者还未入门的测试同学 刚开始工作,都是从功能测试开始 那工作之余呢? 当然是学点东西 2. 学习过程中,肯定有很多软件.工具需要自己部署安装摸索 否则,门都入不了,咋学? 3. 入门级,常见有哪些需要安装的? 1)虚拟机 2)linux服务器 3)基本环境部署:mysql jdk apache 等 4)数据库客户端工具 5)bug管理工具:jira等 6)其他,看具体想学的

测试必备技能系列1 :通过mysql命令进行脚本数据导入

老徐,分享测试项目中实际能解决问题的干货! 今日分享: 如何通过mysql命令行,导入mysql脚本文件数据? ----- 解决实际的问题: 工作过程中,经常需要导入mysql脚本文件 很多同学可能会说,直接通过mysql客户端导入,轻松搞定: 但是,很多服务器,为了安全考虑,并不会开放第三方客户端登录权限(当然有很多其他方式处理,今天不探讨): 这个时候,怎么导入脚本? ----- 前提: 你已经会操作mysql 知道mysql是啥 会基本的mysql命令 知道 mysql -u root -

Web测试必备技能——F12定位bug属于前端还是后台

chrom浏览器为例 (1)打开开发者工具,在浏览器菜单栏选择工具-开发者工具,快捷键是F12 (2)打开之后切换到Network页签,操作就可以看到请求响应 (3)再选择响应的链接,切换到Preview页签,可以看到响应的结果数据:切换到Headers页签可以看到请求的地址,请求的方式,结果等信息 (4)Response结果中可以看到返回的数据字段.值 如图,此时页面出现报错 点击该条报错信息 可以根据响应的值判断一些bug所在 (1)响应中没有数据,则是后端数据没有返回,前端展示为空,则为后

IOS性能调优系列:使用Allocation动态分析内存使用情况

硬广:<IOS性能调优系列>第三篇,持续更新,欢迎关注. <IOS性能调优系列:Analyze静态分析>介绍了使用静态分析方法查找IOS内存泄漏的方法,<IOS性能调优系列:使用Instruments动态分析内存泄漏>讲解了使用Instruments的Leaks工具动态分析内存泄漏. 这两篇都是关注于内存泄漏的,是内存调优首先要关注的方面. 关于内存的问题,除了内存泄漏以外,还可能存在内存不合理使用的情况,也会导致IOS内存警告. 内存的不合理使用往往比内存泄漏更难发现

高级测试/测试开发技能

从事软件测试许多年,想必很多人都有感到迷茫不知所措的时候,人生的十字路口有很多,该如何抉择呢?有人成功转型,QA.项目管理.配置管理.当然还有技术型,性能测试.自动化测试.测试开发,而想要延续走技术型路线,不可避免的就是钻研开发技术,说的通俗些就是coding的能力.软件测试所涉及的知识面很广,所以有些开发不要一味的黑测试诋毁测试的能力,当然不否认,现在大部分黑盒测试仍然局限在点点点,但技术需要提升,想要晋升为高级测试或者测试开发,所需要的能力变慢慢有所体现出来,测试所带来的价值也应声而来. 言

【转帖】系统软件工程师必备技能-进程内存的working set size(WSS)测量

系统软件工程师必备技能-进程内存的working set size(WSS)测量 2018年12月28日 18:43:01 Linuxer_ 阅读数:145 https://blog.csdn.net/juS3Ve/article/details/85333717 How To Measure the Working Set Size on Linux|来源:内核月谈 概述 本文主要摘自brendangregg大神的blog: http://www.brendangregg.com/blog/2

Unity3d与iOS交互开发——接入平台SDK必备技能

原地址:http://www.2cto.com/kf/201401/273337.html# 前言废话:开发手机游戏都知道,你要接入各种平台的SDK.那就需要Unity3d与iOS中Objective-C的函数有交互,所以你就需要用到如下内容: 一.Unity3d To iOS: 1.创建一个C#文件 SdkToIOS.cs 这是调用iOS函数的接口: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 public class SdkToIOS: Mo

程序员必备的开发和测试工具汇总

网络监测服务诞生于互联网井喷年代,对于网民来说,短短几年之内,经历了从浏览白底黑字的网页到硝烟四起的论坛,再到在线听歌.看片.网购支付.在线阅读.公共信息查询,人们还没来得及感叹进化之迅猛,移动互联网就伴随着手机.pad等各种终端扑面而来,模糊了线上线下的界限,把用户体验推向了极致.然后大家开始关注转向网页的兼容性.打开速度.交互体验.App应用的反应时间.能否被不同地区的用户访问. 下面介绍一些App应用从开发到服务性能监测的一些工具和途径: 开发工具: 1.Bizness Apps 一个傻瓜

【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结

Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃,最终成功运行,确实不容易,故此写篇文章,供大家参考,让大家少走弯路.一. 安装Appium(1) 先安装node-js,然后通过node-js命令安装 Appium     在https://nodejs.org/en/download/ 下载 macOS Installer (.pkg) 安装,