系统中所有单一序号主键值字段长度增长,测试思路

上一篇 / 下一篇  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指类型为numbericxprec<>18指长度不等于18的。

如果大家更好的测试思路欢迎提供。


TAG:

 

评分:0

我来说两句

Open Toolbar