单元测试和压力测试是软件开发质量的保证
作者:网络转载 发布时间:[ 2014/9/11 16:09:02 ] 推荐标签:软件测试 单元测试 压力测试
这几天为了测试网站的负载极限,根据朋友的推荐先后使用了几个压力工具,上面的WebCT/WebRunner是其中之一, LoadRunner80我一看要装300大M又打了退堂鼓,要知道我几年的机子一装不用跑了。微软的WAS和Jmeter成了试用的主要方式,这也是目前可以随便找到的轻易负载工具中比较完善的两种。WAS设置简单,运行结果也具备可重复性。不过呢,报告不直观,而且不能连续动态运行并报告;更糟的是,它没有验证请求是否正常的功能(或者是我不会用,没有找到),这样只是发出了请求,至于请求是不是完整执行还是实际上返回一个空文件,真是天知道。某种情况下,它也是发出一大堆的request,让网页转一转而已。所以我对WAS的理解是重点不是看它本身的输出日志,而是着重于从被测试者本身在调高测试强度后是本身记录日志中检查是否有异常,以及达到极限状态下是否能够恢复上作出结果判断。
相比之下 Jmeter好一点,这东西使用上也不难,相关的文章一看基本上会用了。它有验证请求是否正常执行的功能,也能够通过持续请求观察响应变化和背离情况,可以比较容易地发现不同的服务器设置对性能带来的细微差别;优化服务器来说,它比WAS强。不过Jmeter似乎有BUG,反正我试过几次要启动启动不了,要关闭关闭不了的情况。
无论是使用WAS还是JMETER,都轻易把服务器会话计数打上了几千。但怪怪在,如果使用我自已那套土装的代理服务器模拟Ddos攻击时,按请求频率,很快会让目标靶机进入极限状态,甚至应用crash,必须重启。但用WAS/JMETER,无论如何调大负载,都只是响应变慢一点,靶机都是死不了;直到我自已的测试机死了,靶机不一会又生蹦活跳地活转过来。道理在那里,我也没有什么谱;估计与代理服务器的工作方式有关;我发现靶机方面的记录计数比我实际发出的线程请求要高出一两倍。
无论如何,如果打算长期使用一个单元测试的工具测试Web应用负载的话,Jmeter应该是一个不错的选择;另备一个WAS也不算浪费。LoadRunner和其他动不动张口要钱的主儿,暂时免了吧。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
iOS单元测试mocha、chai、sinon和istanbul实现百分之百的单元测试覆盖率关于单元测试的总结及思考编写更好的Java单元测试的7个技巧Android单元测试框架Robolectric3.0介绍(一)使用Kiwi单元测试总结单元测试如此重要,为什么你不知道Python单元测试??使用装饰器实现测试跳过和预期故障对Controller的单元测试写好单元测试的10个技巧单元测试的重要性Angular单元测试系列??Component、Directive、Pipe 以及ServiceAndroid单元测试的整理提升单元测试体验的利器--Mockito使用总结iOS UnitTest单元测试Vue的单元测试探索(二)

sales@spasvo.com