性能测试是一种非功能测试,指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件,对系统的各项性能标准进行监测和分析,来证明软件系统是不是达到预期的性能需求。
性能测试不是为了检查功能对错(那是功能测试的任务),而是考察系统跑得快不快、撑得住多少人、长时间跑稳不稳。
常见的性能测试类型包括:
负载测试:模拟逐渐增加的并发用户数,观察系统在不同负载下的表现,确认系统能承受的正常工作负载范围。
压力测试:不断增加负载直至系统崩溃或性能急剧下降,找出系统的性能拐点和最大承受极限。
稳定性测试:在一定的负载下长时间运行(如8小时、24小时),监测系统是不是存在内存泄漏、资源耗尽等问题。
并发测试:模拟多个用户同时执行特定操作(如秒杀、下单),检验系统是不是存在锁冲突、数据不一致等并发问题。
性能测试的标准一般包括:
响应时间:从用户发出请求到收到完整响应所耗的时间,直接影响用户感知。
吞吐量:单位时间内系统处理的请求数量(如TPS,每秒事务数),反映系统的处理能力。
并发用户数:同一时刻和系统交互的用户数量,考验系统并发处理能力。
资源利用率:CPU、内存、磁盘I/O、网络带宽等硬件资源的占用情况。
错误率:在高负载下请求失败的比例。