数据库Diff的实现与应用

发表于:2013-8-01 11:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:咖喱    来源:51Testing软件测试网原创

  2、dumpAfter接口:

  同dumpBefore,格式一致。两个 sql通过文件diff后,得到的diffFileC文件如下:

46c4
< (10'2013-05-14 12:13:50'NULLtest)
< (10'2013-05-14 12:13:50'NULLabc)
< (10'2013-05-14 12:13:50'NULLselenium);
------------------------------------------------------------
> (10'2013-05-14 12:13:50'NULLdelete)
7a12
< (10'2013-05-14 12:13:50'NULLtest)
< (10'2013-05-14 12:13:50'NULLaa)
30d
>(10NULLtest)

  3、DBD接口:

  DBD接口是主要的处理流程,针对上述Before.sql和diffFileC文件的格式进行解析,得出数据库变化的结果,输出Array文件。处理步骤如下:

  i 通过分析Before.sql文件,得到1.所有Table的属性TableName,ColomunNames,命名为arrTableColomns。2.Before.sql文件的行号和Table的对应关系,命名为arrLineTableIndex。

  第一个arrTableColomns数组,是为了1.后面校验值和Colomns属性个数是否匹配。2.输出修改内容的时候,可以知道修改的是哪个Colomn对应的内容。

  第二个arrLineTableIndex,是因为在diff文件中,并不能知道某行增加的内容属于哪个表的,所以,只能通过行号,在before.sql文件中定位对应的Table。具体实现方法如下图表2:

……………………

查看全文请点击下载:http://www.51testing.com/html/73/n-849173.html

  三、使用效果及应用方法

  该脚本已投入使用,得到较好的评价。一方面,节约了Case处理查询数据库的时间。另一方面,返回值仅需简单处理就能完成Case校验。

  下面列举下在Web自动化测试、接口测试、人肉测试,该脚本的使用案例。

  Web自动化测试Case中使用该脚本:

……

  查看全文请点击下载:http://www.51testing.com/html/73/n-849173.html

  本文收录于《51测试天地》电子杂志第三十期。

  版权声明:本文出自51Testing软件测试网电子杂志——《51测试天地》第三十期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号