摘要:系统性能测试结果的可参考性与测试环境有着直接的关系,模拟环境与真实环境相比存在环境差异、数据量差异等问题,导致测试结果的可参考性差。为了获得准确的性能数据,性能测试需尽量在生产环境进行。但是在生产环境进行测试可能会对系统造成一定的风险,测试中应尽量规避这些风险的发生。本文主要介绍生产环境中的性能测试风险以及风险规避的方法。

  性能测试是针对系统的既定性能指标,制定测试方案,并执行测试,得出测试结果来验证系统性能是否满足用户要求而进行的测试。

  性能测试结果的可参考性与测试环境有着直接的关系,如果测试是在模拟环境下进行,会存在一些问题,比如硬件和软件配置与生产环境的不一致、测试数据量和实际生产环境的数据相差太远等,这些因素都会影响测试结果的可参考性,因此,为了获取准确的性能数据,真实的反映系统性能,性能测试应尽量在生产环境进行。

  生产环境是业务系统正式运行的环境,一般已经上线使用了一段时间,系统中存在大量的真实业务数据,且业务数据随着系统的运行在不断的增加和更新中,因此在生产环境进行性能测试必然会对业务系统产生影响,甚至造成一定的风险,作为测试方,我们必须预知风险,并有效的规避风险。那么在生产环境进行性能测试可能的风险有哪些?我们在测试中应采用什么样的手段来规避这些风险呢?下面结合我自己的一些项目经验谈一下这方面的体会。

  一、在生产环境进行性能测试存在哪些风险?

  (一)测试可能会导致系统崩溃

  考虑到系统的业务发展,通常设定的性能指标会一定程度的高于目前系统运行时承受的压力,在系统能承受的大压力未知的情况下,测试对系统施加的压力可能超过其所能承受的压力,导致系统崩溃,影响系统正常的业务运行。

  (二)测试可能会造成数据损坏

  在对系统进行压力测试时,可能会因为系统压力过大导致某些事务未成功执行,从而导致相关数据被破坏;有些操作需要直接修改系统中的原始数据等,这些都可能对系统数据造成损坏。

  (三)测试会产生大量垃圾数据

  由于性能测试的并发用户量大,而且要重复执行多次,所以会在系统中产生大量的垃圾数据,影响系统的使用。

  为规避以上的风险,在生产环境进行性能测试时,我们应采取有效的手段避免上述风险的发生。

  二、风险规避手段有哪些?

  (一)重要数据事前备份、事后恢复

  在执行测试前,应尽可能对系统进行备份,至少对系统的重要数据和文件进行备份,确保系统测试结束后可以恢复到初始状态。