DigitalPlatform / dp2

Integrated Library System / 图书馆集成系统
http://digitalplatform.github.io/dp2
Apache License 2.0
105 stars 54 forks source link

针对OI的测试 #715

Open renyh opened 3 years ago

renyh commented 3 years ago

dp2libraryxe, dp2ssl 测试版,rfidcenter 测试版更新了。 最新版本在 dp2ssl 书柜界面,开始主动判断 RFID 标签上的 OI 和 AOI 字段,如果不符合当前图书馆的标签会被写入本地动作库,但不会同步到 dp2library 服务器。

测试的时候除了验证这个新功能以外,还需要用内务前端针对这个最新版的 dp2libraryxe 做一个简单的借还等功能的回归测试。

这次的新功能涉及到 dp2library 的 Borrow() Return() GetBiblioSummary() 这几个 API。strItemBarcode 原来的用法是放入一个册条码号,也就是 RFID 标签的 PII。改进后,也允许 strItemBarcode 内容为 xxxx.xxxx 形态,点左边的是 OI 或者 AOI,点右边是 PII。前端处理比较简单,直接把字符串发给 dp2library 服务器,由服务器来进行检查,看看是否属于本馆的范围,如果不属于,则返回 ItemNotFound 错误码。


内务创建 ISO15693 读者卡的功能做了一点改进,增加了一个警告对话框,当创建没有 OI 字段的读者卡的时候要警告。因为一般正常情况 RFID 标签(卡)里面都是应该有 OI 字段的,这样可以防止不同单位的标签互相混淆

对册登记环节后面还要改进一下,对创建没有 OI 的图书标签也要警告一下才好

对书柜功能中刷读者卡的功能增加了 OI 字段检测。


内务这次升级是修正了读者窗创建 ISO15693 读者卡的一处 bug。这里解释一下。在创建读者卡的时候,软件应该是从 library.xml 中 rfid 元素里面,用读者库的馆代码加上 "/" 符号,去匹配定义,试图找到关联的 OI 或者 AOI。原来的 bug 是直接用馆代码去匹配定义,没有带上末尾的 "/" 符号。所以需要对这个改进之处做一下回归测试。 10:13:23 光光 2020/7/19 10:13:23 举例来说,就是全局的读者库,会用 "/" 去匹配定义;分馆的读者库,会用 "海淀分馆/" 去匹配定义。当然,定义 rfid 元素的时候就要考虑包含所有读者库用到的馆代码+“/”,不然,有些读者库的读者记录在创建读者卡的时候 OI 字段就没有值。也就是说 library.xml 中 rfid 元素同时是为册记录创建 RFID 标签和读者记录创建读者卡两个用途准备的。


20200908-ryh:dp2ssl启动时,目前仅针对OI为空的情况报警。

renyh commented 3 years ago

测试大纲

准备工作:

1)升级dp2libraryxe, dp2ssl 测试版或绿色版,rfidcenter 测试版。 2)给library.xml配置的rfid元素(即配置OI参数),示例 如下:

<rfid>
    <ownerInstitution>
                <item map="/"  isil="CN-110108-1-ABC" alternative="ABC" />
        <item map="A馆/" isil="CN-000001-1-A" alternative="AA" />
        <item map="B馆/" isil="CN-000001-1-B" alternative="BB" />
    </ownerInstitution>

</rfid>

3)准备三种标签:一种是未写OI字段的,一种是写了正确OI的,一种是写了不相同OI的。

dp2ssl测试目录

  1. 测试初台化,在书柜里放入上面3种标签,检查初始化过程是否对未写入OI和不正确OI进行提示。检查柜门图书详细信息提示。 测试结果: 针对未写OI和OI不正确的标签,初始化提示如下,可按静默方式继续 ,符合预期。
    警告:PII 为 A05 的标签出错: 请求的所属机构 '' 和册记录 中文图书实体/6 的所属机构代码 'CN-000001-1-A' 和 'AA' 不吻合
    警告:PII 为 A04 的标签出错: 请求的所属机构 'test' 和册记录 中文图书实体/5 的所属机构代码 'CN-000001-1-A' 和 'AA' 不吻合

    进入书架界面,有异常标签的柜门上e:X字样,点击查看提示OI不一致的信息;点击柜门总数字,正确OI的标签图书摘要信息正确,未写OI和OI不一致的标签有对应的红色提示,符合预期。

