DigitalPlatform / dp2

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

底层数据库测试 #1107

Open renyh opened 2 years ago

renyh commented 2 years ago

解决问题说明

20220704说明 在最新测试版里面 Oracle 数据库底层的 dp2kernel 删除实例的时候,可以干净删除 dp2kernel_oarcle 账户和对应的表空间了

20220624说明 oracel数据库是把书目下 对象文件存到本地文件夹中,在databases.xml文件下sqlserverdb元素内添加object/@startSize的方式没有作用。

20220517说明 dp2installer v3_ref 版本更新改进,就是在 dp2kernel 连接 Pgsql 数据库的时候,databases.xml 里面 object/@startSize 属性值不允许配置为 102400 以外的值(如果配置了另外的值会报错)。当然不配置这个属性也是可以的,缺省就是 102400 的效果。

20220516说明 新版本更新修复了mysql收尾报错,postgresql数据目录增大异常的问题。

20220421说明 (postgresql数据库存储二进制大数据文件崩溃,bytea类型存储界限为1G,上传小于1G的文件崩溃。databases.xml配置3G的界限值,上传小于1G和大于1G的也会崩溃)


http://dp2003.com/dp2Installer/v3_ref/publish.htm (支持postgresql数据库的dp2installer下载地址)

20220429说明 目前是这个想法:针对postgresql测试,第一次加1字节,第二次加2字节,第三次加3字节,依然会膨胀,把对象和字段结合,先写入对象,然后再一次性写入bytea

20220428说明 时间戳是防范多个前端,访问同一实例,在同样的书目下级记录对象中上传文件的情况 比如上传一个文件,100MB,每次上传10MB,分十次上传完成,当第一次上传完之后前端会告诉服务器“我传完了”,发了一个1,服务器收到之后表示“我知道了”,就返回一个2,前端收到了2,就继续上传下一个10MB的文件,这时另一台前端也在这条书目下的对象中上传文件,也给服务器发了一个1,服务器又收到了,但是刚才已经收到过了并发了一个2,因此这时就拒绝给这台前端返回值了,而这台前端就会提示“时间戳不匹配”

20220420说明 sql server数据库把原始数据xml存在了二进制字段,看到data/newdata中有值,filename/newfilename为null。 data/newdata是image类型,最大尺寸为2G,当超过这个尺寸时会存储到本地文件夹中

sqlite数据库和MySQL数据库都是将数据存储到本地文件夹中,可以用第三方工具打开records表,看到具体行中的filename,也就是该kernel实例object目录下对应的具体库中的文件夹

20220413更新 dp2installer 的 v3ref 版本更新了。多删除 SQL 表的问题是由于不正确使用 like 引起的,bug 已经修正。后面请千万注意也测试一下 Oracle 版本,有没有同样的多删除 SQL 表的问题

20220413说明 postgresql缺省为 100 * 1024,默认100KB以内的文件存储于records表内,超过这个值存储于本地文件夹中 在databases.xml中property/sqlserverdb/object/@startSize 定义了这个尺寸 源代码:https://github.com/DigitalPlatform/dp2/blob/dp2kernel_refactor_1/DigitalPlatform.rms.db/SqlDatabase.cs ZLQ9VD2O~ R(6C6N(C 9IUV

20220409说明 dp2kernel创建实例时的SQL服务器名是SQL shell工具中server[localhost] 管理者账户是SQL shell工具中Database[postgres]

dp2kernel数据库目录database.xml文件中的内容就是SQL shell中对应数据库的表,其中db_numbers对应表中前端的db_numbers。数据库由底层的主表加上多中keys表组成

安装的数据库与database.xml中sqlserverdb name="db_numbers"对应,并根据这些内容生成表

dp2内务系统管理/内核中的库对应dp2kernel实际物理库

dp2内务种册窗下级记录中的对象可以存错到postgresql数据库record表中具体某一书目表的字段中

测试内容简要说明

  1. 对dp2基础功能回归,一些简单的增删改查
  2. 创建实例时要在SQL shell中看到该库、创建dp2library时要看到表是否对应,删除dp2kernel该实例,应查无此表
  3. 用大数据量造环境,进行借还、检索。 1级:5万册 2级:10万册 3级:50万册 4级:100万册
  4. 用大数据量进行大备份、恢复测试。(先用小数据量,再用大数据量)
  5. dp2内务进入一条书目的“种册窗”,在下级记录对象中上传、导出文件(尺寸先小后大)查看是否正常。再观察底层文件是否正常
  6. postgresql和sql server支持将数据存储在二进制字段中,也要对这些进行测试
  7. 用dp2installer-ref版本 安装各种数据库(postgresql、MySQL、SQlite、sql server、oracle )进行测试

    测试目录

    使用postgresql、mysql、sqlite、oracle、ms sql server 进行测试,测试目录按照postgresql数据库来写

    一、基础测试 https://github.com/DigitalPlatform/dp2/issues/365

二、创建实例时对postgreSQL的观察 2.1 创建新实例,预期在SQL shell中能看到该库 2.2 查看表是否对应,预期SQL shell中表与实例数据目录中database.xml中的内容一致 2.3 删除该实例,预期库不存在

三、大数据量测试 3.1 5万册书进行借还,检索,预期成功 3.2 10万册书进行借还,检索,预期成功 3.3 50万册书进行借还,检索,预期成功 3.4 100万册书进行借还,检索,预期成功

