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

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

性能测试的概念


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

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

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


 性能测试自动化


  手工进行性能测试存在诸多困难,如图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 记录。

目录
相关文章
|
11月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
257 4
|
2月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
271 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
2月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
109 6
|
3月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
695 10
|
3月前
|
监控 Java 数据挖掘
利用Jmeter工具进行HTTP接口的性能测试操作
基础上述步骤反复迭代调整直至满足预期目标达成满意水平结束本轮压力评估周期进入常态监控阶段持续关注系统运转状态及时发现处理新出现问题保障服务稳定高效运作
437 0
|
4月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
5月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
887 23
|
5月前
|
数据可视化 测试技术 Go
Go 语言测试与调试:`go test` 工具用法
`go test` 是 Go 语言内置的测试工具,支持单元测试、基准测试、示例测试等功能。本文详解其常用参数、调试技巧及性能测试命令,并提供实际项目中的应用示例与最佳实践。
|
4月前
|
人工智能 数据可视化 测试技术
UAT测试排程工具深度解析:让验收测试不再失控,项目稳稳上线
在系统交付节奏加快的背景下,“测试节奏混乱”已成为项目延期的主因之一。UAT测试排程工具应运而生,帮助团队结构化拆解任务、清晰分配责任、实时掌控进度,打通需求、测试、开发三方协作闭环,提升测试效率与质量。本文还盘点了2025年热门UAT工具,助力团队选型落地,告别靠表格和群聊推进测试的低效方式,实现有节奏、有章法的测试管理。
|
5月前
|
弹性计算 JavaScript Ubuntu
WebSocket协议相关的测试命令工具使用简介
本文介绍了针对WebSocket的测试工具wscat和websocat的基本使用方法,以及通过curl命令测试HTTP/HTTPS协议的方式。对于WebSocket,直接使用curl测试较为复杂,推荐使用wscat或websocat。文中详细说明了这两种工具的安装步骤、常用参数及连接示例,例如在ECS上开启8080端口监听并进行消息收发测试。此外,还提供了curl命令的手动设置头部信息以模拟WebSocket握手的示例,但指出curl仅能作为客户端测试工具,无法模拟服务器。
1059 4