性能测试培训——基础知识
性能测试基本理解

性能测试基本理解性能测试基本了解什么是性能测试通过模拟⽣产环境运⾏的业务压⼒量和使⽤场景组合,测试系统的性能是否满⾜⽣产性能要求。
性能测试应⽤的四个领域1. 能⼒验证:关注在给定的软硬件条件下,系统能否具有预期的能⼒表现,例如,在要求平均响应时间⼩于2秒的前提下,如何判断系统是否能够⽀持50万⽤户/天的访问量?2. 规划能⼒:关注如何使系统具有我们要求的性能能⼒,例如,某某系统计划在⼀年内获客量在到xxx万,系统到时候是否能⽀持这么多⽤户量?如果不能需要如何调整系统的配置?3. 性能调优:主要⽤于对系统性能进⾏调优,例如,某某系统上线运⾏⼀段时间后响应速度越来越慢,此时应该如何办?4. 缺陷发现:发现缺陷或问题重现、定位⼿段,例如,某些缺陷只有在⾼负载的情况下才能暴露出来,如线程锁、资源竞争或内存泄露。
性能测试类型我们在做性能测试的时候⼀般都是笼统的称为性能测试,其实性能测试分为多个类型:负载测试,压⼒测试,性能测试,基准测试,并发测试,配置测试,稳定性测试,失效恢复测试。
下⾯就详细说说这些名词之间的区别和特点。
负载测试负载测试是对被测系统不断增加压⼒(即⽤户并发数),直⾄性能指标超过预期或者某项资源使⽤达到饱和状态(就是加压到系统崩溃)。
重点观察系统正常运⾏的最⼤值时候的⼀些数据和资源使⽤。
观察程序、⽹络、服务器、还是数据库等哪个⽅⾯存在瓶颈。
⽬的:发现系统处理能⼒的极限。
找出问题所在,做这个就是为了发现系统是否还有隐藏的能⼒。
⽤来改进调优。
压⼒测试压⼒测试是系统在⼀定饱和状态下,例如cpu、内存、磁盘I/O在饱和使⽤情况下,系统能够处理能⼒,以及系统是否会出现错误。
(可以参考负载测试情况)⽬的:该⽅法通过增加压⼒,使系统资源使⽤保持在较⾼的压⼒下,检验此时应⽤的表现,重点在于有误出错信息产⽣,系统对应⽤的响应时间等。
性能测试性能测试⼀般是根据模拟⽣产运⾏的业务压⼒量和使⽤场景组合,测试系统的性能是否满⾜⽣产性能要求。
性能测试面试题目(3篇)

第1篇一、基础知识1. 请简述性能测试的定义和目的。
2. 性能测试通常包括哪些类型?3. 什么是负载测试?请举例说明。
4. 什么是压力测试?请举例说明。
5. 什么是并发测试?请举例说明。
6. 什么是基准测试?请举例说明。
7. 什么是稳定性测试?请举例说明。
8. 什么是可恢复性测试?请举例说明。
9. 什么是配置测试?请举例说明。
10. 请简述性能测试中常见的性能指标,如响应时间、吞吐量、错误率等。
11. 请简述性能测试的流程,包括哪些阶段?12. 请简述性能测试工具的作用和常见工具,如JMeter、LoadRunner等。
13. 请简述性能测试中的瓶颈分析方法和优化策略。
14. 请简述性能测试中的数据采集和分析方法。
15. 请简述性能测试中的性能监控和报警机制。
二、性能测试实践1. 请描述一个实际性能测试项目,包括项目背景、目标、测试工具、测试流程等。
2. 请简述如何制定性能测试计划,包括测试目标、测试场景、测试数据等。
3. 请简述如何设计性能测试用例,包括测试场景、测试数据、测试步骤等。
4. 请简述如何搭建性能测试环境,包括硬件、软件、网络等。
5. 请简述如何执行性能测试,包括测试数据准备、测试执行、结果分析等。
6. 请简述如何分析性能测试结果,包括瓶颈分析、优化策略等。
7. 请简述如何编写性能测试报告,包括测试目的、测试方法、测试结果、优化建议等。
8. 请简述如何利用性能测试工具进行性能测试,如JMeter、LoadRunner等。
9. 请简述如何进行压力测试,包括测试目标、测试场景、测试数据等。
10. 请简述如何进行并发测试,包括测试目标、测试场景、测试数据等。
11. 请简述如何进行基准测试,包括测试目标、测试场景、测试数据等。
12. 请简述如何进行稳定性测试,包括测试目标、测试场景、测试数据等。
13. 请简述如何进行可恢复性测试,包括测试目标、测试场景、测试数据等。
14. 请简述如何进行配置测试,包括测试目标、测试场景、测试数据等。
测试基础知识培训资料

