软件测试技术实战 设计、工具及管理》联载-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进行规格选择与性能压测。
目录
打赏
0
0
0
0
310
分享
相关文章
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
81 4
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
58 10
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
从Postman到Apipost:我的动态参数测试实战踩坑记
作为一名全栈开发工程师,在开发用户中心模块时,我遇到了复杂参数API测试的挑战。最初使用Postman时,发现其在生成动态参数(如邮箱、手机号和日期)时存在诸多问题,导致测试效率低下甚至出错。例如,随机生成的邮箱格式无效等 后来,CTO推荐了Apipost,它提供了更智能的参数生成方式:支持真实邮箱、符合规范的手机号以及合法日期范围,极大提升了测试效率和准确性。通过对比,Apipost在处理复杂动态参数方面明显优于Postman,减少了维护成本并提高了团队协作效率。现在,我们已全面切换到Apipost,并利用其「参数组合测试」功能发现了多个边界条件bug。
Apifox工具让我的 Socket.IO 测试效率翻倍
用了 Apifox 测试 Socket.IO 后,我整个人都升级了!不仅操作简单到令人发指,功能还贼全面,真的是 提升开发效率的神器 !
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
一个测试工程师的实战笔记:我是如何在Postman和Apipost之间做出选择的?
优秀的API测试工具应该具备: 分层设计:既有可视化操作,也开放代码层深度定制 场景感知:自动识别加密需求推荐处理方案 协议包容:不强迫开发者为了不同协议切换工具 数据主权:允许自主选择数据存储位置
58 7
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
316 17
Selenium:强大的 Web 自动化测试工具
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
111 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。

热门文章

最新文章