四、种册窗“对象”测试 4.1 上传文件(1M/1G),预期成功上传 4.2 导出文件(1M/1G),预期成功下载 4.3 观察底层文件,预期小文件存储在字段中,大文件以文件形式存储

五、大备份下载和恢复测试 5.1 小数据量5万册,大备份下载,大备份恢复,预期成功 5.2 大数据量50或100万册,大备份下载,大备份恢复,预期成功

六、底层文件尺寸测试 6.1 修改databases.xml中对象文件上传的尺寸限制 6.2 sql server数据库作为底层,不修改databases.xml,预期上传超出2G的文件存到本地文件夹中(查一下dp2的代码, 看看代码中是不是按2G做了分界。) 6.3 在书目下对象中的同一ID记录中上传2次文件,预期第二次上传的文件会覆盖第一次的文件 6.4 sql server数据库为底层,在书目下对象中上传100MB的文件,数据库数据目录对应文件尺寸会增大,然后删除该记录预期该文件尺寸不会减小 将对象文件删除,再次上传一个小于100MB的文件,预期数据库数据目录对应的文件为第一次上传的尺寸,不会有变化 将对象文件删除,再次上传大于100MB的文件,预期数据库数据目录对应的文件尺寸增大 6.5 打开2个前端,登录同一实例,在同一书目下级记录对象中上传文件,预期一个成功,一个失败提示“时间戳不匹配”

七、opac翻页预览测试 7.1 在opac上翻页预览没有问题

八、检索点测试 https://jihulab.com/DigitalPlatform/dp2doc/-/tree/main/keys%E6%A3%80%E7%B4%A2%E7%82%B9%E6%B5%8B%E8%AF%95

renyh commented 2 years ago

1.删除使用postgresql的dp2kernel实例,报未知的sql服务器类型'PostgreSQL' 2022/4/7-ryh 发现此问题 2022/4/8-ryh dp2installer的v3_ref新版本,删除dp2kernel实例还有问题,分下面两种情况: 1)在dp2installer里安装时,不直接创建4个库,那是产生的postgres数据库里面是空表,这种情况下。可以删除dp2kernel实例 2)如果创建了数据库,不论是安装时创建的4个库,还是在内务创建的数据库,则在删除dp2kernel时,会报postsql的数据库被占用 2022/4/8-1347-ryh:为了彻底清理之前的postgre环境,重新安装postgresql,当dp2library实例中创建了数据库后,删除dp2kernel实例报postgre中的某数据库被占用,重现了问题。 2022/4/8-1427-ryh:v3_ref新版本删除dp2kernel不再报postgre的数据库被占用了,符合预期。 严格按下面步骤操作: 1)安装dp2kernel 2)安装dp2library,自动创建4个库 3)在内务给图书库导入一些marc 4)在dp2installer里,直接删除dp2kernel。正常删除,没有报postgre的数据库被占用。 5)用psql命令查看,已经不存在dp2kernel对应的数据库了。

开发老师留言: dp2installer 中 dp2kernel 实例管理界面删除实例时报错说删除 pgsql 数据库失败,可能是由于 ConnectionPool 没有释放连接造成的,已经增加了释放连接的语句。


2.新建实例的数据表没有在对应的数据库下,而是在postgresql数据库下,不符合预期。 2022/4/7-ryh 发现此问题 2022/4/8 dp2installer的v3_ref新版本,已解决此问题,数据表创建在了对应的数据库下,符合预期。


3.配置postgresql参数的界面在屏幕显示比例150%,显示不全。 2022/4/7-ryh 发现此问题 2022/4/8 dp2installer的v3_ref新版本,已解决此问题,在电脑150%的显示时,postgre配置界面可以显示完整,且密码只有一个输入框了,取消了再次输入密码,因为不是创建密码是使用密码,所以一个密码框就行,符合预期。


2022/4/12 培训内容:在底层数据库针对原始数据xml及下级对象的存储,分成两种方式:1)用文件存储,2)用二进制大数据字段存储。 1)先回顾一下dp2library逻辑库、dp2kernel库、商用底层库 三者关系。提问方式 2)回顾一下一个数据库包括哪些表,分为两类,怎么产生的?提问方式 3)回顾一下mysql的存储,如何查看存储的xml文件?提问方式 4)再看postgre的存储 5)介绍书目下对象资源的存储。 6)当postgre数据底层,xml或对象资源超过二进制字段最大尺寸时,则用文件存储。

关于数据xml存储

原始xml数据存储在各库的records表。

postgre把原始数据xml存在了二进制字段,看到data/newdata中有值,filename/newfilename为null。 data/newdata是bytea类型,最大尺寸是1G。当xml数据超过bytea最大尺寸时,会存储在windows文件中。但xml不太好造出超过1G的尺寸,我们可以用数字对象来测试。https://blog.japinli.top/2020/04/postgresql-large-object/

image

bytea与oid比较,目前我们使用的bytea类型 image

MySQL是把原始数据xml直接存储在windows文件中,看到filename/newfilename有值,没有data与newdata字段。 image


关于数字对象存储

关于数字对象,是跟着父亲书目的(根据id命名就能认出来),数字对象也是存储records表。

postgre

与xml相同,postgre将数字对象存储在records表,当对象尺寸超过bytea类型字段允许的最大尺寸1G时,会存储在windows文件中。我们可以用大数字对象来测试。

