BOSS系统的稳定性运行非常关键,其每次发生的重大故障都会引起运营商严重的经济损失。而BOSS系统的稳定运行,与应用开发/集成商提供的应用软件本身的稳定性密切相关。甚至可以不夸张地认为,目前国内BOSS系统的大部分稳定性问题,主要集中在BOSS应用软件的不稳定上。
何谓系统的稳定性?无非就是这三方面:系统功能稳定,不要动辄操作失败;系统运行效率好,实时性高;系统运行平稳,不要动辄重启甚至宕机。而要做到这三方面,不对应用软件进行充分的测试,是无法保证的。
那么,为什么BOSS应用软件的测试没有做好?如何解决这个问题?
从运营商的角度理解,是开发/集成商没有对软件进行充分的测试,导致系统出现大量BUG,所以开发/集成商应该加强测试,从而提高自身软件的质量。如果说开发/集成商要提高自身软件的价值,必须首先提高自身软件的质量。这是简单、勿庸置疑的道理。
而从开发/集成商的角度来理解,是运营商的业务需求繁杂多变,开发周期短,难以进行充分的测试即被迫匆匆上线。而且目前BOSS软件的报价一般仅考虑开发成本,无法考虑包括测试环境、测试工具等成本,要搭建这些测试环境、引入这些测试工具将消耗几倍于现在的开发成本,所以无法也无力进行严格的软件测试。要加强测试,提高质量,首先要运营商给予更大的成本空间,否则无法实现。
这是个典型的“鸡”与“蛋”的问题,看起来是个死结,难以解开。本文的目的,就是从分析当前BOSS应用软件测试方面存在的问题入手,立足于实际可操作的角度,对如何打开这个“死结”做出积极探讨。
应用软件不稳定问题总结
在BOSS的实际建设和维护过程中,关于应用软件导致的系统不稳定(主机、存储等设备,数据库、中间件等系统软件导致的不稳定,本文不作讨论),可以大致归结为以下几种。
1.新上线系统的BUG过多,功能不稳定。某个新系统上线后,才发现应用软件的BUG很多,营业员时不时的操作失败,而又不是每次都操作失败,让人难以琢磨该系统的“性格”。
2.新上线业务功能导致原有正常业务功能出错。这可以说是BOSS系统维护中最常发生的不稳定问题,实际上就是新功能开发时,只对新功能进行了测试,而没有对原有功能的影响进行测试,导致上线前没有发现问题,而仓促上线所致。
3.新上线业务越来越多,系统越来越慢,直至系统宕机。这属于典型的性能、压力的测试和分析不够,并进而对系统支撑业务能力估算不足所致。
这三个问题,从另一个角度来看,可以理解为解决当前BOSS应用软件测试问题的三个步骤。首先必须加强上线前开发/集成商的软件测试,建立完整的测试流程和测试环境,这样才能解决新上线系统BUG过多的问题;其次,在此基础上,对每个新上线的业务功能,除了执行新功能本身的测试外,还通过建立丰富的测试用例库来确保执行严格的功能回归测试,才能确保新上线业务没有对原有正常业务功能产生不良影响;最后,有了这些测试流程、测试环境、测试用例库,才可以进行严格的性能测试和分析,为新业务上线对系统荷载造成的影响进行科学客观的分析,从而准确地把握系统实际运行荷载的变化趋势,并进而尽早发现系统支撑能力的“临界点”,最终做到对系统宕机现象的“防患于未然”。
下面将对这三个步骤进行深入的剖析和阐述。
打开死结的三个步骤
一、第一步:加强上线前开发/集成商的软件测试
关于“新上线的系统BUG过多,功能不稳定”这一点,毋庸置疑就是开发/集成商对新开发的应用软件,没有在系统上线前做足够充分的测试,从而没有在上线前发现并解决足够的BUG。如何解决这个问题,在当前现实市场条件下,则需要开发/集成商、运营商双方面的努力。
1.要做好具体工作
为了做好软件测试,开发/集成商需要做好这些具体的工作内容。
1)建立真正完整而务实的测试工作流程。在“玩”测试这个“游戏”之前,首先要确定如何测试的游戏规则。其内容包括:测试工作分为几个阶段;这些阶段的工作内容分别如何与开发对应;在各个阶段,测试人员如何与开发人员交互;测试发现的BUG如何落实解决;测试的争议如何解决;测试环境如何维护;测试的软件版本如何获取;测试版本和开发版本之间又如何交互演进;软件发布的标准如何依赖测试结果等。