1、性能测试概念
性能测试就是通过性能测试工具模拟正常、峰值及异常负载状况下对系统的各项性能指标进行测试的活动。
性能测试的目的
- 验证系统性能是否满足预期的性能需求,包括系统的执行效率、稳定性、可靠性、安全性等
- 分析软件系统在各种负载水平下的运行状态,提高性能调整效率
- 识别系统缺陷,寻找系统中可能存在的性能问题,定位系统瓶颈并解决问题。
- 系统调优,探测系统设计与资源之间的最佳平衡,改善并优化系统的性能。
2、性能测试指标
(1)响应时间
指系统对用户请求作出响应所需要的时间。这个时间指用户从软件客户端发出请求到用户接收返回数据的整个过程所需要的时间,包括各种中间件(如服务器、数据库等)的处理时间。
(2)吞吐量
单位时间内系统能够完成的工作量(度量单位不唯一)
(3)并发用户数
并发用户数是指同一时间请求和访问的用户数量
(4)TPS
系统每秒钟能够处理的事务和交易的数量,它是衡量系统处理能力的重要指标
(5)点击率
点击率是指用户每秒向服务器提交的HTTP请求数,这个指标是Web应用特有的一个性能指标,通过点击率可以评估用户产生的负载量,并且可以判断系统是否稳定。点击率只是一个参考标准,帮助衡量Web服务器的性能
(6)资源利用率
资源利用率是指软件对系统资源的使用情况,包括CPU利用率、内存利用率、磁盘利用率等,资源利用率是分析软件性能瓶颈的重要参数
3、性能测试种类
(1)负载测试
负载测试是指逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统性能指标的情况下,系统所能承受的最大负载量。
(2)压力测试
压力测试也叫强度测试,它是指逐步给系统增加压力,测试系统的性能变化,使系统某些资源达到饱和或系统崩溃的边缘,从而确定系统所能承受的最大压力。
(只能测试高压力才出现的bug)
(3)并发测试
模拟并发访问时,用户并发访问同一个应用,同一个模块或者数据记录时是否存在死锁或其他性能问题
(4)配置测试
配置测试是指调整软件系统的软硬件环境,测试各种环境对系统性能的影响,从而找到系统各项资源的最优分配原则
(5)可靠性测试
指给系统加载一定的业务压力,使其持续运行一段时间(例如一周),测试系统在这种情况下是否能够稳定运行
(6)容量测试
容量测试是指在一定的软硬件及网络环境下,测试系统所能支持的最大用户数、最大存储量等。容量测试通常与数据库、系统资源(如CPU、内存、磁盘等)有关,用于规划将来需求增长(如用户增长、业务量增加等)时,对数据库和系统资源的优化。
4、性能测试工具
软件测试流程