1、压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收用户请求的性能点,来获得系统能提供的最大服务级别的测试。压力测试是为了发现在什么条件下应用程序的性能会变得不可接受。压力测试和负载测试有些类似,通常把负载测试描述成一种特定类型的压力测试,例如,增加用户数量以对应用程序进行压力测试。

2、负载测试:通过在被测系统上不断增加压力,直到性能指标达到极限。

3、强度测试:强度测试主要是为了检查程序对异常情况的抵抗能力。强度测试总是迫使系统在异常的资源配置下运行。例如:

  • 正常用户点击率为1000次/秒,运行点击率为2000次/秒的测试用例
  • 运行需要最大存储空间的测试用例
  • 运行可能导致操作系统崩溃或者磁盘数据剧烈抖动的测试用例

  强度测试是一种特别重要的测试,对测试系统的稳定性以及系统未来的扩展空间均具有重要的意义。因为在这种异常条件下进行的测试,更容易发现系统是否稳定以及性能方面是否容易扩展。

4、并发测试:主要指测试多个用户同时访问同一个应用程序、同一个模块或者数据记录时是否存在死锁或者其他性能问题。

5、大数据量测试:大数据量测试分为两种,一种是针对某些系统存储、传输、统计查询等业务进行大数据量的测试;另一种是与并发测试结合的极限状态下的综合数据测试。作为专项的大数据量测试主要针对前者,后者尽量放在并发测试中。

6.、配置测试:主要是通过测试找到系统各项资源的最优分配原则,配置测试是系统调优的重要依据。例如,可以通过不停的调整Oracle的内存参数来进行测试,使之达到一个较好的性能。

7、可靠性测试:在给系统加载一定业务压力的情况下,是系统运行一段时间,以此检测系统是否稳定。例如,施加使CPU资源保持70%~90%使用率的压力,连内需对系统加压运行8个小时,然后根据结果分析系统是否稳定。

8、狭义性能测试:主要用于描述常规的性能测试,通过模拟生产运行的业务压力和使用场景组合来测试系统的性能是否满足生产要求。例如,以实际投产环境来测试,求出最大的吞吐量与最佳响应时间,以保证上线的平稳、安全等。性能测试是一种“正常”的的测试,主要是测试正常使用时系统是否满足要求,同事可能为了保留系统的扩展空间而进行一些稍稍超出“正常”范围的测试。

性能测试的类型看似很多,但大多都密切相关,例如,运行8小时来测试系统是否可靠,而这个测试极有可能包含了可靠性测试、强度测试、并发测试、性能测试、负载测试,等等。因此,在实施新能测试时决不能割裂他们的内部联系去进行,而应该分析他们之间的联系,以一种高效率的方式来设计性能测试。