【转】性能测试不等于用性能测试工具测试

所有打算学习性能测试工具的同学都要看一下!

 

Tester,你能详细说下HTTP协议么?TCP建立连接和释放连接的过程是怎样进行的?什么是协议?协议是用来做什么的?在OSI参考模型中各层的作用是什么?数据库中产生并发的冲突的原因是什么?死锁、进程和线程的区别这些概念你明白么?

 

测试不可忽略计算机其他基础知识的学习,我们更应该去掌握一门编程语言,良好的网络基础知识,计算机原理于操作系统知识,数据库知识。这些是我们去学习怎么去使用LR前提和基础。

 

一、掌握一门编程语言

LR并非开源且价格昂贵,我们无法了解LR具体的实现细节,有时甚至会怀疑LR收集的性能数据准确与否?它是如何实现的等等,而这些我们通过LR的帮助文档无法得知。 除了LR,还有JMeter、Curl-Loader等都是很优秀的开源工具,例如Curl-Loader,虽然协议不多,但是对于HTTP协议它最高可产生10万的并发用户。我们能够从这些代码中去分析具体实现的细节,并且还可以自己编码,增强软件的功能,C、C++、VB、JAVA、C#,掌握一门语言,这也是成为性能测试高手的一条途径。

 

二、掌握计算机原理和操作系统知识

LR中线程和进程的关系是什么?什么时候用到它们,怎么区别用线程还是进程呢?LR录制产生了乱码怎么解决?怎么去发现内存泄露?

 

#知识点#使用进程资源使用高,但安全性要强于线程,线程资源利用率少,使用线程能在一个负载生成器上运行更多的Vuser,但可能存在安全问题。

 

LR录制产生了乱码怎么解决?为什么会产生乱码,什么是字符集?什么是编码?字符串在我们内存中又是如何存放的?ASCII编码、ANSI编码,UNICODE编码它们的区别是什么?这些都是操作系统的基础知识。掌握好了你自然明白LR产生乱码的原因。

 

另像操作系统的体系结构、重要基础概念,内存管理、存储/文件系统、驱动/硬件的管理等 还有很多得掌握的知识,要做好性能测试,计算机原理和操作系统知识必不可少。

 

三、掌握网络知识

LR中为什么要进行关联?LR测试系统时如何选择协议?LR中如何进行IP欺骗?类似这些问题,其实和LR的关系并不大,而在于我们网络基础知识是否扎实。

 

#知识点#例如LR中为什么要进行关联?相信很多朋友都知道HTTP协议知道它是超文本传输协议,但是像HTPP工作的原理,HTTP协议为什么要使用基于TCP的协议而不使用UDP的协议,HTTP工作在OSI参考模型的哪一层?在HTTP协议上数据是怎么传输的等等,这些新手往往不能详细的说出来。而只有懂得了这一切,就自然明白为何要使用关联。而这些也是和LR没多大关系的。

 

#知识点#HTTP协议本质上是无状态的;对页面的每个请求都将被视为新请求,而且在默认情况下,来自一个请求的信息对下一个请求不可用。在传统的WEB编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关的所有信息都会丢失。例如,如果用户将信息输入到文本框,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失,为了使用浏览网页,页与页是相互联系不去丢失这些信息,于是出现了Cookie,Session,查询字符串等保持状态的技术。

 

#知识点#当web服务器端使用的是session,那么所有的数据都保存在服务器上,客户端每次请求服务器时会发送当前会话的SessionId,服务器根据当前SessionId唯一地标识在服务器上包含会话数据的浏览器,以确定用户是否登录或具有某种权限。不同的用户发送请求WEB服务器会随机发送一个唯一地SessionId。而LR录制时它会把SessionId写死,所以就得使用关联了。

 

#LR录制工作原理# LR的录制,它不关心你的对象识别什么的,不关心你的什么界面之类的,不关心你使用什么语言编写的,LR有一个Agent进程,来专门监控客户端和服务器之间的通信,然后用自己的函数进行录制。LR录制时关心的是通信包,是客户端与服务器之间的数据包。

 

四、掌握数据库知识

性能测试产生的一个非常大的原因是因为数据大集中的趋势,测试从某种意义来讲就是对数据测试。WEB应用程序,都采用多层结构,例如典型三层,用户界面层,数据逻辑层,数据层。而数据层对于整个WEB应用程序的性能是非常大得。对数据库知识不懂,我们怎么去进行性能测试分析?怎么知道确定性能产生的瓶颈是都是数据库的原因,如何对系统进行调优?例如数据库模型设计不合理,一条坏得SQL语句就能影响到整个WEB应用程序的性能,所以熟悉SQL语句,建表,索引,存储过程,事务,触发器,并发等这些基础知识是必须得掌握的。

 

性能测试难点不在于LR工具本身,难在对整个系统的全局把握,而对全局的把握你必需得有丰富的知识面。

posted @ 2015-11-25 14:40  珩之  阅读(99)  评论(0)    收藏  举报