测试基础知识培训资料在当今数字化的时代,软件和系统的质量至关重要。
而测试工作就是保障软件和系统质量的关键环节之一。
无论您是刚刚踏入测试领域的新手,还是希望对测试有更深入了解的相关人员,掌握测试的基础知识都是必不可少的。
接下来,让我们一起走进测试的世界,了解一些关键的测试基础知识。
一、测试的定义和目的测试,简单来说,就是对一个产品(软件、系统等)进行检查,以发现它是否满足规定的需求,找出可能存在的缺陷和问题。
测试的目的主要有以下几点:1、验证软件是否满足业务需求和用户期望,确保其功能的正确性和完整性。
2、发现软件中的缺陷和错误,以便及时修复,提高软件的质量和稳定性。
3、为软件的发布提供信心,让用户能够放心使用。
4、评估软件的性能、安全性等方面,确保其在各种条件下都能正常运行。
二、测试的类型功能测试是最基本的测试类型,主要检查软件的各项功能是否按照预期工作。
这包括输入不同的数据,查看输出结果是否正确,各个功能模块之间的交互是否顺畅等。
2、性能测试性能测试用于评估软件在不同负载条件下的响应时间、吞吐量、资源利用率等性能指标。
例如,测试一个网站在大量用户同时访问时的加载速度,或者一个数据库在处理大量数据时的效率。
3、安全测试安全测试旨在发现软件中可能存在的安全漏洞,如SQL 注入、跨站脚本攻击等,以保护用户数据和系统的安全。
4、兼容性测试兼容性测试确保软件能够在不同的操作系统、浏览器、硬件设备等环境下正常运行。
5、可用性测试可用性测试关注软件的用户界面是否易于使用,用户操作是否方便快捷,是否符合用户的习惯和预期。
6、回归测试当软件进行了修改或修复后,需要进行回归测试,以确保新的更改没有引入新的问题,同时原来正常的功能依然正常。
测试用例是测试工作的重要组成部分,它是一组详细的测试步骤和预期结果的描述。
一个好的测试用例应该具备以下特点:1、清晰明确:步骤描述简洁明了,易于理解和执行。
2、可重复性:相同的测试用例在不同的环境和时间下都能得到相同的结果。
性能测试理论基础培训PPT课件

完成此培训之后:
◦ 了解性能测试的概念 ◦ 了解性能测试的步骤 ◦ 理解基本的性能指标 ◦ 研发中心内部统一性能测试相关概念
4
◦ 性能测试概述
◦ 性能测试的步骤 ◦ 测试实践(举例)
5
软件的性能是个很大的概念,覆盖面非常 广泛,对一个软件系统而言,包括执行效率、资 源占用、稳定性、安全性、兼容性、可扩展性、 可靠性等等。
10
评估系统的能力 识别体系中的弱点 验证系统可伸缩性(resilience)和可靠性
(reliability) 系统调优
11
并发用户数 响应时间 吞吐量 资源利用率
12
并发是指在某一给定时间内,某个特定点上进
行会话操作的用户数。 注意:此处需要区别于A6、A8的并发数概念, 我们产品并发的概念实际是在线用户数。
也可以用字节数/天等单位来考察网络流量。
15
资源利用率是指系统资源的使用程度,比如
服务器的CPU利用率、内存利用率、磁盘利用率、 网络带宽利用率等。
除了上述资源,我们还应该考虑数据库连 接池使用情况,JVM内存使用情况,数据库cpu 占用情况等因素
16
分析型性能测试
•目的:断定产品性能瓶颈,为性能提升提供修改点和修改方向;分析资源占用情况,为客户实施提供建议 •内容:容量测试、压力测试、可靠性测试 •发布范围:研发内部 •常用指标:资源占用、响应时间
45
性能测试团队工作流程
项 项目 目经 经理 理
需 需求 求分 分析 析工 工程 程师 师
安排性能测试时间
系 系统 统架 架构 构师 师
No
开 开发 发工 工程 程师 师
项目计划
No 性能需求分析
测 测试 试经 经理 理
性能测试基础知识PPT课件

第2页/共18页
性能测试的类型
验收性能测试(狭义) 性能测试方法是通过模拟生产运行 的业务 压力量 和使用 场景组 合,测 试系统 的性能 是否满 足生产 性能要 求。通 俗地说 ,这种 方法就 是要在 特定的 运行条 件下验 证系统 的能力 状态。 特点: 1、这种方法的主要目的是验证系统 是否具 有系统 宣称具 有的能 力。 2、这种方法要事先了解被测系统经 典场景 ,并具 有明确 的性能 目标。 3、这种方法要求在已经确定的环境 下运行 。 也就是说,这种方法是对系统性能已 经有了 了解的 前提, 并对需 求有明 确的目 标,并 在已经 确定的 环境下 进行的 。
性能测试关注的指标
如何估算并发用户数? 1 、二八原则 2、最大在线用户的5%—20% 3、C=nL/T 并发用户数=(登录用户的会话数量*每个会话的平均在线时长)/考察的时间长 度 4、并发用户峰值: C^=C+3*√C(泊松分布)
第11页/共18页
性能测试关注的指标
如何估算并发用户数 举例: 如同百米赛跑,并发用户数指的是参赛的选手数量,每个选手(测试中使用的虚
反应系统处理能力指标
— CPU占用率:Windows<95%, Unix<85%
— 内存可用数:<10%或<4M,说 明内存 太小, 或有内 存泄露
— 内存页交换率:page in/s<80
— CPU的队列长度:一直超过二,可 能表示 处理器 堵塞, 服务器 的CPU 可能是 个瓶颈
第10页/共18页
发连接数,应同时加大这两个参数。Web server允许的最大连接数还受制于操作系 统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
性能测试培训计划

性能测试培训计划一、培训背景随着互联网的快速发展和信息化时代的到来,软件应用程序的性能需求越来越高。
而性能测试作为一种保障软件应用程序性能的重要手段,也因此越来越受到人们的关注。
为了提高企业的软件开发和运维水平,培养专业的性能测试人才,本次性能测试培训计划应运而生。
二、培训目标1.了解性能测试的基本概念和原理,掌握性能测试的基本方法和步骤。
2.掌握性能测试工具的基本使用方法,能够利用性能测试工具进行性能测试分析。
3.学习性能测试中常用的性能指标和性能优化技术。
4.通过实例分析和实际操作,提高性能测试的实战能力。
三、培训对象1.软件开发人员、测试人员、运维人员等对性能测试感兴趣的相关人员。
2.企业管理者、技术主管、项目经理等需要了解性能测试的相关人员。
四、培训内容1.性能测试概述(1)性能测试的定义和作用(2)性能测试的分类和常用工具(3)性能测试的基本原则和流程2.性能测试工具的使用(1)JMeter工具的基本概念和使用方法(2)LoadRunner工具的基本概念和使用方法(3)其他性能测试工具的介绍和比较3.性能测试的常用指标(1)响应时间、吞吐量、并发用户数等常用性能指标的解释(2)性能测试报告的编写和分析4.性能测试的案例分析(1)网站性能测试实例分析(2)移动端应用性能测试实例分析(3)大数据应用性能测试实例分析5.性能测试的优化技术(1)数据库优化(2)代码优化(3)架构优化(4)性能测试自动化技术6.性能测试的实践操作(1)使用JMeter工具进行性能测试实验(2)使用LoadRunner工具进行性能测试实验(3)性能测试工具脚本编写和调试五、培训方式1.理论讲解采用课堂讲解的方式,结合实例和案例分析,使学员能够深入理解性能测试的基本概念和方法。
2.操作实践在理论讲解的基础上,组织学员进行性能测试工具的实际操作练习,提高实际操作能力。
3.案例分析通过实际案例分析,帮助学员了解性能测试在实际项目中的应用和重要性,提高学员的分析和解决问题的能力。
测试相关基础知识

目录1、知识点一:软件生命周期 (2)2、知识点二:软件测试基础 (2)3、知识点三:测试过程:单元测试过程UT,集成测试过程IT,系统测试过程ST (2)4、知识点四:测试方法和分类 (3)4.1测试分类 (3)4.2白盒测试 (3)4.2.1理论知识 (3)4.2.2学习心得 (4)4.3黑盒测试 (5)4.3.1理论知识 (5)4.3.2 学习心得 (6)5、知识点五:测试用例的学习 (8)测试基础知识学习测试基础知识的时候,首先要记住测试的最基本的定义,IEEE中对测试的定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别,测试的目的在于发现程序中的错误,提高产品可靠性。
1、知识点一:软件生命周期学习心得:在软件生命周期的需求内容规范中需求的一些特点是需要理解与记住的,它主要包括:完整性、正确性、可行性、无二义性、健壮性、必要性、可测试性、可修改性、可跟踪性以及优先级,在记住这些需求特点的时候还需要不断地了解每个特点所指向的具体方向,例如完整性则是指在每一项需求中都必须将所要实现的功能描述清楚。
2、知识点二:软件测试基础学习心得:了解到作为测试人员的责任,测试人员的任务就是需要站在使用者的角度上,通过不断地使用和攻击刚开发出来的软件产品,尽量多的找出产品中存在的问题,而且在每个阶段中测试人员的工作方向,在需求阶段主要需确定的工作是收集足够的需求分析需求规格说明书;设计阶段确定设计与需求之间的联系,产生结构和功能的测试用例;编码阶段主要是确定和设计之间的联系;维护阶段是缺陷的跟踪以及新的版本测试。
3、知识点三:测试过程:单元测试过程UT,集成测试过程IT,系统测试过程ST学习心得:单元测试:是对软件中的基本组成单位进行的测试,目的是检验软件基本组成的单位的正确性,测试内容主要包括模块程序结构检查,代码测试和模块内功能测试,其主要是由程序员来完成,因为它需要知道内部程序设计和编码的细节知识。
移动终端性能测试的基础知识与实践

移动终端性能测试的基础知识与实践移动终端性能测试在现代软件应用中扮演至关重要的角色。
由于移动设备数量巨大,且不断推出新型号,移动终端性能测试也变得越来越重要与复杂。
本文将介绍移动终端性能测试的基础知识与实践,给读者提供一些参考。
1. 测试环境测试环境是不可或缺的因素。
这包括测试设备的选择、操作系统与版本、应用程序的版本、网络连接类型等因素。
测试设备的选择要根据实际使用情况和目标用户群体来选取。
操作系统与应用程序的版本也需要根据测试需求来选择,并保持测试环境的一致性。
网络连接类型也应同样注意,以免影响测试结果的准确性。
2. 测试目标测试目标是测试的核心,它是指我们要测试什么。
通常移动终端的性能测试目标包括以下几点:(1)启动时间:指应用程序从启动到完全加载所需要的时间。
(2)响应时间:指用户操作某一功能时,系统响应的速度。
(3)性能稳定性:指应用程序使用一段时间后性能是否仍然稳定。
(4)内存占用:指应用程序运行时所占用的内存大小。
(5)电池消耗:指应用程序在运行时,对设备电池的消耗情况。
(6)网络速度:指应用程序网络连接时的速度。
3. 测试方法测试方法是测试的重要步骤之一。
它需要根据测试目标,确定测试方法。
通常使用的测试方法包括人工测试、自动化测试和压力测试。
(1)人工测试:人工测试是指通过人工的操作,观察应用程序的性能,记录测试结果。
这种方法适用于测试目标较少,测试范围较小的情况。
(2)自动化测试:自动化测试是指使用测试工具,按照预定的测试计划执行测试任务,自动化地记录、分析测试结果。
自动化测试适用于测试目标较多,测试范围较广的情况。
(3)压力测试:压力测试是指在一定负载下,测试系统的性能与稳定性。
在压力测试中,测试工具模拟出多个用户同时使用系统,并在测试过程中不断增加负载,测试系统的稳定性。
4. 测试分析与报告测试分析与报告是测试的最后一步。
对测试结果进行分析和总结,通过测试报告向相关人员反馈测试结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
性能测试培训(一)——基础知识1.软件性能测试的概念1.1软件性能与性能测试软件性能:覆盖面广泛,对一个系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。
性能测试:为保证系统运行后的性能能够满足用户需求,而开展的一系列的测试组织工作。
1.2不同角色对软件性能的认识用户眼中的软件性能:⏹软件对用户操作的响应时间如用户提交一个查询操作或打开一个web页面的链接等。
⏹业务可用度,或者系统的服务水平如何管理员眼中的软件性能:开发人员眼中的软件性能:1.3性能测试的对象服务器端:⏹负载均衡系统;⏹服务器(单机、双机热备、集群);⏹存储系统、灾备中心;⏹数据库、中间件。
网络端:⏹核心交换设备、路由设备;⏹广域网络、专线网络、局域网络、拨号网络等;应用系统:由此可见,性能测试是一个系统性的工作,被测对象包括系统运行时使用的所有软硬件。
但在实际操作时,将根据项目的特点,选择特定的被测对象。
1.4性能测试的目标评价系统当前的性能:⏹系统刚上线使用,即处于试运行时,用户需要确定当前系统是否满足验收要求;⏹系统已经运行一段时间,如何保证一直具有良好的性能。
分析系统瓶颈、优化系统:⏹用户提出业务操作响应时间长,如何定位问题,调整性能;⏹系统运行一段时间后,速度变慢,如何寻找瓶颈,进而优化性能。
预见系统未来性能、容量可扩充性:⏹系统用户数增加或业务量增加时,当前系统是否能够满足需求,如果不能,需要进行哪些调整?提高硬件配置?增加应用服务器?提高数据库服务器的配置?或者是需要对代码进行调整?1.5性能测试的分类按照测试压力级别:⏹负载测试;⏹压力测试;按照测试实施目标:⏹应用在客户端的测试;⏹应用在网络的测试;⏹应用在服务器端的测试;按照测试实施策略:⏹并发性能测试;⏹疲劳强度测试;⏹大数据量测试;⏹失效恢复测试。
其他分类:⏹并发测试;⏹执行效率测试;⏹资源占用测试;⏹容量测试;⏹网络测试;⏹稳定性测试。
1.5.1负载测试负载测试是为了确定系统在各种工作负载下的性能,目标是测试当负载逐渐增加时,系统的性能变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量。
如:系统在保证一定的响应时间(或稳定性)的情况下,能够允许多少并发用户访问。
系统的各项指标包括:响应时间、CPU负载、内存使用等如何决定系统的性能。
1.5.2压力测试压力测试通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大的服务级别的测试。
通俗的讲,压力测试是为了发现在什么条件下,应用程序的性能会变得不可接受。
1.5.3并发性能测试并发性能测试是一般意义上的负载压力测试。
1.5.4疲劳强度测试疲劳强度测试是通过一定时间长度的负载压力测试,使测试者能够了解系统是否可以满足7*24小时运行的需要。
疲劳强度测试属于可靠性测试的范畴。
1.5.5大数据量测试大数据量测试是测试应用程序随着数据库数据量级数增加的情况下的性能表现。
1.5.6失效恢复测试失效恢复测试是针对有冗余备份或负载均衡的系统来说的。
检验当系统局部发生故障时,系统灾备措施是否可以正常启动,用户是否可以继续使用。
通过实施失效恢复测试,评估系统的健壮性和可恢复性。
2.性能测试策略2.1.应用在客户端的测试2.1.1.实现机制通过在一台或几台PC机上模拟成百上千的虚拟用户同时执行业务的情景,对应用程序进行测试。
通过可重复的、真实的测试,能够彻底的度量应用程序的性能,确定问题所在。
2.1.2.常用工具⏹商业测试工具LoadRunner, Rational Robot,QALoad,SilkPerformor⏹开源(OpenSource)测试工具Apache Jmeter,OpentSTA…⏹自主开发测试程序或者测试工具2.1.3.自动化性能测试的优势2.1.4.测试工具使用的基本步骤⏹录制业务流程,形成测试脚本;⏹修改调试脚本;⏹执行性能测试。
2.1.5.测试脚本执行策略性能测试脚本应本着一一对应的原则录制业务,即一个脚本仅针对一项业务录制。
测试脚本执行策略应按照以下顺序执行:1、单一脚本单用户执行;2、单一脚本多用户执行;3、采用增殖的方式集成混合脚本,且仅使用单用户执行;4、混合脚本多用户执行。
2.2.应用在网络的测试2.2.1.网络仿真技术网络仿真技术的作用是模拟网络的吞吐量、延时、抖动、错包、丢包等性能特性,从而在测试环境下就可以得到设备或软件在实际的网络环境下的表现,并在发现性能问题时,对每个数据包进行分析,从而可以快速的找到问题所在。
2.2.2.网络性能监控2.2.2.1.测试目标⏹分析关键应用程序的性能;⏹定位问题的根源是在客户端、服务器、应用程序还是网络;⏹哪些应用程序占用大量带宽;⏹哪些应用程序导致系统瓶颈或资源竞争;⏹哪些应用程序产生了最大的网络流量。
2.2.2.2.常用工具⏹Compuware:Network Vantage⏹HP:Network Node Manager⏹IBM:Tivoli2.2.2.3.工作原理在客户端、应用服务器端、数据库服务器端等处部署捕捉点采集数据,并利用管理工具对采集到的数据进行分析。
⏹捕捉点:Agent被动监听数据包来实现实时数据采集⏹分析:Agent Manager完成对所跟踪到的数据的分析2.2.2.4.响应时间的计算上图为响应时间的示意图。
图中共设置四个捕捉点,客户端在第0秒发出请求,服务器在第0.31秒接收到客户端的请求,服务器响应请求后,在第2.11秒时发送响应结果,客户端在第3秒时接收到响应结果。
因此,上图中的响应时间应为3秒。
注意,在应用逻辑路径上多点数据采集,以便于在任何两个节点间进行数据整合,测量分段的响应时间,分析应用故障。
2.2.2.5.实现方法⏹探针采集、存储数据,并根据应用对数据进行分类。
设置的原则是根据网络组成和监控要求。
⏹探针管理器管理配置探针,设定数据采集与上传时间,汇总收集的数据。
⏹时间服务器对探针进行时针同步⏹交互界面数据展示平台2.3.应用在服务器端的测试2.3.1.对服务器操作系统的监控对服务器操作系统的监控内容如下:⏹CPU⏹内存& SWAP⏹磁盘管理⏹网络⏹文件系统⏹活动的进程2.3.2.对数据库的监控对数据库的监控内容如下:⏹监控数据库系统中关键的资源⏹监测读写页面的使用情况⏹监控超出共享内存缓冲区的操作数⏹监测上一轮询期间作业等待缓冲区的时间⏹跟踪共享内存中物理日志和逻辑日志的缓冲区的使用率⏹监控磁盘的数据块使用情况以及被频繁读写的热点区域⏹监控用户事务或者表空间监控事务日志⏹监控数据库锁资源⏹监测关键业务的数据表的表空间增长⏹监控SQL执行情况2.3.3.对中间件的监控对中间件的监控,需要分析具体的中间件的特性,以确定监控内容。
如:IBM的MQ,则需要监控其Client信息、队列信息、服务信息等。
2.3.4.监控方法⏹监控工具spotslight、tivoli、nmon、siteview⏹操作系统本身自带命令如:vmstat ,iostat,netstat,top,topas3.性能测试需求分析3.1.原始需求与测试目标的制定3.2.测试强度估算80~20原理:每个工作日中80%的业务在20%的时间内完成。
举例:每年业务量集中在8个月,每个月20个工作日,每个工作日8小时,即每天80%的业务在1.6(8*0.2)小时完成。
去年全年处理业务约100万笔,其中15%的业务处理中每笔业务需对应用服务器提交7次请求;其中70%的业务处理中每笔业务需对应用服务器提交5次请求;其余15%的业务处理中每笔业务需对应用服务器提交3次请求。
根据以往统计结果,每年的业务增量为15%,考虑到今后3年业务发展的需要,测试需按现有业务量的两倍进行。
每年总的请求数:(100x15%x7+100x70%x5+100x15%x3)x2=1000万次/年每天请求数:1000/160(8*20)=6.25万次/天每秒请求数:(62500x80%)/(8x3600x20%)=8.68次/秒即服务器处理请求的能力应达到9次/秒几个关键数据:⏹全年业务总量;⏹各类业务请求次数;⏹各类业务所占百分比;⏹交易发生时间;⏹年业务增量。
3.3.测试需求分析方法3.3.1.任务分布图关注点:⏹有哪些交易任务;⏹在一天的某些特定时刻系统都有哪些主要操作。
根据上图所示,性能测试应选择黄色部分标识的业务场景及其业务强度;且分为两个测试场景执行。
3.3.2.交易混合图关注点:⏹高峰期有哪些操作?⏹中间件操作有多少?数据库操作有多少?⏹如果任务失败,那么商业风险有多少?选择依据:⏹高负载⏹高吞吐量⏹高数据库I/O⏹高商业风险3.3.3.用户概况分析关注点:⏹哪些任务是每个用户都要执行的?⏹针对不同角色的用户,他们的任务是什么?⏹针对每个用户,不同任务的比例如何?如上图所示,此种方法可用于计算不同的用户所操作的业务种类以及业务种类间的分配比例。
根据此图,可制定测试场景的执行策略。
4.性能测试工作组织流程4.1.性能测试前期调研4.1.1.环境调研⏹了解工作环境⏹了解软硬件设备⏹了解相关人员及职责⏹了解项目背景⏹了解进度计划4.1.2.业务调研⏹核心业务功能⏹用户使用习惯⏹业务交易量⏹业务交易分布⏹数据量/增量4.1.3.系统调研⏹系统架构⏹开发语言⏹通信协议⏹实际使用情况⏹物理部署⏹操作系统⏹关键参数⏹数据库⏹中间件⏹软件部署结构4.1.4.需求调研测试目的:⏹测试对象⏹测试类型测试指标:⏹用户并发数⏹事务吞吐率⏹响应时间⏹资源使用情况⏹高可用⏹可扩展性⏹可靠/稳定性⏹产品对比4.2.性能测试方案设计4.2.1.建立业务模型⏹分析系统所可能存在的瓶颈和原因;⏹分析历史交易数据来确定各业务交易类型所占的比例;⏹对每一类业务的访问或交易,选取最有代表性的操作步骤;⏹最终目的是建立一个能够逼真模拟系统实际运行场景的业务模型;4.2.2.建立数据模型⏹依据业务模型准备测试数据和基础数据,具体的数据类型和数据量需要根据选择的交易类别或性能测试场景设置而定;⏹数据容量符合实际运行情况;⏹尽量模拟真实业务数据;⏹能贯穿各相关系统,保证业务流程的顺畅正确;4.2.3.建立监控模型⏹性能测试的目的不仅仅是获得关键业务的性能指标,同时也要通过性能测试监控主机、数据库、中间件的各个性能指标,从而发现性能瓶颈,为进一步的性能调优提供准确的参考数据;⏹监控对象及指标选择;监控工具选择:⏹监控程序对待测系统产生较小的压力;⏹监控程序获取的数据便于分析和统计;⏹监控分实时监控和非实时监控;4.2.4.建立测试模型⏹负载生成方式⏹测试工具选择⏹一般应该采取基准测试、单业务负载测试、混合负载测试的顺序来执行。