性能理论六:测试流程之压测执行准则

本文详细阐述了性能测试的启动标准,包括系统版本定版、环境部署和测试方案审批。测试暂停/再启动标准涉及系统调整和环境干扰。测试目的侧重于系统表现、可靠性检查和性能瓶颈发现。准备阶段要求功能测试完成、环境准备和数据准备。测试方法使用LoadRunner工具进行脚本录制、场景执行和结果分析。执行原则强调关键参数配置、脚本正确性、日志管理和参数调整。测试完成标准是完成测试计划和达到预定时间。

一、测试启动标准

 

1. 系统待测版本定版

2. 测试环境部署完毕,包括:

    ·系统安装并调试成功,并经过相应优化,初始数据量满足测试要求

    ·应用软件安装成功,待测试版本已正确部署

    ·测试客户端机器到位,系统软件安装完毕

    ·网络配置正确,连接通畅,可以满足压力测试需求

3. 测试方案审核,批准完毕,项目组签字确认

 

二、测试暂停/再启动标准

 

1. 暂停准则

·测试中发现问题,需求对系统进行代码修改,调优或需要更换,调整硬件资源(CPU,内存等)

·测试环境受到干扰,比如服务器被临时征用,或服务器的其他使用会对测试结果造成干扰

2. 再启动准则

·测试中发现的软,硬件问题得以解决

·测试环境恢复正常

 

三、性能测试的测试目的、准备、方法和范围

 

1. 测试目的

·主要目的是检查系统处于压力情况下时应用系统的表现,重点在于系统有无出错信息产生,考察系统应用的响应时间,TPS,资源状况等

·针对系统可靠性进行测试,主要检查系统在高负荷压力的情况下是否会出现如宕机,应用异常终止,资源竞争异常,资源死锁等问题

·通过压力测试,获得系统可能存在的性能瓶颈,发现,定位系统中可能存在的性能缺陷。

2. 测试准备

·功能测试已经结束

·性能测试环境已经准备完毕

·已将模拟数据提前准备完毕(被测试系统需要的测试数据)

·相关技术支持人员的支持

3. 测试方法

·利用LoadRunner性能测试工具中的Virtual User Generator应用,录制性能测试执行脚本

·对性能测试脚本进行修改,调试,完善并保存测试脚本

·利用LoadRunner性能测试工具中的Controller应用,按性能测试用例执行设计的场景并保存场景

·利用被测服务器自带监控工具和LoadRunner监控被测环境下服务器的CPU,网络流量等系统资源的使用情况

·利用LoadRunner性能测试工具中的Analysis应用,分析场景执行后的结果

4. 测试分析范围

针对“测试业务及性能需求”的内容,对系统响应时间,系统业务处理容量(TPS),被测试环境下服务器资源使用情况(如CPU,内存,磁盘等)进行监控。

 

四、执行性能测试基本原则

  原则一:测试前,要确认系统级的关键参数已经基本配置正确(例如:数据库、WEB容器、线程池、JDBC连接池、对象池、JVM、操作系统、应用系统等配置);

  原则二:测试前,要确保测试脚本的业务功能运行正确。

  原则三:测试前,清空所有应用日志、调高错误日志的输出级别(Error级),必要时在每次测试前重启应用服务和数据库应用服务;

  原则四:调整系统参数时,一次只调整一个,不要同时调整多个,并记录调整前后的系统变化。

  原则五:优先测试基线案例。

 

五、测试完成标准

 

1. 完成测试计划中规定的测试内容和轮次。

2. 已达到性能测试计划完成时间,但因非测试方原因未完成测试场景的执行,客户方决定不再顺延该阶段的测试。

 

### 如何使用 JMeter 对接口进行性能 #### 1. 准备工作 在开始之前,需确保已安装并配置好 JMeter。如果尚未完成此操作,可以从 Apache 官方网站下载最新版本的 JMeter 并解缩至本地目录[^1]。 #### 2. 创建试计划 打开 JMeter 后,默认会创建一个新的试计划。可以通过右键菜单选择 `Add -> Threads (Users) -> Thread Group` 来定义线程组。线程组用于设置并发用户数、循环次数以及运行时间等参数[^4]。 #### 3. 添加 HTTP 请求采样器 为了对接口进行,在线程组下添加一个 HTTP 请求采样器 (`HTTP Request`)。通过该组件可以指定目标 API 的 URL 地址、请求方法(GET/POST)、头部信息以及其他必要的参数[^2]。 对于 POST 方法的情况,还需要填写 Body 数据部分。例如发送 JSON 格式的请求体时,可以在 `Body Data` 中输入如下内容: ```json { "key": "value" } ``` 同时记得在 Header Manager 设置 Content-Type 为 application/json[^3]。 #### 4. 配置监听器 为了让结果更加直观可读,建议在线程组下面增加视图树(`View Results Tree`) 和聚合报告(`Aggregate Report`) 这两个监听器来观察每次调用的具体情况及其汇总统计信息[^5]。 - **视图树**:显示单个样本的结果详情。 - **聚合报告**:提供平均响应时间、吞吐量等重要指标的数据表形式展示。 #### 5. 执行试 当所有的配置完成后就可以保存脚本并通过命令行模式执行它了。以下是基本语法结构: ```bash jmeter -n -t [Jmx脚本位置] -l [中间文件result.jtl位置] -e -o [报表指定文件夹] ``` 其中 `-n` 表示非 GUI 模式;`-t` 跟随的是具体的 .jmx 文件路径;而最后两步则是用来生成 HTML 报告以便后续分析使用的选项。 --- ### 示例代码片段 以下是一个简单的 JMX 配置实例演示如何向某个 RESTful 接口发起 GET 请求: ```xml <TestPlan> <ThreadGroup name="Example Thread Group"> <!-- Define number of threads, ramp-up period etc --> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get User Info"> <stringProp name="HTTPSampler.domain">api.example.com</stringProp> <stringProp name="HTTPSampler.port"></stringProp> <!-- Leave blank for default port --> <stringProp name="HTTPSampler.path">/users/{id}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <!-- Add more properties as needed such as headers or body data --> </HTTPSamplerProxy> <ResultCollector referenceName="Tree Viewer"/> <ResultCollector referenceName="Aggregated Report"/> </ThreadGroup> </TestPlan> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值