一、测试方向
总体方向:性能效率测试是通过站在用户体验的角度,使用专业的负载生成设备,在性能模型的基础上验证系统是否能够达到用户提出的性能指标,是否符合用户文档中对系统设计时的性能关注点。在系统正常交互量及峰值交互量的情况下发现系统中存在的性能瓶颈,优化软件,最后达到优化系统的目的。系统既要可以承受大并发的访问,同时也需要可以为用户提供较佳的使用体验,即造成系统对性能的要求也同样较高,针对前段的性能评测也是本次评测的关键方向之一。通过结合实际系统的使用习惯进行性能模型设计,并依据系统实际的业务要求选取典型业务点、开发性能脚本并设计合理的场景及业务配比,使性能评测在以实际为基础的前提下,尽可能的发现系统的瓶颈,为系统调优提供参考和依据;
二、测试类型
性能测试(Performance Testing)
通过模拟生产运行的业务压力和使用场景组合测试系统的性能是否满足生产性能要求。
负载测试(Load Testing)
通过在被测系统上不断增加压力,直到性能指标(例如响应时间)超过预定指标或者某种资源已达到饱和状态。这种测试可以找到系统的处理极限,为系统调优提供数据。
压力测试(Stress Testing)
测试系统在一定饱和状态下(例如CPU、内存在饱和使用的情况下)系统能够处理的会话能力,以及系统是否会出现错误
三、测试指标
响应时间
完成某个业务所需要的时间。
例如,从单击登录按钮到登录完成返回登录成功页面需要消耗1秒钟,那么就说这个操作的响应时间是1秒。
在性能测试中是通过事务函数来完成对响应时间的统计,事务是指做某件事情的操作,事务函数会记录开始做这件事情和该事情做完之间的时间差,使用Transaction Response Time这个词来说明,也称事务响应时间。
吞吐量
单位时间内处理的事务数量。
例如,对于系统来说一个用户登录需要1秒钟,如果系统同时支持10个用户登录,且响应时间是1秒钟,那么系统的吞吐量就是10个/秒。
在性能测试工具中,吞吐量也被称为TPS(Transaction Per Second,每秒事务数)也就是说在单位时间内能完成的事务数目。TPS的计算一般是通过的事务数除以时间。
服务器资源占用
在负载下系统的资源利用率。
资源的占用越低,说明系统越优秀。
资源并不仅仅指运行系统的硬件,而是支持整个系统运行程序的一切软硬件平台。
在性能测试中,我们需要监控系统在负载下的硬件或者软件上各种资源的占用情况,例如CPU的占用率、内存使用率、查询cache命中率等
四、适用方法
基准测试方法
应用单一的虚拟用户依次访问单一的典型业务点,保证测试过程中没有其他操作影响,从而获得“基准”的响应时间、资源利用率、吞吐量的参考值及性能周期性的表现趋势。
负载测试方法
通过在被测系统上不断增加压力,直到性能指标例如响应时间超过预定指标或者某种资源已经达到饱和状态。这种测试可以找到系统的处理极限,为系统调优提供数据。
稳定性测试方法
通过给系统加载一定的业务压力的情况下(如:资源在70%-90%的使用率)的情况下,让系统持续运行一段时间,测试系统在这种条件下是否能够稳定运行
五、测试步骤
1、明确用户对系统性能表现的真实需求,掌握系统在对外提供服务时预计承受的访问指标(如:用户平均访问量、用户峰值访问量、要求提供的响应时间、事务吞吐量等)。
2、依据系统设计文档,及用户需求沟通,了解系统整体架构、系统业务流程、系统拓扑、系统数据流向等技术信息,并对其进行基础分析,初步定为系统中性能瓶颈点。
3、创建性能测试模型,性能测试需要针对一定的前提条件,某种性能表现与方方面面的前提条件息息相关,性能测试模型即为通过分析测试需求及系统分析创建的有助于限定性能测试结果的约束性条件。
4、依据测试方法开发性能测试用例,并开发性能测试场景及脚本,依次执行基准测试、负载测试及稳定性,记录相关性能测试指标及资源利用情况。