性能测试--性能测试概念、性能测试主流工具

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 一般来说,性能是一种指标,表明软件系统或构件对其及时性要求的符合程度;其次,性能是软件产品的一种特性,可以用时间来进行度量。性能的及时性用响应时间或吞吐量来衡量。响应时间是指服务器对请求作出响应所需要的时间。

性能测试的概念


  一般来说,性能是一种指标,表明软件系统或构件对其及时性要求的符合程度;其次,性能是软件产品的一种特性,可以用时间来进行度量。性能的及时性用响应时间或吞吐量来衡量。响应时间是指服务器对请求作出响应所需要的时间。

  系统性能包括时间和空间两个维度,时间是指客户操作业务的响应时间,空间是指系统执行客户端请求时,系统资源消耗情况。客户关注的性能只是时间的表现,客户不关注是什么原因引起的性能问题,但性能测试工程师和系统工程师就必须关注系统资源使用的情况。

  性能测试是测试系统端到端(即客户端发送请求经过服务器将信息返回的过程)的性能指标,目前在系统设计阶段无法设计出一个定量性能的系统,即开发工程师无法保证设计好的系统其性能表现如何,还是得靠测试来验证性能的表现,性能测试是一系列的测试过程。在系统投入到市场之前,必须对系统的性能进行测试,否则无法确定系统的性能是否能满足客户的需求。


 性能测试自动化


  手工进行性能测试存在诸多困难,如图16-1 所示。

image.png

  1、消耗大量的测试资源(主要包括测试人员和测试机器的成本)。

  2、如何保证并发测试?

  3、如何收集测试结果?

  4、如何重复执行该测试?

  需要使用性能测试工具来代替手工测试,即性能测试自动化的过程,自动化性能测试是利用人员、流程和技术来减少应用程序部署、升级或补丁部署过程中的风险的方法。自动化性能测试的核心是将生产工作量应用到部署前的系统,同时测量系统性能和最终用户体验。


 自动化性能测试解决方案应该能够解决以下问题:


  1、模拟成百上千个用户与系统交互,而无需过多的硬件需求。

  2、 测量最终用户响应时间。

  3、 监控负载系统组件。


高效的自动化测试解决方案(即性能测试工具)通常使用四个主要组件来构建并运行测试:


  1、 虚拟用户生成程序,用于将最终用户业务流程捕获到自动化脚本中。

  2、 监视器,用于组织、驱动、管理和监控负载。

  3、 负载生成程序,用于在执行时运行虚拟用户。

  4、 分析引擎,用于查看、剖析和比较结果。


结构完善的性能测试应该能够回答以下问题:


  1、 应用程序对目标用户响应是否够迅速?

  2、 应用程序是否能够处理预期的用户负载以及更多的负载?

  3、 应用程序是否能够处理业务所需要的大量交易?

  4、 应用程序在预期或非预期的用户负载下是否稳定?

  5、 在投入使用时用户是否具有积极的体验(即快速响应时间)?