下面这条是存储在数据表中的二进制字段中 image

下面这条由于超过二进制字段能存储的最大尺寸1G,所以存储到了文件中 image image

mysql

与xml相同,MySQL也是把数字对象存储在windows文件中。 image


2022/4/14 发现pgsql作为底层,删除某一数据库时把其它库也删除了

2022/4/14 dp2installer 的 v3ref 版本更新了。多删除 SQL 表的问题是由于不正确使用 like 引起的,bug 已经修正。后面请千万注意也测试一下 Oracle 版本,有没有同样的多删除 SQL 表的问题

另外 dp2installer 安装 dp2kernel 时输入 pgsql 参数的对话框,去掉了“管理者数据库”这个 textbox 和其下的一个 checkbox,注意测试时候观察一下这样是不是还足以完成正常安装。

2022/4/15 6:14:20 v3_ref新版本,删除数据库不会连带删除其它库了。在内务删一个库,或同时选多个库一起删除,都不会影响其它库,符合预期。记下oracle要测试这一点。

v3_ref新版本,看到pgsql参数对话框去掉了“管理者数据库”及其下checkbox。 测试创建dp2kernel实例、创建library,导入数据,观察pgsql底层库,都正常,符合预期。 删除dp2kernel实例正常,同时删除了pgsql库,符合预期。

sql server数据库中,data/newdata是image类型。当对象尺寸超过image类型字段允许的最大尺寸2G时,会存储在windows文件中,其缺省值为2G

renyh commented 2 years ago

postgresql常用命令

如何在SQL Shell(psql)命令行连接数据库

Server [localhost]:
Database [postgres]: dp2kernel_t3
Port [5432]:
Username [postgres]:
用户 postgres 的口令:
psql (14.2)
输入 "help" 来获取帮助信息.

dp2kernel_t3=#

列出所有数据库

\l

切换数据库

\c database

删除数据库

drop database 库名;

实际操作时,注意把数据库名称dp2kernel_t3换为实际的名称。

列出所有表

\d

删除表

drop table 表名;

如何批量删除表?

先用\d列出全部表,然后拷贝下来,替换里面|为tab键,然后把文字放在excel,处理为多行drop table 表名;命令,最后再在postgre的sql shell里执行这一批命令。

如何查询数据表中的数据

select * from 表名;

注意语句后面一定加上半角分号

如果退出数据库

\q

psql基本命令参考 https://www.cnblogs.com/my-blogs-for-everone/p/10226473.html

SZCND commented 2 years ago

测试用例2.1

测试目的(按照pgsq数据库写的步骤)

创建新实例,预期在SQL shell中能看到该库

测试步骤

  1. 打开dp2installerv3_ref新版本,在dp2kernel中配置实例
  2. 在“创建一个新实例”页面输入实例名“read”,数据目录“c:\dp2\read\kernel_data”,选择postgreSQL数据库。在相关参数页面“sql服务期名”为localhost,管理者账户为下载时设置的账户密码,下方的数据库名和管理者数据库名为默认的,点击确定
  3. 打开SQL shell,按四下回车,看到“用户postgres的口令”,输入下载时设置的密码,回车进入。
  4. 显示“psql”(14.2)成功进入
  5. 输入“\l”,预期有新建的数据库“dp2kernel_read”,实际有该库,符合预期

    测试结果

    20220707 1722 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1402 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1116 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220705 1907 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期。 20220705 1026 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220627 1924 WYC dp2installer ref3.114.8171.41534 dp2内务正式版3.65.8213.27458 oracle数据库为底层,测试结果符合预期 20220607 1613 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期 20220520 1124 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220518 1124 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用mysql数据库为底层,测试结果符合预期 20220517 1509 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期

20220506 1406-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,DB Browser SQlite工具打开对应的库,可以查看到一张records表和多个keys表,测试结果符合预期

20220420 0957-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,打开Microsoft SQL server 工具查看,能够查到新建的库,测试结果符合预期


20220418 2030-WYC dp2installer的v3_ref 3.108.8138.30845 用sqliteL数据库作为底层数据库,用DB Browser SQlite工具打开该实例,找到object目录下,点击右下方选择所有文件,对应的具体库会以database.bin文件显示,选中该文件,并打开,可以看到许多keys表和一个record表,测试结果符合预期


20220414 1256-WYC dp2installer的v3_ref 用MySQL数据库作为底层数据库,测试结果符合预期 新增一个kernel实例“z”,打开dos命令,输入“mysql -uroot -p 回车,输入密码,再回车”,输入show databases; 显示出dp2kernel_z.....


20220411 1122-WYC dp2installer的v3_ref新版本 测试结果符合预期

SZCND commented 2 years ago

测试用例2.2

测试目的

在dp2library中创建好实例,预期SQL shell中表与实例数据目录中database.xml中的内容一致

