所谓“转移”操作,就是把一个读者的借书信息和未交的罚款信息都转移给另外一个读者。此操作通过“激活”窗的“转移”按钮可以实现。
下面是如何构造环境、测试“转移”功能的要点:
1) 初始化一个实体库
2) 初始化一个读者库
3) 在dp2libraryws的本地目录,找到operlog子目录,在里面删除测试当天的日志文件。这一步很重要,注意不要遗漏。
4) 用“读者窗”,新创建一个读者记录,假定条码为 R0000001
5) 用“读者窗”,新创建另一个读者记录,假定条码为 R0000002
6) 用“册管理窗”,为刚才初始化过的实体库快速登入4个条码,如下:
0000001
0000002
0000003
0000004
7) 用“出纳窗”,用读者 R0000001 条码号依次借阅上述4册书。
8) 用“系统维护/时钟窗”,修改流通系统软件时钟,有意造成上述图书超期。(修改后可用“出纳窗”重新装载R0000001的读者信息,验证确实超期,然后再继续向后操作)
注:修改流通系统软件时钟后,并不影响流通服务器产生日志文件名的策略。流通服务器是按照机器硬件当地(中国)时间来决定日志文件名的,也就是在每天半夜12点切换日志文件名。
9) 用“出纳窗”,还上述4册中的某2册,例如0000001和0000002,应当看到窗口中提示产生了未交罚款信息。(注意,测试用意是要测试多个超期信息,所以一定要还2册造成2个超期信息)
10) 用“激活窗”,在左边的“旧读者信息”中装入R0000001,在右边的“新读者信息”中装入R0000002。观察左右两个“借阅信息”,应当看到左边有2个借阅的册,而右边没有。
然后按“转移”按钮。到此,操作结束。通过“系统维护/日志窗”,可以查看到新产生的日志。
11) 用“系统维护/批处理任务窗”,启动“日志恢复”任务。在启动面板中,日志文件名输入最开始的所谓“当天”日期(8位字符)(注:不是修改后造成超期的那个日期),“记录索引号”为0,恢复级别为3种,每轮各测试其中一种(也就是反复11以后的步骤)。“恢复前清除全部数据库记录”设置为on状态。
等恢复操作完成。
12) 用“激活窗”,装入左右两条读者记录(注意,这里是装入读者记录用来观察,而不是要再次去转移或者激活)。检查,状态应当和上面10)步完成时一模一样。如果不一样,就是系统某处出现了故障。
~~~
扩展测试建议:
1) 在转移前,为目标读者记录也产生借阅信息和超期信息,然后观察转移后,增加了新信息后,原有的信息是否还正常存在。
2) 测试转移前,源读者记录中并没有借阅和超期信息的情况。按照开发设计意图,这种情况下并不产生“devolveReaderInfo”类型的日志记录,因为对2条读者记录并没有发生实质性的修改。
3) 测试源读者记录中带有10条以上借阅信息的情况。按照开发设计意图,这种情况下会产生特殊的转移操作日志,这种日志记录包含了附件。