欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 文档与手册 / 文章 29

点击:37256[回复顶层] [树状] [简明]


头衔: 总工
文章数: 539
积分: 5390
注册时间: 2005/9/5
[回复(需要先登录)] [引用(需要先登录)]普通文章第 1 楼
文章id: 29
dp2流通系统测试工作单

作者: xietao




发表时间: 2006-12-06 16:13:54





头衔: 总工
文章数: 539
积分: 5390
注册时间: 2005/9/5
[回复(需要先登录)] [引用(需要先登录)]普通文章第 2 楼
文章id: 30
转移

作者: xietao


所谓“转移”操作,就是把一个读者的借书信息和未交的罚款信息都转移给另外一个读者。此操作通过“激活”窗的“转移”按钮可以实现。

下面是如何构造环境、测试“转移”功能的要点:

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条以上借阅信息的情况。按照开发设计意图,这种情况下会产生特殊的转移操作日志,这种日志记录包含了附件。



发表时间: 2006-12-06 16:37:18
最后修改时间: 2006-12-07 20:54:39





文章数: 301
积分: 3010
注册时间: 2005/9/5
[回复(需要先登录)] [引用(需要先登录)]普通文章第 3 楼
文章id: 31
前端登录信息设置错误时报错



新装dp2circulation流通前端,安装成功后,自动弹出系统参数配置对话框。修改服务器URL、添加缺省帐户后,直接在缓存管理页面中执行“重新获得书目库检索途径列表”功能,程序报错:

************** 异常文本 **************

System.InvalidCastException: 无法将类型为“DigitalPlatform.CirculationClient.LibraryChannel”的对象强制转换为类型“System.Windows.Forms.Form”。

   在 dp2Circulation.MainForm.Channel_BeforeLogin(Object sender, BeforeLoginEventArgs e)

   在 DigitalPlatform.CirculationClient.LibraryChannel.DoNotLogin(String& strError)

   在 DigitalPlatform.CirculationClient.LibraryChannel.ListBiblioDbFroms(Stop stop, String strLang, BiblioDbFromInfo[]& infos, String& strError)

   在 dp2Circulation.MainForm.GetBiblioDbFromInfos()

   在 dp2Circulation.CfgDlg.button_reloadBiblioDbFromInfos_Click(Object sender, EventArgs e)

   在 System.Windows.Forms.Control.OnClick(EventArgs e)

   在 System.Windows.Forms.Button.OnClick(EventArgs e)

   在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)

   在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

   在 System.Windows.Forms.Control.WndProc(Message& m)

   在 System.Windows.Forms.ButtonBase.WndProc(Message& m)

   在 System.Windows.Forms.Button.WndProc(Message& m)

   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

----------------------------------------

错误对话框中,选择“继续”,关闭错误信息,但不能操作程序;选择“退出”,重新启动程序,仅修改服务器URL和缺省帐户,不执行“重新获得书目库检索途径列表”。确定后退回主界面,再返回执行“重新获得书目库检索途径列表”功能,程序正常。说明第一次修改配置,因没有确定,不能得到正确的登录信息以进行后续操作。

在正常配置并能获取检索途径列表后,故意错误修改服务器URL和缺省帐户信息,确定并退出参数设置窗,执行“重新获得书目库检索途径列表”功能,仍返回“OK”对话框。说明因未退出程序,修改值没有及时生效。

故意错误修改服务器URL和缺省帐户信息,确定并退出参数设置窗,重启程序,并进入参数设置框中执行“重新获得书目库检索途径列表”功能,出现前述同样报错信息。



发表时间: 2006-12-08 12:18:51
最后修改时间: 2006-12-08 12:21:11


头衔: 总工
文章数: 539
积分: 5390
注册时间: 2005/9/5
[回复(需要先登录)] [引用(需要先登录)]普通文章第 4 楼
文章id: 32
因磁盘空间不足导致服务器日志写入失败

作者: xietao


本项目是测试当磁盘空间不足时,服务器写入日志失败,进入挂起状态,然后系统管理员重启服务,服务软件在启动时自动恢复未写入的那条日志记录,这样一种场景。

操作步骤如下:

1) 启动dp2circulation前端,打开出纳窗,调入一条读者记录,准备进行借还操作。

2) 在dp2libraryws所在的同一台机器上,启动dp2ciculation前端,在前端打开“系统维护/测试窗”。

了解一下dp2libraryws的数据目录,例如叫做“c:\libws_data”,记下这个盘的盘符。

在这个盘上,任意取一个临时文件名,利用上述测试窗,写入足够尺寸的数据到这个临时文件,把所在盘的剩余空间耗费到0,或者不足一二百bytes。这是为了保证一两次产生日志的流通操作,能导致磁盘空间耗尽。

注意,测试窗中的临时文件尺寸textbox中,可以输入类似 +1000或者-1000这样的字符串,动态调整那个临时文件的尺寸,以精确占据想要占据的磁盘空间。字符串尾部可以带M或K字样的尺寸单位,以简化操作。

