首页 > 其他分享 >分享一次性能测试过程,5个步骤直接起飞!

分享一次性能测试过程,5个步骤直接起飞!

时间:2023-06-28 15:57:48浏览次数:35  
标签:负载 使用率 结果 步骤 性能 系统 测试 起飞 分享

在企业中完成性能测试项目是一个挑战性强、技术含量高的任务。本文将分享一个公司完成高性能游戏系统的性能测试过程,展示如何完成一次成功的性能测试项目

项目背景:这是一家游戏公司,推出了一款新的游戏软件,系统要求高性能、高并发、高可用,为确保用户体验和游戏体验,公司决定在正式上线前对系统进行性能测试.

第一步:

定义测试目标

在项目启动之初,团队首先进入到定义测试目标的阶段,据此来确定测试范围、测试手段和测试工具。此阶段重要性不言而喻,目标不明,则结果无从说起。

通过团队讨论,确立了以下的目标:

  • 针对目标场景下的指标进行基准测试,并得到高可用性的性能数据。
  • 评测流量下的异常场景,确定系统多少负载能力及扩展架构。
  • 通过性能测试结果来查找和定位系统的瓶颈,并通过在代码层面进行优化提升系统吞吐量及性能表现。
  • 揭示用户最有可能使用系统的行径模式及环境和业务决策。

第二步:

测试计划调研

按照测试目标,测试团队进行测试计划调研。我们将基于应用程序不断压测及观察应用程序的运行状况来判定应用程序的瓶颈,并且对观察结果进行分析和总结,为分析改善提供有力数据支撑。

针对要测的业务模式,我们设计出了4个具有典型意义的场景:

  • 500-10000个并发用户请求。
  • 负载测试,根据实际场景数据模拟用户操作习惯,
  • 容量测试,以应用程序在各个方面的性能和资源限制,并确定系统配置的最大极限。
  • 24小时稳定性测试,保证系统在持续24小时真实环境下的高可用性。

 

第三步:

执行测试计划

通过测试计划调研,我们进行了测试项目将近1个月的时间安排到执行。我们使用了多种工具,应用于不同测试领域,例如LoadRunner、JMeter、Appdynamics、Keynote、Fiddler、Wireshark、Flume等等。在这里不展开程序设计中复杂的使用。

下面是使用JMeter测试的例子,它是一款开源的压力测试工具。它可以对不同种类的服务器、网络协议进行测试。

下面是相关的测试结果:

基准测试:

将系统在低负载环境下按照预定的标准进行性能测试,例如单用户响应时间,服务器负载以及数据库处理能力都是很好的评估指标。测试结果如下所示:

测试指标 结果
每秒事务处理能力 7500
平均响应时间 0.3秒
CPU使用率 70%
内存使用率 60%

 

负载测试:

使用模拟混合负载的测试,在同一时刻模拟大量高并发用户同时访问系统,测试结果如下所示:

测试指标 结果
每秒事务处理能力 13800
平均响应时间 2秒
最大响应时间 5秒
CPU使用率 85%
内存使用率 80%

 

容量测试:

容量测试中使用jMeter模拟出可实现的并发用户访问系统,测试结果如下所示:

测试指标 结果
每秒事务处理能力 28000
平均响应时间 7秒
最大响应时间 15秒
CPU使用率 99%
内存使用率 95%

 

稳定性测试:

保证系统在持续24小时真实环境下的高可用性,测试结果如下所示:

测试指标 结果
24小时无故障时间
CPU使用率 85%
内存使用率 92%

 

第四步:

测试结果及异常分析

通过以上测试,团队分析性能数据,据此针对性进行优化, 例如通过清理CPU 日志数据库存储调优等方式进行优化,以提高系统稳定性,优化结果如下所示:

测试指标 优化前 优化后
每秒事务处理能力 28000 45000
平均响应时间 6秒 0.2秒
最大响应时间 13秒 1秒
CPU使用率 99% 70%
内存使用率 97% 80%

根据性能测试结果,我们发现系统在负载和容量测试场景下呈现出问题

负载测试:

我们注意到在高负荷下,响应时间开始大幅上升并且响应时间的标准差开始下降。这表明系统正在达到其极限,并可能无法容忍更多的用户。

容量测试:

当我们在大负载下执行测试时,发现系统性能发生了很大的下降。我们发现jMeter本身不能支持如此大量的并发用户访问,我们使用了不同的工具来验证测试结果,我们发现系统极限在28000并发访问量左右。该结果使我们意识到系统还需要在某些方面进一步优化。

第五步:

得出结论——性能测试报告

通过各种性能测试方式,团队得出了一个详细的测试报告。该报告概括了测试结果及其优化方案,并包括了性能测试的详细数据、结论和建议,以便游戏开发团队根据测试结果决定是否更改系统架构、代码或参数。最终,该游戏系统在经过不断测试和改进后成功上线,并获得了良好的用户体验。

总结:

