谈性能色变?

2022-06-15 19:08:49 浏览数 (1)

Part1实验

很多测试工程师甚至包括研发人员,面对性能测试时,都会感觉无从下手。对于测试新人,面对性能测试,总有一种神秘感、高级感。通往高阶测试的路上,性能测试确实是成长的快车道。

三点君有幸参与过秒杀、活动、容量、保障等多个项目中的性能测试。用一句话来说,性能测试是一个测试专项,在一套完整的性能测试方案指导下,开展代码、系统、资源、用户的平衡实验。

U == C S R

Part2场景

性能测试开场篇,通过性能场景Q&A的过程来揭开性能测试神秘的面纱。

Q1

研发为了应对用户增长时,利用机器

资源性能的瓶颈在哪里?

当研发利用现有的资源提高系统服务的性能,从而应对未来可能的用户流量增长时。我们先看不变量,资源R不变,那么不变量就是R。变量呢?很明显用户U可能会变高,所以我们要通过性能测试,找到代码C和系统S的瓶颈,提升C或S,从而让U提高。

Q2

研发修改了某个php代码模块的高流

量接口代码,性能是否有损失?

很明显,此时只有代码C发生了变化,而代码C的变化,很可能会引起性能的变化。所以通过性能测试,我们要保证代码的变动不会引起性能的损失。

Q3

研发将某代码模块从php语言重构成了

go语言,性能是否有提升?

同理,代码C和系统S的重构变化。能否达到在R资源不变的原则下,有效提高U,这个校验的过程就是性能测试。

Q4

当前服务系统的性能容量如何?

性能容量:特定性能指标,设定一个边界或者极

限,用来优化资源(缩容)。

代码C和系统S没有发生变化,当前的业务流量用户U也没有发生变化,性能容量评估来判定资源R是否被充分利用,能否合理的进行资源分配部署。

Q5

产品小王告知电商秒杀活动需求预计

用户量,性能是否满足?

当系统负责人或者产品需求方得知活动的预估流量,但是右侧的CSR并不清楚时,通过性能测试,来评判CSR能否满足U。

Q6

重大节日为了满足服务性能,合同里

要求第三方服务供应商提供一定的qps

甲方知晓用户需求,所以甲方要根据U给出具体性能需求,让乙方通过优化代码、系统、资源等途径,来满足甲方的合同需求。

Q7

某用户反馈某个页面打开很慢,需要

测试评估前后端性能,来判断是bug

还是性能问题。

这个通常先判断是否是功能问题,然后再分别评估是前端的性能不足还是后端服务的性能遇到问题。

Q8

某用户反馈升级app后,页面加载很

慢,手机网络设备在都正常下,像

是app出问题了。

需要判断页面和端框架是否有代码bug,然后分析端框架渲染是否有性能故障。

Q9

多用户反馈在整点登录打开,页面

loading时长过久,不知道哪里的问题

整点登录很明显瓶颈在于同时登录很多用户,有性能瓶颈,需要测试技术分析来修复问题,提升用户体验。

Part3接活

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件对系统的各项性能指标进行测试。

这里面需要主要的一点,系统特指软件层面,而非硬件层面,硬件也会有性能测试,常听到手机跑分或计算机电脑跑分,算是性能评测。这里我们度量的是软件系统的一种特性,硬件的性能不再讨论的范围之内。

我们接到一个性能测试的任务时,参考上述的场景,结合性能实验模型,快速了解性能需求背景,为后续性能测试做良好的开端。

0 人点赞