(二)测试时间选择系统空闲时间

  对于系统并发负载测试或者其他可能影响系统运行并导致系统崩溃的测试操作,可以安排在系统空闲时间进行,出现系统异常时有时间可进行系统的恢复工作,不致于影响业务的正常运行。

  (三)给测试数据加标记

  对于系统测试过程中产生的垃圾数据要进行特殊标记,测试结束后要及时清理。测试数据可以事先准备并予以特殊标记,也可以是带有特定意义的区域数据或者是特殊时间段内的数据,这样,当系统测试结束后,我们可以根据这些特殊标记将相应的垃圾数据删除,保证系统的正常运行,对于那些需要直接在系统中进行变更的数据在相应的业务操作和功能确认完成后应予以及时恢复,确保将系统恢复到数据变更前的正常状态。

  (四)实时关注系统状态

  在具体实施系统并发负载测试时,应按照指标驱动和用户逐渐增加的方法对系统进行测试。在测试过程中,应实时关注系统状态,当系统不能承受相应的压力时,测试立即终止,以有效保证测试不会超出系统的大可承受压力,避免系统崩溃和数据损坏。

  三、实际工作中风险规避方法的运用

  案例1:“计生委人口宏观管理与决策信息系统”,系统上线运行一年,业务数据实行中心集中管理。对系统进行“流入人口登记”负载压力测试,并发用户数分别为100、200、500。

  分析该系统的实际情况,各区县上报的业务数据在中心实行集中管理,在测试过程中如果由于系统压力过大,出现系统崩溃或数据损坏的情况,那么将会导致系统不可用或一整年的业务数据丢失,损失一旦造成将不可挽回。基于以上的考虑,在测试中我们采用了方法一、二、四来进行风险规避。首先,我们将测试时间安排在进行,避开了业务系统使用的繁忙期;其次,在实施测试前,要求厂商进行全库数据备份,并做了数据恢复测试,在确保数据可以正确恢复的情况下开始进行测试;同时,在测试实施过程中,对必要的操作系统、数据库的指标进行监控,根据系统的资源占用情况和响应时间等判断是否可进一步对系统施加压力。在测试结束后,厂商对系统进行了数据恢复,使系统恢复到了测试前的初始状态,避免了数据丢失或损坏的风险。

  案例2: “北京市社会保险信息系统升级改造项目”,根据业务情况,需进行“183号令补缴明细录入”操作的负载压力测试。但该操作为不可逆操作,即系统未提供取消补缴的操作,为了清除测试数据,需手工修改数据库。

  在这个项目测试中,我们采用了方法二、三、四进行风险规避,首先选择进行测试;其次,为了保障测试结束后系统可恢复到测试前的状态,我们选择对北京市石景山区的参保用户进行该操作,测试执行完成后,由厂商对石景山区的数据进行了恢复,确保系统与测试前保持一致。

  四、总结

  在现在的系统测试,特别是大型项目的测试中,系统性能的好坏已经成为评价系统总体质量的一个必不可少的方面,作为第三方评测服务机构的我们,在生产环境实施性能测试的时候,必须对系统进行深入的了解,分析系统特点,采取合适的测试方法并综合运用风险规避手段,既要准确的获得系统的性能数据,又要保证系统的安全,这样才是一个成功的性能测试。