如何量化性能测试指标

如果是研发的测试,一般在项目之初,开发人员是提不出很明确的性能指标的,那么我们怎么引导开发人员给出量化的性能指标呢?

做性能测试之前,相关功能测试必须完成,架构、部署已基本稳定,把描述性的性能指标转换成量化的指标,才具备可测试性

立项之初性能需求一般是模糊:系统性能好、反应速度快,那么如何转成量化指标呢?一般从最终用户、业务、技术和标准等某个方面获得足够的信息和数据

□ 最终用户的体验:2-5-10原则,页面响应时间

□ 商业需求:竞品分析(对手产品的处理能力、等待时间、响应速度、容量)

□ 技术需求:技术指标一般都差别不大,服务器CPU不能超过80%,IO不能超过100,网络吞吐不超过网卡带宽

□ 标准:国家或行业标准中的性能指标

常见量化性能指标

时间:一般是用户的关注

○ 页面下载时间

○ 处理时间

○ 发送时间

○ 连接时间

○ 系统/事务的响应时间

容量/数据吞吐量:产品关注点

○  最大用户数

○  最佳用户数

○  页面浏览量

○  吞吐率:每秒服务器处理的HTTP请求

○  每秒点击率

○ 每秒连接数

系统资源占用率:开发关注点

○ CPU

○ 内存

○ IO

○ 网口

【性能需求分析】业务要求支持2亿用户,每天支持2000万次交易量,交易响应时间要求在1s之内

• 2亿用户:说明数据库中要有2亿的用户,按1%(需根据实际情况而定)用户会在线,意味着2亿用户需要有200万用户同时在线

• 每天2000万次交易:按交易时间18h计算(早上8点-凌晨2点),平均每秒309次

• 若高峰期间处理能力要求是平均值的3倍,则最大吞吐量要到927次/秒

• 交易响应时间不超过1s,峰值不超过3s

• 正常交易成功率100%,峰值不低于99.9%

• 服务器cpu不能持续超过70%,内存不能持续超过XXXG(需根据实际配置确定),IO为xxx,网络带宽不超过100M/S

从上述分析中有一些潜在的经验值(监控指标),有些是需要对实际业务进行摸底(1%用户在线,高峰是平均值的3倍)

后续性能测试的大体流程:

第一步:摸底测试

在没有量化指标的情况下,第一个版本的性能测试主要是摸底,

一般会拍脑瓜定个并发数,场景设置成系统主要的功能监控收集该状态下,系统的各种指标:

• 哪个服务和组件占用资源(CPU、内存、吞吐量)过多

• 哪个环节(页面、操作、接口)费时多

• 算法消耗资源

• 有没有内存泄漏

• 加大压力,看系统是否会崩溃

第二步:把第一次的测试结果展现给开发,让开发对这些关键的指标有认识,并共同分析产生这些结果的原因并指定要达到的量化指标。

第三步:一般开发会提出优化方案(可能是更换组件),达到量化目标后,做长时间的压力测试

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容