3) 利用流通前端的出纳窗,进行借还操作,直到报服务器磁盘空间不够的错。这时若继续借还操作,借还操作会报系统因为维护而挂起。而这时若继续进行装载读者记录的操作,则不会报挂起错误,操作仍能进行。

4) 在流通前端上打开“系统维护/日志窗”,调出当天全部日志。你会发现,报服务器磁盘空间不足的那一次操作,并没有进入服务器日志。但是这次操作实际上是成功了的,通过观察借还信息可以发现这一点。

而报服务器挂起错误的那些次操作,是完整被拒绝了的,不存在操作成不成功的问题。

5) 利用流通前端的测试窗删除临时文件,恢复服务器的富余磁盘空间。然后,重新启动dp2libraryws服务。这可以通过重启IIS实现。

(注:如果不释放磁盘空间而直接重启服务,可能服务启动成功,也可能启动不成功。如果启动不成功,应处于挂起状态,如同启动前一样的状态)

6) 再次用流通前端的“日志窗”观察当天日志,会发现报空间不足错的那次出纳操作的日志,被增补在日志中了。

7) 观察dp2libraryws的错误信息文件error.txt(或者windows事件日志),会发现空间不足以及后来重启恢复的一些列动作都记载在了错误信息文件或windows事件日之中。



发表时间: 2006-12-08 12:21:51





头衔: 总工
文章数: 539
积分: 5390
注册时间: 2005/9/5
[回复(需要先登录)] [引用(需要先登录)]普通文章第 5 楼
文章id: 41
预约和到书

作者: xietao


测试预约和到书的功能是否正确。

一、基本功能

需要准备好两个读者记录,条码分别为R0000001 R0000008,准备一条册记录,条码为L1052146。

1) 启动dp2circulation,打开出纳窗,令读者R0000008借阅册L1052146。

2) 启动公共查询Web界面,以R0000001身份登录进入。检索出包含册L1052146的种,进行预约。应当看到“我的图书馆”中预约信息有了该册,但“到达情况”为空。

3) 在dp2circulation中,在出纳窗中,令读者R0000008还回册L1052146。应看到黄色对话框提示“还回操作成功。因本册图书已被读者 R0000001 预约,请放入预约保留架。”

4) 在公共查询Web界面中,以R0000001身份,在“我的图书馆”中刷新,应当看到预约信息中的“到达情况”显示了到达的时间,另外“我的消息”中接到了通知消息。

5) 在dp2circulation中,在出纳窗中,令读者R0000001借阅册L1052146,借阅应成功。

二、过期未取

需要准备好三个读者记录,条码分别为R0000001 R0000008 R0000010,准备一条册记录,条码为L1052146。

1) 启动dp2circulation,打开出纳窗,令读者R0000008借阅册L1052146。

2) 启动公共查询Web界面,以R0000001身份登录进入。检索出包含册L1052146的种,进行预约。应当看到“我的图书馆”中预约信息有了该册,但“到达情况”为空。

3) 在公共查询Web界面中,以R0000010身份登录进入,同样预约册L1052146。

4) 在dp2circulation中,在出纳窗中,令读者R0000008还回册L1052146。应看到黄色对话框提示“还回操作成功。因本册图书已被读者 R0000001 预约,请放入预约保留架。”

5) 在公共查询Web界面中,以R0000001身份,在“我的图书馆”中刷新,应当看到预约信息中的“到达情况”显示了到达的时间,另外“我的消息”中接到了通知消息。

6) 通过修改流通系统时钟,让读者R0000001超期未能借阅册L1052146。然后应当能观察到,读者R0000010的“我的图书馆”中预约信息显示所预约的册已经到达,并且“我的消息”中收到了通知消息。

7) 在dp2circulation中,在出纳窗中,令读者R0000010借阅册L1052146,借阅应成功。

三、在架预约

这是要测试图书本来没有借出,直接进行预约的功能。

1) 确保册L1052146当前没有人借阅。(如果有人借阅,就要先还回此册)

注:circulation.xml中确保在<mailTemplates>元素内配置了如下消息模版:

~~~

    <mailTemplates>

       ...

        <template name="预约到书通知(在架)">

尊敬的读者:

您预约的图书%item%已经在架上,请尽快来图书馆办理借书手续。图书馆将为您保留%reservetime%,如果您未能

在保留期限内来馆办理借阅手续,图书馆将把优先借阅权转给后面排队等待的预约者,或允许其他读者借阅。

%today%

    </template>

    </mailTemplates>

~~~

2) 启动公共查询Web界面,以R0000001身份登录进入。检索出包含册L1052146的种,进行预约。应当看到读者的预约信息中此册已经到书,而且“我的消息”中会有一条通知消息。

3) 在dp2circulation中,读者R0000001以外的其他读者不能借阅此册。只有读者R0000001才能借阅此册。

还可以测试多个读者先后预约此册,并且第一个读者超过保留期不去取的情况。



发表时间: 2007-01-07 11:20:10
最后修改时间: 2007-01-17 16:46:34





文章数: 301
积分: 3010
注册时间: 2005/9/5
[回复(需要先登录)] [引用(需要先登录)]普通文章第 6 楼
文章id: 44
预约测试项目



