每年开学季,各高校都会同步上演,轰轰烈烈的“抢课大战”!当几万名学生同时涌入在线系统,指尖悬停在“提交选课”按钮上,那一刻的流量洪峰,对选课系统核心链路(登录→数据加载→提交)的并发能力要求极高。
今天分享一下高校选课系统场景的压力测试实战教程,如何针对各类院校的教务系统开展性能测试,平稳度过开学季流量高峰。
每年开学季,各高校都会同步上演,轰轰烈烈的“抢课大战”!当几万名学生同时涌入在线系统,指尖悬停在“提交选课”按钮上,那一刻的流量洪峰,对选课系统核心链路(登录→数据加载→提交)的并发能力要求极高。
今天分享一下高校选课系统场景的压力测试实战教程,如何针对各类院校的教务系统开展性能测试,平稳度过开学季流量高峰。
根据业务逻辑,需要重点测试以下三个关键流程:
需构造模拟学生用户的登录凭证(用户名、密码),并将成功认证后获取的会话信息传递给后续请求,作为身份验证依据。
模拟学生加载可选课程列表的操作。此步骤返回的学校数据中,关键是将目标课程的唯一标识(课程ID)提取出来,作为下一步“选课提交”请求的必需参数。
利用上一步骤获取的课程ID,模拟学生提交选课的操作,判断提交选课是否成功。
基于上述业务逻辑和压测需求,我们以腾讯优测压力测试SaaS平台为例,介绍如何构建基本压测场景。
① **创建链路:选择全链路模式,通过编排的方式,无需代码即可快速构建出一个串行链路,真实模拟“用户登录->获取课程->提交选课”**的场景。
② **“用户登录”API配置:**为模拟不同用户登录,可以通过上传csv文件构造用户登录的账密信息,方法如下:
a. 在本地新建一个.csv文件,构造两列数据,分别对应用户名和密码;
b. 上传csv文件后,在请求体页签中,添加用户登录的数据变量:
③ **“获取课程”API配置:**为了将某个课程ID传递给下一个请求,需要提取当前API响应出参的课程ID,作为出参。
配置方法:
选择出参定义页签,类型选择Body:Json;出参名和表达式根据选课系统的实际信息填写(可以Fn+F12组合键打开浏览器的开发者工具查看)。
④ **“提交选课”API配置:**为判断提交选课是否成功,需要使用前一个API的出参课程ID,并校验结果断言。
配置方法:
a. 点击请求体页签,数据类型选择x-www-form-urlencoded,引用前一个API的出参数据。
b. 点击出参定义页签,填写信息。
c. 点击请求结果断言页签,在断言区域填写对应的信息,为该API设置结果断言:
单击页面下方的调试按钮,调试结束后,可以查看所有执行链路的调试详情(这里由于使用的是示例URL,故显示请求报错)。
基本场景构建完成后,需要选择施压模式、设置施压量级等,示例如下:
压测结束后,报告概览页收集了本次压力测试中的基本信息以及相对重要的性能指标,以图表的形式展示,可快速判断测试结果是否达标。
演示报告示图:
在监控任务与统计页面,只需点击“引用场景”,便可以一键式快速发起监控计划。当API出现连续失败时,可以实时获得告警。为了确保用户随时都有良好的访问体验,时刻了解API的实时运行情况,建议为业务场景同步创建监控任务。
本文未注明其它来源的内容,其版权归原作者所有。如需转载,请在显著位置注明出处(优测云服务平台,以及文章链接:https://utest.21kunpeng.com/home/topic/pts250806)