• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试数据库并发控制测试

发布: 2009-7-16 09:53 | 作者: 不祥 | 来源: 领测软件测试网采编 | 查看: 189次 | 进入软件测试论坛讨论

领测软件测试网

软件测试数据库并发控制测试   软件测试方法

数据库的并发控制能力是指在处理多个用户在同一时间内对相同数据同时进行访问的能力。一般的关系型数据库都具备这种能力,日常应用系统中也随处町见,例如火车的售票系统、银行数据库系统。举个例子来说明,在火车的售票系统中,有这样一个过程。

  售票点通过网络从源数据库读出某车次的车票剩余张数为n(”=100)。

  f21 B售票点通过网络从源数据库读出该车次的车票剩余张数也为n(一=100)。

  f31 A售票点卖出一张该车次的车票,将舯1(99)写回源数据库。

  f41 B售票点也卖出一张该车次的车票,将卜1(99)写回源数据库。

  这样就存在并发控制的问题,卖出了两张票,而数据库里面只有1条数据减少。这样,下次读取数据的时候,源数据就不准确了,从而会带来数据的错误。如果按照上面的操作顺序执行,A对源数据库的修改就被丢失。并发控制带来数据的不一致问题,被称为“数据库并发控制过程冲突”,如图9.5所示,在实际的测试过程中,我们必须对这样的冲突进行测试设计。我们主要是通过逻辑判定来设计测试用例。在并发控制过程冲突中,主要包括三类:丢失数据,小可重复读数据和读“脏”数据。丢失数据鼾贫p德

图9—5火车票系统的数据并拄过程冲突示意图

  刚才的例子就是一个典型。当事务A和B对同~个数据源进行修改,B提交的结果破坏了A提交的结果,导致A对数据库的修改失效,如图9.5所示。

  2不可重复读数据

  不可重复读数据是指事务A在读取数据后,事务B对其进行了修改并执行了更新操作,当事务A无法再现前~次读取的结果。举个例子来说明:

  ·  事务A从数据库表中读出整数x=10,Y=20值进行求和运算z=x+Y=30。

  ·  事务B从相同的数据库中读出x值x=10,对x乘以5后写入原x值(x=X*5=50),提交事务B。

  此时,事务A处理的结果是:z=x+Y=10-50《0,事务B对数据的操作已经影响了原来的结果。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 软件测试 软件测试方法 数据库


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网