分测试外借图书预约和在馆图书预约两大类测试项目,每类分别作如下测试:

1、同一读者预约多本图书。

2、多个读者预约同一本图书。

3、有过期未还图书读者预约图书。

4、有违约金未交读者预约图书。

5、预约读者本人在借图书。

6、连续多次预约同一册图书。

7、删除预约请求(预约到书前)。

8、删除预约请求(预约到书后)。

9、合并多个预约请求。

10、拆散预约请求。

11、预约到书通知消息测试。

12、预约到书读者失约测试。



发表时间: 2007-01-16 19:51:47


文章数: 301
积分: 3010
注册时间: 2005/9/5
[回复(需要先登录)] [引用(需要先登录)]普通文章第 7 楼
文章id: 45
预约测试工作单



预约测试工作单

借出图书之预约测试

测试要求:测试预约其他读者借出尚未归还图书的预约功能是否正常。每个测试操作都注意观察重复刷新页面或重复按相应功能按钮时的状态。注意观察匿名用户能否预约。注意观察预约到书通知功能是否正常。注意利用dp2资源管理前端程序观察和记录操作前后读者库记录、实体库记录和预约到书库中的数据变化。

同一读者预约图书测试

测试要求:同一个读者预约一册测试、同时选择同一种图书的多个单册预约测试。测试图书包括未超期和已超期两个状态,以及这两个状态的交叉组合。

多个读者预约同一册图书测试

测试要求:多个读者分别预约同一册图书的测试。测试图书包括未超期和已超期两个状态(选择已超期图书预约,有助于观察还书时同时出现罚款和预约保留数据处理时的情况)。注意观察预约排队是否正常,包括正常排队和前一个预约者失约过保留期时下一个预约者排队情况是否正常。

预约请求合并测试

测试要求:分别测试单册图书预约请求的合并和含多册图书这两类预约请求的拆散功能。对于这两类预约请求,又分别测试预约到书之前、到馆保留期间、到馆保留期后时的拆散功能。包括多个单册预约请求合并、一个单册预约请求和一个含多册(已曾合并过)预约请求、多个已合并过的预约请求再合并测试。

预约请求拆散测试

测试要求:分别测试含单册图书和含多册图书这两类预约请求的拆散功能。对于这两类预约请求,又分别测试预约到书之前、到馆保留期间、到馆保留期后时的拆散功能。包括同时选择单册预约请求、同时选择单册预约请求与合并后的预约请求、同时选择多个合并后的预约请求的拆散测试。

预约请求删除测试

测试要求:分别测试预约到书之前、到馆保留期间、到馆保留期后删除预约请求的功能。

预约失约时禁用预约功能测试

测试要求:测试读者预约失约满一定期限后(系统默认为10次,可在circulation.xml服务器配置文件中修改此数值),系统禁用该读者预约功能是否正常。注意观察利用dp2资源管理程序删除或修改相应失约次数后的情况。

在架图书之预约测试

测试要求:测试预约馆内尚未借出图书的预约功能是否正常。每个测试操作都注意观察重复刷新页面或重复按相应功能按钮时的状态。注意利用dp2资源管理前端程序观察和记录操作前后读者记录和实体记录中的数据变化。注意观察匿名用户能否预约。注意观察预约到书通知功能是否正常。注意观察不许可外借图书是否可以预约(包括根据图书类型和馆藏地点设置的不外借图书)。

同一读者预约图书测试

测试要求:同一个读者预约一册测试、同时选择同一种图书的多个单册预约测试。

多个读者预约同一册图书测试

测试要求:多个读者分别预约同一册图书的测试。注意观察预约排队是否正常,包括正常排队和前一个预约者失约过保留期时下一个预约者排队情况是否正常。

预约请求合并测试

测试要求:分别测试单册图书预约请求的合并和含多册图书这两类预约请求的拆散功能。对于这两类预约请求,又分别测试预约到书之前、到馆保留期间、到馆保留期后时的拆散功能。包括多个单册预约请求合并、一个单册预约请求和一个含多册(已曾合并过)预约请求、多个已合并过的预约请求再合并测试。

预约请求拆散测试

测试要求:分别测试含单册图书和含多册图书这两类预约请求的拆散功能。对于这两类预约请求,又分别测试预约到书之前、到馆保留期间、到馆保留期后时的拆散功能。包括同时选择单册预约请求、同时选择单册预约请求与合并后的预约请求、同时选择多个合并后的预约请求的拆散测试。

预约请求删除测试

测试要求:分别到馆保留期间、到馆保留期后删除预约请求的功能。

预约失约时禁用预约功能测试

测试要求:测试读者预约失约满一定期限后(系统默认为10次,可在circulation.xml服务器配置文件中修改此数值),系统禁用该读者预约功能是否正常。注意观察利用dp2资源管理程序删除或修改相应失约次数后的情况。

 



发表时间: 2007-01-20 21:54:07
页 1 / 1
 

在线用户
访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客
当前栏目在线用户数 29, 总在线用户数 201