软件测试 52 讲
茹炳晟
腾讯 TEG 基础架构部 T4 级专家
71691 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
结束语 (1讲)
软件测试 52 讲
15
15
1.0x
00:00/00:00
登录|注册

29 | 聊聊性能测试的基本方法与应用领域

使用并发测试、压力测试、后端性能测试和代码级性能测试
发现内存泄露、资源竞争等问题
使用后端性能测试、前端性能测试、代码级性能测试、压力测试、配置测试、并发测试和可靠性测试
解决性能瓶颈问题
使用后端性能测试、压力测试、配置测试和可靠性测试
确定系统达到要求性能和容量的方法
使用后端性能测试、压力测试和可靠性测试
验证系统在特定条件下的性能能力
发现系统潜在问题
长期模拟真实系统负载
发现资源竞争、死锁等问题
观察并发情况下的系统行为表现
寻找特定压力模式下的最佳配置
观察系统在不同配置下的性能表现
用于系统容量规划
施加压力验证系统稳定性和性能指标
预防底层代码效率问题
在单元测试阶段对代码的时间性能和空间性能进行测试和评估
优化终端用户浏览器端使用体验
关注浏览器端页面渲染时间、资源加载顺序等
验证性能需求
获取系统性能指标
模拟大量并发用户请求
缺陷发现
性能调优
能力规划
能力验证
可靠性测试
并发测试
配置测试
压力测试
代码级性能测试
前端性能测试
后端性能测试
应用领域
性能测试方法
性能测试方法与应用领域

该思维导图由 AI 生成,仅供参考

你好,我是茹炳晟。今天我和你分享的主题是:聊聊性能测试的基本方法与应用领域。
在上一次分享《带你一起解读不同视角的软件性能与性能指标》这个主题时,我介绍了衡量软件性能的三个最主要的指标:并发用户数、响应时间和系统吞吐量,和你分享了这个指标的内涵和外延。
所以,今天我会先继续上次的话题,和你分享并发用户数、响应时间和系统吞吐量这三个指标之间的关系和约束;然后,我会再和你分享性能测试七种常用方法,以及四大应用领域。
由于性能测试是一个很宽泛的话题,所以不同的人对性能测试的看法也不完全一样,同样一种方法可能也会有不同的表述方式。但是,从我亲身经历的实践来看,我们最关键的还是要去理解这些方法的本质和内涵,这样在面对实际问题时才能处变不惊,灵活应对。
虽然关于概念、方法和原理的内容会有些枯燥,但是掌握了这些看似枯燥的内容后,你会发现自己的性能测试知识体系越发完善了。当然,在这些看似枯燥的理论讲解中,我也会通过类比的方式,帮助你理解。如果你觉得不过瘾,还想知道一些更细节的实现,欢迎你给我留言,我们一起来讨论。

并发用户数、响应时间、系统吞吐量之间的关系

并发用户数、响应时间、系统吞吐量,这三个名词的含义可能就已经让你感觉云里雾里了,因此我会通过一个我们日常生活中的体检为例,再来解释一下它们到底是什么,以及它们之间的关系和约束。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

