CN108804267A - 数据库轮询方法、装置、计算机设备及存储介质 - Google Patents
数据库轮询方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108804267A CN108804267A CN201810540430.0A CN201810540430A CN108804267A CN 108804267 A CN108804267 A CN 108804267A CN 201810540430 A CN201810540430 A CN 201810540430A CN 108804267 A CN108804267 A CN 108804267A
- Authority
- CN
- China
- Prior art keywords
- database
- change tracking
- tracking information
- field
- monitored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 230000008859 change Effects 0.000 claims abstract description 134
- 238000012360 testing method Methods 0.000 claims abstract description 109
- 230000008569 process Effects 0.000 claims abstract description 42
- 238000001514 detection method Methods 0.000 claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000004140 cleaning Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据库轮询方法、装置、计算机设备及存储介质。该方法包括:按预设的数据库检测周期对待监测数据库中的被监控字段进行检测;若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口;若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值;若检测总时间超出预设时间阈值,跳出当前的测试流程。该方法实现了对数据库中指定信息的快速查询以检测到被监控字段是否转化为预设值,通过状态转化值的发生指定变化来控制测试流程中测试接口的跳转,若状态转化值未能在指定时间内发生变化则自动终止测试流程,减少测试等待时间。
Description
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种数据库轮询方法、装置、计算机设备及存储介质。
背景技术
目前,在自动化测试场景中,当被测试的多个接口需要按照一定的顺序被调用,一旦调用某个接口出现故障时,导致整个测试进程都会停滞在当前节点,无法自动跳出故障点,使得测试效率低下。
发明内容
本申请提供了一种数据库轮询方法、装置、计算机设备及存储介质,旨在解决现有技术中当被测试的多个接口需要按照一定的顺序被调用,一旦调用某个接口出现故障时,无法自动跳出当前接口对应故障点,导致测试效率低下的问题。
第一方面,本申请提供了一种数据库轮询方法,其包括:
按预设的数据库检测周期对待监测数据库中的被监控字段进行检测;
若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口;
若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值;
若检测总时间超出预设时间阈值,跳出当前的测试流程。
第二方面,本申请提供了一种数据库轮询装置,其包括:
字段监控单元,用于按预设的数据库检测周期对待监测数据库中的被监控字段进行检测;
接口跳转单元,用于若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口;
超时检测单元,用于若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值;
跳转结束单元,用于若检测总时间超出预设时间阈值,跳出当前的测试流程。
第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的数据库轮询方法。
第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的数据库轮询方法。
本申请提供一种数据库轮询方法、装置、计算机设备及存储介质。该方法通过按预设的数据库检测周期对待监测数据库中的被监控字段进行检测;若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口;若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值;若检测总时间超出预设时间阈值,跳出当前的测试流程。该方法实现了对数据库中指定信息的快速查询以检测到被监控字段是否转化为预设值,通过状态转化值的发生指定变化来控制测试流程中测试接口的跳转,若状态转化值未能在指定时间内发生变化则自动终止测试流程,减少测试等待时间。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据库轮询方法的示意流程图;
图2是本申请实施例提供的一种数据库轮询方法的子流程示意图;
图3为本申请实施例提供的一种数据库轮询方法的另一子流程示意图;
图4为本申请实施例提供的一种数据库轮询方法的另一子流程示意图;
图5为本申请实施例提供的一种数据库轮询装置的示意性框图;
图6为本申请实施例提供的一种数据库轮询装置的子单元示意性框图;
图7为本申请实施例提供的一种数据库轮询装置的另一子单元示意性框图;
图8为本申请实施例提供的一种数据库轮询装置的另一子单元示意性框图;
图9为本申请实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本申请实施例提供的一种数据库轮询方法的示意流程图。该方法应用于台式电脑、手提电脑、平板电脑等终端中。如图1所示,该方法包括步骤S101~S104。
S101、按预设的数据库检测周期对待监测数据库中的被监控字段进行检测。
假设在测试应用中有下述场景,即自动化测试过程中,自动化脚本在调完A接口后,接下来需要调B接口,但是调用B接口有个前提是需要等待数据库C表中flag字段从D值转化为E值,但是flag字段从D值转化为E值所需时间未知。这就导致自动化测试的过程中若发生flag字段一直未从D值转化为E值,自动化测试流程就一直停滞在调用A接口,无法跳出当前的测试流程以进行下一测试流程。
在本实施例中,设置了按一定周期(即预设的数据库检测周期)对待监测数据库中的被监控字段进行检测,无需测试人员人工查看该字段,实现了自动化监控。
在一实施例中,如图2所示,所述步骤S101包括:
S1011、创建存储有被监测字段的预设值的示例数据库;
S1012、开启数据库更改跟踪;
S1013、对待监测数据库的表启用更改跟踪;
S1014、判断是否对监测数据库的表进行至少一次DML操作;
S1015、若对监测数据库的表进行至少一次DML操作,获取更改跟踪信息,根据更改跟踪信息获取被监控字段的变化值。
在本实施例中,若对监测数据库的表未进行至少一次DML操作则延时等待至下一数据库检测周期,返回至步骤S1014再次进行判断。对待检测数据库(可以立即为监测数据库的表)中指定字段进行监控时,先创建示例数据库,在其中设置并存储有被监测字段的预设值。例如可将C表中的flag字段设置为被监控字段,将flag字段的预设值D存储至示例数据库中。
在开启数据库更改跟踪时,通过set Change Tracking=ON来启用更改跟踪,并通过CHANGE_RETENTION=N DAYS及AUTO_CLEANUP=ON来设置更改跟踪的自动清理周期(即每N天来自动清理一次);还通过查询数据库中指定字段的对应值来判断数据库是否启用更改跟踪(这里是再次核实更改跟踪是否启用),其中指定字段可以为是否启用自动清理字段(is_auto_cleanup_on)、清理周期字段(retention_period)、清理周期单位字段(retention_period_units_desc)。
在一实施例中,如图3所示,所述步骤S1013包括:
S10131、创建用于测试指定字段是否为空的测试表;
S10132、对测试表启用更改跟踪;
S10133、若测试表查询待监测数据库中预设的指定字段的对应值为非空值,对待监测数据库的表启用更改跟踪。
在本实施例中,通过对测试表开启了更改跟踪功能后,对待监测数据库中预设的指定字段进行更改跟踪的检测,可检测查询待监测数据库的表也是否开启更改跟踪。通过测试表查询待监测数据库中预设的指定字段的对应值发生变化时,则认为待监测数据库中启用更改跟踪。通过待监测数据库中启用更改跟踪功能开启,能发现被监测字段的变化,从而及时的提示测试流程进行测试接口的跳转。
在一实施例中,如图4所示,所述步骤S1014包括:
S10141、若对监测数据库的表进行第一次DML操作,得到第一更改跟踪信息;
S10142、若对监测数据库的表进行第二次DML操作,得到第二更改跟踪信息;
S10143、将第一更改跟踪信息与第二更改跟踪信息进行比对,判断第一更改跟踪信息与第二更改跟踪信息是否相同;
S10144、若第一更改跟踪信息与第二更改跟踪信息不同,根据第一更改跟踪信息与第二更改跟踪信息的差异值获取被监控字段的变化值。
在本实施例中,若第一更改跟踪信息与第二更改跟踪信息相同则延时等待至下一数据库检测周期,返回至步骤S10143再次进行判断。具体可通过changes关键词来查看进行DML操作(DML的全称为数据操纵语言,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心)后监测数据库的表所发生的更改信息,且当检测到对监测数据库的表进行第一次DML操作时,即分两次把同样的数据插入到表,得到两个版本的表,并对比两个版本的表而得到第一更改跟踪信息。从中可以发现,两次不同的插入会生成两个版本,这可以证明变更跟踪是跟DML操作是同步的。
在对监测数据库的表进行第二次DML操作时,先对监测数据库的表进行数据更新,再对监测数据库的表进行数据删除,得到两个版本的表,并对比而得到第二更改跟踪信息。
通过将第一更改跟踪信息与第二更改跟踪信息进行比对,在判断得到第一更改跟踪信息与第二更改跟踪信息的差异值为指定列的值发生变化,则可判定示例数据库中被监控字段变化至预设值,从而实现对测试接口的快速切换。
S102、若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口。
在一实施例中,步骤S102包括:
切断与当前测试的调用接口的连接;
获取测试用例中所设置的测试流程中的下一调用接口;
若下一调用接口通过当前测试的调用接口的连接请求,切换至下一调用接口以进行测试。
在本实施例中,若检测到待检测数据库中被监测字段转化为预设值,则表示可提跳出对当前测试的调用接口的数据调用,此时可以先切断与当前测试调用接口的连接,并根据测试用例中所设置的总体测试流程中的下一个调用接口。此时向下一调用接口发出连接请求,在与下一调用接口建立连接成功时则完成接口的切换过程。
S103、若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值。
S104、若检测总时间超出预设时间阈值,跳出当前的测试流程。
在本实施例中,若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值。若未检测到待检测数据库中被监测字段转化为预设值,则表示对当前测试的调用接口的测试还未满足结束条件。为了避免长时间的将测试停留在当前测试的调用接口,可做一超时检测,即判断检测总时间是否超出预设时间阈值。这样,一旦检测到测总时间超出预设时间阈值,则跳出测试流程。
在本实施例中,步骤S104之后还包括步骤S105,即若检测总时间超出预设时间阈值,作为继续当前的测试流程并返回至步骤S103再次进行判断。为了及时的通知测试人员已跳出测试流程,可以在跳出测试流程的同时向测试人员发出测试已中断的通知信息。
可见,该方法实现了对数据库中指定信息的快速查询以检测到被监控字段是否转化为预设值,通过状态转化值的发生指定变化来控制测试流程中测试接口的跳转,若状态转化值未能在指定时间内发生变化则自动终止测试流程,减少测试等待时间。
本申请实施例还提供一种数据库轮询装置,该数据库轮询装置用于执行前述数据库轮询方法的任一实施例。具体地,请参阅图5,图5是本申请实施例提供的一种数据库轮询装置的示意性框图。数据库轮询装置100可以配置于台式电脑、平板电脑、手提电脑、等终端中。
如图5所示,数据库轮询装置100包括字段监控单元101、接口跳转单元102、超时检测单元103、及跳转结束单元104。
字段监控单元101,用于按预设的数据库检测周期对待监测数据库中的被监控字段进行检测。
假设在测试应用中有下述场景,即自动化测试过程中,自动化脚本在调完A接口后,接下来需要调B接口,但是调用B接口有个前提是需要等待数据库C表中flag字段从D值转化为E值,但是flag字段从D值转化为E值所需时间未知。这就导致自动化测试的过程中若发生flag字段一直未从D值转化为E值,自动化测试流程就一直停滞在调用A接口,无法跳出当前的测试流程以进行下一测试流程。
在本实施例中,设置了按一定周期(即预设的数据库检测周期)对待监测数据库中的被监控字段进行检测,无需测试人员人工查看该字段,实现了自动化监控。
在一实施例中,如图6所示,所述字段监控单元101包括:
创建单元1011,用于创建存储有被监测字段的预设值的示例数据库;
第一开启单元1012,用于开启数据库更改跟踪;
第二开启单元1013,用于对待监测数据库的表启用更改跟踪;
DML操作单元1014,用于判断是否对监测数据库的表进行至少一次DML操作;
变化值获取单元1015,用于若对监测数据库的表进行至少一次DML操作,获取更改跟踪信息,根据更改跟踪信息获取被监控字段的变化值。
在本实施例中,对待检测数据库(可以立即为监测数据库的表)中指定字段进行监控时,先创建示例数据库,在其中设置并存储有被监测字段的预设值。例如可将C表中的flag字段设置为被监控字段,将flag字段的预设值D存储至示例数据库中。
在开启数据库更改跟踪时,通过set Change Tracking=ON来启用更改跟踪,并通过CHANGE_RETENTION=N DAYS及AUTO_CLEANUP=ON来设置更改跟踪的自动清理周期(即每N天来自动清理一次);还通过查询数据库中指定字段的对应值来判断数据库是否启用更改跟踪(这里是再次核实更改跟踪是否启用),其中指定字段可以为是否启用自动清理字段(is_auto_cleanup_on)、清理周期字段(retention_period)、清理周期单位字段(retention_period_units_desc)。
在一实施例中,如图7所示,所述第二开启单元1013包括:
测试表创建单元10131,用于创建用于测试指定字段是否为空的测试表;
更改跟踪开启单元10132,用于对测试表启用更改跟踪;
表查询单元10133,用于若测试表查询待监测数据库中预设的指定字段的对应值为非空值,对待监测数据库的表启用更改跟踪。
在本实施例中,通过对测试表开启了更改跟踪功能后,对待监测数据库中预设的指定字段进行更改跟踪的检测,可检测查询待监测数据库的表也是否开启更改跟踪。通过测试表查询待监测数据库中预设的指定字段的对应值发生变化时,则认为待监测数据库中启用更改跟踪。通过待监测数据库中启用更改跟踪功能开启,能发现被监测字段的变化,从而及时的提示测试流程进行测试接口的跳转。
在一实施例中,如图8所示,所述DML操作单元1014包括:
第一获取单元10141,用于若对监测数据库的表进行第一次DML操作,得到第一更改跟踪信息;
第二获取单元10142,用于若对监测数据库的表进行第二次DML操作,得到第二更改跟踪信息;
比对单元10143,用于将第一更改跟踪信息与第二更改跟踪信息进行比对,判断第一更改跟踪信息与第二更改跟踪信息是否相同;
差异获取单元10144,用于若第一更改跟踪信息与第二更改跟踪信息不同,根据第一更改跟踪信息与第二更改跟踪信息的差异值获取被监控字段的变化值。
在本实施例中,具体可通过changes关键词来查看进行DML操作后监测数据库的表所发生的更改信息,且当检测到对监测数据库的表进行第一次DML操作时,即分两次把同样的数据插入到表,得到两个版本的表,并对比两个版本的表而得到第一更改跟踪信息。从中可以发现,两次不同的插入会生成两个版本,这可以证明变更跟踪是跟DML操作是同步的。
在对监测数据库的表进行第二次DML操作时,先对监测数据库的表进行数据更新,再对监测数据库的表进行数据删除,得到两个版本的表,并对比而得到第二更改跟踪信息。
通过将第一更改跟踪信息与第二更改跟踪信息进行比对,在判断得到第一更改跟踪信息与第二更改跟踪信息的差异值为指定列的值发生变化,则可判定示例数据库中被监控字段变化至预设值,从而实现对测试接口的快速切换。
接口跳转单元102,用于若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口。
在一实施例中,接口跳转单元102包括:
连接切断单元,用于切断与当前测试的调用接口的连接;
测试流程获取单元,用于获取测试用例中所设置的测试流程中的下一调用接口;
接口切换控制单元,用于若下一调用接口通过当前测试的调用接口的连接请求,切换至下一调用接口以进行测试。
在本实施例中,若检测到待检测数据库中被监测字段转化为预设值,则表示可提跳出对当前测试的调用接口的数据调用,此时可以先切断与当前测试调用接口的连接,并根据测试用例中所设置的总体测试流程中的下一个调用接口。此时向下一调用接口发出连接请求,在与下一调用接口建立连接成功时则完成接口的切换过程。
超时检测单元103,用于若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值。
跳转结束单元104,用于若检测总时间超出预设时间阈值,跳出当前的测试流程。
在本实施例中,若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值。若未检测到待检测数据库中被监测字段转化为预设值,则表示对当前测试的调用接口的测试还未满足结束条件。为了避免长时间的将测试停留在当前测试的调用接口,可做一超时检测,即判断检测总时间是否超出预设时间阈值。这样,一旦检测到测总时间超出预设时间阈值,则跳出测试流程。
在本实施例中,为了及时的通知测试人员已跳出测试流程,可以在跳出测试流程的同时向测试人员发出测试已中断的通知信息。
可见,该装置实现了对数据库中指定信息的快速查询以检测到被监控字段是否转化为预设值,通过状态转化值的发生指定变化来控制测试流程中测试接口的跳转,若状态转化值未能在指定时间内发生变化则自动终止测试流程,减少测试等待时间。
上述数据库轮询装置可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是终端。该终端可以是平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种数据库轮询方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种数据库轮询方法。
该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:按预设的数据库检测周期对待监测数据库中的被监控字段进行检测;若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口;若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值;若检测总时间超出预设时间阈值,跳出当前的测试流程。
在一实施例中,处理器502还执行如下操作:创建存储有被监测字段的预设值的示例数据库;开启数据库更改跟踪;对待监测数据库的表启用更改跟踪;判断是否对监测数据库的表进行至少一次DML操作;若对监测数据库的表进行至少一次DML操作,获取更改跟踪信息,根据更改跟踪信息获取被监控字段的变化值。
在一实施例中,处理器502还执行如下操作:若对监测数据库的表进行第一次DML操作,得到第一更改跟踪信息;若对监测数据库的表进行第二次DML操作,得到第二更改跟踪信息;将第一更改跟踪信息与第二更改跟踪信息进行比对,判断第一更改跟踪信息与第二更改跟踪信息是否相同;若第一更改跟踪信息与第二更改跟踪信息不同,根据第一更改跟踪信息与第二更改跟踪信息的差异值获取被监控字段的变化值。
在一实施例中,处理器502还执行如下操作:创建用于测试指定字段是否为空的测试表;对测试表启用更改跟踪;若测试表查询待监测数据库中预设的指定字段的对应值为非空值,对待监测数据库的表启用更改跟踪。
在一实施例中,处理器502还执行如下操作:通过changes关键词判断第一更改跟踪信息与第二更改跟踪信息是否相同。
在一实施例中,处理器502还执行如下操作:切断与当前测试的调用接口的连接;获取测试用例中所设置的测试流程中的下一调用接口;若下一调用接口通过当前测试的调用接口的连接请求,切换至下一调用接口以进行测试。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:按预设的数据库检测周期对待监测数据库中的被监控字段进行检测;若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口;若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值;若检测总时间超出预设时间阈值,跳出当前的测试流程。
在一实施例中,该程序指令被处理器执行时实现:创建存储有被监测字段的预设值的示例数据库;开启数据库更改跟踪;对待监测数据库的表启用更改跟踪;判断是否对监测数据库的表进行至少一次DML操作;若对监测数据库的表进行至少一次DML操作,获取更改跟踪信息,根据更改跟踪信息获取被监控字段的变化值。
在一实施例中,该程序指令被处理器执行时实现:若对监测数据库的表进行第一次DML操作,得到第一更改跟踪信息;若对监测数据库的表进行第二次DML操作,得到第二更改跟踪信息;将第一更改跟踪信息与第二更改跟踪信息进行比对,判断第一更改跟踪信息与第二更改跟踪信息是否相同;若第一更改跟踪信息与第二更改跟踪信息不同,根据第一更改跟踪信息与第二更改跟踪信息的差异值获取被监控字段的变化值。
在一实施例中,该程序指令被处理器执行时实现:创建用于测试指定字段是否为空的测试表;对测试表启用更改跟踪;若测试表查询待监测数据库中预设的指定字段的对应值为非空值,对待监测数据库的表启用更改跟踪。
在一实施例中,该程序指令被处理器执行时实现:通过changes关键词判断第一更改跟踪信息与第二更改跟踪信息是否相同。
在一实施例中,该程序指令被处理器执行时实现:切断与当前测试的调用接口的连接;获取测试用例中所设置的测试流程中的下一调用接口;若下一调用接口通过当前测试的调用接口的连接请求,切换至下一调用接口以进行测试。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据库轮询方法,其特征在于,包括:
按预设的数据库检测周期对待监测数据库中的被监控字段进行检测;
若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口;
若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值;
若检测总时间超出预设时间阈值,跳出当前的测试流程。
2.根据权利要求1所述的数据库轮询方法,其特征在于,所述对待监测数据库中的被监控字段进行检测,包括:
创建存储有被监测字段的预设值的示例数据库;
开启数据库更改跟踪;
对待监测数据库的表启用更改跟踪;
判断是否对监测数据库的表进行至少一次DML操作;
若对监测数据库的表进行至少一次DML操作,获取更改跟踪信息,根据更改跟踪信息获取被监控字段的变化值。
3.根据权利要求2所述的数据库轮询方法,其特征在于,所述若对监测数据库的表进行至少一次DML操作,获取更改跟踪信息,根据更改跟踪信息获取被监控字段的变化值,包括:
若对监测数据库的表进行第一次DML操作,得到第一更改跟踪信息;
若对监测数据库的表进行第二次DML操作,得到第二更改跟踪信息;
将第一更改跟踪信息与第二更改跟踪信息进行比对,判断第一更改跟踪信息与第二更改跟踪信息是否相同;
若第一更改跟踪信息与第二更改跟踪信息不同,根据第一更改跟踪信息与第二更改跟踪信息的差异值获取被监控字段的变化值。
4.根据权利要求2所述的数据库轮询方法,其特征在于,所述对待监测数据库的表启用更改跟踪,包括:
创建用于测试指定字段是否为空的测试表;
对测试表启用更改跟踪;
若测试表查询待监测数据库中预设的指定字段的对应值为非空值,对待监测数据库的表启用更改跟踪。
5.根据权利要求3所述的数据库轮询方法,其特征在于,所述判断第一更改跟踪信息与第二更改跟踪信息是否相同包括:
通过changes关键词判断第一更改跟踪信息与第二更改跟踪信息是否相同。
6.根据权利要求1所述的数据库轮询方法,其特征在于,所述若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口,包括:
切断与当前测试的调用接口的连接;
获取测试用例中所设置的测试流程中的下一调用接口;
若下一调用接口通过当前测试的调用接口的连接请求,切换至下一调用接口以进行测试。
7.一种数据库轮询装置,其特征在于,包括:
字段监控单元,用于按预设的数据库检测周期对待监测数据库中的被监控字段进行检测;
接口跳转单元,用于若检测到被监控字段转化为预设值,将当前测试的调用接口切换至下一调用接口;
超时检测单元,用于若未检测到被监测字段转化为预设值,判断检测总时间是否超出预设的时间阈值;
跳转结束单元,用于若检测总时间超出预设时间阈值,跳出当前的测试流程。
8.根据权利要求7所述的数据库轮询装置,其特征在于,所述字段监控单元,包括:
创建单元,用于创建存储有被监测字段的预设值的示例数据库;
第一开启单元,用于开启数据库更改跟踪;
第二开启单元,用于对待监测数据库的表启用更改跟踪;
DML操作单元,用于判断是否对监测数据库的表进行至少一次DML操作;
变化值获取单元,用于若对监测数据库的表进行至少一次DML操作,获取更改跟踪信息,根据更改跟踪信息获取被监控字段的变化值。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的数据库轮询方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的数据库轮询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810540430.0A CN108804267A (zh) | 2018-05-30 | 2018-05-30 | 数据库轮询方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810540430.0A CN108804267A (zh) | 2018-05-30 | 2018-05-30 | 数据库轮询方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108804267A true CN108804267A (zh) | 2018-11-13 |
Family
ID=64089472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810540430.0A Pending CN108804267A (zh) | 2018-05-30 | 2018-05-30 | 数据库轮询方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804267A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857720A (zh) * | 2018-12-20 | 2019-06-07 | 中国平安人寿保险股份有限公司 | 数据库表监控方法、装置、计算机装置及可读存储介质 |
CN110553678A (zh) * | 2019-08-26 | 2019-12-10 | 广州供电局有限公司 | 多传感器系统检测方法、装置、计算机设备和存储介质 |
CN110781051A (zh) * | 2019-09-18 | 2020-02-11 | 北京你财富计算机科技有限公司 | 服务端接口字段监控方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789002A (zh) * | 2010-01-22 | 2010-07-28 | 浪潮(北京)电子信息产业有限公司 | 一种服务器上数据库兼容性的测试的装置及方法 |
US20120016621A1 (en) * | 2010-07-13 | 2012-01-19 | Salesforce.Com, Inc. | Method and system for multi-mode testing through operation interface and scenario abstraction in a multi-tenant database environment |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN106155891A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 接口测试方法、接口描述数据库生成方法及装置 |
CN107179984A (zh) * | 2016-03-10 | 2017-09-19 | 北京京东尚科信息技术有限公司 | 一种接口mock方法及接口测试方法 |
CN107577589A (zh) * | 2016-07-04 | 2018-01-12 | 北京奇虎科技有限公司 | 定时测试广告投放接口的方法及装置 |
CN107977308A (zh) * | 2016-10-25 | 2018-05-01 | 传化物流集团有限公司 | 接口测试方法及装置 |
-
2018
- 2018-05-30 CN CN201810540430.0A patent/CN108804267A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789002A (zh) * | 2010-01-22 | 2010-07-28 | 浪潮(北京)电子信息产业有限公司 | 一种服务器上数据库兼容性的测试的装置及方法 |
US20120016621A1 (en) * | 2010-07-13 | 2012-01-19 | Salesforce.Com, Inc. | Method and system for multi-mode testing through operation interface and scenario abstraction in a multi-tenant database environment |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN106155891A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 接口测试方法、接口描述数据库生成方法及装置 |
CN107179984A (zh) * | 2016-03-10 | 2017-09-19 | 北京京东尚科信息技术有限公司 | 一种接口mock方法及接口测试方法 |
CN107577589A (zh) * | 2016-07-04 | 2018-01-12 | 北京奇虎科技有限公司 | 定时测试广告投放接口的方法及装置 |
CN107977308A (zh) * | 2016-10-25 | 2018-05-01 | 传化物流集团有限公司 | 接口测试方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857720A (zh) * | 2018-12-20 | 2019-06-07 | 中国平安人寿保险股份有限公司 | 数据库表监控方法、装置、计算机装置及可读存储介质 |
CN109857720B (zh) * | 2018-12-20 | 2024-02-02 | 中国平安人寿保险股份有限公司 | 数据库表监控方法、装置、计算机装置及可读存储介质 |
CN110553678A (zh) * | 2019-08-26 | 2019-12-10 | 广州供电局有限公司 | 多传感器系统检测方法、装置、计算机设备和存储介质 |
CN110781051A (zh) * | 2019-09-18 | 2020-02-11 | 北京你财富计算机科技有限公司 | 服务端接口字段监控方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683516B (zh) | 一种应用实例的升级方法、装置和系统 | |
US10255102B2 (en) | Transaction control arrangement for device management system | |
US8281187B1 (en) | Unified and extensible meta-testing framework | |
CN108804267A (zh) | 数据库轮询方法、装置、计算机设备及存储介质 | |
CN110213371A (zh) | 消息消费方法、装置、设备及计算机存储介质 | |
CN109633351B (zh) | 智能it运维故障定位方法、装置、设备及可读存储介质 | |
CN109271331A (zh) | 日志的生成方法、装置、计算机设备及存储介质 | |
CN109815111A (zh) | 灰度测试方法、装置、计算机设备及存储介质 | |
CN106126397A (zh) | 程序崩溃消息的处理方法及系统 | |
CN108197032A (zh) | Ios应用的主线程卡顿监测方法、介质、设备及系统 | |
CN113704117B (zh) | 一种算法测试系统、方法及装置 | |
CN106897207A (zh) | 用户界面测试方法与装置 | |
CN110119280A (zh) | 多固件升级的方法及装置 | |
CN114443332B (zh) | 一种存储池的检测方法、装置、电子设备及存储介质 | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
CN105893029A (zh) | 一种应用程序通知管理方法、装置及移动终端 | |
CN109857391A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN106815137A (zh) | 用户界面测试方法与装置 | |
CN108376110A (zh) | 一种自动检测方法、系统及终端设备 | |
CN108667872A (zh) | 用于调度服务器的存档方法和装置 | |
US9053084B1 (en) | Self-service testing | |
CN112446714A (zh) | 快递售后工单处理系统的服务器升级方法、装置及设备 | |
CN110502429B (zh) | 测试系统的管理方法、装置、设备及存储介质 | |
CN108319679B (zh) | 一种主键的生成方法及装置 | |
CN106850267A (zh) | Ap版本升级方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181113 |
|
WD01 | Invention patent application deemed withdrawn after publication |