1.1.3性能测试的分类
性能测试根据目的不同又可以细分为不同的测试类型,平时工作中根据具体情况进行对应的测试。下面是最常见的性能测试分类。
(1)并发测试。用于评估当多用户并发访问同一个应用、模块、数据时是否会产生隐藏的并发问题,常用于秒杀场景,可以发现一些超买超卖、死锁等问题。
(2)压力测试。用于评估当处于或超过预期负载时系统的运行情况。压力测试的关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。
(3)负载测试。通过对系统不断增加压力,测试压力或者增加压力后的持续时间,直到系统的一项或多项性能指标达到安全临界值,从而评估系统在安全阈值范围内的处理能力情况,或配合性能调优来使用。
(4)稳定性测试。若要判断系统在上线后长时间运行会不会出现性能问题、有无内存泄漏或线程泄漏,或产生其他异常,则需要进行稳定性测试。稳定性测试考察了系统在一定压力下连续运行3x24h、7x24h的状况,以确定系统足够稳定。
(5)可靠性测试。产品上线后,在运营及推广下,用户量会持续上升。某些时候因为一些运营活动会出现用户激增,导致服务器负载过高。在这种场景下保障服务正常提供且足够可靠,计算机不会运行异常,则需要进行可靠性测试。
提示
有些大厂,例如网易、京东,还经常会进行故障演练的测试,目的在于保证和提升系统在压力下的稳定性。通过人工制造和注入故障,了解故障发生后系统的表现,从而设计对应的保证措施,以提前验证解决方案的可行性,同时提高系统的容错率和健壮性。
容量测试是性能测试中的一种测试方法,它的目的是测量系统的最大容量,为系统扩容、性能优化提供参考,同时节省成本投入并提高资源利用率。容量测试常用于容量规划。