性能测试理论之—操作系统篇

May 28th, 2007 1,993 Views

很多朋友,一说起性能测试,第一印象就是性能测试工具,其实这只是测试测试中很小很小一部分。这就好像冰山,大家看到的仅仅是不到20%的表面现象,另外80%看不见的是位于水面以下的部分。

具体这80%是指什么呢,相信大多数朋友也都知道,无外就是一些理论知识和实践经验的积累,理论知识包括操作系统,数据库,中间件,网络等等;实践经验就不用多说了,不同行业的,不同类型应用的性能测试对应的特点不同,对性能结果的要求标准也不同。这需要很长时间的积累。并不是简单的靠测试工具就可以解决的问题。测试工具只是一个辅助工具,并不能代替人进行结果的分析和问题的定位,最多只能提供一些参考和指导。

经验的积累靠实践,理论的积累就要靠学习了,其实知识的学习并不仅仅局限于书本,不过书本确是获取知识最直接和最快捷的途径了,操作系统是大家再熟悉不过的一种知识了,要做好性能测试,还真要对一些操作系统的原理进行基本的了解,下面是一系列经典的操作系统原理培训材料,包含12篇PPT,仅供大家参考。

操作系统原理培训材料1 2 3 4 5 6 7 8 9 10 11 12

性能测试启动阶段准备

May 22nd, 2007 1,982 Views

一个51上的朋友原创的,性能测试启动阶段其实是性能测试中最中最重要的部分。不过很多人都忽略了这点,认为性能测试就是利用工具进行脚本编写,场景和用例设计,结果分析等。其实不然,第一步如果连基本的需求和被测对象的分析都没有做好,后续的步骤注定不会是一帆风顺的。

这一张性能测试启动阶段的分析脑图则将启动阶段需要做的工作,牵涉到关键人物和需要关注的内容,需要完成的事情都列的一目了然。可谓极品中的极品。如果这些前期工作做到位了,后面的性能测试肯定也就八九不离十了。

20070517_c21f507ad701fd00db1afwKumG8m7Ud7

【更新】图片太小,提供原版大小的图片下载,然后放大就可以了。
Download

性能测试的门槛

April 29th, 2007 2,170 Views

性能测试工具LoadRunner一直是51testing论坛上关注度最高的话题,也是问题最多的版块,每天都有几十上百的帖子问着关于同样的入门的话题,一直没有时间系统的总结一下,发现Pent老弟关于这个问题的思考和总结,写的相当的不错,转载一下,原文链接

随着软件测试行业的逐渐发展,性能测试也变得火热起来。从各大测试论坛和测试交流群的交流主题的热门程度来看,性能测试已经成为大家非常感兴趣的话题。性能测试作为软件测试行业技术性相对较高的工作(自动化测试、白盒测试、性能测试)来说,个人觉得其操作门槛还是不低的。对于测试新手来说入门有一定的难度,做的好就更加不容易了,可能花了不少时间而实际收获不大。因此觉得有必要来专门探讨一下性能测试的门槛,以及如何更好的迈进这个门槛。

先来分析一下一些关于性能测试入门级的常见问题:

1、请问怎么做象PhotoShop这类单机程序的性能测试;

2、用Delphi开发的程序,应该用什么协议来录制脚本;

阅读全文 »

LoadRunner案例分析之五

April 24th, 2007 3,205 Views

最近被一个代理的问题搞的纠缠不清。我这个人其实很多时候是不求甚解的那种。自打上次跟Zee版主交流了以后,很受打击,惭愧的要命。打算以后改改这个毛病。凡是要探个究竟,正所谓惩前毖后,治病救人嘛。:)

问题是这样的,VUGen里面录制的脚本,回放的时候出错,错误信息是:

[Net An. Warning ( 218: 9f0)] Request Connection: Remote Server @ 66.102.7.147:80 (Service=) Failed attempt #3. Unable to connect to remote server: rc = -1 , le = 0)
[Net An. Error ( 218: 9f0)] Request Connection: Remote Server @ 66.102.7.147:80 (Service=) NOT PROXIED! (REASON: Unable to connect to remote server: rc = -1 , le = 0)

重新安装了LoadRunner,结果同样。从错误的表面看是代理的问题,但是本机上网不需要任何代理。也没有设置任何的代理。搜了一下,发现了问题的解决方法。其实挺搞笑的。居然是杀毒软件的问题。

阅读全文 »

HTTP服务器状态代码定义

April 19th, 2007 2,482 Views

在利用LoadRunner进行性能测试的时候,经常不知道某个HTTP代码的涵义,现在转载一篇文章,详细介绍了每种类型的HTTP返回码解释,仅供参考。

