51Testing软件测试论坛
标题:
关于游戏测试-内存泄露客户端版本
[打印本页]
作者:
jiazurongyu
时间:
2012-3-8 11:54
标题:
关于游戏测试-内存泄露客户端版本
测试对象:flash等游戏
必须使用工具:windows下带资源管理器和“性能”
环境:采用不编译/不看代码黑盒的办法
基于系统性的做性能测试,效果佳,时间长。白盒动态也有,使用T-Profiler来寻找泄漏效果中等,时间短[来源:GameRes.com],需分析,不过还是通过黑盒的业务来分析最后的结果。加载/卸载多个SWF模块,但是存在一个调用次数的问题,容易误诊,可能和我技术有关(也无法关联测试handle,calls)。白盒静态,效果佳,极难,时间中等。如果单纯丢份代码分析“水晶一样的报表”给程序,我想完全无效果,马路边找个mm,都可以10分钟教会她如何玩该环节的白盒静态。废话说完,入正题。
内存泄露在产业中,以验证客户端为主。服务端不会出现out memory of error之类的错误,除非是那种运载很久后台的程序。
内存泄露原理这里就不多做介绍了。下面的方法可以通过图的指标来基本查看到。泄露的回收率,每次增加多少,平缓期后,回收多少。当发现被测方性能不够理想,可以采用冲击的办法,用多少次的行为来使现有的内存翻倍等。
那么内存泄露被确定哪些步骤出现后,会划分出3个类型,主要目的是为了确诊。不同的内存泄露类型决定了可能是哪部分出的问题,这种做法是一环扣一环的。
内存泄露分为3个类型,前2类,常发性和偶发性的危害并不大,通过划分模测试点和对于测试点进行行为组合的分析后,可以基本全部找到。偶发性可以借助wins性能监察工具来查看。隐性会在后面介绍。
可供参考的截图(winxp)
ProcessExplorer可替换上图的。win7自带的也十分好用。
如果使用了flash应用计数器,一定会产生内存泄露。
非黑既白的教条:
引用计数法优点是运行效率高,但该方法无法清除存在循环引用关系的对象集合。
有没有使用垃圾收集器(garbageCollection),垃圾回收器的写法是什么?
最小化浏览器会不会导致内存的回收,回收的比率是?
实例成员?静太成员?
如果看代码白盒,也可以做。当你了解代码对于内存分配的原理。这点是最好的办法。
做性能记注需要花大量的时间关注系统,那么也就不难了。
以上为客户端部分内容,至于服务端部分,还是用远程的好。
作者:
lsekfe
时间:
2012-3-8 13:37
支持下!
作者:
99980099
时间:
2012-3-14 10:42
顶,
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2