测试步骤

  1. 在dp2library中配置实例,点击确定生成默认的库
  2. 打开SQL shell,在命令行输入“\c dp2kernel_read”,切换到该数据库成功,提示“您现在已连接到数据库”“dp2kernel_read”,用户“postgres”,符合预期
  3. 输入“\d”,显示关联的列表,按住回车显示出所有的表,其中编号最大的是“db_23”,打开该实例的数据目录(dp2installer中dp2kernel数据文件夹中具体实例的database.xml),其中database中localdir最大的为“dprms_23”。与命令行中相同,符合预期

    测试结果

    20220707 1723 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1403 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1118 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220706 1107 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期。 20220705 1915 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期。 20220705 1027 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220627 1924 WYC dp2installer ref3.114.8171.41534 dp2内务正式版3.65.8213.27458 oracle数据库为底层,测试结果符合预期 20220607 1619 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期 20220520 1124 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220518 1130 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用mysql数据库为底层,测试结果符合预期 20220517 1512 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期 20220506 1423-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

20220420 1003-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,测试结果符合预期


20220418 2050-WYC dp2installer的v3_ref 3.108.8138.30845 用sqliteL数据库作为底层数据库,测试结果符合预期


20220414 1340-WYC dp2installer的v3_ref 用MySQL数据库作为底层数据库,测试结果符合预期 新增了一个“a”库,用show databases; 可以查到该库


20220411 1143-WYC dp2library 3.108.8133.23475测试结果符合预期

SZCND commented 2 years ago

测试用例2.3

测试目的

删除该实例,预期库不存在

测试步骤

  1. 打开dp2installer,删除dp2libray和dp2kernel中的“read”实例成功
  2. 打开SQL shell,输入"\l",显示出的数据库中没有“dp2kernel_read”,符合预期

    测试结果

    20220707 1724 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1404 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1120 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220706 1108 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期。 20220705 1915 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期。 20220705 1046 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220627 1924 WYC dp2installer ref3.114.8171.41534 dp2内务正式版3.65.8213.27458 oracle数据库为底层,测试结果符合预期 20220607 1627 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期 20220520 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220518 1133 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用mysql数据库为底层,测试结果符合预期 20220517 2018 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期 20220506 1424-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

20220420 1005-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,删除实例后在Microsoft sql server工具中查不到了,测试结果符合预期


20220418 2052-WYC dp2installer的v3_ref 3.108.8138.30845 用sqliteL数据库作为底层数据库,测试结果符合预期


20220414 1343-WYC dp2installer的v3_ref 用MySQL数据库作为底层数据库,测试结果符合预期 在dp2library,dp2kernel中删除该实例,用show databases; 无法查到该库


20220411 1153-WYC dp2installer的v3_ref新版本 测试结果符合预期

SZCND commented 2 years ago

测试用例3.1

测试目的

5万册书进行借还,检索,预期成功

测试步骤

  1. 建一个新实例,用dp2SIPClient中的工具创建5万册图书
  2. 在dp2内务上登录该实例,打开“实体查询窗”,点击“检索”按钮,检索出5万册图书,点击左上角“停止”,停止装载,符合预期
  3. 用馆藏地检索实体册,检索出5万册,符合预期
  4. 用册条码号“Z100001”检索,检索出1条,符合预期
  5. 点击快捷出纳窗“借”,用读者P001借册Z100001,成功。点击续借,输入Z100001,成功。点击“还”,直接输入Z100001,还书成功。

    测试结果

    20220707 1415 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1133 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220705 1925 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期。 20220705 1143 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220623 1348 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217 ,oracle底层,测试结果符合预期。 20220607 1642 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期 20220520 1652 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220518 1148 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用mysql数据库为底层,测试结果符合预期 20220517 2018 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期 20220506 1139-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

20220420 1018-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,5万条数据量的检索借还测试符合预期


20220418 1952-WYC dp2installer的v3_ref 3.108.8139.41798 用sqliteL数据库作为底层数据库,测试结果符合预期


20220414 1428-WYC dp2installer的v3_ref 用MySQL数据库作为底层数据库,测试结果符合预期


20220411 1424-WYC dp2library 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例3.2

测试目的

10万册书进行借还,检索,预期成功

测试步骤

  1. 建一个新实例,用dp2SIPClient中的工具创建10万册图书
  2. 在dp2内务上登录该实例,打开“实体查询窗”,点击“检索”按钮,检索出10万册图书,点击左上角“停止”,停止装载,符合预期
  3. 用馆藏地检索实体册,检索出10万册,符合预期
  4. 用册条码号“Z100001”检索,检索出1条,符合预期
  5. 点击快捷出纳窗“借”,用读者P001借册Z100001,成功。点击续借,输入Z100001,成功。点击“还”,直接输入Z100001,还书成功。

    测试结果

    20220707 1418 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1130 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220705 1926 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期。 20220705 1350 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220623 1355 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217 ,oracle底层,测试结果符合预期。 20220607 1702 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期 20220520 1659 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220518 1231 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用mysql数据库为底层,测试结果符合预期 20220517 2030 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期 20220420 1027-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,10万册数据量检索借还符合预期


    20220418 2012-WYC dp2installer的v3_ref 3.108.8139.41798 用sqliteL数据库作为底层数据库,测试结果符合预期


    20220414 1620-WYC dp2installer的v3_ref 用MySQL数据库作为底层数据库,测试结果符合预期


    20220411 1428-WYC dp2library 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例3.3

测试目的

50万册书进行借还,检索,预期成功

