《JMeter核心技术、性能测试与性能分析》 教学大纲及标准
本教材中的课程旨在提高学生在软件性能测试与性能分析方面的综合素养与定位分析性能问题的能力,着重使学生掌握软件性能测试与性能分析相关的必备知识与技能,借助JMeter工具,培养学生实际动手实践的能力和形成如何去分析与解决性能压测问题的思想。在本课程的学习中也渗透了学生职业素养等方面的教育和培养,使学生形成认真负责的工作态度和严谨的工作作风,为后续课程学习和职业生涯的发展奠定基础。该套教材被南京大学等多所高校点评。

一、课程分析
(一)教学计划的制定和教学内容的选取
根据培养应用技能型人才总目标,制订本专业教学计划,课程的教材配套教学、实践案例、PPT课件、课程设计大纲等教学文件齐全,根据该课程的基本教学要求和特点,结合学时的安排,从教材的整体内容出发,有侧重地进行取舍,筛选出学生必须掌握的基本教学内容,较好地解决了教学中质量与数量的矛盾。
通过本课程的学习,使学生了解JMeter性能测试的工具的基础原理以及高级使用,全书理论结合实践,通过实践案例由浅入深,让学生们能一步步的去掌握性能测试的相关知识,本书每章在最后时,都有对本章的内容进行学习总结,以让学生们能快速找到每个章节中的重点内容和知识点。
(二)教学方法分析
1、本课程适宜采用理论、实践一体化的教学方法。坚持理论结合实践,突出实际动手操作,切实保证技能训练教学的时间和质量。
2、注意教学方法的灵活性,可组织学生讨论、问题教学、阅读指导等。借用多媒体的声像演示,对实例进行展示,提供给学生直观的理论印象。通过实例操作,提高学生对JMeter性能测试工具以及相关性能压测知识的理解。
3、充分发挥学生的学习主观能动性。在本课程的教学过程中,注意训练学生的操作动手能力,引导学生理论联系实际,应用课本中的理论知识来解决实际操作问题。
4、重视实习教学的过程评价,实现在评价中学习的理念
5、教学中要注重培养学生思考和解决问题的思想和能力。
二、课程目标
(一)知识教学目标
1、认识JMeter性能测试工具以及性能测试的发展历程,掌握如何安装部署JMeter性能测试工具。
2、掌握性能测试的基本概念以及常见的性能测试指标,掌握性能测试的流程,包括如何去编写性能测试计划、测试方案、测试案例、测试报告等。
3、掌握JMeter性能测试工具中常见的元件,包括测试计划、线程组、配置元件、前置处理器、定时器、取样器、后置处理器、断言、监听器等,可以借用这些元件,完成一个性能测试脚本的编写。
4、掌握JMeter性能测试工具中部分元件的高级使用,包括CSV 数据文件设置、HTTP Cookie管理器、HTTP 信息头管理器的高阶使用方式等,掌握函数助手和逻辑控制器的使用,需要能完成一些更加复杂的Jmeter性能测试脚本的编写。
5、通过性能测试脚本的实践编写案例,掌握一些常见的性能测试脚本编写技巧,能完成一些常见的HTTP请求以及数据库请求的性能压测。
6、掌握BeanShell脚本语言的基础语法以及在Jmeter中如何使用BeanShell脚本语言,需要能在Jmeter中通过BeanShell脚本完成一些比较复杂的性能压测场景中的性能测试脚本的编写。
7、掌握在Jmeter中如何去编写自定义的取样器,需要能完成一个简单的Jmeter自定义取样器的编写。
8、掌握如何去对发现的性能瓶颈问题进行分析诊断与调优,包括常见的性能调优模型、性能调优思想、性能调优技术等,知道在性能压测中遇到性能问题时,如何去分析和解决问题。
9、通过完整的性能测试与性能分析实践案例,让学生能独立完成性能测试的准备工作,包括性能需求分析、制定性能测试计划、编写性能测试方案和案例、搭建性能测试环境和构造性能测试数据等,同时也要让学生能独立完成性能测试的执行,在遇到性能瓶颈等问题时,能知道如何去分析定位和调优解决问题,并且最终输出一份高质量的性能测试报告。
10、掌握 JMeter性能测试的最佳实践,包括如何去准确确定要编写脚本的关键业务场景、如何设计真实的用户思考时间等。
11、掌握如何利用大模型来辅助完成性能测试脚本的编写、性能测试数据的构造以及性能瓶颈问题的定位与分析等。
(二)思想教育目标
1、树立科学、严谨、勤奋的学风;
2、养成良好的职业道德观念;
3、能自觉爱护机房电脑等设备。
三、教学内容和要求
|
序号 |
项目 |
内容提供 |
技能标准要求 |
|
1 |
认识JMeter |
1.1、 JMeter基本介绍 1.2、 性能测试的发展 1.3、 性能测试工具的发展 1.4、 为啥选择JMeter 1.5、 JMeter的安装部署 1.6、 JMeter的组成 1.7、 JMeter的运行模式 |
认识JMeter性能测试工具以及性能测试的发展历程,掌握如何安装部署JMeter性能测试工具。 |
|
2 |
认识性能测试 |
2.1、性能的基本概念 2.2、性能测试的基本概念 2.3、性能测试的流程 |
掌握性能测试的基本概念以及常见的性能测试指标,掌握性能测试的流程,包括如何去编写性能测试计划、测试方案、测试案例、测试报告等。 |
|
3 |
初识JMeter 元件 |
3.1、测试计划 3.2、线程组 3.3、配置元件 3.4、前置处理器 3.5、定时器 3.6、取样器 3.7、后置处理器 3.8、断言 3.9、监听器 3.10、编写一个性能测试脚本 |
掌握JMeter性能测试工具中常见的元件,包括测试计划、线程组、配置元件、前置处理器、定时器、取样器、后置处理器、断言、监听器等,可以借用这些元件,完成一个性能测试脚本的编写。 |
|
4 |
JMeter主要元件详细介绍 |
4.1、配置元件 4.2、函数助手 4.3、逻辑控制器 4.4、取样器 |
掌握JMeter性能测试工具中部分元件的高级使用,包括CSV 数据文件设置、HTTP Cookie管理器、HTTP 信息头管理器的高阶使用方式等,掌握函数助手和逻辑控制器的使用,需要能完成一些更加复杂的Jmeter性能测试脚本的编写。 |
|
5 |
常见JMeter性能测试脚本编写案例 |
5.1、用户需先登录,然后再请求别的接口 5.2、前一个请求返回的结果作为后一个请求的入参 5.3、使用JMeter对MySQL数据进行性能测试 |
通过性能测试脚本的实践编写案例,掌握一些常见的性能测试脚本编写技巧,能完成一些常见的HTTP请求以及数据库请求的性能压测。 |
|
6 |
BeanShell |
6.1、BeanShell的安装 6.2、BeanShell的基础语法 6.3、BeanShell中如何使用Jmeter内置变量 6.4、JMeter中使用BeanShell的案例 |
掌握BeanShell脚本语言的基础语法以及在Jmeter中如何使用BeanShell脚本语言,需要能在Jmeter中通过BeanShell脚本完成一些比较复杂的性能压测场景中的性能测试脚本的编写。 |
|
7 |
JMeter中如何编写自定义的取样器 |
7.1 、JavaSamplerClient取样器抽象接口介绍 7.2、自定义的取样器的编写案例 |
掌握在Jmeter中如何去编写自定义的取样器,需要能完成一个简单的Jmeter自定义取样器的编写。 |
|
8 |
性能分析 |
8.1、性能分析调优模型 8.2、性能分析调优思想 8.3、性能调优技术 8.4、常见性能问题分析总结 |
掌握如何去对发现的性能瓶颈问题进行分析诊断与调优,包括常见的性能调优模型、性能调优思想、性能调优技术等,知道在性能压测中遇到性能问题时,如何去分析和解决问题。 |
|
9 |
性能测试与性能分析实践案例 |
9.1、性能需求分析 9.2、制定性能测试计划 9.3、编写性能测试方案 9.4、编写性能测试案例 9.5、搭建性能测试环境 9.6、构造性能测试数据 9.7、编写性能测试脚本 9.8、执行性能测试 9.9、完成性能测试报告 |
通过完整的性能测试与性能分析实践案例,让学生能独立完成性能测试的准备工作,包括性能需求分析、制定性能测试计划、编写性能测试方案和案例、搭建性能测试环境和构造性能测试数据等,同时也要让学生能独立完成性能测试的执行,在遇到性能瓶颈等问题时,能知道如何去分析定位和调优解决问题,并且最终输出一份高质量的性能测试报告。 |
|
10 |
JMeter性能测试的最佳实践 |
10.1、确定要编写脚本的关键业务场景 10.2、如何设计真实的用户思考时间 10.3、JMeter编写性能测试脚本的注意事项 10.4、 JMeter执行性能测试时的注意事项 10.5、性能测试时,通常需要做哪些监控 |
掌握 JMeter性能测试的最佳实践,包括如何去准确确定要编写脚本的关键业务场景、如何设计真实的用户思考时间等。 |
|
11 |
大模型辅助性能测试 |
11.1、人工智能大模型的发展 11.2、大模型辅助性能测试 |
掌握如何利用大模型来辅助完成性能测试脚本的编写、性能测试数据的构造以及性能瓶颈问题的定位与分析等。 |
四、课程教学学时分配表
|
序号 |
教学内容 |
教学时数 |
|
1 |
第1章、认识JMeter |
3 |
|
2 |
第2章、认识性能测试 |
3 |
|
3 |
第3章、初识JMeter 元件 |
12 |
|
4 |
第4章、JMeter主要元件详细介绍 |
10 |
|
5 |
第5章、常见JMeter性能测试脚本编写案例 |
4 |
|
6 |
第6章、BeanShell |
12 |
|
7 |
第7章、JMeter中如何编写自定义的取样器 |
3 |
|
8 |
第8章、性能分析 |
4 |
|
9 |
第9章、性能测试与性能分析实践案例 |
8 |
|
10 |
第10章、JMeter性能测试的最佳实践 |
3 |
|
11 |
第11章、大模型辅助性能测试 |
2 |
|
合计 |
64 |
五、教材选用及附加说明
1、参考教材及教学参考书选用:
《JMeter核心技术、性能测试与性能分析》 张永清、张永松编著 清华大学出版社
2、教学方法和步骤:采用课堂教学+实践教学相结合的方法,按章节进行教学。
3、考核方式:本课程主要考核理论和实践操作能力,考核采取笔试和实操考试相结合方式,学生按规定独立完成实操规定内容的设计或操作。
为了更确切的考察学生真实水平,采取增加实操成绩占总成绩的份额的措施。
六、实践性教学形式与要求
实践性教学以项目为载体,课题为单元,通过实践性、应用性的结合使学生加深对课堂上学习的系统理论知识的理解,提升学生的理论知识和技能知识。实践性教学要求依据学科培养目标,将学生能力结构的培养设置于课程之中,培养学生的职业岗位能力,以达到学以致用。
七、教学组织与方法
教学班是主要的教学组织,班级授课制是目前教学的主要组织形式。有条件的话,也可以采用分组教学。实操训练是本课程教学的重要环节,通过实操动手操作使得理论应用于实践当中。
在教学过程中采用理论教学、现场教学、仿真实训教学、综合实践训练相结鼓励学生独立思考,促进学生自主性学习、研究性学习和个性发展。理论教合,学实行启发式、互动式等教学方法 在现场教学过程中,充分利用学校机房,实行情境教学,采用“教学做合一"的教学模式,使理论教学与实践教学相结合,使学生实际操作水平得到进一步的提高。
八、教学评价
评价教学方法要以实现课程标准规定的教学目标为依据,好的教学方法应有助于学习对教学内容的理解,并能激发学生的学习热情,提高自己的操作动手能力。鼓励有所创新并取得实效的教学方法。
具体评价标准:
(1) 期末考试成绩=笔试成绩(40%)+上机考试成绩(60%)
(2) 实操考试成绩=平时成绩(每次上机成绩) 40%+期末上机考试成绩 20%
九、装备要求
一般以50人班型记。每人一台电脑,学生可根据老师提供的场景进行现场操作。
《JMeter核心技术、性能测试与性能分析》 教学大纲及标准的更多相关文章
- jmeter性能分析
1.硬件要求:包括客户端和服务端的cpu,mem,network,disk等,这些硬件设备必须满足性能测试的前提下,才能进行性能测试,否则得到的各项指标不一定是正确的 2.场景分析: 测试前的准备工作 ...
- 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结
本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...
- 软件性能测试分析与调优实践之路-Java应用程序的性能分析与调优-手稿节选
Java编程语言自从诞生起,就成为了一门非常流行的编程语言,覆盖了互联网.安卓应用.后端应用.大数据等很多技术领域,因此Java应用程序的性能分析和调优也是一门非常重要的课题.Java应用程序的性能直 ...
- 性能测试-性能分析思路以及CPU
1.性能分析思路 性能测试分析的思路:先分析硬件 .网络. 系统配置.应用程序 硬件: cpu.内存.磁盘.网络.io 4.常见问题处理4.1 常见问题及解决方法如果r经常大于4,且id经常少于40, ...
- 【性能测试】性能测试总结<二>
本文主要介绍下性能测试的基本流程,性能测试从实际执行层面来看,测试的过程一般分为这么几个阶段,如下图: 下面分别介绍下每个阶段具体需要做什么: 一.性能需求分析: 首先,让我们来看看通过性能需求分析我 ...
- 4月27号开学! 第6期《jmeter实战接口自动化+性能》课程,零基础也能学
2019年 第6期<jmeter实战接口自动化+性能>课程,4月27号开学! 主讲老师:飞天小子 上课方式:QQ群视频在线教学 本期上课时间:4月27号-6月9号,每周六.周日晚上20:0 ...
- jmeter如何玩之badboy + jmeter并发性能测试
今天下班时公司安排了一个同事来对项目做集群性能测试,怀着对性能测试的好奇心,下班后没有着急离开,而是等待 那位同事的到来,然后在旁边学习了下如何使用Badboy和jmeter做性能测试. 1. 软件介 ...
- Jmeter:性能测试指南(转)
http://yukinami.github.io/2015/11/26/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95%E6%8C%87%E5%8D%97/ 性能测试指南 ...
- 使用Jmeter做性能测试
上周刚刚做完项目的性能测试.今天整理和总结一下,随便分享给大家. 首页呢,测试前,我们是有明确的性能指标的,而且测试环境和数据都已准备好,业务分析.场景分析大家根据自己的项目系统进行分析设计,我们选用 ...
- Java 性能分析工具 , 第 3 部分: Java Mission Control
引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...
随机推荐
- gitlab runner operator部署配置
背景说明 由于公司管理的git runner资源不足,导致并发的任务比较多时,出现大面积的排队,比较影响效率.基于此问题,我们可以自建一部分Runner给到相应的仓库使用.这里我们有自建的 在k8s集 ...
- Mysql建表注意点
库名.表名.字段名必须使用小写字母,"_"分割.
- ABAP基础一:ALV样例
REPORT zly_report. *********Report Demo**************************************** *本程序主要将普通的ALV报表做拆分讲解 ...
- 数栈SQL优化案例:OR条件优化
本文整理自:袋鼠云技术荟 | SQL优化案例(2):OR条件优化 数栈是云原生-站式数据中台PaaS,我们在github上有一个有趣的开源项目:https://github.com/DTStack/f ...
- Spring IoC容器与依赖注入深度解析
在 Spring 生态系统中, 控制反转(IoC) 与 依赖注入(DI) 是实现组件解耦的核心机制.本文从容器架构.依赖注入实现.生命周期管理及面试高频问题四个维度,结合 Spring 源码与工程实践 ...
- MD-ML: Super Fast Privacy-Preserving Machine Learning for Malicious Security with a Dishonest Majority
这是上交团队发表在USENIX2024上的文章. 1 介绍 1.1 \(\text{MPC}\)和\(\text{PPML}\) 假设一个多方的场景,参与方分别持有数据\(x,y,z,w\),如果现在 ...
- ET5.0服务端架构
1: 整体架构图(图片来源 注意:现在的客户端与服务器的链接只有Realm和Gate.也就是说,客户端在第一次登陆时链接Realm,然后链接Gate,但是不连接Map.Map与Client之间的通讯完 ...
- .NET 全栈开发工程师学习路径
PS:最近一直反复地看博客园以前发布的一条.NET全栈开发工程师的招聘启事,觉得这是我看过最有创意也最朴实的一个招聘启事,更为重要的是它更像是一个技术提纲,能够指引我们的学习和提升,现在转载过来与各位 ...
- C# 深拷贝(新赋值对象不使用原来的对象内存地址)
https://www.cnblogs.com/profession/p/6222489.html //四种深拷贝方法 public static T DeepCopyByReflect<T&g ...
- CF2064E Mycraft Sand Sort 题解
CF2064E Mycraft Sand Sort 第一次一眼秒了一道 E,但是被人均六分钟 C 题硬控一小时,未能写完,遗憾离场,特此纪念. 考虑第一列,无论排列 \(p'\) 是什么样子,第一列一 ...