什么是性能测试

什么是性能测试近期公司某个团队想招一位具有性能测试经验的工程师,让我帮着把把关,可是参加面试的人员里面竟然没有一个有过系统性能测试的经验,可见人才市场上性能测

大家好,欢迎来到IT知识分享网。

近期公司某个团队想招一位具有性能测试经验的工程师,让我帮着把把关,可是参加面试的人员里面竟然没有一个有过系统性能测试的经验,可见人才市场上性能测试人员应该是很稀缺的。我有幸在国内大型企业中做过几年的性能专项测试,也有过多家公司的就职经历,我的观察是只有少数大型企业才会有专职的性能测试团队,其他中小型企业所谓的性能测试仅仅是做做简单地压测出份性能测试报告,基本上谈不上对系统性能质量的推动,这也怪不得测试人员,因为软件的质量不是测试出来的,而是架构出来的,同样性能质量也一样,中小型企业的架构很少考虑性能需求,当向架构师或主要负责人沟通性能需求时,根本得不到清晰的答复。

评价一个软件系统的性能好坏主要从响应速度、可扩展性、可靠性、稳定性这几个软件质量属性来考察;性能测试就是在一定负载下测试系统这几个方面的指标能否满足性能设计需求,尝试发现系统存在的性能瓶颈、进行系统调优。

什么是性能测试

具体来说,性能测试需要关注以下几个指标:

  • 响应时间:请求的响应时间,请求的响应时间越长体验越差,网页响应一般根据(1s-优秀、3s-普通、5s-忍受极限)来判断。
  • 吞吐量:用TPS(每秒请求事务数量)来表示,在响应时间达标的情况下,系统能达到的最高吞吐量
  • 成功率:性能测试期间,请求的成功率,如果请求失败过多,吞吐量等指标将不再有意义
  • 系统资源消耗:系统CPU、内存、网络带宽占用情况。

根据目的的不同,性能测试又可以划分为多种测试类型:

  • 负载测试:在指定的软硬件环境下,通过不断增加并发量(模拟用户数)来确定在性能指标满足设计性能指标情况下能够承受的最大并发量,主要用来测试系统的拐点。
什么是性能测试

  • 配置测试:通过测试来验证不同配置情况下系统的性能表现,目的是测出系统最佳性能表现下的配置,从而为设备选型、软件配置提供参考
  • 压力/强度测试:在指定的软硬件环境下,通过增加压力使服务器硬件资源(CPU、内存、带宽等)处在极限状态下,测试系统长时间运行是否稳定;这里需要说明的是硬件资源的极限状态下不是达到临界耗尽的状态,以CPU利用率为例,一般认为CPU利用率达到75%左右为上限,继续加压将无法保证系统能稳定运行。
  • 稳定性测试:在指定的软硬件环境下,长时间运行一定负载,确定系统能在满足性能指标的情况下稳定运行。这里不强调负载必须在极限状态下,一般按照正常负载量的1.5到2倍压力下运行,稳定性测试时间要求至少能稳定运行48小时。

开展性能测试需要遵循一定的流程,常规的性能测试流程参见如下:

什么是性能测试

  • 确定测试环境资源配置:性能测试工作开展的第一步就是确定性能测试基线配置,采用什么样的硬件配置、组网、软件部署模式,以及网络带宽速率等都需要逐一明确,这样还有助于测试人员及时识别在性能测试过程中遇到的挑战
  • 确定性能验收指标:一般由SE来确定性能测试的验收通过指标,不同的系统对性能指标要求是不一样的,没有统一的性能验收指标
  • 规划和设计性能测试场景:与SE沟通清楚性能测试需求,设计性能测试场景及用例并组织性能测试用例的评审,评审通过后方可开展下一步工作
  • 搭建测试环境、准备性能测试数据:根据预先确定的资源和配置准确搭建性能测试环境,构造性能测试数据,除了真实业务数据外,性能测试往往需要构造大量的背景数据以模拟真实场景,这些都是非常耗时的工作
  • 编写/调测性能用例:依据评审通过的性能测试场景,使用性能测试工具(Jmeter、LoadRunner)录制测试脚本并完成参数化,回放调测等
  • 性能测试执行:执行和监控性能测试
  • 分析调优:整合、分析、共享测试结果,发现的性能问题及时推动开发优化,并提出优化建议
  • 输出测试报告:经过反复的测试、分析和调优之后,性能测试指标达到验收指标了,就可以编写输出性能测试报告了,如果某个性能问题暂时无法优化解决,要走评审流程确定是否遗留并如实记录到报告中。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/80514.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信