51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 33013|回复: 36

如何发现客户端软件中的内存泄露?(08-06-06)(获奖名单已公布)

[复制链接]
  • TA的每日心情
    慵懒
    2015-1-8 08:46
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2008-6-6 18:28:58 | 显示全部楼层 |阅读模式
    这里的客户端软件包括C/S系统的客户端和B/S系统中的客户端控件,当用户使用客户端软件时,如果发现我们的软件会吃内存,那是很丢面子的事,有哪些好的测试方法呢?希望大家能踊跃提出自己的看法。

    感谢会员cherrycl2008提供此精彩问题!如果你也有问题想提出来和大家一起讨论,请点击此处>>
    说不定下期讨论的问题就是由你提出的哦,请快快参与吧!

    非常感谢各位会员积极参与,截止至6月13日17:30分,从该贴所有评论中选出部分作出精彩评论的会员予以奖励。礼品和积分将在下周内送出。




    获奖名单
    奖项
    获奖名单
    奖励
    答案链接
    一等奖
    huior
    当当购物卡50元
    二等奖
    cynthiagu
    300论坛积分
    fmsbai5
    三等奖
    252090366
    100论坛积分
    dongchanglin
    jasonxu
    回复

    使用道具 举报

    该用户从未签到

    发表于 2008-6-9 23:34:51 | 显示全部楼层
    一般会被要求测试服务器端有无内存泄漏,很少碰到客户端的。客户端和服务器端不同在个数,一般一个用户一个客户端,所以这个主要就看长时间用下来有没有泄漏。看客户端都做了什么吧,手工也行,手工有困难就工具模拟这个过程,保持一段时间,看系统资源咯,暂时想到这个。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 09:33:56 | 显示全部楼层

    回复 1# 的帖子

    模拟客户操作,在客户端还没运行之前打开任务管理器查看内存情况,在客户端运行之前再次查看内存情况.通过比较来判断.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 09:43:09 | 显示全部楼层
    原帖由 wishwing 于 2008-6-10 09:33 发表
    模拟客户操作,在客户端还没运行之前打开任务管理器查看内存情况,在客户端运行之前再次查看内存情况.通过比较来判断.


    能不能说明白点?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 09:58:35 | 显示全部楼层
    C/S模式下的软件的话,使用一些专业的内存检测工具,以前做开发的时候在调试的时候用到过,不过那个工具是基于开发环境的,是一个组件.
    B/S模式下的软件,可以使用LR,在LR运行的时候,查看操作系统性能计数器中的Private Bytes(Windows)和Resident size(KB)(UNIX/Linux).

    如有不当之处,请指教!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 10:55:20 | 显示全部楼层
    用工具吧,我上次在网上看到过一种关于内存泄露的工具,名字叫做rationl purify这个工具可以测试.

    如有不当之处,请指教!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 11:01:32 | 显示全部楼层
    开发过程中可通过一些工具检查
    测试过程中,可在客服端模拟程序运行情况,用性能监视器查看内存情况。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 15:06:53 | 显示全部楼层
    这个问题不太懂...我也想知道呢...可能黑客或者开发更了解这方面的问题...

    [ 本帖最后由 dabeixiong 于 2008-6-10 15:08 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 16:14:59 | 显示全部楼层
    想多了解这方面的知识
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 17:41:07 | 显示全部楼层
    搬板凳听课,正好现在经常碰到这种问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 19:09:14 | 显示全部楼层

    回复 2# 的帖子

    嗯,突然想到,还可以白盒测试,如果可以拿到代码的话,c++test的BugDetective

    [ 本帖最后由 doud 于 2008-6-10 19:12 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 20:33:18 | 显示全部楼层
    内存泄露必定会导致内存的大量消耗,从而使得系统会调用硬盘空间(虚拟内存)作为内存来使用,磁盘的负荷就大,因此磁盘的IO会比较大,同时CPU的占用率也很高,如果是服务器的话,磁盘的吞吐量会降低很大。因此通过监控磁盘的IO、吞吐量和CPU三个数据便可以发现软件存在的内存泄露,同样的方法也可以使用Loadrunner来监控服务器端软件是否存在内存泄露。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-10 20:34:42 | 显示全部楼层
    简单地说就是IO值比较高,吞吐量低,CPU占用率高,内存占用大,这有可能是存在内存泄露,我先前太过于肯定,这里更正一下。

    [ 本帖最后由 jasonxu 于 2008-6-13 14:41 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-11 12:58:23 | 显示全部楼层
    1、CPU点用率高,内存占用大就能确定是内存泄露吗?

    2、使用Loadrunner来监控服务器端软件,怎样查看内存是否泄露了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-11-23 09:27
  • 签到天数: 55 天

    连续签到: 1 天

    [LV.5]测试团长

    发表于 2008-6-11 14:36:38 | 显示全部楼层
    原帖由 jasonxu 于 2008-6-10 20:34 发表
    简单地说就是IO值比较高,吞吐量低,CPU占用率高,内存占用大,基本可以确定存在内存泄露

    送你个鸡蛋,我今天启动程序,向我得oracle10G所在的服务器发送大量数据,在enterprise mananger console看到性能分析说IO吞吐量低,从资源管理器看到CPU占用率高,内存占用大,你可以基本确定存在内存泄露 ?!
    CPU占用率高,内存占用大情况很多种,不一定就是内存泄露
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-11 15:42:08 | 显示全部楼层
    也想知道答案,等着听课,最好有什么工具推荐
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-11 17:11:06 | 显示全部楼层
    purify、boundchecker都可以。客户端是C实现吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-11 17:38:37 | 显示全部楼层
    基本上通过手工的来测这个真的太难了,如果你感到这个软件有这方面问题,就去找专业工具去测吧!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-11 18:13:14 | 显示全部楼层

    如何发现客户端软件中的内存泄露?

    我们公司是用LR中专门可以添加一项,监控CPU的使用率,通过并发用户进行压力测试获知内存泄露的情况。
    如有问题,请同行批评指正!!

    同时我代表全部的测试同行,感谢版主,想到这样的一个“每周一问”,让我们收益匪浅,希望该栏目越办越好,越办越精彩,谢谢!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2008-6-11 18:22:02 | 显示全部楼层

    认真学习中

    认真学习中
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-18 12:47 , Processed in 0.093284 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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