第二章:性能测试的应用领域

  1. 性能测试的方法
    一、验收性能测试
    Acceptance Performance Testing:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。

    二、负载测试
    Loading Testing:在被测系统上不断增加压力,直到性能指标(如响应时间)超过预定或者某种资源使用已经达到饱和状态。负载测试通过‘检测–加压–性能指标超过预期’的手段,找到系统处理能力的极限。该极限用‘在给定条件下最多允许120个并发用户访问’或是‘给定条件下最多能在一小时内处理2100笔业务’这样的描述来体现。

    三、压力测试
    Stress Testing:测试系统在一定的饱和状态下,例如CPU、内存等饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。一般情况下,会把压力设定为‘CPU使用率达到75%以上、内存使用率达到70%以上’等这样的描述。JVM的可用内存、数据库的连接数、数据库服务器CPU利用率等都可以作为压力的依据。

    四、配置测试
    Configuration Testing:通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能的影响程度,从而找到系统各项资源的最优分配原则。

    五、并发测试
    Concurrency Testing:通过模拟并发用户的访问,测试多用户并发访问同一个应用、同一个模块或数据记录时是否存在死锁或者其他性能问题。

问题类别 问题描述
内存问题 优内存泄露(C/C++)有太多临时对象或超过设计生命周期的对象(Java)
数据库问题 数据库死锁(Dead Lock)经常出现长事务(Long Transaction)
进程/线程问题 线程或进程同步失败
其他问题 资源争用导致的死锁 没正确处理异常导致系统死锁
	六、可靠性测试
		Reliability Testing:给系统加载一定的业务压力(例如资源在70%~90%的使用率),让应用持续运行一段时间,测试系统在这种条件下能否稳定运行。可靠性一般用平均无故障时间或失效率来衡量。
		
	七、失效恢复测试
		Failover Testing:针对有冗余备份和负载均衡的系统设计。检测系统有局部故障,用户是否能继续使用系统,以及如果这种情况发生,用户将受多大程度的影响。
  1. 性能测试应用领域分析
    一、能力验证
    要求在已确定的环境下运行;
    需要根据典型场景设计测试方案和用例;

    二、规划能力
    它是一种探索性的测试;
    它可被用于了解系统的性能以及获得扩展性能的方法;

    三、性能调优
    对生产环境的应用:首先关注应用系统部署环境的调整,例如,服务器的调整、数据库参数的调整、应用服务器的参数调整;
    对正在开发中的应用:更多的关注应用逻辑的实现方法、涉及的算法、数据库访问层的设计等因素;并不需要一个生产环境,只需要一个可用于比较的基准测试环境;
    标准的性能调优过程:
    1、确定基准环境、基准负载、基准性能指标
    2、调整系统运行环境和实现方法,执行测试(硬件环境调整、系统设置调整、应用级别调整)
    3、记录测试结果,进行分析

    四、缺陷发现
    主要通过性能测试的手段来发现系统中存在的缺陷;

    五、性能基准比较
    通常应用在敏捷开发过程中;

能力验证 规划能力 性能调优 缺陷发现 性能基准比较
性能测试 *
负载测试 * *
压力测试 * * * * *
配置测试 * *
并发测试 * *
可靠性测试 *
失效恢复测试 * * *

猜你喜欢

转载自blog.csdn.net/weixin_42306440/article/details/89048272