软件测试技术实战 设计、工具及管理》联载-25

本文涉及的产品
性能测试 PTS,5000VUM额度
日志服务 SLS,月写入数据量 50GB 1个月
简介: 软件测试技术实战 设计、工具及管理》联载-25

5.1.9  性能测试工具


目前,性能测试工具主要有。

商用:LoadRunner

开源:JmeterFitnesse

LoadRunner9.1节“LoadRunner工具介绍”中会进行详细介绍。开源工具JMeterFitnesse在本书不做介绍。这里来介绍一家通信公司是如何利用自己开发的工具进行性能测试的。


案例5-12:某通信公司产品的性能测试工具使用简介。
  •  硬件:服务器、客户机。
  •  操作系统:Suse Linux
  •  测试工具:安装在客户机,通过模拟从客户机向服务器发送/接受符合国际通信标准协议的通信数据包。
  •  模拟器:安装在服务器上,随时监视服务器CPUMemory等状态。


1)运行在客户机上的测试命令如下:

./可执行文件名 -d dic -f QueryFile_s1_n20000akafull–R/tmp/test.log -q -T -K Ki -r 1 -t 600 -S secret -s 192.168.0.158 auth -n 100 -l600 >Traffic_EAP_AKA_100tps.log,其中:

Ø    QueryFile_s1_n20000akafull:性能测试读取的配置文件。

Ø    -fQueryFile_s1_n20000akafull:性能测试读取的参数文件。

Ø    -R/tmp/test.log:测试Log日志。

Ø    -t600:持续运行600s

Ø    -s192.168.0.158:服务器的IP地址。

Ø    -n100:并发用户为100

Ø    >Traffic_EAP_AKA_100tps.log:测试结果输出文件,通过“>”定向输出。


2)模拟器启动命令:

./模拟器文件(运行在服务器上) -t 600>Test_QPS100.log,其中:

Ø    -t600:持续运行600s,与测试命令-t相同。

Ø    >Test_QPS100.log:监视结果输出文件,通过“>”定向输出。

测试命令与模拟器命令同时启动。

测试完毕:在客户端查看Traffic_EAP_AKA_100tps.log,检查测试功能是否正常后,再去分析服务器端监视文件Test_QPS100.log,用专用工具转化成统计图,查看有无性能异常。


5.1.10  性能测试流程


性能测试流程可以包括以下几个阶段:

1)性能测试计划

主要工作为分析哪些地方需要性能测试?执行哪种类型的性能测试?事务点加在哪些地方?以及录制、修改、回放脚本。

2)软件测试场景设计

主要工作为设置脚本的运行场景,包括需要模拟多少虚拟用户?虚拟用户如何在场景中进入、持续和退出,如何设置集合点等。

3)软件测试执行及监控

包括运行性能测试以及运行时监测各种计数器变化。

4)软件测试结果分析

指性能测试完毕,对测试结果进行分析,如果测试结果表明存在缺陷,就与开发工程师沟通,协助解决。

5)软件测试报告撰写

当本轮所有性能测试完毕,书写并提交测试报告。

更多性能测试的资料参见参考文献【3[J1]


 

扩展阅读:软件性能测试需要关注的6个方面

一、性能测试提前准备关注点

1性能测试的环境配置需要能够尽可能地模拟用户的现场使用,包括外网的设备、软件网元、各种硬件平台、操作系统和软件平台。

2性能测试需要准备合适的模拟脚本来尽可能全真地模拟用户可能的操作,比如同时并行网页操作,同时进行socket连接等。而且要超出用户的真实可能情况。


二、性能测试需要出两类数据

1基准测试对比数据:比较本版本和前一版本的性能指标的情况。用以发现本版本的功能合入是否影响了基准的性能。基准测试的情况下,本版本的新增功能和特性默认都是不打开的,保持和前一版本一致。

2单个功能的性能对比数据:验证本版本中,新增的功能和特性打开的时候,此功能对于版本的性能的影响。


三、性能测试过程关注点

1资源的占用情况:查看资源的使用情况。包括CPU、内存、硬盘等。

2资源的释放情况:查询系统在业务处理停止后是否可以正常释放资源,以供后续业务使用。按道理业务停止,资源应该及时释放。常见问题:内存泄露、资源吊死、导致系统不能正常释放资源、严重情况导致宕机。可以用很多工具来检测资源    情况。

3异常测试:性能测试的情况在一定的话务(一般是模拟现场的用户)的情况下,进行硬件倒换,双机倒换,业务切换等。包括破坏性地输入来验证系统在高负荷情况下的容错性。

4查询警告等信息:一般系统都会在出问题的时候,进行通知和警告,这些信息是暴露问题的最好手段,性能测试需要及时查看。

5长时间运行:性能测试需要模拟设备长时间的运行,这是检查版本在外场测试的手段。可以检查出很多与时间、定时器等相关的积累效应的故障。

6日志检查:性能测试需要经常分析系统的日志,包括操作系统、数据库、软件版本的日志。

7查看业务响应时间:长时间的测试后,查看业务响应的时间是否在客户可以接受的范围内。比如网页的响应时间,终端登录时长等。


四、性能测试的人员要求

1性能测试的人员必须是骨干,不能使用新人进行性能测试。

2性能测试的人员必须对全系统非常熟悉,对于问题定位手段使用熟练,能够牵头带领开发人员进行性能相关的问题排查。

 

 

 

五、性能[J2] 测试报告

1性能测试报告要体现基准性能数据,单个功能的性能数据。用于评估版本是否可以在原有的硬件环境下保持同样的处理能力。

2性能测试报告需要满足各个测试利益相关者的要求。所以性能测试进行前需要获得测试利益相关者的要求,做成明细表,然后再开始性能测试。


六、性能测试的工具要求

1性能测试必须有一定的工具准备,包括LoadRunner等。很多产品的性能测试需要自研性能测试工具,工具的最高境界是可以全真地模拟用户的操作。特别说明,LoadRunner仅仅是一种工具,而性能测试是一套理论和方法。

2性能测试工具使用过程中,需要加入手工操作。比如模拟用户购物的网购动作。工具和手工需要有效结合,用以弥补工具的某些不可预知的不足。


顾翔凡言:

不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

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