苏州风云教育

「性能测试」面试宝典,来了!

发布日期:2024年02月17日

「性能测试」面试宝典,来了!

马上步入年后求职高峰季,今天给大家分享性能测试面试宝典。

一.性能测试指标

性能测试关注的性能指标包括:注册用户数、在线用户数、并发用户数、请求响应时间、事务响应时间、吞吐率、HPS(每秒点击数)、TPS(每秒事务数)、资源利用率等。

并发用户数:并发用户数是指某一时刻同时向服务器发送请求的在线用户数。

并发用户数根据业务场景不同,又可以分为两类:

1.同一时刻向服务器发送某一个业务(单业务、单场景)的相同请求。

如100个用户同时只进行登录操作

2.同一时刻向服务器发送多个业务(多业务、组合业务、混合场景、组合场景)的不同请求。

如100个用户同时发起请求,30个用户进行登录,50个用户进行搜索,20个用户进行支付。

事务响应时间:事务是指用户在客户端完成一种或多种业务的操作集合,可能会在期间向服务器发送多次请求。

事务的响应时间就是衡量用户执行这些操作所花费的时间。

在进行性能测试时,我们需要尽可能接近用户的真实操作,用户在操作系统/软件时,各个操作之间一定会有等待时间,这个操作的等待时间被称为思考时间。

业务成功:指多用户对某一业务发起请求操作的成功次数在总请求数中的占比。

TPS(每秒事务数):表示服务器每秒处理的事务数,它是衡量系统处理能力的一个非常重要的指标,在性能测试中,通过检测不同用户数的TPS,可以估算出系统处理能力的拐点。

二.性能测试的分类

基准测试

负载测试

压力测试

并发性能测试

稳定性测试

容量测试

配置测试

我们这这里面主要看一下负载测试、压力测试与稳定性测试。

负载测试是指:对系统不断增加并发用户数,验证系统在不同的并发用户数下的性能表现,不关注系统持续运行时长,目的是找到系统处理能力极限和性能临界点。

压力测试是指:使系统处理超过预期负载的状态下,验证系统持续处理业务的能力,主要目的是检查系统在峰值负载情况下的各项性能指标,及什么时候出现异常。

稳定性测试是指:被测软件/系统在特定硬件、软件、网络环境下,给系统加载一定的业务压力,使系统运行一段较长的时间,以此检测系统是否稳定,一般稳定性测试时间为n * 24小时。

三.性能测试流程

性能测试需求分析

性能测试方案/评审

设计性能测试用例

评审性能测试用例

部署性能测试环境

执行性能测试(脚本录制、脚本增强、场景设计、执行场景、监控测试数据)

分析测试结果

查找系统性能瓶颈

分析瓶颈产生的原因

编写性能测试报告

配合项目相关人员进行性能调优

性能回归测试

编写性能回归测试报告

四. Jmeter性能测试常用组件有哪些

bzm - Arrivals Thread Group测试高压下的 持续运行时间, 压力测试

bzm - Concurrency Thread Group测试的并发用户数: 负载测试

jp@gc - Ultimate Thread Group混合式加压

jp@gc - Stepping Thread Group 阶梯式加压(已被弃用)

Synchronizing Timer 同步定时器(集合点的设置)

jp@gc - Active Threads Over Time 每秒活跃线程数

jp@gc - Response Times vs Threads 线程数与响应时间图例

五.性能脚本增强包括哪些方面

指对抓包/代理录制的脚本,进行功能增强. 脚本增强的内容:

1.事务Transaction Controller 逻辑控制器选择 事务控制器

2.集合点(主要是并发测试) 线程组--->定时器--->同步定时器(Synchronizing Timer)

3.参数化(CSV数据文件设置)

4.关联(正则表达式提取器/Json提取器)

5.检查点(断言) (响应断言)

6.Jmete代理抓包-- 通过添加HTTP代理服务器进行手动代理抓包设置

7.JDBC Connection Configuration与JDBC-request, Jmeter连接数据库配置与数据库请求

8.HTTP信息头管理器(请求头设置)

9.HTTP Cookie管理器

10. 用户定义的变量(环境变量)

相关资讯
应届生求职必看——教你如何网络求职 JAVA未来就业还能火多久?现在入行晚了吗 职业生涯规划的七条原则 Java培训:Java编程的未来 作为软件开发人员,如何准备2024年的面试?
相关课程