【性能测试】性能测试 问答篇

沐沐今天想和大家分享一下性能测试过程中一些常见的问题,可以帮助性能学习初学者解决一些小疑惑。

性能测试都分为哪些种类

负载测试

主要检查被测系统在既定负载下的性能表现,即通过逐步加压的方法,达到既定的性能阈值的目标(阈值的设定应是小于等于某个值,例如cpu<=80%等)。

压力测试

主要检查被测系统在极端条件下的表现,即通过逐步加压的方法,使得系统的某些资源达到饱和,简言之就是测试什么条件下可以把系统压崩溃。

并发测试

主要是验证系统的并发处理能力,即在同一时间内,多个虚拟用户同时访问同一模块、同一功能,通常的测试方法是设置集合点。

基准测试

系统中增加新模块时,需要进行基准测试来判断新模块对整个系统的性能影响。

稳定性测试

测试系统在一定负载下运行长时间是否会发生问题(例如会进行7*24小时的稳定性测试)。

性能测试的流程是什么?

熟悉系统架构

了解被测系统架构和通讯协议等。

明确测试范围

服务端(CPU、IO、网络、内存等)、程序接口(并发数、TPS、响应时间、事务成功率等)、数据库(配置参数、表结构、索引、慢查询等)。

明确测试指标

系统预计承载的用户量、并发用户数、TPS等。

选择测试工具

JMeter 、locust、Loadrunner、性能测试云平台等。

准备性能脚本

准备待测接口脚本,基准测试接口的入参、响应、异常测试等是否符合预期。

设计性能场景

根据实际业务,设计性能测试场景,例如单一场景、混合场景等。

执行性能脚本

执行脚本,关注TPS、错误率、响应时间等同时监控资源使用率。

分析测试结果

分析性能测试结果,对性能瓶颈进行调优。

性能回归测试

性能调优后进行回归测试。

输出测试报告

根据实际的测试情况,输出性能测试报告。

如何估算并发数?

通常估算并发用户数为在线用户数的10%-20%。

虚拟用户数=TPS*(runtime+thinktime)。

性能测试如何查找系统性能瓶颈?

1、服务器硬件瓶颈 。

2、网络瓶颈。

3、服务器操作系统瓶颈(参数配置)。

4、中间件瓶颈(参数配置、数据库、web服务器等)。

5、应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)。

如何找导致CPU瓶颈的程序?

1、系统CPU 利用率高可以关注一下IO(磁盘读写速度),有没有空闲等待,通常CPU利用率高都是IO问题,此时的中端与切换都高。

2、用户CPU利用率高,直接用top命令或者htop就可以找到系统进程ID和线程 ID,就可以很快找到对应的程序。

找到导致IO瓶颈的程序、监控IO

1、网络IO监控我们可以监控网络中端、宽带、网络连接数以及网络的连接状态等。常用命令netstat、sar。

2、本地磁盘IO我们可以监控有没有IO的非空闲等待,用iostat命令查看。其他常用命令:iotop、sar。

以上内容是沐沐几年前的学习笔记,已经忘记知识获取来源,但是现在看来还是非要有用,因此分享给大家,尤其是对性能初学者比较有帮助。

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

猜你喜欢

转载自blog.csdn.net/wx17343624830/article/details/125792789
今日推荐