该高性能游戏系统性能测试案例中,测试团队首先制定了测试目标,确定测试计划,然后采用不同的测试工具进行测试,为改进系统性能提供了数据支持,并得出了详细的测试报告。测试结果中的异常分析让工程团队能够针对具体的问题进行精细的优化。这一成功性能测试的案例展示出一个优秀公司如何在高压力的环境下验证性能、保证高可用性和安全性,实现巨大价值的过程。

另特意为各位同学准备了一份13G的超实用干货自学资源,涉及的内容非常全面,涵盖功能测试、Linux数据库、Python编程语言,接口测试、UI自动化测试、性能测试......包括软件学习路线图,50多天的上课视频、16个突击实战项目(满足你对测试经验的需求),80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2023软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…这些都在我的软件测试学习交流群里:110685036

 

标签:负载,使用率,结果,步骤,性能,系统,测试,起飞,分享
From: https://www.cnblogs.com/mazheng616/p/17511603.html

相关文章

  • 思维决定格局,分享40个经典的思维模型~
    学习力1学习金字塔主动式学习,才是有效的学习!2费曼技巧(费曼学习法)想学会一个知识,不如尝试把它教给别人~3刻意练习专注、重复、持续反馈。4RIA阅读法用自己的语言重述知识,并结合自己的相关经验,思考今后如何运用。5二八定律要用80%的时间做好那20%最重要的事!思......
  • vue-组件-使用组件的三个步骤
    组件之间的父子关系使用组件的三个步骤......
  • AI绘画关键词Prompt:分享一些质量比较高的StableDiffusion(SD)关键词网站
    今天向大家推荐一些SD(StableDiffusion)高质量的关键词网站。这些网站的质量可靠,能为大家在创建AI绘画时提供有效的参考。以下是六个推荐的网站,优缺点分析。有几个质量还算是挺高的。大家可以参考一下结合使用~网站链接:https://prompthero.com(免费)此网站的关键词质量评分......
  • Python全栈工程师(42:Web框架Django步骤)
    1.创建Django工程django-adminstartproject工程名2.创建appcd工程名pythonmanage.pystartappcmdb3.静态文件project.settings.pySTATICFILES_DIRS = (  'static'),      ) 4.模板路径TEMPLATE_DIRS = (  'templates'),      ) 5.settings中middlerwa......
  • 分享一份完整的系统测试方案
    1.1编写目的为软件开发项目管理者、软件工程师、系统维护工程师、测试工程师提供关于项目系统整体功能和性能的测试指导,同时也是用户确定软件是否完整测试的重要依据。1.2项目背景XXXXX1.3测试目标在用户使用软件之前,尽可能的发现软件中存在的错误和不合理之处,排除软件中潜在的错......
  • 分享几个免费设计生成及参考工具 (第四期)
    今天来给大家分享几个国外免费的设计生成工具CallToInspirationhttps://calltoinspiration.com/一个为UX设计师和开发人员提供灵感的平台,在这里你可以看到很多细节化的设计元素,比如登录界面、个人资料页面、按钮、图标等,让你可以从中获取灵感,创造出独特而精致的设计。KuKuKeKeht......
  • 武汉星起航:亚马逊运营干货之卖家运营小技巧分享
    作为亚马逊卖家,了解并掌握一些运营小技巧是提升业务效果和销售表现的关键。武汉星起航将分享一些亚马逊卖家必备的运营小技巧,帮助卖家提升产品的曝光度、增加销量和提高客户满意度。优化产品标题和关键词:在亚马逊上,产品标题和关键词对搜索排名和曝光度至关重要。确保产品标题简洁......
  • PDF文件怎么设置密码?PDF设置密码方法分享!​
    PDF文件怎么设置密码?PDF文件是一种非常常见的文件格式,在日常的工作和学习中,我们都会接触到它。是我们经常使用的文件格式之一,它可以被轻松地共享和传输。然而,有时候我们需要保护PDF文件的机密性,以免被未经授权的人员访问。这时候,密码保护是一个非常有效的方式。那么到底怎么给PDF文......
  • 图片大小如何调整?调整图片大小方法分享!​
    相信大家在日常的生活中,经常会遇到图片加载很慢或者图片不兼容的情况,比如考试报名,或者网上办理业务,都需要上传自己的证件照,这类要求是比较严格的,一般出现无法上传的情况,那么可能是因为你的图片大小不合适,或者图片不兼容。那么图片的大小怎么才能调整呢?今天小编教大家两种方法,让你顺......
  • 怎么截图识别文字?截图识别文字方法分享!​
    怎么截图识别文字?截图识别文字技术的应用领域非常广泛。在现今的信息时代,我们经常会遇到需要把图片中的文字转化为可编辑的文本的情况。这时候,截图识别文字技术就显得非常重要。在商业领域,截图识别文字技术可以帮助公司快速处理大量的文件和数据。在教育领域,学生们可以使用截图识别......