性能测试方法及应用领域概览 本文通过生动的体检中心类比,解释了并发用户数、响应时间和系统吞吐量之间的关系和约束。文章介绍了性能测试的七种常用方法,包括后端性能测试、前端性能测试、代码级性能测试、压力测试、配置测试、并发测试和可靠性测试。每种方法都有详细的解释和实际应用场景。其中,后端性能测试主要关注服务器端性能,前端性能测试关注浏览器端的页面渲染时间和资源加载顺序,代码级性能测试在单元测试阶段对代码的时间性能和空间性能进行测试,压力测试用于系统容量规划,配置测试观察系统在不同配置下的性能表现,并发测试用于观察并发情况下的行为表现,可靠性测试验证系统在常规负载模式下长期运行的稳定性。 在了解了性能测试方法后,本文进一步介绍了性能测试的四大应用领域,包括系统容量规划、性能瓶颈分析、系统配置优化和系统稳定性验证。每个应用领域都需要使用不同的性能测试方法来达到最佳效果。通过本文的介绍,读者可以快速了解性能测试的基本方法和应用领域,为他们在实际工作中进行性能测试提供了有力的指导和参考。 性能测试的应用领域包括能力验证、能力规划、性能调优、缺陷发现这四大方面。每个应用领域可以根据自身特点,选择合适的测试方法。能力验证主要使用后端性能测试、压力测试和可靠性测试;能力规划主要使用后端性能测试、压力测试、配置测试和可靠性测试;性能调优涵盖了七大类测试方法;缺陷发现主要使用并发测试、压力测试、后端性能测试和代码级性能测试。 通过本文的总结,读者可以快速掌握性能测试的基本方法和应用领域,为实际项目中的性能测试工作提供了重要参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件测试 52 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(27)

  • 最新
  • 精选
  • Cynthia🌸
    代码级性能测试的方法,学到了!的确这种从上而下的排查方式极为缓慢,如果在单元测试的时候用这种方法测过,真是ROI很高的一件事呀!

    作者回复: 是的,单元阶段直接改一下单元测试框架,代价非常小,但是收益会很大,我很推荐这个方法

    2018-09-03
    13
  • sylan215
    感觉目前专门的服务端开发,应该都会考虑到性能的问题,特别是并发和吞吐量,而且他们对不同系统的不同性能指标都会有一个大概的了解,如果配置专门的服务端性能测试的话,技能要求其实和开发水平都相当了,甚至更高。 反而是客户端团队,对这块的关注并不够,大部分人主要都是关注的功能实现,就算有关注性能的,也没有明确的性能指标,因为这块主要考虑的就是响应时间,而每个人对于响应时间快慢的感知并不一致,只要不是延迟的太明显,大部分人还是可以接受的。 除了用户量级特别大的业务外,现在是不是很多公司都使用云服务啦,这样做业务的公司就不需要去考虑服务器的复杂部署和维护的问题了,专业的事情都交给专业的人去做了,如果这时候涉及性能测试,应该也是更专业的啦。 以上,欢迎沟通交流,公众号「sylan215」

    作者回复: 好的性能专家基本都是架构师级别的水平,要求很高。 前端性能优化小公司一般都不会去做,但是大的产品一般都有做,而且是采用全公司共享的性能专家团队模式,比如hp就有自己的性能专家团队PCoE。 上云之后,基础架构这一层面的性能的确不同特别关注了,但是全链路压测还是要做,另外应用自身的性能瓶颈以及扩展性问题还是要关注的。

    2018-09-03
    11
  • 萨拉热窝的棒小伙儿
    代码级的性能测试,对于测试人员具体应该怎么执行?管开发把代码要过来,装一个ide能执行代码环境,然后在代码外部写一个循环1000次,,掐算一下时间?

    作者回复: 不是的,直接在ut框架的基础上加上循环执行和时间统计的功能,然后在ci里面触发,一般测试的过程不需要额外的工作量,但是问题分析还是需要开发工程师

    2019-01-12
    10
  • 人心向善
    从接触这份工作到现在也有很长时间了,一直关注的都是响应时间、并发数量、系统资源使用,比如mem、cpu这些,然后只关注这些方面的最大问题就是系统出现瓶颈时不知如何下手,最多也就是先从硬件到软件的分析方式去逐步分析,而硬件和软件又分很多层面,每一个层面又涉及到更多的知识,除了真实项目中的不断深入了解也就是不断的学习了,再看到老师的单元测试的时候感受颇深,确实是这样,很多时候分析来分析去最终发现是底层的问题,但是不是所有所有的客户方都会选择单元测试,从遇到的到现在为止,十有八九都是做做压力测试关注下响应时间、系统资源利用率罢了,最多也就是稳定性测试,这样的话单元测试在这种情况下就没有了任何意义,不过治病先治根是对的,但要以实际为主了!

    作者回复: 高质量的留言,我也深有同感

    2018-10-08
    2
    6
  • fekgih
    目前负责的项目性能测试比较花精力在后端性能测试,并发测试,压力测试和可靠性测试。本人很想花点精力在前端性能测试这方面,不过这方面经验还没有,而且项目组比较关注后端方面的性能。貌似一说起性能测试,对于前端方面,只有页面响应不太延迟就觉得不需要放太多精力关注,反而后端方面,都是花大部分精力在上面,而且各种工具也很成熟完善。看到后面老师有专门一篇介绍前端性能测试工具,顿时很开心。说到后端性能测试,对于接口性能测试方面,推荐wrk这个工具。

    作者回复: 希望后面前端性能的文章对你有直接的帮助,一般公司都关注后端性能,只有大型的公司才会有专门的前端性能团队,不过前端性能调优相对简单,有成熟的套路

    2018-09-08
    3
  • 风子夕👀
    我是一个开发,这两天正在给领导写一份关于在开发过程中推进单元测试和性能测试的建议。 就我个人最近的经历来看,正好贴合了今天课程里所提到的几点,比如通过性能测试了解系统的稳定性,可靠性,以及有没有潜在风险,特别是某些代码中隐藏的性能缺陷。 为了推进这块,在最近完成的项目中,我自己写了个模拟并发用户的简单框架,生成用户数据,简单模拟用户常用的场景。通过这样的并发模拟来检验稳定性和响应时间。 感觉不综合测几轮,心里没谱。

    作者回复: 嗯嗯,不错的实践,执行过程中如果有任何问题,可以随时交流

    2018-09-03
    3
  • hyeebeen
    简单可操作,之前有些点没考虑到。可以实践一下了

    作者回复: 嗯嗯,能有收获就好,后面还有完整的实例讲解,希望可以帮到你

    2018-09-03
    1
  • Robert小七
    最想知道的如何设计测试用例

    作者回复: 性能测试的用例设计是要根据你的测试目标来的,只要是确定用户行为已经负载模型,在后面实例的讲解文章中还会涉及

    2018-09-04
  • 老师,性能基准测试如何做,哪些指标及多大的指标值可以作为性能测试的基线?

    作者回复: 基线本身可以作为参考指标,去衡量后续迭代对原有性能的影响,至于基线里面应该使用哪些指标取决于被测应用,但是吞吐量,响应时间,系统资源占用率都是最基本的

    2018-09-03
  • 涟漪852
    老师也讲讲jmeter

    作者回复: 文章本身不会去讲具体工具的使用,而是想要讲清楚工具的原理,后续文章有基于loadrunner来讲的实际案例,jmeter使用还是推荐阅读官方文档

    2018-09-03
收起评论
显示
设置
留言
27
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部