查看本地biblio库中的entity和summary中只有OI正确的册数据,符合预期。 查看本地actions库,OI正确的标签return和transfer同步成功,状态为sync;未写OI的和OI不一致不正确同步,状态为dontsync,符合预期.

  1. 借还OI正确的标签,应正常提交服务器 测试结果: dp2ssl借还正常,同步正常,本地状态为sync,从内务确认借还都正常同步。

  2. 借还未写OI的标签,应只存在本地,不会同步服务器。 测试结果: 可以在dp2ssl借还,完成对话框提示不再同步,请求的所属机构 '' 和册记录 中文图书实体/6 的所属机构代码 'CN-000001-1-A' 和 'AA' 不吻合[ItemBarcodeNotFound]。 查看本地库,状态为dontsync,未同步。 从内务检查该读者,未同步,不能查到从书柜借的OI为空的图书。 以上符合预期。

  3. 借还不正确OI标签,应只存在本地,不会同步服务器。 测试结果: 可以在dp2ssl借还,完成对话框提示不再同步,请求的所属机构 'test' 和册记录 中文图书实体/4 的所属机构代码 'CN-000001-1-A' 和 'AA' 不吻合[ItemBarcodeNotFound]。 查看本地库,状态为dontsync,未同步。 从内务检查该读者,不能查到从书柜借的OI不一致的图书。 以上符合预期。

  4. 测试服务器library.xml不配置rfid元素的情况 测试结果: 如果library.xml未配置rfid元素,dp2ssl启动时会提示从 dp2library 服务器获得 RFID 配置信息时出错: library.xml 中没有定义 rfid 元素,不能正常启。 断网启动,也会提示未定义rfid元素,dp2ssl不能正常启动,符合预期.

todo,总分馆的标签都要测试

内务回归测试

服务器library.xml配置了rfid元素的情况

  1. 检查借还OI正确的RFID图书 测试结果: 正常借还,符合预期。

  2. 检查借还未写OI的标签 测试结果: 正常借还,需要确认是否符合预期?

  3. 检查借还不正确OI标签 测试结果: 正常借还,需要确认是否符合预期?

服务器library.xml不配置rfid元素的情况

  1. 检查借还OI正确的RFID图书 测试结果: 正常借还

  2. 检查借还未写OI的标签 测试结果: 正常借还

  3. 检查借还不正确OI标签 测试结果: 正常借还

内务在快捷出纳窗借还三类标签,任务区的摘要信息显示也都是正确的。

renyh commented 3 years ago

测试当library.xml配置了rfid元素时,内务标签加工 和 创建15693读者卡是否正确

所属总馆的情况

  1. 种册窗加工标签

  2. 批转换标签

  3. 创建15693读者卡 测试结果正确。

所属分馆的情况

  1. 种册窗加工标签

  2. 批转换标签

  3. 创建15693读者卡 测试结果正确。

renyh commented 3 years ago

关于dp2ssl使用读者卡和工作人员卡时OI字段的测试

  1. 刷写了总馆OI的读者卡,应正确识别和开门,借还正确。

  2. 刷写了分馆OI的读者卡,应正确识别和开门,借还正确。

  3. 刷未写OI的读者卡,应不能识别,不能开门。

  4. 刷不属于总分馆OI的读者卡,应不能识别,不能开门。


  1. 刷写了总馆OI的工作人员卡,应正确识别和开门,对全部图书上下架和调拔正确。

  2. 刷写了分馆OI的工作人员卡,应正确识别和开门,对本馆图书上下架和调拔正确。

  3. 刷未写OI的工作人员卡,应不能识别,不能开门。

  4. 刷不属于总分馆OI的工作人员卡,应不能识别,不能开门。

maruimarui commented 3 years ago

测试目的

开柜门后,取出图书在刷读者卡的读写器上刷图书,挑出“OI”异常的图书,关门。

测试步骤

  1. 提前在书柜内放入一册“OI”和系统设置不一致的图书。

  2. 刷读者卡,开门。

  3. 取出“OI”和系统设置不一致的图书,在刷读者卡的读写器上刷这册图书,会弹出提示框,显示这册图书的信息。柜门显示“-1”。

  4. 将这册图书放到书柜外,关柜门,没有弹出提示框。观察界面柜门对应的数字,红色“e:1”没有消失,图书总数没有变化。 新版本:关柜门,弹出提示框“不再同步 册.. OI不符合”。图书总数正确变化。


  5. 从书柜内取出册信息正常的图书,重复步骤2-4,柜门数字没有变化。刷读者卡查看在借信息,没有刚取出的图书信息。 新版本:关柜门,弹出提示框“借 成功”。图书总数正确变化。

测试结果