HTTP服务器状态代码定义(Status Code Definitions)
1.1 消息1xx(Informational 1xx)
该类状态代码用于表示临时回应。临时回应由状态行(Status-Line)及可选标题组成, 由空行终止。HTTP/1.0中没有定义任何1xx的状态代码,所以它们不是对HTTP/1.0请求的   合法回应。实际上,它们主要用于实验用途,这已经超出本文档的范围。
1.2 成功2xx(Successful 2xx)
表示客户端请求被成功接收、理解、接受。
200 OK
请求成功。回应的信息依赖于请求所使用的方法,如下:
GET 要请求的资源已经放在回应的实体中了。
HEAD 没有实体主体,回应中只包括标题信息。
POST 实体(描述或包含操作的结果)。
阅读全文 »

LoadRunner中的并发用户和集合点

April 17th, 2007 2,659 Views

看到51上三个高手Zee, 大漠飞鹰,xingcyx的一场非常精彩的关于并发用户数和集合点的讨论,很有意义。如果对这两个概念不清楚的朋友,一定要仔细领悟了。

故事开始于xingcyx的一番话:

声明:以下的问答是我根据实际工作经验和通过各种途径得到的信息而整理的,其回答内容主要代表我个人观点,并非标准答案,读者如有不同意见,欢迎批评指教。

Q:并发用户数和集合点有必然联系吗?在性能测试中必须使用集合点来测试吗?

A:并发用户数,顾名思义,就是同时操作的用户,这里的“操作”可以指对系统真正的操作,也可以只是连接(此时通常叫作“并发连接数”),而集合点是一种特殊情况下的并发,多用于测试系统在瞬间加压的表现。因此,并发用户数和集合点有联系,但并非必然的联系,在测试并发用户的性能测试场景中,可以不必设置集合点,这将视测试目标和测试策略而定。

Q:不设置集合点的测试,能代表是“并发”操作吗?

A:有这样一种说法,设置集合点是为了确保“严格意义上”的并发,其实从本质上看,这主要是一个看问题的粒度大小的问题。集合点的作用是通过工具的控制,确保一个请求严格的“同时”从前台提交到后台。可是如果微观地看,是不存在严格意义上的并发的,即使在客户端通过设置集合点的方式将100个请求同时提交到后台,经过网络上的传输消耗,可能它们并不是同时到达的,而即便100个请求同时到达服务器端,受到中间件和应用系统、数据库的各种连接池、缓冲区, CPU处理队列等的限制,也可能在服务器端产生等待的。因此,严格意义上的“并发”可以说是不存在的,我们需要做的是在可以接受的粒度范围内取得一个最佳的平衡点,站在这个平衡点的层面上去看待“并发”这个问题。

性能测试无非有两个目的,一是评测,二是调优。
在以评测为目的的性能测试中,用户更关心的是业务上的并发,也就是真实业务场景的并发情况,这种情况下只要按照业务操作的模式去设置场景就可以了,并不需要设置集合点。
阅读全文 »

Windows资源监控工具大全

April 12th, 2007 5,732 Views

在利用LoadRunner进行性能测试的时候,Windows服务器的资源是经常需要监控的对象。其实除了LoadRunner提供的计数器,似乎Window服务器并不像Unix或者Linux提供众多的性能监控方法,比如Top或者vmstat等。另外有很多第三方的工具可以选用以增强Windows服务器的监控途径,下面是一些工具的列表。

【监视类】

CPUMon v2.0
CPU性能监视工具。可以获取CPU计数器信息。该版本集成了Perfmon。
http://www.sysinternals.com/ntw2k/freeware/cpumon.shtml

DebugView v4.31
截取Win32设备驱动程序发出的消 息,允许通过本机或网络查看和录制调试信息而不打开一个活动的调试器。
http://www.sysinternals.com/ntw2k/freeware/debugview.shtml

阅读全文 »

利用开源工具JMeter进行性能测试

April 2nd, 2007 2,177 Views

本文结合一个实例介绍了开源性能测试工具JMeter的使用.非常适合初学者入门只用.

JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1。本文中作者将向大家介绍如何使用 JMeter 进行测试。大家可以到 http://jakarta.apache.org/jmeter/index.html下载源代码和查看相关文档。

JMeter作用领域

JMeter 可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter 用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用 JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。

使用JMeter测试Web应用

接下来的章节里,作者将详细的演示如何使用JMeter来测试Web应用的完整过程。

2.1 测试环境

作 者使用了Tomcat作为Web服务器进行测试,被测试的内容是一个jsp文件和一个 阅读全文 »


Close
E-mail It