测试步骤

  1. 建一个新实例,用dp2SIPClient中的工具创建50万册图书
  2. 在dp2内务上登录该实例,打开“实体查询窗”,点击“检索”按钮,检索出50万册图书,点击左上角“停止”,停止装载,符合预期
  3. 用馆藏地检索实体册,检索出50万册,符合预期
  4. 用册条码号“Z100001”检索,检索出1条,符合预期
  5. 点击快捷出纳窗“借”,用读者PZX001借册Z100001,成功。点击续借,输入Z100001,成功。点击“还”,直接输入Z100001,还书成功。

    测试结果

    20220707 1854 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1423 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1138 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,数据量20万,测试结果符合预期 20220624 1453 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.65.8210.18397 ,oracle底层,测试结果符合预期。 20220607 2034 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期 20220520 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220517 2148 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用mysql数据库为底层,测试结果符合预期 20220517 2031 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期 20220506 1427-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

20220420 1027-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,50万册数据量检索借还符合预期


20220418 2028-WYC dp2installer的v3_ref 3.108.8139.41798 用sqliteL数据库作为底层数据库,测试结果符合预期


20220415 0939-WYC dp2installer的v3_ref 3.108.8138.30845 用MySQL数据库作为底层数据库,测试结果符合预期


20220411 1724-WYC dp2library的v3_ref 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例3.4

测试目的

100万册书进行借还,检索,预期成功

测试步骤

  1. 建一个新实例,用dp2SIPClient中的工具创建100万册图书
  2. 在dp2内务上登录该实例,打开“实体查询窗”,点击“检索”按钮,检索出100万册图书,点击左上角“停止”,停止装载,符合预期
  3. 用馆藏地检索实体册,检索出100万册,符合预期
  4. 用册条码号“Z100001”检索,检索出1条,符合预期
  5. 点击快捷出纳窗“借”,用读者PZX001借册Z100001,成功。点击续借,输入Z100001,成功。点击“还”,直接输入Z100001,还书成功。

    测试结果

    20220411 2025-WYC dp2library 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例4.1

测试目的

上传文件(1M/1G),预期成功上传

测试步骤

  1. 打开“种册窗”,检索出一条书目,点击下级记录中的“对象”,在空白除右键“新增”,选择一张照片上传,上传成功,状态显示“未上载”,背景为绿色,点击保存,显示“已上载”。(小尺寸文件)
  2. 上传一个1.9G的文件,点击“保存”之后,下方提示“正在上载........xxxxx”,等待10分钟,下载完成,符合预期

    测试结果

    20220707 1927 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1429 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1145 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220705 1951 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期。 20220705 1425 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220623 1426 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217 ,oracle底层,测试结果符合预期。 20220607 1726 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期 20220520 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220518 1335 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用mysql数据库为底层,测试结果符合预期

20220517 2100WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期 20220506 1438-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

20220420 1041-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,测试结果符合预期


20220418 2047-WYC dp2installer的v3_ref 3.108.8139.41798 用sqliteL数据库作为底层数据库,测试结果符合预期


20220415 1023-WYC dp2installer的v3_ref 3.108.8138.30845 用MySQL数据库作为底层数据库,测试结果符合预期


20220411 2110-WYC dp2library 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例4.2

测试目的

导出文件(1M/1G),预期成功下载,文件大小相同,不会缺损内容

测试步骤

  1. 打开“种册窗”,检索出一条书目,点击下级记录中的“对象”,选择其中的小文件,右键“导出”,选择桌面,点击确定,回到桌面,看到该文件,打开与源文件对比,预期没有缺损,实际没有缺损符合预期
  2. 导出1.9G的文件,下方提示“正在下载1.6G/1.9G 93%”......,等待20分钟,下载完成,观察该文件大小为1.9G,与源文件大小一致,符合预期

    测试结果

    20220707 1947 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1438 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1150 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220705 1956 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期。 20220705 1425 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220623 1430 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217 ,oracle底层,测试结果符合预期。 20220607 1730 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期 20220519 1709 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用mysql数据库为底层,测试结果符合预期 20220517 2107 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期 20220506 1445-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

20220420 1055-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,测试结果符合预期


20220418 2104-WYC dp2installer的v3_ref 3.108.8139.41798 用sqliteL数据库作为底层数据库,测试结果符合预期


20220415 1040-WYC dp2installer的v3_ref 3.108.8138.30845 用MySQL数据库作为底层数据库,测试结果符合预期


20220411 2140-WYC dp2library 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例4.3

测试目的

观察“种册窗”底层文件,预期上传一个小文件,用pgAdmin观察该文件会存储在字段里。大文件以文件形式存储,并显示具体存放位置

测试步骤

  1. 打开dp2内务,打开“种册窗”,随便装载一条书目,点击下级记录的“对象”,上传一个20KB的文件,id为“001_0”右侧unimarc:datafield元素新增“dprms:file id”属性,值为上传对象的ID
  2. 打开pgAdmin,找到该数据库中对应的“db_num_record”,右键“查看/编辑数据”所有行,右侧显示具体信息,其中“001_0”的“newdata”值为“[binary data]”表示该文件存储在了字段中。filename为“[null]”表示没有具体文件。
  3. 上传一个2GB的文件,id为“001_1”,其“newdata”的值为“[null]”,表示没有存储在字段中,filename为“0000000\001_1”,表示以文件形式存储的具体位置。

    测试结果

    20220707 1955 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,对象文件存储在本地文件夹中,测试结果符合预期 20220707 1456 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1150 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,所有文件都存在本地目录中,测试结果符合预期 20220705 2002 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,所有文件存到本地目录中 20220705 1443 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220607 2047 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,如果不在databases.xml中设置尺寸限制,放不超过2G的文件都是存储在数据库的字段中。 20220520 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,所有内容都存到了文件夹里,测试结果符合预期 20220519 1709 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用mysql数据库为底层,是将所有文件都存储在文件夹中,测试结果符合预期

