10 | 性能测试的规划和步骤:为什么性能测试不容易一蹴而就呢?
庄振运
该思维导图由 AI 生成,仅供参考
你好,我是庄振运。
上一讲我们讲了不同类型的性能测试。今天我们来讲如何规划一个性能测试和具体的执行步骤。在规划任何一种性能测试时,最重要的事情是搞清楚被测试的实体,也就是 SUT(System Under Test),对应的性能指标和度量,以及期望的结果。在此基础上,根据测试的类型来决定和规划具体的测试步骤,然后执行测试,最后再合理地分析测试的结果。
为方便描述,我们用下图来表示整个性能测试的过程,总共七个部分。
大体上分为前后两大部分。前面四个部分分别是:决定 SUT、决定性能指标、决定指标的度量、决定期望结果。后面三个部分是性能测试的规划、测试的执行和结果分析。这三个部分根据测试的结果或许需要重复多次。
搞清楚测试对象
性能测试当然首先要搞清楚测试对象。但说起来有意思,我看到过很多做性能测试的人,对“什么才是他的测试对象”这个问题糊里糊涂的。经常碰到的情况是,有些人做了一大堆测试,但后来发现搞错测试对象了,所以大量的工作白做了。
为什么会导致这样的误会呢?
因为一个被测试的系统往往是复杂的,包含多个子系统和模块。如果对测试的类型和规划没有搞透彻,就很容易搞不清真正的测试对象。
测试的对象一般叫 SUT(System Under Test),它可以是一段代码、一个模块、一个子系统或者一个整个的系统。比如要测试一个在线互联网服务的性能,那么这整个系统,包括软件、硬件和网络,都算是 SUT。再比如,SUT 也可以是一个子系统,比如运行在某台服务器上的一个进程。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
性能测试是一个复杂的过程,需要经过详细的规划和执行步骤。在规划性能测试时,首先需要明确被测试的实体(SUT),性能指标和度量,以及期望的结果。确定SUT后,需要决定具体的性能指标,如服务响应时间、吞吐量和资源利用率,并进一步确定指标的度量方式。同时,也需要明确测试的期望结果,以便判断测试结果的可接受性。 在性能测试的规划阶段,需要考虑负载流量的特征、负载注入方式、测试数据、测试工具、测试环境等方面。执行性能测试时,需要确保测试结果的可重复性,并可能需要多次迭代执行,以验证测试过程中的问题并进行快速解决。此外,模拟测试也是一个重要的步骤,可以在实际负载测试之前检查各种工具的正确性。 性能测试不容易一蹴而就,需要经过详细的规划和多次迭代执行,以确保测试结果的准确性和可靠性。每次测试完毕后,都需要认真分析结果,如果不满意,就需要看看如何改进。可能需要重新规划测试方法、消除环境干扰、增加数据收集等。只有坚持不懈地调整测试方法,才能达到满意的效果。 思考题:如果发现每次的性能测试结果都不一样,可能原因包括SUT服务器上运行其他程序、负载流量不稳定等。这些因素都会影响测试结果的准确性,需要认真排查并解决。 性能测试需要坚持不懈的努力和反复调整,只有如此才能取得令人满意的结果。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能工程高手课》,新⼈⾸单¥59
《性能工程高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- qiaotaoli感觉这个章节说了很多点,但每个点都只是提了一下,没有说如何解决这类问题,只是提出了问题,没有解决方案。
作者回复: 性能工程涉及内容挺广的,性能测试是其中一块,相关的资料相对比较多,比如https://time.geekbang.org/column/intro/264;我的这个专题的定位不太一样,主要目的是让大家对这一工作有系统的认识,提纲挈领。每一块的具体内容可以根据每个人的实际需要再响应的展开。
2019-12-252 - 钱老师,先不管其他的,感觉你的讲解引不起共鸣,互动的同学较少哎!有些火爆的专栏评论比文章内容都多,我读过的感受,这些内容听起来不费劲也不需要太多的思考,你的观点我认同,关键是这是一种用结果讲述的方式。 我更多是想听,你遇到了什么具体的性能问题?你怎么分析的?你怎么解决的?你遇到的难题有一定的普遍性嘛?你的解决思路有一定的可复用性嘛?你讲解怎么解决问题的思路是否清晰?逻辑是否严谨?我学了之后遇到类似的问题是否能搞定,这是我最关心的,或者现在随便给我一个性能问题,让我去解决,我是思路的,不但有思路而且我知道怎么一步一步逼近问题的根源并且解决掉,这些也是我最关心的,我希望的这些内容。2020-03-04411
- han性能测试是个大的话题,这里的每个小节,展开都会有很多细节 - 测试设计(test design) - 测试工具选择和使用 - 测试环境搭建 - 测试数据准备 - 测试执行过程 - 测试结果分析 完整的性能测试感觉还是要借助专业测试人员的协助来完成,在参与的过程中可以了解到公司在性能测试这块的整套的工具和流程。开发人员自测而言,可能关注模块性能,结果分析,同时帮助评审测试设计2019-12-183
- 追风筝的人平时用的最多的性能指标有三个,就是服务响应时间,服务吞吐量和资源利用率。这三个指标各有侧重,分别对应了终端客户、业务平台以及容量系统。通常,响应时间是用户关注的指标,吞吐量是业务关注的指标,资源利用率是系统关注的指标。2022-06-16
- 在路上庄老师好,SUT 服务器上面还在跑其他程序,属于测试环境问题;注入的负载流量不稳定,属于测试输入问题;还有可能是测试程序本身有问题,被测程序处理相同的数据不能得到相同的结果。2021-01-30
收起评论