51Testing软件测试论坛

标题: 大批量修改客户信息,出现错乱现象,求助解决? [打印本页]

作者: chenmaochuan    时间: 2009-7-13 13:03
标题: 大批量修改客户信息,出现错乱现象,求助解决?
J2EE架构,生产上大批量修改客户信息,出现错乱现象,想在测试环境重现此问题,有什么办法?

每次大批量调整客户信息(联系电话)就会出现大批错乱,系统约为40-50个人同时操作。
错乱客户信息:
[attach]53914[/attach]
作者: Eric2515    时间: 2009-7-13 13:26
问下开发,不同的人同时队相同记录进行操作,他是如何处理的。
重现问题可以尝试用LR生成负载去压,但是关键要了解出问题的本质。
作者: chenmaochuan    时间: 2009-7-13 13:44
谢谢楼主回复!

楼主提到的“关键要了解出问题的本质”,可以说的详细一点吗?谢谢!

另外

1、次系统中,不同的用户登录,只能看到自己的客户,因此不存在修改同一条记录的问题;

2、已经通过LR模拟用户的操作进行过压力测试(场景一:单条修改客户信息(电话号码);    场景二:批量修改订货日期(次处没有涉及修改电话))
   查看数据,确认没有发现错乱
作者: archonwang    时间: 2009-7-13 13:54
应该是代码的问题,或者在竞争资源时发生了错乱。请向开发咨询程序逻辑处理的顺序及出现资源竞争时的处理状况。
作者: chenmaochuan    时间: 2009-7-13 14:20
能举举例子吗?
1、在什么的程序逻辑处理的顺序,会引起错乱?

2、怎么样的“资源竞争的处理情况”,可能引起错乱?

谢谢!
作者: 泊涯    时间: 2009-7-13 14:41
并发压力大是SQL语法的UPDATE 对提交的事务性能有影响产生的吧
作者: chenmaochuan    时间: 2009-7-27 19:29
标题: 谢谢各位的答复,问题已经解决!
测试过程中,是按照以下的方法重现数据错乱的:
1、设置压力测试场景,5个用户并发进行客户信息查看并更新;
2、压力测试的过程中,用另外一个用户(客户经理)登录系统,也进行查看客户信息;
上面的第2点操作发现了数据错乱的问题,所查看的客户信息是另一个客户经理所属的客户信息;

开发人员发现问题根源:
1、主要是数据对象的重用造成的,多个用户公用了相同的数据对象,导致数据错乱;
2、代码系统为了提高系统效率将表属性模型做了缓存,在数据填充的时候重用了该模型。
     重用的时候对模型进行clone,但clone的过程没有完全复制对象,只是部分复制了而另外的一部分则还是公用的。
     这样造成了多个用户公用一部分数据对象从而导致数据错乱。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2