51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 14262|回复: 26
打印 上一主题 下一主题

[讨论] 内存泄漏如何测试?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-6-23 16:09:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
面临一个问题,一直没有搞清楚:

如何测试内存泄漏?
1.怎么知道程序中是否存在内存泄漏?
2.如何定位内存泄漏?内存泄漏出现在哪儿?是那个函数或哪几个函数引起的呢?
3.如何预防内存泄漏?

欢迎大家参与讨论,共同学习!
谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

27#
发表于 2008-11-13 13:08:28 | 只看该作者
小弟请教下LS的,什么叫疲劳测试?
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2008-5-28 12:39:40 | 只看该作者
做疲劳测试,容易测出内存泄露问题。
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2006-7-21 16:03:36 | 只看该作者
一直在用purifyplus,呵呵,感觉不错.
回复 支持 反对

使用道具 举报

该用户从未签到

24#
 楼主| 发表于 2006-7-21 14:32:26 | 只看该作者
有否免费的软件可以共享?
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2006-7-21 09:04:53 | 只看该作者
Purify是商业软件,谁知道它的购买价格?

购买它就是要得到注册号吧?
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2006-7-20 22:54:56 | 只看该作者
学习了。
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2006-7-20 20:48:36 | 只看该作者
rational有专门内存泄漏的工具的Purify,可以试试
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2006-7-20 18:06:46 | 只看该作者
如果是在实在是找不到工具,而代码也不太明白的话,在测试时间允许的情况吓干脆写个循环,运行个几万次,几十万次。如果正常运行估计就没有问题了。这是没有办法中的最傻的,最笨的办法了。

如果开发的时候用JAVA,或.NET开发软件的话可能这问题就比较少了,我记得它们都有所谓的内存回收机制,好像是自动把以前申请过的内存空间而现在没有用到的给释放掉。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2006-7-20 17:22:42 | 只看该作者
From Baidu:
在测试工作中,需要接触到各种类型的测试工具。一般来说,有以下一些类型的工具:
测试管理工具:可以帮助完成测试计划、跟踪测试运行结果等的工具。这类工具还包括有助于需求、设计、编码测试及缺陷跟踪的工具;
静态分析工具:分析代码而不执行代码。这种工具检测某些缺陷比用其它方法更有效,开销也更小。这种工具一般可以度量代码的各种指标,如McCabe测定复杂度,Logiscope度量代码和规范的复合度等等;
覆盖率工具:这种工具评估通过一系列测试后,软件被执行的程度。这种工具大量的被应用于单元测试中,如PureCoverage、TrueCoverage、Logiscope等;
动态分析工具:这种工具评估正在运行的系统。例如,检查系统运行过程中的内存使用情况,是否有内存越界、内存泄露等等,这类工具有Purify、BoundChecker等;
测试执行工具:这类工具可使测试能够自动化进行,并且各个层次(单元测试、集成测试、系统测试)的执行工具都有。例如系统测试阶段有功能测试自动化工具,如Robot、Winrunner、SilkTest等;还有性能测试工具,如Loadrunner、SilKPerformer等。

白盒测试工具主要有:
内存资源泄漏检查:Numega中的bouncechecker,Rational的Purify
代码覆盖率检查:Numega中的truecoverage,Rational的Purecoverage,Telelogic公司的logiscope, Macabe公司的Macabe
代码性能检查:Numega中的truetime,Rational的Quantify
代码静态度量分析质量检查工具:logiscope和Macabe

黑盒测试工具主要有:
客户端功能测试:MI公司的winrunner,compuware的qarun,Rational的robot
服务器端压力性能测试: MI公司的winload,compuware的qaload,Rational的SQA load等等
Web测试工具:MI公司的Astra系列,rsw公司的e-test suite
测试管理工具:rational的test manager,compuware的qadirector等
缺陷跟踪工具:trackrecord,Testtrack

单元测试工具:
测试框架: delphi dunit
java junit
c++ cppunit
Visual Basic VBUnit
(.NET platform) NUnit
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2006-7-20 17:18:13 | 只看该作者
这里怎么不能贴 附件啊
本来想 贴一些从网上搜到的相关文档与大家共享的。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2006-7-20 17:17:20 | 只看该作者
楼上的兄弟可否 讲的具体一点,小弟很有兴趣哦,还没有找到下载该工具的地方啊
我是做 SOC 的软件测试,与硬件联系紧密,希望对此有更多了解!
谢谢。

[ 本帖最后由 Chenny 于 2006-7-20 17:24 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2006-6-30 09:38:02 | 只看该作者
4楼的兄弟说的已经很明白了,使用工具,如果贵公司使用的记事本来编程,那么你只能用眼睛去看程序了,如果是使用开发工具来开发的C++和程序或是VC++的程序,那么你就可以使用NUMEGA来进行内在泄漏的测试(其中包括BoundsChecker)这个网上有很多下载的,使用也很简单,在2000年左右的时候比较胜行,但后来随着开发平台的不断转移,接触的比较少了,不过做硬件或是底层开发用到C的时候,还是大有用场 。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2006-6-29 18:01:50 | 只看该作者
task manager有时候会误报。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2006-6-29 18:00:59 | 只看该作者
偶是测试的,每次都是从Task Manager里观察,有无Memory leak.
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-6-29 17:25:00 | 只看该作者
用jprobe看一下吧
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2006-6-29 16:06:40 | 只看该作者
那不用工具也不要看代码,就从内存的使用情况能否来确定有内存泄露现象?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-6-29 15:17:52 | 只看该作者
我们现在是java的程序,通过使用Jprobe的Memory Debuger进行内存的测试,感觉还是挺有效果的
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2006-6-28 13:35:34 | 只看该作者
哦?帖子沉了?
各位没有补充么?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2006-6-26 14:05:19 | 只看该作者
唉,上次被人问到这个问题,不知怎么回答
我们公司小,都没有测试工具的,Purify,Load,Win 等都没有接触过

呵呵,继续学习!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 22:57 , Processed in 0.091095 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表