第一个ERP测试项目,测试完了要求写总结(其实不喜欢别人要求写,一般都是有所感悟时自己会写)就大致写了一下,写的很粗,也很肤浅,呵呵,没办法要交差!放这里记念一下,N久没写这么长的东西了。
饲料产品发版了,这是我第一个ERP产品的测试,在整个过程中自己有很大的收获,以下就自己在整个产品测试过程中碰到的问题及经验和大家分享以下:
一、测试时该如何注意呢?
众所周知,ERP测试过程中数据的正确性是一个至关重要的点,因此对其数据流向的关注显得尤为重要,那ERP测试时该如何注意呢?
1、注意单据间的数据流转及回写
现销订单相关的接口主要有:应收单、收款单、冲应收单、销售发票、销售出库单等;现销订单页面客户的余额统计主要和应收单、收款单、冲应收单有关,现销订单审核后又和销售发票、销售出库单、应收单有关,所以他们之间数据相关的流转是很重要的,所以测试时应重点关注以下几点:
1)财务模块(即应收单、收款单)、冲应收单的数据按客户统计到现销页面时是否金额正确,是否精度正确,是否存在尾差;
2)现销订单审核后,自动生成的单据(销售发票、销售出库单、销售应收单)是否数据字段之间传值正确,是否精度处理正确,是否存在尾差;(业务精度到财务精度)
3)现销订单保存或审核后,页面表体行的数据回写是否正确。
2、单据间逆流程
ERP行业中大多数单据审核后都能反审,反审后数据的关注就是我们测试的一个重点,就现销订单而言,是可以进行反审的,其反审后许多操作都进行了撤销,这时候就需要关注数据是否正确回退到审核前的数据;
二、并发测试的重要性
对于事务并发测试,在一些比较关注数据的项目中显的尤为重要,尤其是一些电子商务网站,ERP软件等;大的方面主要包括:同时新增(主要看唯一性验证);对同一数据同时修改保存;对同一数据一方删除,一方修改;对同一数据两方同时删除;具体举例如下:
1)现销订单中使用某一客户预收款的一个活动序列:
- 某一操作员A读取客户001的预收款为100元;
- 另一操作员B读取客户A001的预收款同样为100元;
- 操作员A做现销业务,冲减该客户001预收款80元,未保存;
- 操作员B做现销业务,冲减该客户001预收款60元,未保存;
- 此时在A、B两个【提交】
正确的结果是:应该只有一方成功,另一方给出合理提示信息;
但处理不当就会导致:两个都成功,用户余额为负值
2)有如飞机订票系统中的一个活动序列:
- 甲售票点(甲事务)读出某航班的机票余额A,设A=16.
- 乙售票点(乙事务)读出同一航班的机票余额A,也为16.
- 甲售票点卖出一张机票,修改余额A←A-1.所以A为15,把A写回数据库.
- 乙售票点也卖出一张机票,修改余额A←A-1.所以A为15,把A写回数据库. 结果明明卖出两张机票,数据库中机票余额只减少1。
三、单据的复制功能
ERP的复制往往是对一个单据的复制,单据复制时就应该考虑是否复制了不该复制的数据(如:单据号、单据状态、单据审核信息等),一般主要测试时关注以下两点:
- 复制后字段唯一性检查;
- 复制后带过来数据检查;(注:复制时某些数据是不需要带过来,如现销订单中的审批人、审批日期、制单日期、审批时间、最后修改时间;尤其需要注意一些需要效验的关键数据,如本次测试中现销订单需对客户预收款进行冲销,预收款是选择过来的,选择时是对其进行效验的,所以也没不应该直接复制过来)
四、对偶发bug的关注度
一般偶发性bug往往是探索性测试时发现的,所以一般都很难重现,但有些偶发的bug是致命的,如果不及时有效的处理,可能会对后期的产品造成很大影响。
比如在本次测试全产品环境测试时,现销订单页面的数据保存后被清空,其实这个问题最初也是遇到的,但当时重新搭建环境后就没再出现过,就没有深究,但发版验收测试时却又一次出现了,最终发现更安装的顺序和安装的过程有关,因此对偶发bug一定要尽可能的重现,任何偶发都是有规律的,一般重现偶发bug要遵循以下原则:
1、环境
这里的环境是指出现不可复现的Bug时所对应的测试环境等,包括测试的数据,测试的机器(一般不应该换到其它测试机上)
2、测试人员
一般来说,这种偶发bug尽量又谁发现谁重现的原则,但偶发bug的重现相对比较困难,所以一般要开发人员的配合,只有这样偶发性的bug重现的几率会较大;
3、前后对比
对于偶发bug,首要要从数据和操作步骤上和平时的操作进行对比,主要看测试数据是否比较特殊,操作步骤是否有什么特别;很多偶发性bug的产生都是由于操作步骤的特殊性引起的,所以要尽量回忆测试时的操作;如本次测试中,发版时突然发现有个地方bug数据库操作异常,最开始一致没发现规律,最终发现是因为查询时输入某个条件后才会引起。
以上几点是我本次测试过程中的感悟和收获,分享出来,希望通过不断的总结,逐步的提高自己的测试水平,尤其在测试思想方面。