性能测试是一种非功能的测试,它关注的不是软件是否能够完成特定的功能,而是功能的响应及时性。性能测试是用户的一种最终感受体验,主要通过响应时间、吞吐量、并发用户数、系统资源占用、系统稳定性等几个指标来衡量。它更关注软件的效能和处理能力,即业务的吞吐量。

来看一下性能测试的目标都有哪些?

1.获得系统的容量和效率最大并发TPS,请求和事务的平均响应时间,处理数据量。

2.验证系统性能是否符合需求,即产品设计初衷。

3.峰值业务量,日/月/年平均业务量找到峰值,比如缴纳社保交易的高峰一般在月初10号。

4.发现性能问题和瓶颈,不限于内存溢出、Web Server、DB、中间件、网络 …

5.技术方案评估选型:高可用集群方案,双机HA,Redis ,以及分布式部署等等 …

6.竞争对手分析,同类产品性能对比。

7.测量资源消耗:CPU,RAM, 磁盘容量,IO,带宽占用,耗电量。

性能测试主要做以下几块,包括性能验证、能力验证、能力规划和性能调优,性能验证也叫缺陷发现。

通常用于日常研发过程中的内部测试,通过提前发现、解决潜在的性能问题,提高产品交付质量;

能力验证主要是验证系统在给定条件下是否具备预期的能力表现。

能力验证通常处于系统集成测试,或项目上线前的性能模拟、项目验收等测试阶段;

能力规划即了解系统性能能力的可扩展性和非特定环境下的性能能力。关心的重点是“如何使系统具有我们要求的性能能力”或“在某种可能发生的条件下,系统会有如何的性能能力”。

一般都是产品的系统配置规划测试、项目设备选型测试确认满足未来3-5年业务发展需要。性能调优就是对系统性能进行优化,达到性能提升。