20200728-1520-marui:dp2ssl绿色测试版:1.4.7514.26912,符合预期

20200728-1430-marui:dp2ssl绿色测试版:1.4.7513.28900,第4、5步不符合预期,预期会弹出提示框,红色“e:1”会消失,图书总数会减掉拿出的图书数。

maruimarui commented 3 years ago

测试目的

开柜门后,取出“OI”和系统设置不一致的图书,关门。

测试步骤

  1. 提前在书柜内放入一册“OI”和系统设置不一致的图书。

  2. 刷读者卡,开门。

  3. 取出“OI”和系统设置不一致的图书,将这册图书放到书柜外,关柜门,弹出提示框:“不再同步 册.. OI不符合”。观察界面柜门对应的数字,红色“e:1”消失,图书总数会减掉拿出的图书数。符合预期。

  4. 再刷这个读者的读者卡,刚取出的图书不显示在“在借册”中。但是查看本地数据库需记录了这册图书的“borrow”动作。


  5. 从书柜内取出册信息正常的图书,重复步骤2-4,柜门数字显示正常,借书成功。

测试结果

20200728-1530-marui:dp2ssl绿色测试版:1.4.7514.26912,符合预期

20200728-1440-marui:dp2ssl绿色测试版:1.4.7513.28900,符合预期。

maruimarui commented 3 years ago

todo

maruimarui commented 3 years ago

关于dp2ssl使用读者卡和工作人员卡时OI字段的测试

测试前提:书柜连接的的是测试服务器,有“总馆、星洲学校、第三中学” 书柜的shelf.xml中配置的是分馆“星洲学校” 20200729-1050-marui: dp2ssl绿色测试版:1.4.7514.26912

测试结果

读者情况:第2种情况,当读者“OI”字段为空时,预期会报错,不识别读者信息。

序号 读者库 所属机构代码"OI" 刷卡识别读者信息 开柜门
1 星洲学校读者 星洲学校 正常识别 正常
2 星洲学校读者 "OI"为空 正常识别,预期不识别 正常,预期不可以开门
3 总馆读者 总馆 正常识别 报“权限不足,无法开门”
4 第三中学读者 第三中学 正常识别 报“权限不足,无法开门”
5 星洲学校读者 第三中学 报:读者"机构代码.证条码号":当前读者卡来自馆外机构… /
6 星洲学校读者 总馆 报:读者"机构代码.证条码号":当前读者卡来自馆外机构… /
7 星洲学校读者 错误的机构代码 报:读者"机构代码.证条码号":当前读者卡来自馆外机构… /
8 其他实例读者 其他实例机构代码 报:读者"机构代码.证条码号":没有找到 /
9 其他实例读者 星洲学校机构代码 报:读者"星洲学校机构代码.证条码号":没有找到 /

馆员情况:第2/5/6/7种情况不符合预期,馆员刷卡是不是没有加判断“OI”的功能?

序号 馆员所属总分馆 所属机构代码"OI" 刷卡识别读者信息 开柜门
1 星洲学校馆员 星洲学校 正常识别 正常
2 星洲学校馆员 "OI"为空 正常识别,预期不识别 正常,预期不可以开门
3 总馆馆员 总馆 正常识别 正常
4 第三中学馆员 第三中学 正常识别 报“权限不足,无法开门”
5 星洲学校馆员 总馆 正常识别,预期会提示“OI”不符合 正常
6 星洲学校馆员 错误的机构代码 正常识别,预期不识别 正常,预期不可以开门
7 星洲学校馆员 第三中学 正常识别,预期不识别,报错 正常,预期不可以开门
renyh commented 3 years ago

系统改进OI检查后,测试各种身份识别是否正确

开发留言: 2020090817:53:33 dp2ssl 测试版更新了,测试的时候注意把两种 RFID 卡,人脸,指纹,甚至一维码二维码,这几种读者刷卡方式都集中测试一下。其中只有 ISO15693 方式才有 OI 信息。其他的方式都是忽略 OI 用 PII 对 dp2library 读者库进行检索

测试要点: 1)刷15693卡,分为正确的OI,不正确的OI,空OI 这3种情况测试。 刷OI为空的15693读者卡,提示不允许使用机构代码为空的ISO15693读者卡 刷OI不正确的读者卡,提示读者'XXX.001':当前读者卡来自馆外机构'XXX' 2)刷14443卡 3)刷人脸 4)刷指纹 5)刷一维码 6)刷二维码

测试结果: 20200908-1800-ryh:测了前3种情况符合预期 20200909-1000-ryh:以上6种情况均符合预期