20220517 2018 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,缺省值为1024*100,超过这个值存object文件目录中,小于存在字段里,测试结果符合预期 20220418 2119-WYC dp2installer的v3_ref 3.108.8139.41798 用sqliteL数据库作为底层数据库,所有内容都存到了文件夹里,将测试结果符合预期


20220415 0918-WYC dp2installer的v3_ref 3.108.8138.30845 用MySQL数据库作为底层数据库,是将所有文件都存储在文件夹中,不会存到数据库内,测试结果符合预期


20220412 2209-WYC dp2library 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例5.1

测试目的

小数据量5万册,大备份,恢复实例,预期成功

  1. 打开dp2内务,登录一个有5万册图书的实例,在菜单命令,功能/系统维护/批处理任务窗中,选择大备份,点击“开始”,选择“同时下载文件”,指定路径,下载成功
  2. 打开dp2installer中dp2library,选择一个空实例,右键从大备份恢复,点击“全部恢复”,等待2分钟,恢复完成,登录该实例,打开实体查询窗,点击检索,下方显示“共检索命中50000条”,符合预期

    测试结果

    20220707 2008 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1530 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1200 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220705 2104 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期 20220705 1500 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220624 1453 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.65.8210.18397 ,oracle底层,测试结果符合预期。 20220607 2056 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,测试结果符合预期

20220520 1127WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期

20220519 2100 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217用mysql数据库为底层,测试结果符合预期

20220517 1119 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期 20220506 1449-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

20220420 1109-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,测试结果符合预期


20220418 1433-WYC dp2installer的v3_ref 3.108.8139.41798 用sqliteL数据库作为底层数据库,测试结果符合预期


20220415 1001-WYC dp2installer的v3_ref 3.108.8138.30845 用MySQL数据库作为底层数据库,测试结果符合预期


20220411 2145-WYC dp2library 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例5.2

测试目的

大数据量100万册,大备份,恢复实例,预期成功

  1. 打开dp2内务,登录一个有100万册图书的实例,在菜单命令,功能/系统维护/批处理任务窗中,选择大备份,点击“开始”,选择“同时下载文件”,指定路径,下载成功
  2. 打开dp2installer中dp2library,选择一个空实例,右键从大备份恢复,点击“全部恢复”,等待20分钟,恢复完成,登录该实例,打开实体查询窗,点击检索,下方显示“共检索命中1000000条”,符合预期

    测试结果

    20220707 2032 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1603 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,数据量为50万册,测试结果符合预期 20220707 1214 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,数据量为20万册,测试结果符合预期 20220705 2105 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,20万册数据量测试结果符合预期 20220624 1453 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.65.8210.18397 ,oracle底层,50册数据量进行测试。测试结果符合预期。 20220607 2123 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlserver数据库为底层,50万册数据量,测试结果符合预期

20220520 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,使用50万册数据量的大备份进行恢复,测试结果符合预期

20220519 2140 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217用mysql数据库为底层,使用50万册数据量的大备份进行恢复,测试结果符合预期

20220517 1732 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,使用50万册的数据量,测试结果符合预期

20220506 1512-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,50万册数据量,测试结果符合预期

20220419 2122-WYC dp2installer的v3_ref 3.108.8138.30845 用ms sql server数据库作为底层数据库,50万册数据量检索借还符合预期


20220418 1805-WYC dp2installer的v3_ref 3.108.8139.41798 用sqliteL数据库作为底层数据库,测试50万条图书的大备份下载和大备份恢复成功,测试结果符合预期


20220415 1918-WYC dp2installer的v3_ref 3.108.8138.30845 用MySQL数据库作为底层数据库,测试50万条图书的大备份下载和大备份恢复成功,测试结果符合预期


20220412 1156-WYC dp2library 3.108.8133.23475 dp2内务正式版:3.62.8118.17919测试结果符合预期

SZCND commented 2 years ago

测试用例6.1

测试目的

修改database.xml中对象文件上传的尺寸限制(按照postgresql数据库写的步骤,mysql和sqlite和oracle只能存放于windows文件中) 1)设置为10KB,预期超出10KB的存放于Windows文件中,低于10KB的存放于字段中 2)设置为0,预期所有文件都存储于Windows文件中 3)设置为1G,预期超过这个值的存放于Windows文件中,低于这个值的存放于字段中 4)设置为3个G,预期低于1G的文件存储于字段内,超出1G的存储失败

测试步骤

