系统中所有单一序号主键值字段长度增长,测试思路
上一篇 /
下一篇 2011-10-15 19:33:46
/ 个人分类:测试方法
今天看到部门同事“围脖”说“此需求几乎要检查所有的表结构,手酸啊,有木有”,天啊我知道这个产品有将近4000张表,这要测试要花多少时间。我看了一下需求。
需求描述: 各业务系统中所有的单一序号主键值全部扩展为numberic(18,0),以防止超过范围不能保存
我分析了一下所有表将近4000张,类似这样的表也将近500张,而且很多表都有主从表关系,而且很多表虽然是主从表关系,但是很多都是没有外键关系,要她这么干,一个星期都做不完,而且很容易遗漏。后面我想想,只能从数据库本身去处理了。
因为是sqlserver数据库,我去看了一下系统表发现两张sysobjects(存放数据库中所有表信息),syscolumns(存放数据库所有字段信息)。所有增长字段的类型都是numberic,那么是否可以过滤呢,然后可以考虑其它共性条件,表名等。条件可以根据需要增加,目的达到一个最小范围,然后一个一个识别验证。这点工作量肯定有点大,但是缺陷清除率会很高。
例:selectsysobjects.name,syscolumns.*fromsyscolumns,sysobjects
wheresyscolumns.xtype=108andsyscolumns.xprec<>18andsysobjects.id=syscolumns.id
说明:xtype=108指类型为numberic,xprec<>18指长度不等于18的。
如果大家更好的测试思路欢迎提供。
收藏
举报
TAG: