测试结论

  由于需求的不断变更,交行年金的测试仍在不断的进行终。但在上线前后的两个月的测试过程中,我感觉受益匪浅,留给我印象为深刻的是他们对测试流程的设计以及测试案例的组织,上线后的测试,由于测试人员对系统已经非常熟悉并且按照银行的工作流程进行测试,以致使我感觉自己是交行的一名工作人员。

  新汶考核管理系统

  单元测试

  新汶考核测试,从7月份,由新汶工作人员开始了单元测试(前期我也参与了大约10天左右的时间),由于他们对业务比较了解,而且也参与了前期的开发工作,所以在单元测试过程中,对需求的掌控还是不错的,也为以后的集成测试减轻了一些对照需求来对功能进行验证的工作量。

  集成测试前期准备

  集成测试,计划于8月底开始。在集成测试开始的前一周内,我通过了解需求设计以及数据结构,大体掌握了新汶考核系统的整体结构以及流程。并且拿到了客户的实际数据,我感觉只当我真正看到和了解了客户实际数据以后,我才真正“入戏”,我的思维意识才真正的发生了变化,才真正的开始站在客户的角度去尝试了解这个系统。

  通过对需求设计和客户数据的了解,我组织了一套测试流程和测试数据。因为考核系统的业务流程比较简单,大体流程即是按照需求设计和功能菜单来设计的。而测试数据则绝大部分参照了用户数据,对照着各个功能菜单分别组织出来,并且通过这些数据也可将查询功能的结果大体计算出来,各功能之间的业务关联关系(例如参照、引用、回写等)也通过这些数据很明显的体现出来,这些都为为测试过程中数据的正确性验证提供了方便。但是由于9月底给客户演示后做了需求变更的计划,等变更的需求审核确定后,这些数据还要做比较大的改动。

  再有一点是,新汶考核系统具有很强煤炭行业性质,在系统中有不少煤炭行业名词(例如巷道、工作面、断面、落煤方式),这些名词在我们测试标准版产品的过程中几乎没有出现过,对我来说是比较陌生的。虽然这些专业名词对测试过程来说并不是很重要,但是如果想真正融入这个系统,真正以客户的角度来看待这些功能,了解这些名词还是很有必要的。我主要通过三个方式来了解这些:

  第一,网上查阅

  第二,与开发人员和客户之间的交流。

  第三,结合客户实际数据来加深理解。譬如,工作面综合单价维护,通过客户数据可以很明确的看出,工作面的属性有支护方式和落煤方式,而工作面为断面的支护方式和落煤方式通常为综采和机;而综合单价一列,很明显是由各经营项目单价之和得出,固定金额则是根据历史数据得出的一个警戒值,与目前的各经营项目无关。

  测试前期的准备,或许时间很短,或许看似无关紧要,但是对于一个从来没有涉及过的项目,或者需求变更过的项目,我感觉还是非常重要的。了解系统需求设计和数据结构,对后面的测试作用巨大,测试开始后省去了通常的需要的熟悉阶段,结合需求,很快能投入正常业务测试。了解客户实际数据和行业知识,可能对测试流程上不会产生的质的影响,但会对我们的测试思维产生巨大的影响,能让我们从思维意识上真正开始了解客户,测试过程中我们将不在是一个单纯的检验功能点的测试工程师,我们同样也是一个客户使用者,会提高我们的投入程度和责任感,我们会更多的从业务方面查找系统的Bug,这样,应该会对后提交的产品的质量产生质的影响。

  测试过程

  本次集成测试,在GS3.5标准版的基础上进行的升级,共历经一个月时间,分了五个Build,其中两个Build测试以新建帐套为主,这是为了发现更多基础的Bug;另三个Build测试以恢复帐套数据(GS3.5标准版的测试数据库)为主,这主要是为了模拟客户现场进行升级,因为新汶矿业集团使用了我们的GS系统已经有一段时间,在系统已产生很多数据的情况下,对升级过程的测试中一个是要确保升级程序没有错误,另一个是要确保对升级前的数据没有产生影响。

  测试过程中,由于在有了前期的比较充分的准备,所以在对严重影响流程的问题修改之后,很快便投入客户实际业务测试中来,经过前两个Build的测试,系统已经基本趋于稳定,后面三个Build可以多在细节以及数据验证上下些功夫。在集成测试过程中,还进行了破坏性的测试,模拟客户现场的各种突发事件,以检验系统的健壮性。

  数据正确性的验证,可以结合程序、测试用例和数据结构三个方面来进行,主要包括了两个步骤,一是有关联业务之间的数据关系是否正确;二是查询结果的数据是否正确。譬如,产量单查询,如果单据录入时严格按照测试用例的话,那么查询结果的数据验证可以直接参照测试用例;如果和测试用例有差别,那么可以在数据库里查询CLD表,如查询条件为已记帐单据,那么验证时便可在查询语句里加入条件CLD_DJZT=’1’(单据状态=已记帐),这个过程要对照数据结构。

  测试结论

  由于新汶考核系统要在短时间给客户完成演示,所以本次测试时间紧,任务急,但由于前期开发组内部和客户一起作过单元测试,并在集成测试前做了充分的准备,所以集成测试进行的较为顺利,在9月底给客户演示的过程中取得了很好的效果。另,给客户演示后,又有一些新增和修改的需求摆上了日程表,所以新汶考核系统还需要进行一段时间的开发和测试,对于变动比较大的功能还需要提前进入了解。

  总结

  经过了这些测试项目,我逐步体会到,软件测试如要真正以客户为关注焦点,可以从以下几个方面入手:

  1、制定完善的测试周期。这是一个循序渐进的过程,而且必须有充足的时间和人员来做保证。

  2、测试环境尽量模拟客户现场环境。不能单一的依照我们内部的测试环境,应该多了解一些客户现场的环境情况。

  3、组织完备的测试用例。对于一个成熟的测试项目来说,提前准备一套完备的测试用例非常重要,可以完全避免执行测试过程的混乱局面。

  4、深入了解客户实际业务和实际数据。这也是测试前的准备工作,是一个转换测试思维的过程,是一个融入客户的过程。

  以上文字,均为个人经历和个人见解,希望多多批评指正。