性能测试的时机

简介: 性能测试的时机

最近接触了一个团队。在查看APM的时候发现团队交付的服务响应时间超长,随即去性能平台找性能测试执行留痕的过程中发现已经很久没有做性能测试了,就这个问题和团队开发负责人、团队测试负责人进行深度讨论,发现两人对性能测试的必要性提出了质疑,理由也很简单APM都能发现问题,为什么还要做性能,APM发现慢了,就安排迭代改进就好了,没有必要再投入精力做性能测试了。

性能的闻道先后

测试其实是一种有效保障交付变更质量的保证方法,那么反过来看不保证交付质量可以吗?答案其实是可以,这样就会导致不良质量成本的出现。举一个非IT的例子,一个生产电风扇的厂商如果不做质量保证,流水线生产出来的电风扇就直接上市销售。我们假设流水线生产的电风扇的良品率是90%,一台电风扇生产成本是售价的50%。一台电风扇从生产完成到售卖到用户手中包含了包装、运输、营销等一系列的过程,这个过程总费用是一台电风扇售价的50%。那么如果这个电风扇生产厂商1个月生产10万台电风扇,每一台售价100元,那么要是没有质量保证,这一个月不良质量造成的成本就是10万台*90%*100元,结果就是900万的不良质量成本的损失。如果一切都不改变,仅仅是在流水线生产完成后加上质量保证环节,那么至少可以可以不让质量问题的产品流入市场,因此不良质量成本就减少了450万。

那么我们再回到我们软件的系统变更过程,测试在制品过程中越早的投入,就可以越早的发现质量问题从而减少不良质量成本。在功能测试活动中我相信所有人都能理解,所以缺陷逃逸率几乎是现在每一个团队都要度量的指标。为什么到性能测试就会有人本末倒置呢,当生产发现服务相应慢的时候,就是性能缺陷的逃逸,也是制品团队交付了不良质量的变更。也就是说性能测试在前,APM监控在后,不做性能测试使得一些性能缺陷逃逸,虽然APM发现了问题,但是也是事后的手段,同样对用户的使用造成了影响,这也造成了不良质量成本。


性能测试的开展时机

随着现在技术的发展,DevOps包含饿了越来越多的内容,DevSecOps、DevPerfOps等等Dev{}Ops就变成了每一个角色讲故事的通用范式了。那么无论叫什么,性能是任何产品交付过程中无法逾越的特性,也是八大软件质量特性中的一个,保证产品的性能效率质量特性的方法性能测试就是必不可少的一个环节。

在10年前每次有性能测试的需求测试小伙伴都会认为是一个大任务,需要很多天很多投入去验证,也相对应的让性能测试变成了一个很难做的任务。那个时候很多大规模公司都有专属的性能测试团队,性能测试团队在这个那个测试团队中的地位还是相对较高的,话语权非常重,尤其是在银行类系统的交付团队里。随着容器化的不断普及,被测环境和测试工具的部署可以在分钟级交付,性能测试已经降低了很大的门槛,节省了很多成本,这也是为什么很多互联网大厂能够实现的性能测试常态化的基础,那么性能测试的开展时机就是任何时机,只要有需求就可执行、可验证、可度量、可优化。

在测试领域,互联网远远领先于其他行业,那么在全部测试团队推行常态化的性能测试常态化估计还需要很长的一段路要走。既然不能马上进入高速路,性能测试的开展时机仍就是一个需要多方面考虑的问题,当然也是按需的进行,也不能随心所欲的投入。那么什么时候就应该是需要性能测试开展的时机呢?如下几点出现任意一种情况,都应该开展对应业务流程的性能测试,除非该业务并不关注性能表现:

  • 有并发业务访问模式,并且第一次在系统中交付
  • 单接口测试响应时间超过1秒钟
  • 3个月没有对系统关键业务流程或者并发业务流程做性能评估
  • 被测系统业务数据增长1个月内超过预期增长速度1倍以上
  • 其他明显会影响性能的变更或者基础数据的变化

当如上情况出现的时候,我们就应该立即按照预期的数据规模、访问规模、并发规模完成性能测试,给出优化建议。如何做性能测试https://blog.csdn.net/crisschan/article/details/114777321有详细的内容,就不再做重复说明了。


总结


《史记·鹖冠子》记载,魏文王问扁鹊:“子昆弟三人其孰最善为医?”扁鹊曰:“长兄最善,中兄次之,扁鹊最为下。”魏文王曰:“可得闻邪?”扁鹊曰: “长兄于病视神,未有形而除之,故名不出于家。中兄治病,其在毫毛,故名不出于闾。若扁鹊者,镵(chán)血脉,投毒药,副肌肤,闲而名出闻于诸侯。”

