http://cuishuangjia.iteye.com/blog/1473275
数据库管理移植工具(EXCEL相关)
http://cuishuangjia.iteye.com/blog/1832537
数据库管理工具视频
DbTools开发背景介绍
以前的batool项目,单体测试时,造数据,导数据麻烦,只要修改
过IOT文件,就需要担当者重新将所有测试点跑一遍。
我和我的同事们深受导数据的痛苦。
因为需要不停的复制数据,粘贴数据,提交数据。
因为单体测试试样书里已经有数据了,
为何不实现将试样书的里数据自动同步到数据库中。
所以为了一劳永逸,要进行工具化,减轻体力活。
案例1
n 小A小B在同一个数据库用户下操作数据,小A发现自己插入X表中的数据总是过一段时间被别人删除。小B发现X表中的数据总有新增加的脏数据,删除完了还有新插入的进来。两人就这样死循环下去。若是两人异地远程防问数据库,如何解决?
n 问题:
如何知道某一时刻,谁动了我的表数据?
案例2
n 某银行系统需要测试性能,没有给数据,让开发人员自己造百万数据,由于是多表连接,通过多个主key关联的。
n 问题:
如何造出上百万条附合条件的数据?
BATCH?VBA?CSV?。。。
案例3
n 某保守项目,发现程序错误了,但不巧的是原担当出差了。
n 问题:
如何减少新担当,改错现象的发生?
案例4
n 异地开发时,检收者根据业务需求,自己重新造了数据,发现了错误,但是担当因没有检收者新造的数据,再现不出错误。
n 问题:
如何快速将检收者造的数据传给担当者?
案例5
n 大多数时,一本机能离不开业务,
业务离不开表结构。在写试样书时,会把该机能用到的所有表名写在设计书中。
n 问题:
如何让担当者快速掌握表结构和表与表之间的关系?
案例6
n 不管什么项目,大多数无非就是增删改查数据库中的数据,所以在单体测试的时候都要对程序执行前执行后的数据进行比较。
n 问题:
程序执行前后数据库状态会发生哪些变化是手动标出变化的项目和记录吗?
案例7
n 某项目中,客户要求提供每本机能,每个case点的数据SQL(数据的INSERT文)。
测试者,每个case都需要手动导出SQL文(体力活)。
n 问题:
有数据库,有数据,SQL不可以自动生成吗?
案例8
n 在程序开发过程中,客户有可能随时对以下内容进行变更
1)要求加减表中字段,主key,
2)更改字段英文名称。
3)字段以前可为空的改成不可为空的。
n 问题:
原有数据如何保存与恢复?
案例9
n 己运行银行项目,想从A数据库(SqlServer)转到B数据库(Oracle),SqlServer数据库的用户表中有上百万条数据。
n 问题:
大数据量时,如何实现数据库间快速移行?
案例10
n 某项目在快要纳品的时候,客户要求更改DB定义书,把更新日,更新用户等相关字段信息放到表前面,之后才是主键等信息。
n 问题:
项目如何对应?
案例11
n “给我一个支点,我就能翘动地球。”
------阿基米德
n 问题:
已知数据库有效连接,如何把数据库的所有信息(所有表结构,表数据,视图,触发器,自动序列)等信息快速保存备份
案例12
n 传统数据库操作软件提供的数据检索界面,检索出来的数据行列不可转换
开发者都是用Excel来实现
n 问题:
如何增加行列转换功能。
案例13
n 1)将己有上百个Bug票,快速导入数据库中,进行查询,统计,修改,根据修改后的数据,重新生成Bug票。
2)进度表每天的状态如何通过数据库进行查询统计,分析。
n 问题:
以上操作如何实现?
案例14
n 使用过vba做的工具,如果执行时间很长(比如导千条数据)还是会占用开发者看Excel试样书时间的,因为都是在系统中使用同一进程。如果执行宏之前没有对其他打开的Excel保存,宏执行后若是无响应,就有无法保存Excel的现象
n 问题:
如何避免并解决?
案例15
n LINUX等系统上,
通过用户界面导入,导出数据库。
n 问题:
如何跨平台,实现数据移行?
案例总结
以上15个案例
都可用DbTools来完成。
DbTools工具开发目的
n 对于设计人员,可以清晰知道数据的流向。
n 对于开发人员,可降低体力劳动时间,把更多精力放在业务逻辑上。
n 对于检收人员,根据什么样的条件,应该出什么样的结果,方便检查。
n 对于维护人员,只需用单体测试文件导入数据库,重新跑一遍既可。
DbTools带来的效益
保守估计:
n 详设 省10%时间
n 单体 省20%时间
n 组长检查 省20%时间
n 维护 省50%时间