51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2463|回复: 2
打印 上一主题 下一主题

[求助] TD8.0sp2 对自定义日期字段 过滤功能的一些bug

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-4-28 19:01:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对用户自定义的如‘修改日期’等、系统字段‘modified’,在使用过滤条件时要注意括号的使用
比如:
(>=2005-3-26) and (<=2005-4-25)

(>=2005-3-26) and <=2005-4-25
则过滤出来的是正确的
而用
>=2005-3-26 and <=2005-4-25

>=2005-3-26 and (<=2005-4-25)
则过滤出来的不正确 (会将4.25以后的记录也包括进来)
对系统字段 测试日期(detected on date)、关闭日期(closing date),则无论用上述4种中的哪一种格式来过滤都是正确的。
(TD的BUG表中,前者实际是varchar类型,后者实际是date类型)
(TD7.2中无此现象,对两者用4种格式过滤均可)

上面算是一个bug,还有一个是由td7.2升级到8.0引起的也涉及到过滤功能的bug:

TD可以用户自定义字段,故不少测试组都或多或少定义有此类字段,比如‘修改日期’什么的。
到TD的CUSTOMIZE中,可以自定义用户字段(user field),定义时,可以看到该字段的实际字段名称name(如‘BG_USER_02’之类的)、显示的名称label(如规定显示成‘修改日期’)、类型type(如规定为Date)
注:实际这些自定义字段的数据库类型都是varchar,在TD自定义中是为了方便某些使用起见才让用户将其规定成某一类型的,它与系统默认字段(system field)(如‘测试日期’)还是有区别的 (BUG_DETECTION_DATE(测试日期)这个字段的数据库类型确实是datetime的)
可以到SQLSERVER的企业管理器里,看一下TD库的BUG那张表,可以看到表里预留了不少供自定义的字段(诸如叫BG_USER_01的这些字段,其实际的数据类型以varchar为主(24个),也有6个int的)。

TD7.2的数据库中,是将自定义的date字段的数据 实际记录成如2004/04/01格式的(但在TD的界面中是显示成2004-4-1格式的),但TD7.6和8.0的数据库中是实际记录成2004-04-01格式的(但在TD的界面中还是显示成2004-4-1格式的)

TD升级前后对此的记录格式发生了变化,但升级时TD并没有将原格式自动转成新格式,
这样TD8.0就过滤不出原来格式的记录来了(它只能过滤出新格式的记录)。

只要将原格式中的/改成-,TD8.0就可以过滤原来的记录了。那怎样修改,不至于打开BUG表,手工一个个地修改吧?(有成千上万条呢 )
到SQL查询分析器,执行一条如下的类似语句即可:
update td.bug set bg_user_02=replace(bg_user_02,'/','-')
(注意语句中的自定义字段的实际名称bg_user_02,会因各测试组自定义字段的不同而异,自行替换即可)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2009-3-23 11:28:52 | 只看该作者
收藏一下
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-7-4 15:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2009-3-23 17:17:53 | 只看该作者
    楼主如果换成QC试试那。毕竟TD是很老的版本了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-10 23:09 , Processed in 0.081064 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表