性能测试是系统优化的有效手段

作者:郭松
对于一个比较成熟的业务系统来说,功能已经相对完善 。但是在大业务量的情况下往往出现各种异常情况,这就需要通过修改系统配置或者调整产品框架来优化系统 。
在优化系统的过程中,最有效的手段就是对系统进行性能测试 。然后对测试过程中收集的数据进行分析,找出问题所在,不断对系统进行优化,最终达到系统在大业务量时稳定运行的目的 。
1、明确测试方法
测试方法主要是通过测试步骤体现出来的 。测试步骤不是一成不变的,而是根据每次的测试结果不断调整和完善 。开始性能测试之前必须确定以下两个任务 。
(1)建立业务模型 。根据业务的开展情况,建立科学的业务模型 。
(2)设置性能指标 。性能指标作为判定设计和实际性能处理的基准值,必须在测试之前明确 。
确定以上两点后就可以开始调整循环,进行一系列重复和受控的性能测试 。调整循环步骤如图1所示 。测试时需重复图1中的4个阶段,直到获得初始建立的系统性能目标 。
图1; 调整循环的4个阶段
2、测试
测试阶段是调整循环操作的起点,是根据测试要求进行的相关操作,并为结果统计提供相应的测试数据 。该阶段需要考虑环境配置和测试用例两个方面 。
2.1环境配置
不同的测试环境会产生不同的测试结果,因此测试前需要对环境配置进行具体的检查 。主要检查以下几个方面 。
(1)网络连通性 。网络是否通畅是测试能否正常进行的基本前提 。
(2)流量模型是否超出系统负荷 。假如测试时施加的业务量远大于系统所能承受的负荷,则会对系统产生损伤,并在测试过程中出现宕机、告警等异常情况 。
(3)被测系统的系统配置 。系统配置包括软件和硬件两个方面 。由于不同的系统配置会产生不同的测试结果,因此测试之前应对被测系统进行严格的核对,检查其是否符合测试要求 。
(4)测试工具的参数配置 。对于一个功能相对完善的测试工具来说,不但应能模拟大业务量,还应能配置压力递增方式、压力大小以及压力持续时间等参数,因此在测试之前需要检查相应的参数配置能否满足测试要求 。
2.2测试用例
性能测试用例大体分为环境配置、预置条件、测试步骤、预期结果、判定原则和测试结果6个方面 。
(1)环境配置是指依照测试需求配置测试环境,包括网络组网和系统参数配置等 。
(2)预置条件是指为了真实模拟某些场景而需要在测试前预置的条件 。
(3)测试步骤是指在环境配置和预置条件完成后,如何对系统加压的过程 。一般来说,首先确定压力的生成形式(如阶梯递增、二次曲线递增等),然后确定压力递增的时间,最后确定压力保持时间 。
(4)预期结果是指通过理论及经验分析,对实际测试结果的预期指标或现象 。此内容是检验测试结果的依据 。
(5)判定原则是制定标准以判定测试是否满足要求 。判定原则的制定在很大程度上依靠于测试的预期结果 。
(6)测试结果是根据实际的测试情况、预期结果以及判定原则等对性能测试作出的总体结论 。
3、结果统计
结果统计是将测试结果进行统计的过程,此过程是调整循环中承上启下的阶段 。此阶段统计的数据来源于上一次的测试结果,并为后续的数据分析提供依据 。结果统计的数据可以来源于被测系统和测试工具两个方面,因此在统计过程中不但要考虑从被测系统获取的统计数据,还要兼顾测试工具本身的数据统计 。从被测系统可以直接获取通过系统日志统计出的系统资源消耗;从测试工具本身可以统计压力大小、业务处理时延和业务处理成功率等 。

推荐阅读