所以,APM是事后,性能测试是事前。性能测试是“治未病”,否则APM发现问题也是性能缺陷的逃逸,也会造成不良质量成本。

目录
相关文章
|
Prometheus 运维 监控
linux磁盘I/O监控
【4月更文挑战第1天】在Linux中监控磁盘I/O性能至关重要,工具如iostat(-d显示磁盘统计)、iotop(进程级I/O查看)、vmstat、/proc/diskstats(详细统计信息)、Node Exporter(Prometheus集成)和Zabbix(动态监控与LLD)提供关键指标,如IOPS、吞吐量、利用率和服务时间,助力系统优化和故障排查。
838 4
linux磁盘I/O监控
|
运维 安全 Linux
linux麒麟系统二级等保【三权分立策略】
linux麒麟系统二级等保【三权分立策略】
2664 0
|
11月前
|
人工智能 自然语言处理 供应链
智能体来了:老板如何用智能体降本增效,打造企业新增长引擎 ——黎跃春谈智能体赋能企业的自动化办公与管理新范式
智能体正成为企业智能化的核心驱动力,从替代重复劳动到增强决策、优化执行,助力老板降本增效。依托阿里云生态,智能体实现跨部门协同与流程自动化,推动企业管理从数字化迈向智能化新阶段。
|
并行计算 前端开发 异构计算
告别服务器繁忙,云上部署DeepSeek
本文以 DeepSeek-R1-Distill-Qwen-32B-FP8 为例,向您介绍如何在GPU实例上使用容器来部署量化的 DeepSeek-R1 蒸馏模型。
|
安全 网络协议 网络安全
只有IP地址没有域名,如何实现HTTPS访问?
在仅有IP地址而无域名的情况下,实现HTTPS访问并非不可能。主要挑战包括证书颁发机构(CA)对IP地址的支持有限及浏览器兼容性问题。解决方案有:1) 搭建私有CA为内部IP地址颁发证书;2) 使用支持IP地址的公共CA服务。选择合适的方案需根据需求权衡。具体步骤包括选择证书类型、生成CSR文件、提交并完成验证、安装SSL证书和配置强制HTTPS访问。确保IP地址稳定,并定期维护安全性。 **申请优惠**:访问JoySSL官网并填写注册码“230907”可优惠申请IP地址证书。
3203 5
|
安全 网络安全 Go
国密SSL协议之双证书体系
国密SSL协议使用双证书体系。本文描述了国密双证书体系的组成和差别,并描述了在U盾里面的使用情况。
7466 0
国密SSL协议之双证书体系
|
自然语言处理 前端开发 Java
API管理平台:你用的到底是哪个?
本文介绍了多个API管理和文档工具,包括Apifox、Swagger及其增强版Knife4j和RapiDoc、阿里RAP、去哪儿YApi以及Redoc。这些工具各有特色,适用于不同的开发场景。Apifox提供一体化协作平台,支持API文档、调试、Mock和测试;Swagger结合Knife4j适合Java与前端团队,界面美观且功能丰富;YApi则适用于跨语言开发,支持多种API形式的管理;阿里RAP专注于接口文档管理和Mock服务;Redoc则是开源的现代化API文档浏览器。总结而言,选择工具应根据团队需求和技术栈来决定。
5596 16
|
XML 安全 Java
CVE-2017-9805:Struts2 REST插件远程执行命令漏洞(S2-052) 分析报告
一. 漏洞概述 2017年9月5日,Apache Struts 2官方发布一个严重级别的安全漏洞公告,该漏洞由国外安全研究组织lgtm.com的安全研究人员发现,漏洞编号为CVE-2017-9805(S2-052),在一定条件下,攻击者可以利用该漏洞远程发送精心构造的恶意数据包,获取业务数据或服务器权限,存在高安全风险。
11252 1
|
调度 Python
深入理解 Python 中的异步操作 | python小知识
在现代编程中,异步操作是一个非常重要的概念,尤其是在处理 I/O 密集型任务时。使用异步操作可以显著提高程序的性能和响应速度。Python 提供了 `async` 和 `await` 关键字,使得编写异步代码变得更加直观和简洁【10月更文挑战第8天】
509 2
|
算法 vr&ar C#
使用Unity进行虚拟现实开发:深入探索与实践
【8月更文挑战第24天】使用Unity进行虚拟现实开发是一个充满挑战和机遇的过程。通过掌握Unity的VR开发技术,你可以创造出令人惊叹的VR体验,为用户带来前所未有的沉浸感和乐趣。随着技术的不断进步和应用场景的不断拓展,VR开发的未来充满了无限可能。希望本文能为你提供有用的指导和启发!

热门文章

最新文章