2021-02-26 14:39发布
性能测试绝非想象中的那么简单,我觉得这是一个有点难度的活。
为什么说性能测试是一件有难度的活?因为它不像功能测试那么简单(写测试用例其实也不简单,但是结果分析我就简单了,我个人认为),测试者需要明白:
测试的目标是什么?
测试的原理是什么?
测试工具选择什么、它的特点是什么?
测试场景应该是什么?
测试结果为什么是这样?
尤其是测试结果非预期时,需要刨根挖底,让这些测试结果让人信服,是测试场景不合理导致测试结果非预期,还是真的是以前对这些东西理解有偏差。
不难
来看看性能测试的一般流程:
业务学习:通过查看需求文档、PRD等相关文档+手工操作来了解系统功能;
分析需求:分析系统的非功能需求,圈定性能测试的范围,了解系统性能指标;
工作评估:工作量分解,评估工作量,计划资源投入(需要多少硬件资源,多少人力、时长来完成测试工作)。
设计模型:可以理解为测试场景,是单一测试场景还是混合测试场景;
编写计划:测试计划应明确列出测试范围、人力投入、持续时间、工作内容、风险评估、风险应对策略等;
准备测试环境:准备服务器(部署被测系统),负载机(安装压测工具,产生负载的机器)
准备测试数据:根据测试场景(设计模型)准备数据,
原因有两个:
a、有些数据是支撑系统运行的基础(比如我们要对登录进行压测,首先需要准备一些注册好的账号);
b、不同量级数据影响性能结果(比如从不同量级的数据库查询结果,时间肯定不一样),至于准备什么量级的数据则需要跟项目实际情况来设计;
开发脚本:根据测试场景,测试用例开发测试脚本(录制或手动编写);
测试执行:运行测试;
缺陷管理:跟踪测试过程中发现的缺陷;
性能分析:对性能测试结果进行分析,是否满足预期目标,如果不满足则需找出原因;
性能调优:根据上一步的分析,尝试优化系统;
测试报告:对测试工作进行总结,报告测试结果,发现的问题等
评审:对性能报告中的内容进行评审,确认问题、评估上线风险。虽然有时候性能测试结果不理想,但基于时间和成本等方面的考虑也会上线,后续再快速迭代。
性能测试交付件:
测试计划
测试脚本
测试程序
测试报告
性能测试成功要素:
性能测试上手较难,是一门融合测试、开发、运维、需求调研、架构、协调管理等综合技能的学科,掌握一个测试工具只是最基础的一步。
性能测试有几大难点:
需求分析
场景设计
性能诊断调优
环境搭建和模拟
在测试前,应该对测试结果有一个初步的估计。比如,性能(IO/CPU)应该是提升,还是降低,大概幅度会有多少。这样当测试结果与预估偏差极远时,很可能测试的过程或者方法是有问题的。1) 如果是已有模块,可以参考改模块历史的测试数据。看变化是否合理。2)...
响应时间、并发用户数、TPS、吞吐量、CPU利用率、内存使用率、在线并发用户数等
性能测试是基于功能、接口完整的情况下,对服务端进行压力测试、负载测试、疲劳测试、并发测试,来发现性能瓶颈。一、负载测试。负载测试的目的主要是为了测试软件系统是否达到需求文档设计的目标;例如一款软件在一定时期内,最大支持多少并发用户数,软件请...
测试模型V模型测试阶段:单元测试集成测试系统测试瀑布模型瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了...
一、准备工作在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试。1. 组建测试团队根据被测系统的实际情况,组建一个性能测试团队,团队成员包括:开发人员、运维人员、DBA和测试人员等。2. 性能需...
性能测试针对场景来讲的,在不同的场景,得出性能指标值。这些场景是真实环境有可能出现的。常见场景——压力测试,是否能长期提供服务
上面看,运行结果没有任何提示,也不知道运行到什么程度,相当不友好,那我们来美化一下吧!等等!这是个死循环,通过脚本运行自己,所以会永远运行下去。我的天,幸好发现得早。现在 更换authTest.sh,原因是这个是要运行eaidkAuth文件的,因此需要更改,否...
对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了,其次,自己去读开发的代码。然后,根据该接口功能及代码写测试用例:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果,根据该接口中的逻辑,测...
越老越吃香,可以干到退休
一、准备工作1、系统基础功能验证性能测试在什么阶段适合实施?切入点很重要!一般而言,只有在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的。2、测试团队组建根据该项目的具体情况,组建一个几人的性能测试te...
Testing script(测试脚本),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。 为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。或许会发现这样的情况,即有的操作将出现在几个测试过程中。因此,应有...
1、负载测试;通过自动化测试工具模拟程序或者软件系统在超强负荷条件下,观察系统各项性能指标的变化情况,一般与压力测试共同进行。2、强度测试;指系统在资源条件很差工作环境下的运行情况,如人为限制网络带宽,内存等。3、容量测试;一般指...
吞吐量指在一次性能测试过程中网络上传输的数据量的总和。对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值...
当前业界常见的服务器性能指标有:TPC-CTPC-ETPC-HSPECjbb2005SPECjEnterprise2010SPECint2006 及 SPECint_rate_2006SPECfp2006 及 SPECfp_rate_2006SAP SD 2-TierLINPACKRPE2一、TPC (Transaction Processing Performance Council) 即联机交......
在每种不同的系统架构的实施中,开发人员可能选择不bai同的实现方式,造成实际情况纷繁复杂。我们不可能对每种技术都详细解说,这里只是介绍一种方法提供给你如何选择测试策略,从而帮助分析软件不同部分的性能指标,进而分析出整体架构的性能指标和性能瓶颈...
一、B/S架构需要关注WEB服务器的性能指标Avg Rps: 平均每秒响应的次数=总请求时间/秒数Avg time to last byte per terstion:平均每秒业务脚本的迭代次数Successful Rounds:成功的请求Failed Rounds:失败的请求Successful Hits:成功的单击次数Failed Hits:失败...
最多设置5个标签!
性能测试绝非想象中的那么简单,我觉得这是一个有点难度的活。
为什么说性能测试是一件有难度的活?因为它不像功能测试那么简单(写测试用例其实也不简单,但是结果分析我就简单了,我个人认为),测试者需要明白:
测试的目标是什么?
测试的原理是什么?
测试工具选择什么、它的特点是什么?
测试场景应该是什么?
测试结果为什么是这样?
尤其是测试结果非预期时,需要刨根挖底,让这些测试结果让人信服,是测试场景不合理导致测试结果非预期,还是真的是以前对这些东西理解有偏差。
不难
来看看性能测试的一般流程:
业务学习:通过查看需求文档、PRD等相关文档+手工操作来了解系统功能;
分析需求:分析系统的非功能需求,圈定性能测试的范围,了解系统性能指标;
工作评估:工作量分解,评估工作量,计划资源投入(需要多少硬件资源,多少人力、时长来完成测试工作)。
设计模型:可以理解为测试场景,是单一测试场景还是混合测试场景;
编写计划:测试计划应明确列出测试范围、人力投入、持续时间、工作内容、风险评估、风险应对策略等;
准备测试环境:准备服务器(部署被测系统),负载机(安装压测工具,产生负载的机器)
准备测试数据:根据测试场景(设计模型)准备数据,
原因有两个:
a、有些数据是支撑系统运行的基础(比如我们要对登录进行压测,首先需要准备一些注册好的账号);
b、不同量级数据影响性能结果(比如从不同量级的数据库查询结果,时间肯定不一样),至于准备什么量级的数据则需要跟项目实际情况来设计;
开发脚本:根据测试场景,测试用例开发测试脚本(录制或手动编写);
测试执行:运行测试;
缺陷管理:跟踪测试过程中发现的缺陷;
性能分析:对性能测试结果进行分析,是否满足预期目标,如果不满足则需找出原因;
性能调优:根据上一步的分析,尝试优化系统;
测试报告:对测试工作进行总结,报告测试结果,发现的问题等
评审:对性能报告中的内容进行评审,确认问题、评估上线风险。虽然有时候性能测试结果不理想,但基于时间和成本等方面的考虑也会上线,后续再快速迭代。
性能测试交付件:
测试计划
测试脚本
测试程序
测试报告
性能测试成功要素:
性能测试上手较难,是一门融合测试、开发、运维、需求调研、架构、协调管理等综合技能的学科,掌握一个测试工具只是最基础的一步。
性能测试有几大难点:
需求分析
场景设计
性能诊断调优
环境搭建和模拟
相关问题推荐
在测试前,应该对测试结果有一个初步的估计。比如,性能(IO/CPU)应该是提升,还是降低,大概幅度会有多少。这样当测试结果与预估偏差极远时,很可能测试的过程或者方法是有问题的。1) 如果是已有模块,可以参考改模块历史的测试数据。看变化是否合理。2)...
响应时间、并发用户数、TPS、吞吐量、CPU利用率、内存使用率、在线并发用户数等
性能测试是基于功能、接口完整的情况下,对服务端进行压力测试、负载测试、疲劳测试、并发测试,来发现性能瓶颈。一、负载测试。负载测试的目的主要是为了测试软件系统是否达到需求文档设计的目标;例如一款软件在一定时期内,最大支持多少并发用户数,软件请...
测试模型V模型测试阶段:单元测试集成测试系统测试瀑布模型瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了...
一、准备工作在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试。1. 组建测试团队根据被测系统的实际情况,组建一个性能测试团队,团队成员包括:开发人员、运维人员、DBA和测试人员等。2. 性能需...
性能测试针对场景来讲的,在不同的场景,得出性能指标值。这些场景是真实环境有可能出现的。常见场景——压力测试,是否能长期提供服务
上面看,运行结果没有任何提示,也不知道运行到什么程度,相当不友好,那我们来美化一下吧!等等!这是个死循环,通过脚本运行自己,所以会永远运行下去。我的天,幸好发现得早。现在 更换authTest.sh,原因是这个是要运行eaidkAuth文件的,因此需要更改,否...
对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了,其次,自己去读开发的代码。然后,根据该接口功能及代码写测试用例:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果,根据该接口中的逻辑,测...
越老越吃香,可以干到退休
一、准备工作1、系统基础功能验证性能测试在什么阶段适合实施?切入点很重要!一般而言,只有在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的。2、测试团队组建根据该项目的具体情况,组建一个几人的性能测试te...
Testing script(测试脚本),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。 为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。或许会发现这样的情况,即有的操作将出现在几个测试过程中。因此,应有...
1、负载测试;通过自动化测试工具模拟程序或者软件系统在超强负荷条件下,观察系统各项性能指标的变化情况,一般与压力测试共同进行。2、强度测试;指系统在资源条件很差工作环境下的运行情况,如人为限制网络带宽,内存等。3、容量测试;一般指...
吞吐量指在一次性能测试过程中网络上传输的数据量的总和。对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值...
当前业界常见的服务器性能指标有:TPC-CTPC-ETPC-HSPECjbb2005SPECjEnterprise2010SPECint2006 及 SPECint_rate_2006SPECfp2006 及 SPECfp_rate_2006SAP SD 2-TierLINPACKRPE2一、TPC (Transaction Processing Performance Council) 即联机交......
在每种不同的系统架构的实施中,开发人员可能选择不bai同的实现方式,造成实际情况纷繁复杂。我们不可能对每种技术都详细解说,这里只是介绍一种方法提供给你如何选择测试策略,从而帮助分析软件不同部分的性能指标,进而分析出整体架构的性能指标和性能瓶颈...
一、B/S架构需要关注WEB服务器的性能指标Avg Rps: 平均每秒响应的次数=总请求时间/秒数Avg time to last byte per terstion:平均每秒业务脚本的迭代次数Successful Rounds:成功的请求Failed Rounds:失败的请求Successful Hits:成功的单击次数Failed Hits:失败...