dp2Circulation上载下载测试
功能改进
20220429 dp2circulation 正式版更新了,修复了大备份下载没有提示“启动成功”,和无法停止大备份,无法点击下方“刷新”,“一直显示进度”
20220428 dp2circulation 正式版更新了。系统管理窗“内核”属性页的文件下载功能改掉了 bug
20220421 dp2circulation 改变了上载和下载对话框里面的带宽显示单位,为 bits/秒。 测试全部上载和下载文件功能,因为这部分代码又有较大改动。下载功能分在两个地方,一个是大备份同时下载文件;另外一个是系统管理窗内核属性页的专门下载文件。
20220414 dp2installer测试版更新,rest.http协议方式的通道,20分钟以上没有使用,dp2library服务器会自动清理 最新版改进了这个算法,并且为了观察方便,在最新版内务的通道管理窗增加了一个列“最后使用时间”。
测试目录
一、内核下载测试 1.1 内核中某一文件下载完成后,再次下载点击MD5校验,预期不会卡顿 1.2 在内核中下载某一文件,下载一半点击取消,然后将服务器端的文件替换掉,继续从内核断点下载,预期会提示2次文件不匹配 1.3 内核中某一文件正在下载,点击再次下载,点击提示信息的“否”,预期取消再次下载 1.4 内核中某一文件下载完成,再次下载到同一目录,预期提示该文件已存在,是否进行MD5验证 1.5 内核中某一文件下载完成,替换一个相同文件名的文件到服务器,再次下载到同一目录,预期MD5验证为不一致 1.6 内核中某一文件正在下载,点击再次下载到同一个文件目录下面,点击提示信息的“否”,预期会生成新的下载窗口。不会报错 1.7 内核中某一文件正在下载,点击再次下载,点击提示信息的“取消”,预期取消再次下载
二、大备份下载测试 2.1 第一次完成再启动第二次,文件名不同,下载目录不同,预期不会出错 2.2 第一次完成再启动第二次,文件名不同,下载目录相同,预期成功 2.3 第一次完成再启动第二次,文件名一样,下载目录一样,预期服务器端替换,本地目录MD5校验为不一致 2.4 第一次完成再启动第二次,文件名一样,下载目录不同,预期前端2个目录都有文件,服务器端只有第二次的文件 2.5 同时启动2次大备份,文件名相同,选择同时下载,预期无法启动第2次大备份,服务器端只会生成第一次的大备份文件 2.6 同时启动2次大备份,文件名不同,选择同时下载,预期无法启动第2次大备份,服务器端文件为第一次生成的 2.7 启动大备份,选中同时下载文件,点击取消,预期前端暂停下载,服务器端可以生成文件 2.8 同时启动2次大备份,不输入文件名,不选同时下载,服务器端只会有第一次生成的文件 2.9 同时启动2次大备份,不输入文件名,选同时下载,服务器端只会有第一次生成的文件,前端也只有第一次的文件 2.10 同时启动2次大备份,文件名不同,不选同时下载,服务器端只会有第一次生成的文件 2.11 同时启动2次大备份,文件名相同,不选同时下载,服务器端只会有第一次生成的文件 三、dp2library通道清理测试 3.1 20分钟以上不使用,预期自动清理通道 3.2 sipclient连接并登录,发送98,20分钟以内不操作,然后在内务观察,20分钟以后会清理这根通道
测试用例1.1
测试目的
内核中某一文件下载完成后,再次下载点击MD5校验,在此过程中拖动窗口,来回切换其他窗口,预期校验成功
测试步骤
- 打开dp2内务,打开菜单命令,功能/系统维护/系统管理窗/内核/!/backup,下载一个文件,下载完成后再次下载,会提示“是否对它进行服务器侧MD5验证”点击“是”,开始验证。
- 将dp2内务窗口缩小,来回拖动,并打开多个软件,来回切换页面,最后切回到dp2内务,无异常,提示“下列文件中...先前被下载过,并且MD5验证发现和服务器侧文件完全一致,是否删除它们然后重新下载?”。
测试结果
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
20220429 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
20220421 1351-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例1.2
测试目的
在内核中下载某一文件,下载一半点击取消,然后将服务器端的文件替换掉,继续从内核断点下载,预期会提示2次文件不匹配
测试步骤
- 打开dp2内务,在内核中下载某一文件,然后点击取消,将服务器端文件删除,放进去一个和删除文件名相同的文件,在内核处点击下载,会提示是否从断点开始下载,点击“是”,提示“服务器段文件xxx和刚下载的本地文件MD5不匹配”
测试结果
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期 20220429 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期 20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期 20220421 1827-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例1.3
测试目的
内核中某一文件正在下载,点击再次下载,点击提示信息的“否”,预期取消再次下载
测试步骤
- 打开dp2内务,在内核中backup目录中下载某一文件,然后再次下载,会提示“是【断点继续】,否【重新下载】,取消【放弃全部下载】”,点击 否【重新下载】,没有报错同时不会出现新的下载框
测试结果
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
20220429 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
20220421 1939-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例1.4
测试目的
内核中某一文件下载完成,再次下载到同一目录,预期提示该文件已存在,是否进行MD5验证,验证结果为与服务器端的文件一致
测试步骤
- 在dp2内务内核中下载一个名为“a”的文件到桌面,下载完成之后再次下载,提示“该文件已存在,是否对它进行服务器侧MD5验证”,点击“是”,提示“经过MD5验证发现和服务器侧文件完全一致”,随后不继续下载,符合预期
测试结果
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
20220429 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果显示经过MD5验证发现和服务器侧文件完全一致,随后不继续下载,符合预期
20220421 1954-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例1.5
测试目的
内核中某一文件下载完成,将其替换为同名不同内容的文件,预期提示该文件已存在,是否进行MD5验证,验证结果为与服务器端的文件不一致
测试步骤
- 在dp2内务内核中下载一个名为“a”的文件到桌面,下载完成之后替换为同名不同内容的文件,提示“该文件已存在,是否对它进行服务器侧MD5验证”,点击“是”,提示“经过MD5验证发现和服务器侧文件不一致”,符合预期
测试结果
20220429 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
20220421 1956-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例2.1
测试目的
启动2次大备份,文件名不同,下载目录不同,预期不会出错
测试步骤
- 打开dp2内务,点击菜单命令,功能/系统维护/批处理任务窗,启动大备份下载,先起一个文件名“a”,然后点击同时下载文件,选好一个目录“1”,开始自动下载。等待3分钟下载完成。
- 第一个大备份下载完之后,启动第二个,文件名为“b”,目录为“2”,等待3分钟下载完成,没有出错
- 打开服务器端的文件夹,两次的大备份下载文件都存在
测试结果
20220614 1113 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期
20220429 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
20220421 1920-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试结果2.2
测试目的
启动2次大备份,文件名不同,下载目录相同,预期都能成功下载
测试步骤
- 启动大备份下载,先起一个文件名“a”,然后点击同时下载文件,选好一个目录“1”,开始自动下载。等待3分钟下载完成。
- 再次启动大备份下载,起一个文件名“b”,然后点击同时下载文件,选好一个目录“1”,等待3分钟下载完成,没有错误提示
测试结果
20220614 1121 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期
20220429 1619 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
20220421 2008-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例2.3
测试目的
启动2次大备份,文件名一样,下载目录一样,预期服务器端文件被替换,本地MD5校验与服务器不一致,还是第二次大备份的文件
测试步骤
- 启动大备份下载,先起一个文件名“a”,然后点击同时下载文件,选好一个目录“1”,开始自动下载。等待3分钟下载完成。
- 再次启动大备份下载,文件名为“a”,勾选同时下载文件,服务器端直接开始生成大备份文件,前端提示两次是否要进行MD5验证,等待2次提示倒计时结束,前端提示“本地目录下的文件先前被下载过,但MD5验证发现和服务器端的不一致,是否删除重新下载?”点击取消,等待下载完成在本地目录查看,文件是第一次大备份的。在服务器端查看,文件是第二次大备份的
测试结果
20220614 1131 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期
20220429 1638 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
20220421 2050-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例2.4
测试目的
启动2次大备份,文件名一样,下载目录不同,预期不报错
测试步骤
- 启动大备份下载,先起一个文件名“a”,然后点击同时下载文件,选好一个目录“1”,开始自动下载。等待3分钟下载完成。
- 再次启动大备份下载,文件名为“a”,勾选同时下载文件,服务器端直接开始生成大备份文件,目录选择与第一次下载的不同,等待3分钟下载完成。查看前端两个目录都有文件,服务器端只有第二次的大备份文件,选中该文件,右键-属性,修改时间为第二次大备份的实际,符合预期
测试结果
20220614 1121 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期 20220429 1643 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 测试结果符合预期 20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期 20220421 2100-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例2.5
测试目的
同时启动2次大备份,文件名相同,预期只会生成第一次的大备份文件
测试步骤
- 在dp2内务批处理任务窗中,启动大备份,文件名为“a”,选择同时下载文件,再次启动大备份,选择相同的名字并勾选下载文件,提示“大备份已经在运行中,不能重复启动”,服务器端文件还是第一次的大备份生成的文件。
测试结果
20220614 1141 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期
20220429 2022 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
20220421 2153-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例2.6
测试目的
同时启动2次大备份,文件名不同,预期无法启动2次大备份,也没有断点重新下载的提示
测试步骤
- 在dp2内务批处理任务窗中,启动大备份,文件名为“a”,选择同时下载文件,再次启动大备份,选择不同的名字并勾选下载文件,提示“大备份已经在运行中,不能重复启动”,查看服务器端文件还是第一次的大备份生成的。
测试结果
20220614 1147 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期 20220429 2025 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期 20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期 20220421 2205-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例3.1
测试目的
rest.http 协议方式的通道,20 分钟以上没有使用,dp2library 服务器会自动清理这样的通道。不到20分钟,通道不会被切断。操作完之后立刻关闭内务,通道会马上切断
测试步骤
- 打开2个dp2内务,用rest.http协议登录同一个实例,其中一台进行借还,检索操作,然后停止使用。另外一台打开通道管理窗进行观察。等待大约23分钟之后,进行密集操作的通道被切断,结果符合预期
- 一台内务进行借还检索操作,另一台观察,没到20分钟通道不会被切断。
- 一台内务进行借还检索,然后退出内务,另一台观察,发现通道立马被切断。
测试结果
20220516 2023-WYC dp2library正式版3.115.8168.38505 dp2内务正式版3.64.8166.41319 使用net.pipe net.tcp basic rest.http协议进行通道测试, 结果符合预期 给云服务器上的dp2library分配一个序列号,限制1个用户IP连接,然后登录内务,在通道窗查看为localhost,打开另一台前端,通道管理窗的IP为具体地址,打开第三台不同网络的前端登录,预期失败,提示“前端机器数量已到达1个,请先释放通道再重新访问”,符合预期
20220427 wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期 20220422 1047-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期
测试用例1.6
测试目的
内核中某一文件正在下载,点击再次下载到同一个文件目录下面,点击提示信息的“否”,预期会生成新的下载窗口。不会报错
测试步骤
- 打开dp2内务,在内核中backup目录中下载某一文件,
- 界面会跳出正在下载的窗口。
- 然后再次下载这个文件,下载地址放在同一个目录下面。会提示“是【断点继续】,否【重新下载】,取消【放弃全部下载】”,点击 是【断点继续】,会出现新的下载框,同时没有报错。
测试结果
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
20220428 dp2circulation 正式版更新了。系统管理窗“内核”属性页的文件下载功能改掉了 bug,预期无法启动第二次下载,会提示失败 20220429 1120 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8153.39637 第二次启动时,选择的下载位置与第一次相同,提示“下载!xxx文件到C:XXX路径的过程出错,文件xxx.tmp”正由另一进程使用,因此该进程无法访问此文件
20220428 -wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 当启动二次下载时,会出现新的下载框,但是不会进行下载
测试用例2.7
测试目的
启动大备份,选中同时下载文件,点击取消,预期前端暂停下载,服务器端可以生成文件
测试步骤
- 在dp2内务批处理任务窗中,启动大备份,文件名为“a”,选择同时下载文件,下载到一半点击“取消”,提示“下载xxx文件过程中出错,中断”,点击“确定”,等待3分钟,查看前端下载目录位置,文件为tmp,查看服务器端,文件为dp2bak文件,符合预期
测试结果
20220614 1151 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
测试用例2.8
测试目的
同时启动2次大备份,不输入文件名,不选同时下载,服务器端只会有第一次生成的文件
测试步骤
- 在dp2内务批处理任务窗中,启动大备份,不输入文件名,不选同时下载,下载过程中,再次启动大备份,预期提示“任务大备份 已经在运行中,不能重复启动,本次操作激活了这个任务”,查看服务器端显示的内容,没有断点重下的提示。
- 打开服务器端目录,只有第一次启动的大备份文件,符合预期。
测试结果
20220614 1153 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
测试用例2.9
测试目的
同时启动2次大备份,不输入文件名,选同时下载,服务器端只会有第一次生成的文件,前端也只有第一次的文件
测试步骤
- 在dp2内务批处理任务窗中,启动大备份,不输入文件名,选择同时下载,第一次下载可以指定目录,第二次无法指定目录,并提示“任务大备份 已经在运行中,不能重复启动,本次操作激活了这个任务”,查看服务器端显示的内容,没有断点重下的提示
- 打开服务器端目录,只有第一次启动的大备份文件,打开前端目录,也只有第一次的大备份下载文件,符合预期
测试结果
20220614 1159 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
测试用例2.10
测试目的
同时启动2次大备份,文件名不同,不选同时下载,服务器端只会有第一次生成的文件
测试步骤
- 在dp2内务批处理任务窗中,启动大备份,文件名输入a,不选择同时下载文件第二次启动,文件名输入b,启动失败,并提示“任务大备份 已经在运行中,不能重复启动,本次操作激活了这个任务”,查看服务器端显示的内容,没有断点重下的提示
- 打开服务器端目录,只有第一次启动的大备份文件,符合预期
测试结果
20220614 1208 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期
20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
测试用例2.11
测试目的
同时启动2次大备份,文件名相同,不选同时下载,服务器端只会有第一次生成的文件
测试步骤
- 在dp2内务批处理任务窗中,启动大备份,文件名输入a,不选择同时下载文件,第二次启动,文件名还是输入a,启动失败,并提示“任务大备份 已经在运行中,不能重复启动,本次操作激活了这个任务”,查看服务器端显示的内容,没有断点重下的提示
- 打开服务器端目录,只有第一次启动的大备份文件,符合预期
测试结果
20220614 1215 WYC-dp2library测试版3.120.8200.17415 dp2内务测试版3.65.8200.17209 测试结果符合预期 20220429 2027 WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8154.35152 测试结果符合预期
测试用例3.2 sipclient连接并登录,发送98,20分钟以内不操作,然后在内务观察,20分钟以后会清理这根通道
测试目的
(先重启dp2library保持环境干净)capo和library之间用net.pipe来连接,然后正常用login,然后发送98,20分钟以内不操作,然后在内务观察,20分钟以后会清理这根通道
测试步骤
- 打开dp2sipclient工具,在服务器参数区域输入IP地址,端口号,编码方式,然后点击“连接”。在登录区域输入正确的账号名“zizhu1@T800”,输入密码x然后点击登录,看到右侧提示信息,发送93返回941表示登录成功,然后发送98,右侧发送99,返回98Y,代表获取服务器状态成功。等待20分钟
- 打开dp2内务用rest.http协议登录,打开通道窗,点击刷新,有2根通道,其中一根是zizhu1账户登录的20分钟之后该通道被清理,符合预期
用dp2installer ref版本测试,到20分钟没有切断 说明:library service有个sessioninfo的成员,如果有值会去释放它,挂着一个通道,一个session,如果没有值不会去释放,什么时候没有值?这是有可能的,因为有些API叫clock,获得服务器的时钟,这个没有什么隐私和安全性,所有public上来都可以,不用登录。一般情况下都是先登录,然后再做其它操作,但是getclock不需要登录,这种情况下不需要有sessioninfo,但是需要登录的,需要管理它的权限的,比如结果集,要保存起来的什么才要有sessioninfo,就等于他长记性了,有了sessioninfo以后等于在dispose时候会在sessiontable里面释放它,等于说sessioninfo挂在这里很重要,不能去擦除,因为它代表了存储空间,如果丢掉了session等于出门丢掉了钥匙,等于钥匙不重要,开门的家才重要。一旦sessioninfo被设成空了以后实际上用户通道没有去delete session,没有去释放的话它就泄露了,下次这个通道还会有人来用,他一看,sessioninfo等于空,又去初始化,又去new一次,等于这个通道永远没人用,但是新来又发生一根通道,又把它挂到sessioninfo上了,这就是泄漏。就能在内务通道窗中看到它,过了20分钟永远没人去操作,也操作不了它,所以就一直呆在那
测试结果
20220519 1635-WYC dp2library正式版:3.117.8173.30159 dp2内务正式版:3.64.8174.19217 dp2capo正式版:1.43.8128.19467 dp2sipclient1.0.0.29 测试结果符合预期
4种协议测试
使用net.pipe协议登录的内务,在关闭后通道会被切掉 一台电脑用basic协议登录内务,作为观察用,另一台电脑先打开1个内务,在书目查询窗中检索一共显示2根通道,再启动一个内务,显示3根通道,将有2根通道的内务关闭,只显示一根通道,就是刚才打开的内务
使用net.tcp协议登录内务,作为观察电脑,在另一台电脑上用basic协议打开一个内务,在书目查询窗中检索,并双击进入种册窗,观察一共有2根通道,将basic协议登录的内务关闭,通道被切断,只剩下观察的net.tcp协议的通道
rest.http协议登录,作为测试用。basic协议作为观察用,rest.http协议登录的内务20分钟内不操作,到时间后全部切断了。符合预期
basic协议登录,作为测试用。net.pipe协议登录作为观察用,basic协议登录的内务20分钟内不操作,到时间后全部切断了
测试结果
20220620 2042 -WYC dp2library测试版3.121.8206.30561 dp2内务测试版3.65.8203.22689 测试结果符合预期
20220519 1635-WYC dp2library正式版:3.117.8173.30159 dp2内务正式版:3.64.8174.19217 dp2capo正式版:1.43.8128.19467 dp2sipclient1.0.0.29 测试结果符合预期