主流性能测试工具


  目前市场上的性能测试工具较多,主流的性能测试工具有LoadRunner、QALoad、SilkPerformer和Rational Performance Tester。这类都为负载性能测试工具,其原理都相同。首先是录制脚本,通过录制脚本,性能测试工具通过协议来获取客户向服务器端发送的内容;接着通过回放脚本,将录制好的内容进行回放,来模拟多用户同时向被测试系统发送请求,以达到并发测试的目的;最后性能测试工具将收集到的测试数据保存到数据库中,通过分析器生成相关的视图达到性能测试的目的。

  下面就这几款主流性能测试工具进行简单的介绍:


  (1)LoadRunner


  LoadRunner 是一种预测系统行为和性能的负载测试工具。可以模拟上千万用户并发负载并实时监测系统性能的方式来确认和查找问题。LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

  当前最新版本为11.0 版,生产厂商Mercury(美利科)已于2006 年被HP(惠普)收购。

  LoadRunner 支持的协议如下:

  1)自定义:C Vuser、VB Vuser、VBScript Vuser、/VB.NET Vuser、Java Vuser、JavaScript Vuser。

  2)电子商务:Action Message Format(AMF)、AJAX(Click and Script)、File Transfer Protocol (FTP)、Flex、Listing Directory Service(LDAP)、Microsoft .NET、Web(Click and Script)、Web(HTTP/HTML)、Web Services。

  3)客户端/服务器:DB2 CLI、Domain Name Resolution(DNS)、Informix、MS SQL Server、 ODBC、Oracle(2-Tier)、Sybase CTlib、Sybase DBlib、Windows Sockets。

  4 )ERP/CRM :Oracle NCA 、Oracle Web Applications 11i 、PeopleSoft Enterprise 、Peop leSoft-Tuxedo、SAP-Web、SAP(Click and Script)、SAPGUI、Siebel-Web。

  5)邮件服务:Internet Messaging(IMAP)、MS Exchange(MAP)、Post Office Protocol(POP3)、Simple Mail Transfer Protocol(SMTP)。

  6)中间件:Tuxedo、Tuxedo 6。

  7)无线服务:i-Mode、Multimedia Messaging Service(MMS)、WAP。

  8)流媒体:Media Player(MMS)、Real。


  (2)QALoad


  QALoad 是客户/服务器系统、企业资源计划(ERP)和电子商务应用的自动化负载测试工具。QALoad 是QACenter 的一部分,它通过可重复的、真实的测试,能够彻底地度量应用的可扩展性和性能。QACenter 汇集完整的跨企业的自动测试产品,专为提高软件质量而设计。QACenter 可以在整个开发生命周期,跨越多种平台自动执行测试任务。在投产准备时期,QALoad 可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试,并针对所发现的问题对系统性能进行优化,确保应用的成功部署。当前最新版本为5.6 版,生产厂商为Compuware(康博)公司。

  QALoad 支持的协议如下:

  通信层:Winsock、IIOP、WWW、WAP、Net Load。

  数据层:ODBC、MS SQL Server、Oracle、Oracle Forms Server、Sybase、DB2、ADO。

  应用层:SAP、Tuxedo、Uniface、QARun、Java。


  (3)SilkPerformer


  SilkPerformer 是业界领先的应用性能测试解决方案,它支持目前业界主流应用平台,通过成千上万的虚拟用户来模拟生产环境可能遇到的各种真实负载场景,帮助用户快速定位可能存在的性能瓶颈,同时提供诊断、分析能力帮助开发、测试团队快速修复应用性能问题,为应用发布决策提供有力的信息支撑,加速产品发布。当前最新版本为7.0 版,生产厂商为Micro Focus 公司。

  SilkPerformer 支持的协议如下:

  1)主流数据库访问协议:ODBC、ADO、Oracle OCI、IBM CLI。

  2)主流协议:HTTP(S)、SMTP/POP、MAPI、FTP、LDAP、WAP、MMS、Radius、TCP/IP、UDP、SSL、SOAP(XML)、i-Mode。

  3)流媒体技术:Macromedia Flex/AMF、Streaming(MS, Real)。

  4)主流接口和应用框架:CORBA(IIOP)、EJB(IIOP、RMI)、(D)COM(COM+、MTS)、ActiveX、DLL、BEA Tuxedo(ATMI、JOLT)、Oracle Forms、.NET Framework、J2EE/Java Framework、VB6 Framework。

  5)ERP/CRM 系统:SAP、PeopleSoft、Siebel、Oracle Applications。

  6)其他:Outlook Web Access、MS .NET SOAP Stack、Apache Java SOAP Stack、Chordiant、E.piphany、Lawson、SSPS ShowCase、Amdocs Clarify。


  (4)Rational Performance Tester


  Rational Performance Tester(简称 RPT)也是一款性能测试工具,适用于基于 Web 的应用程序的性能和可靠性测试。Rational Performance Tester 将易用性与深入分析功能相结合,从而简化了测试创建、负载生成和数据收集,以帮助确保应用程序具有支持数以千计并发用户并稳定运行的性能。当前最新版本为8.1 版,生产厂商为IBM Rational 公司。

  Rational Performance Tester 支持的协议包括:HTTP、SAP、Siebel、SIP、TCP Socket 和Citrix 等。

  Rational Performance Tester 在录制脚本时可以选择4 种类型的记录器:RPT HTTP 记录、SAP记录、SDK Smaple Socket 记录和Citrix 记录。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
22天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
40 4
|
25天前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
17天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
120 17
Selenium:强大的 Web 自动化测试工具
|
27天前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
40 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
1月前
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
49 2
|
1月前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
1月前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
191 2
|
1月前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
1月前
|
数据采集 缓存 测试技术
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
36 2
|
1月前
|
测试技术 数据库连接 数据库
测试脚本的编写和维护对性能测试结果有何影响?
测试脚本的编写和维护对性能测试结果有着至关重要的影响,
30 1