【专家问答】C/S产品的性能测试设计与执行

发表于:2011-8-09 13:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:寂静如风    来源:51Testing软件测试论坛

  8、资源泄漏或者溢出如何测试?

  资源泄露和溢出不知道你说的是不是就是指内存泄露?从系统测试角度讲还是从白盒测试角度进。如果是系统测试内存泄露的话,那么我们可以分类讨论下windows和linux平台的一些不同的做法。

  windows下一般监控的参数是系统可用物理内存,可用虚拟内存,进程占用物理内存和进程占用虚拟内存,并且监控进程句柄数(Handle Count)和工作集(working set)。

  一般如果只出现虚拟内存涨或者物理内存单方面涨,不代表一定有内存泄露,也有可能是系统进行了资源位置转存,将物理内存中的数据移动到了虚拟内存中,或者反过来;如果出现在某一操作中,内存占用升高,这个操作结束后,内存恢复到原来的水平,也不会是内存泄露。

  工作集是一个非常 重要的指标,如果发现进程working set 和进程占用的物理内存都有提高,并且一直没有降下来,那么说明可能存在内存泄露,这个时间可以写脚本重复执行这个动作,重点观察,并取得数据,验证结论。

  再谈linux下面,一般是通过valgrind,nmon(IBM的工具,非常牛逼非常好用,强力推荐),或者自己用shell脚本配合free指令,来统计内存情况,然后进行分析。linux下面一般都是采用内存预分配的策略,所以你会发现一个进程在启动时申请了一大块内存,然后在这块内存里做操作,有时候监控下来,发现曲线几乎是水平的。因此一般情况下,linux下的程序,最好使,valgrind进行内存方面的测试,对代码和调试方面的能力要求高一些。

  9、测试程序稳定性如何测试?使用什么工具?

  稳定性这个影响的情况比较多,上面提到的资源泄露会引起不稳定,软件兼容性会引起不稳定,硬件兼容性也容易引起不稳定,网络模块不够健壮,也会引起不稳定。。。所以这个问题我感觉很难全面回答,说下几个注意事项吧:

  1)内存泄露一定要查。

  2)软件兼容性,一定要兼顾所有常用软件,比如各大下载站排行前20的软件,重点关注各大安全厂商的软件,尤其是垃圾360(虽然很多不明真相的群众还是用得很多)。

  3)尽可能多的在不同的硬件配置机器上进行程序运行。

  4)换个网络模块程序写得好的程序来写通信模块程序,把原先的写得不好的,拉出去打。

  10、网络通信性能如何测试?

  网络通信性能一般还是考察server端负责管理TCP连接、接收/发送模块的性能(客户端就只负责自己的数据如果还出问题那真的可以打程序员了),一般来说考察以下几个方面:

  1)小包,但高频率的通讯包的处理情况,比如一次发只有5个字节的包,但一秒总共有10W请求,统计每个包的处理时间,以及被测试目标的CPU占用情况。

  2)大包,但稍低频率的处理情况。比如一次发20字节的包。

  3)如果时间充裕,再测试大包高频率的处理情况。

  以上三个用例,一般情况下,用例2的效率会是最好。

  原帖地址:http://bbs.51testing.com/thread-473811-1-1.html

版权声明:本文由会员 寂静如风 首发于51Testing软件测试论坛我要做专家第13期活动。

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号