1)设置为10KB,预期超出10KB的存放于Windows文件中,低于10KB的存放于字段中

  1. 打开dp2kernel对应实例的database.xml文件,找到具体的书目,例如“测试中文图书1”,在property/sqlserverdb/下新增,重启dp2kernel。登录dp2内外,上传1KB的文件,可以在pgadmin中查看,该文件存储于字段中。上传17KB的文件,看到filename中的路径,打开objec目录中对应的具体目录,可以看到该文件,测试结果符合预期

    20220707 1627 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期

    20220705 1523 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,databases.xml中只能设置102400,或者缺省,测试结果符合预期。

    20220627 1924 WYC dp2installer ref3.114.8171.41534 dp2内务正式版3.65.8213.27458 oracle数据库为底层,不支持将内容存储到数据库中,只能存储到本地文件中。 20220622 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用sqlserver数据库作为底层,测试结果符合预期。

    20220520 2206WYC dp2installer ref 3.114.8171.41534 dp2内务正式版: 3.64.8174.19217用sqlitel数据库为底层,不管多大的文件只能保存到object下的具体目录内,无法保存到数据库内,测试结果符合预期

    20220519 2144 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217用mysql数据库为底层,不管多大的文件只能保存到object下的具体目录内,无法保存到数据库内,测试结果符合预期

    20220516 dp2installer v3_ref 版本更新,在 dp2kernel 连接 Pgsql 数据库的时候,databases.xml 里面 object/@startSize 属性值不允许配置为 102400 以外的值(如果配置了另外的值会报错)。当然不配置这个属性也是可以的,缺省就是 102400 的效果。配置除1024*100的值以外,内务无法登录,并提示查看dp2library的日志


    结果

    20220428 1400 WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用sql server数据库为底层,结果符合预期


    20220420 1753 WYC dp2installer的v3_ref 3.108.8139.41798 用postgresql数据库作为底层测试,测试结果符合预期


    2)设置为0,预期所有文件都存储于Windows文件中

    1. 上传1KB的文件,pgadmin中“newdata”为null,表示没有存储在字段中,filename有具体目录名,表示存储于该目录下,测试结果符合预期

      结果

      20220707 1635 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期

    20220622 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用sqlserver数据库作为底层,测试结果符合预期。

    20220428 1405 WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用sql server数据库为底层,结果符合预期


    20220420 1808 WYC dp2installer的v3_ref 3.108.8139.41798 用postgresql数据库作为底层测试,测试结果符合预期


    3)设置为1G,预期超过这个值的存放于Windows文件中,低于这个值的存放于字段中

    1. 上传20MB的文件,存储于字段内,上传1.9G的文件,存储于文件夹内,测试结果符合预期

      结果

      20220707 1641 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期

    20220622 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用sqlserver数据库作为底层,测试结果符合预期。

    20220428 1413WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用sql server数据库最大支持2G的存储,低于2G的存到数据库数据目录下,超过2G的存到本地文件中,测试结果符合预期


    4)设置为3个G,预期低于1G的文件存储于字段内,超出1G的存储失败

    1. 上传一个超过1G的文件,速度非常缓慢,传了百分之3左右,就提示“保存对象信息时出错.....”。上传一个低于1G的文件,速度非常缓慢,也提示保存出错,磁盘爆满,测试结果不符合预期

      结果

      20220707 1656 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期

    20220622 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用sqlserver数据库作为底层,测试结果符合预期。

    20220428 2122WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用sql server数据库测试,该数据库最大支持2G文件的存储,在databases.xml中设置尺寸界线为3G 上传200MB的文件,成功上传,存储到数据库内,符合预期 上传2.46G的文件,上传到2G左右,内务提示“保存对象信息出错,正在尝试增长,使其超过允许的最大大小,2147483647字节”,用第三方工具查看,该文件存储的具体记录有range提示,长度为“0-2147327999”,符合预期


    20220420 1829 WYC dp2installer的v3_ref 3.108.8139.41798 用postgresql数据库作为底层测试,当database.xml中尺寸配置为1G时,磁盘爆满,不符合预期

    SZCND commented 2 years ago

    测试用例6.2

    测试目的

    sql server数据库作为底层,不修改databases.xml,预期上传超出2G的文件存到本地文件夹中(查一下dp2的代码, 看看代码中是不是按2G做了分界。是的2个G)

    测试步骤

    1. 打开dp2内务,随机检索一条书目,在该书目下级记录,对象中上传一个2.46G的文件,等待2分钟,上传成功
    2. 打开该实例object目录,打开其中对应的数据库目录,发现上传的2.46G文件存储于内,符合预期

      测试结果

      20220428 1447WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用sql server数据库作为底层,测试结果符合预期

    SZCND commented 2 years ago

    测试用例6.3

    测试目的

    在书目下对象中的同一ID记录中上传2次文件,预期第二次上传的文件会覆盖第一次的文件

    测试步骤(按照pgsq数据库来写)

    1. 打开dp2内务,检索一条书目,在该书目下对象中上传文件,第一次上传的文件尺寸为35152842字节,ID为0。
    2. 第二次还在这条ID为0的记录上再传一个文件,尺寸为9135928字节
    3. 打开第三方工具查看records表中的该记录,文件尺寸与第二次上传的相同,符合预期

      测试结果

      20220707 2040 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1658 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期

    20220707 1222 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220705 2115 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期

    20220705 1626 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,在同一条对象文件基础上,来回上传大于,小于100K文件,报错,测试结果不符合预期。

    20220627 1929 WYC dp2installer ref3.114.8171.41534 dp2内务正式版3.65.8213.27458 oracle数据库为底层,测试结果符合预期 20220622 1646WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用sqlserver数据库作为底层,测试结果符合预期。 20220520 2211WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220519 2148 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217用mysql数据库为底层,测试结果符合预期 20220517 2122 WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期

    20220506 1630-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

    20220428 1523WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用MySQL数据库作为底层,用MySQL work bench工具打开records表查看,测试结果符合预期


    20220428 1509WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用sqlite数据库作为底层,用DB Browser for SQLite工具打开records表查看,测试结果符合预期


    20220428 1459WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用postgresql数据库作为底层,用pgadmin工具打开records表查看,测试结果符合预期


    20220428 1456WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 用sql server数据库作为底层,用sql server management工具打开records表查看,测试结果符合预期

    SZCND commented 2 years ago

    测试用例6.4

    测试目的

    1)sql server数据库为底层,在书目下对象中上传297MB的文件,数据库数据目录对应文件尺寸会增大,然后删除该记录预期该文件尺寸不会减小 2)将对象文件删除,再次上传一个小于297MB的文件,预期数据库数据目录对应的文件为第一次上传的尺寸,不会有变化 3)将对象文件删除,再次上传大于297MB的文件,预期数据库数据目录对应的文件尺寸增大

    测试步骤

    1)sql server数据库为底层,在书目下对象中上传100MB的文件,数据库数据目录对应文件尺寸会增大,然后删除该记录预期该文件尺寸不会减小

    1. 打开dp2内务,在书目下对象中上传一个297MB的文件,存储到数据库数据目下,查看该目录下对应的文件为335872KB,将这条书目对象中的文件删除,预期数据库不会将空间还给操作系统,再次查看该目录下对应的文件尺寸为335872KB,没有变化符合预期。

      2)将对第一次测试的对象文件删除,再次上传一个小于100MB的文件,预期数据库数据目录对应的文件为第一次上传的尺寸,不会有变化

    2. 继续在在对象中上传一个35MB的文件,小于第一次上传的297MB,预期数据库数据目录对应文件的尺寸不会增大,查看该文件,尺寸依旧是335872KB,符合预期

      3)将之前上传的对象文件删除,再次上传大于297MB的文件,预期数据库数据目录对应的文件尺寸增大

    3. 继续在该对象中上传一个571MB的文件,大于第一次上传的297MB,预期数据库数据目录对应文件的尺寸会增大,查看该文件,尺寸为663552KB,符合预期

      测试结果

      20220707 1659 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期

    20220622 1708WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用sqlserver数据库作为底层,测试结果符合预期。 20220428 1534WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 测试结果符合预期

    SZCND commented 2 years ago

    测试用例6.5

    测试目的

    打开2个前端,登录同一实例,在同一书目下级记录对象中上传文件,预期一个成功,一个失败

    测试步骤

    1. 在2台前端访问同一实例,打开读者窗装载出同一读者,同时在对象属性页上传文件,预期一个上传成功,另一个提示“时间戳”不匹配,测试结果符合预期

      测试结果

      20220707 2043 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1703 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220707 1226 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sqlite数据库为底层,测试结果符合预期 20220705 2118 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期 20220705 1629 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220627 1935 WYC dp2installer ref3.114.8171.41534 dp2内务正式版3.65.8213.27458 oracle数据库为底层,测试结果符合预期 20220622 1713WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用sqlserver数据库作为底层,测试结果符合预期。 20220520 2213WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220519 2152 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217用mysql数据库为底层,测试结果符合预期 20220506 1811-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 用sqlite数据库作为底层,测试结果符合预期

    20220428 1534WYC dp2installer的v3_ref 3.108.8139.41798 dp2内务正式版3.63.8146.18323 测试结果符合预期

    SZCND commented 2 years ago

    测试用例7.1 在opac上翻页预览没有问题

    测试目的

    在OPAC里测试翻页预览,因为从pdf获取每一页的图书是用的dp2kernel访问底层库的功能,预期可以成功翻页

    测试步骤

    1. 打开dp2内务,在书目查询窗中检索出书目,双击进入“种册窗”,在下级记录“对象”中,右键,新增,在“本地物理路径”中选择pdf文件,上传,然后保存
    2. 选中该上传的记录,右键创建维护856字段,在“修改856字段”属性页,直接点“确定”,然后保存。提示保存成功
    3. 打开opac,检索出该书目,看到该书目的“电子资源”处有该pdf文件,单击该文件,进入具体pdf翻页的页面,点击上方的>,每页都可以正确显示,并且可以翻到10页之后,符合预期

      测试结果

      20220707 2053 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 oracle数据库为底层,测试结果符合预期 20220707 1709 WYC dp2library测试版3.123.8223.16346 dp2内务正式版3.65.8217.28421 sql server数据库为底层,测试结果符合预期 20220705 2125 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 mysql数据库为底层,测试结果符合预期 20220705 1634 WYC dp2library测试版:3.123.8220.28779 dp2内务正式版3.65.8217.28421 pgsq数据库为底层,测试结果符合预期。 20220627 1936 WYC dp2installer ref3.114.8171.41534 dp2内务正式版3.65.8213.27458 oracle数据库为底层,测试结果符合预期 20220622 1730WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217 用sqlserver数据库作为底层,测试结果符合预期。 20220520 2213WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8174.19217用sqlite数据库为底层,测试结果符合预期 20220519 2203 WYC dp2installer ref 3.114.8171.41534 dp2内务正式版:3.64.8174.19217用mysql数据库为底层,测试结果符合预期 20220517 2133-WYC dp2installer ref3.114.8171.41534 dp2内务正式版:3.64.8166.41319用pgsql数据库为底层,测试结果符合预期