产生一万条记录总会丢失七八条
大家好,我现在测试的是这样一个停车场系统:从硬件刷卡后开门,车辆入场,在软件中产生一条入场记录;出场刷卡,也产生一条记录。昨天客户反映说,平均入场、出场2万次会丢失七八条入场记录(出场记录23806条比入场记录多7条),这样大的数据我以前没测过,如果假设硬件没问题,看是否是软件导致这种情况,应该怎么测试?(系统用的C++,SQL SERVER)[ 本帖最后由 hgl 于 2007-12-3 13:19 编辑 ] 1. 有可能是入场时刷卡没刷上,没往库里面记录。导致出场和入场的记录不一致。
2. 入场时刷的人太多了,硬件反应不过来,防冲突机制不行。
3. 如果硬件都没问题,那就做一个接口,批量往数据库里面加载数据。然后看处理之后的记录。
不过个人觉得,这样的情况大部分和硬件有关系。 入场有没有可能跟车情况没有判断。 俄...很奇怪的问题哈~
楼上的朋友们说的靠谱,很可能是入库时向数据库添加数据失败...扩展一下思路也有可能出库时也丢失纪录...那么你们可能赔得更多了...
我现在考虑会不会是业务问题?
比如软件有个业务功能,隔多久就清空旧的入库纪录,人家停了好几天了,还没出去,结果数据库就给他删了,导致出库比入库多...如果没有也可以考虑别的业务对入库出库造成的影响...比如你们车库多个出入口导致并发操作导致丢失?或者入库时失败导致事务回滚?或者人家出去了两次?或者人为的一些原因入库时根本没刷卡就偷偷溜进去了?或者谁家小孩子出门多刷了?或者是不是我想象力太丰富了? 郁闷~没下文了~ 呵,经过测试有些情况可以肯定会丢记录了,像2楼几位说的,1.入场刷卡没成功,硬件传上来的信息不正确2.刷卡时间间隔太短,硬件反应不过来.及4楼说的,出入口同一时间刷卡也会导致丢记录.
可能还有其它情况,软件偶尔还会丢记录 还有一种情况就是,入场信息也都是正确的,在写数据库存的时候出错了(SQL数据库)
页:
[1]