一: 性能测试工具模型
广义地说, 性能测试工具是指性能测试过程中使用到所有工具, 但是我们习惯上把“性能测试工具”定位于LoadRunner、SilkPerformer一类的工具。
关于 性能测试 的几个误区:
1、 认为性能测试就是使用性能测试工具进行测试。
性能测试工具只能帮助你实施性能测试, 并不能帮助你完成性能测试的需求、设计和分析。
2、 认为性能测试工具可以完成性能测试结果分析工作。
性能测试工具只是能够根据你的要求以各种方式提供报表, 这些报表可以被您用来分析系统性能状况。
3、 不清楚性能测试工具的录制/回放 与 功能测试工具的录制/回放的区别。
功能测试工具的录制/回放一般是针对GUI的操作录制, 脚本中记录的是用户对控件的操作,例如按下了“确认”按钮或是在“姓名文本框”中输入了ABCD等内容, 这时因为功能测试工具主要是通过操作和数据来验证功能的正确性, 评价的主要标准是GUI的正确性(界面内容的正确性)。 而性能测试工具录制的是服务端和应用之间的通信数据, 而不是应用的GUI操作。 ^_^ ^_^ 理解了这一点, 就不难明白为什么在进行性能测试脚本录制的时候, 需要首先选择录制的协议了。
4、 不清楚何时选择何种协议。
选择何种协议取决于应用和客户端之间的通信协议。
二: 性能测试工具架构
1、 虚拟用户脚本产生器(Virtual User Generator):通过一个Proxy作为客户端和服务器之间的中间人。
2、 压力产生器(Player): 压力器扮演着“产生负载”的角色。
3、 用户代理(Agent): 运行在负载机(Load Machine)上的进程,该进程于产生负载压力的进程或是线程写作完成“产生负载”的功能。 如一台PC可以顺利运行200个左右的VU, 但对需要1000个VU的情况显然很难指望一台PC, 这时就需要通过多台及其进行协作,“用户代理“就帮助产生”步调一致“的VU。
4、 压力调度和监控系统(Conductor): 直接与用户交互的主要内容,压力调度可以根据用户的场景要求,设置各种不同脚本的VU数量, 设置同步点等, 而监控系统则可以对各种数据库, 应用服务器、服务器的主要性能计数器进行监控。
5、 压力结果分析工具(Analysis): 用来辅助进行测试结果的分析。
三: 性能测试脚本录制时的协议类型
^_^ ^_^ 不要想当然地根据开发语言来决定协议的选取, 这样子极有可能导致录制后的脚本不能回放成功。
几点说明的内容:
1、 使用Socket协议可以对任何类型的应用通信进行录制, 但这种录制生成的脚本很可能没有任何意义。
2、 在对应用间的通信进行录制生成脚本后,对脚本进行回放, 有时会出现回放无法继续的情况(停留在某个步骤无法进行下去),此时应该考虑是否使用了合适的协议。
——————————————协议选择 参考方案——————————————————————
1、 Web应用: 应用特点:采用J2EE或是dontNet结构, HTTP/HTTPS协议。
2、C/S应用: a、 客户端程序以ADO、OLEDB方式连接后台数据库,选择后台数据库类型选择相应的协议。
b、 客户端程序以ODBC方式连接后台数据库, ODBC协议。
c、 其他协议, 根据具体协议类型进行分析。
3、 组件: a、 COM/DCOM com/dcom协议。
b、 EJB, EJB协议。
4、 服务: a、 WebService , WebService协议。
b、 Mail服务器, SMTP/POP3协议。
c、 FTP服务器, FTP协议。
5、 应用服务器: a、 Oracle Application Server, Oracle Application Server协议。
b、 SAP, SAP协议。
c、 Tuexdo, Tuexdo协议。
四: 性能测试工具的选择与评估
这个问题通常会有两个层面的意义: 第一, 创建还是购买? 第二, 如果购买, 如何选择一种商业工具?
1、 创建还是购买?
总而言之, ”购买“的方式可以以较低的总体成本快速获得可用的软件, 但如果被测试对象本身有一定的特殊需求, 最好使用”创建“的方式构建适合的测试工具。
2、 测试工具的评估和选择过程。
(1)列出需要的工具功能列表
(2)工具比较
(3)成本分析
工具的学习曲线和必要的培训成本也是必须考虑的一个要素。
分享到:
相关推荐
软件性能测试工具原理 软件测试 一:性能测试工具模型 广义地说,性能测试工具是指性能测试过程中使用到所有工具,但是我们习惯上把“性能测试工具”定位于LoadRunner、SilkPerformer一类的工具。 关于性能测试...
"Linux内存性能测试工具stream"是一个专门用于评估计算机内存(RAM)性能的工具。本文将深入探讨STREAM的作用、工作原理以及如何在Linux环境中使用它。 STREAM,全称是“Simple Triad Memory Benchmark”,是由John...
性能测试工具原理部分则介绍了性能测试工具模型,测试脚本录制的协议类型,以及如何选择和评估性能测试工具,以LoadRunner为实例,展示了性能测试工具的原理。 性能测试的组织章节讨论了测试团队的人员构成和测试...
### LoadRunner工具_性能测试知识点解析 #### 一、LoadRunner简介 **LoadRunner** 是一款由Mercury Interactive公司开发的性能测试工具,后来被HP收购,并最终成为了Micro Focus的一部分。该工具主要用于评估软件...
Apache JMeter是一款强大的开源性能测试工具,主要用于模拟大量并发用户对服务器、网络或者数据库等进行压力测试,评估其在高负载下的性能和稳定性。这款工具最初设计为HTTP测试工具,但随着时间的发展,它已经扩展...
性能测试原理及实例分析 **一、性能测试的概述** 性能测试是软件测试的一个关键组成部分,专注于评估软件在特定条件下(如高并发、大负载)的响应时间、稳定性以及资源利用率。这种测试对于确保大型软件系统能够...
LoadRunner是一款强大的性能测试工具,它能够模拟大量并发用户执行业务操作,以评估系统的性能和稳定性。本文将详细介绍LoadRunner的性能测试原理、接口测试实例、脚本编写及结果分析。 1. **性能测试原理** 性能...
本主题将深入探讨"JAVA性能瓶颈和漏洞检测工具",并重点关注名为JProbe的工具。 JProbe是一款强大的Java性能分析和调试工具,由PrismTech公司开发。它提供了丰富的功能,包括内存分析、线程分析、CPU性能分析等,...
《LoadRunner11汉化包解析...然而,熟悉和精通LoadRunner11的性能测试原理和实践方法,才是提高测试质量的关键。只有深入理解性能测试的各个层面,才能充分利用这款工具的强大功能,为企业应用的稳定性和性能保驾护航。
以下是对性能测试的基本方法、应用领域、软件性能和性能指标,以及前端性能测试工具原理和常用工具的详细解析。 一、性能测试的基本方法 1. 压力测试:模拟超出正常工作负载,检查系统在极限条件下的稳定性和故障...
DFSIO是Hadoop自带的另一个性能测试工具,主要用于衡量HDFS的读写性能。它可以设置不同的数据量、并行任务数,以及读写模式,以测试在不同工作负载下的I/O性能。DFSIO提供了读取和写入大量文件的能力,帮助用户了解...
DNSPerf是一款强大的DNS性能测试工具,相比BIND自带的queryperf,它在功能和效率上具有显著优势。本文将深入探讨DNSPerf的功能、应用场景、安装步骤以及如何使用,帮助你全面了解这款工具。 首先,DNSPerf的核心...
Netio是一款用于网卡性能测试的工具,它可以帮助网络管理员和开发者评估网络接口的传输速度、吞吐量以及稳定性。这个工具支持多种操作系统,包括BSD、Linux和Mac OS,这表明它的跨平台能力强大,可以在不同的环境...
2. `hdparm`: 尽管主要是用于硬盘性能测试,`hdparm`也能用于内存带宽测试,通过`-t`选项进行突发读取速度测试。 3. `dd`: `dd`是一个基础的文件复制工具,但通过特定的命令行参数,可以用于简单的内存带宽测试。 4....
"深度学习与目标检测:工具、原理与算法" 深度学习是机器学习领域中最受关注和研究的分支之一,代表着一种新的机器学习范式。深度学习致力于模拟人脑神经网络的工作方式,通过建立多层神经网络来学习和识别复杂的...
本压缩包"安卓性能测试工具.zip"包含了几个关键工具,用于对安卓应用进行性能测试。下面将详细介绍其中的每个文件及其功能。 1. **YXHMonkeyTestTool.jar**: 这是一个基于Java的安卓Monkey测试工具,Monkey测试是...
在电脑硬件和软件领域,性能测试工具扮演着至关重要的角色,它们可以帮助用户了解设备的运行状态,...同时,理解每个工具的测试原理和结果解读也是使用性能测试工具的关键,以确保能够正确分析和解决可能出现的问题。
- 特征点检测可能使用内置的边缘检测工具或者自定义的算法,如编写OpenCV库的代码片段来实现。 - 测量计算涉及像素到真实世界的单位转换,这通常在软件的配置设置中完成,用户可以指定每个像素代表的实际长度。 -...