伪造DB2 LUW中的当前日期/时间戳以进行测试

时间:2017-04-19 13:32:35

标签: testing db2 db2-luw

对于(非回归)测试目的,我经常需要让DB2 LUW返回" fake"当前的日期。 这当然是由于应用程序代码依赖于当前日期/时间戳,并且在不同日期运行时的行为会有所不同。

我们可以更改操作系统(例如Linux)日期,因为测试环境是独立的,每个测试人员专用。

不幸的是,这并没有多大帮助,因为我们至少面临两个问题:

1)当系统日期反转时绑定程序(Cobol)会产生错误(找不到表格,......)

2)过去'之后创建的功能系统日期也无法使用....

对于第1点,我们可以设置日期,然后绑定,然后回到过去, 但对于第2点),我没有找到解决方法。

有没有人有这个问题的经验?欢迎任何替代方案,包括免费或专有软件。

1 个答案:

答案 0 :(得分:0)

许多年前,我们的商店购买了一个专有实用程序,以协助测试与2000年相关的计划变更。

该软件允许我们指定一个任意的"当前"我们的测试JCL中的日期和时间,使用参数" ALTDATE"和" ALTTIME":

//STEP1    EXEC PGM=MYPGM,ALTDATE=MM/DD/YYYY,ALTTIME=HH.MM

编程调用系统日期例程,如COBOL" ACCEPT。 。 。从日期"或者DB2" CURRENT TIMESTAMP"然后将基于"假"返回值。系统时钟以指定的日期和时间开始。

我相信该产品还支持在CICS区域中使用模拟时钟来测试在线应用程序,但我可能会弄错。不幸的是,管理层决定在Y2K过去一段时间后停止更新产品许可证,尽管我们中的一些开发人员发现它对测试日期敏感逻辑非常有用。

虽然我不知道我们使用的产品的名称,但Google搜索会出现一个名为" Simulate 2000"由DTS软件似乎具有相同的功能。