CN111858385B - Sql数据库的测试方法、装置、设备及存储介质 - Google Patents

Sql数据库的测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111858385B
CN111858385B CN202010773736.8A CN202010773736A CN111858385B CN 111858385 B CN111858385 B CN 111858385B CN 202010773736 A CN202010773736 A CN 202010773736A CN 111858385 B CN111858385 B CN 111858385B
Authority
CN
China
Prior art keywords
test set
test
data
sql database
result
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.)
Active
Application number
CN202010773736.8A
Other languages
English (en)
Other versions
CN111858385A (zh
Inventor
韦炳钦
熊志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Hanyun Technology Co ltd
Original Assignee
Shenzhen Hanyun Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Hanyun Technology Co ltd filed Critical Shenzhen Hanyun Technology Co ltd
Priority to CN202010773736.8A priority Critical patent/CN111858385B/zh
Publication of CN111858385A publication Critical patent/CN111858385A/zh
Application granted granted Critical
Publication of CN111858385B publication Critical patent/CN111858385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据分析领域,公开了一种SQL数据库的测试方法、装置、设备及存储介质。该方法包括:连接待测试的目标SQL数据库和标准SQL数据库;同时发送测试指令至所述目标SQL数据库和所述标准SQL数据库中,获取所述目标SQL数据库生成的第一测试集,并获取所述标准SQL数据库的第二测试集;根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果。

Description

SQL数据库的测试方法、装置、设备及存储介质
技术领域
本发明涉及数据分析领域,尤其涉及一种SQL数据库的测试方法、装置、设备及存储介质。
背景技术
数据库是各类软件实现的基础,因此数据库的功能设计需要保证其可靠性。为了保证可靠性,在数据库的功能设计完成后,需要有各种测试与验证,对数据库的功能进行校验。
在SQL数据库的设计过程中,因为SQL是一种调用数据库的灵活语言,所以当出现新的设计结构时,需要有大量的功能测试,确保每一种设计都能准确实现其功能。大量的测试数据导致每次进行SQL数据库设计都要花费很长的时间,且在使用过程中还需要重复检验,使得SQL的设计变得很繁琐,需要一种能高效的精确的验证SQL数据库的方法。
发明内容
本发明的主要目的在于解决SQL数据库的测试效率低和准确率低的技术问题。
本发明第一方面提供了一种SQL数据库的测试方法,所述SQL数据库的测试方法包括:
连接待测试的目标SQL数据库和标准SQL数据库;
同时发送测试指令至所述目标SQL数据库和所述标准SQL数据库中,获取所述目标SQL数据库生成的第一测试集,并获取所述标准SQL数据库的第二测试集;
根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果。
可选的,在本发明第一方面的第一种实现方式中,所述根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果包括:
判断所述第一测试集中的数据是否存在无效等价类数据;
若不存在,则将所述第一测试集与所述第二测试集进行数据比对,得到比对结果;
若存在,则判断是否设置对所述第一测试集与所述第二测试集进行比对处理;
若设置,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
若未设置,则获取所述标准SQL数据库中的预置预测结果集,以及根据数据的输出顺序,将所述第一测试集和所述预测结果集进行比对处理,得到比对结果;
根据得到的比对结果,生成所述目标SQL数据库的测试结果。
可选的,在本发明第一方面的第二种实现方式中,所述将所述第一测试集与所述第二测试集进行数据比对,得到比对结果包括:
判断所述测试指令是否均存在排序指令;
若均存在排序指令,则将所述第一测试集与所述第二测试集进行逐条比对,生成比对结果;
若不是均存在,则根据预置循环比对算法,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果。
可选的,在本发明第一方面的第三种实现方式中,所述根据预置循环比对算法,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果包括:
计算所述第一测试集中每个数据对应的循环冗余校验值,以及将所有所述循环冗余校验值组合,生成循环冗余校验集;
解析获得所述循环冗余校验集的总数、最小值、最大值,以及获取预置第一阈值,判断所述总数是否大于所述第一阈值;
若所述总数不大于所述第一阈值,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
若所述总数大于所述第一阈值,则获取预置第二阈值,在所述最小值至所述第二阈值与所述最小值之和的范围,抓取所述循环冗余校验集中的循环冗余校验值,生成第一记录表;
根据预置增长值N,在所述最小值与所述增长值N之和至所述第二阈值、所述最小值、所述增长值N之和的范围中,抓取所述循环冗余校验集中的循环冗余校验值,生成第N+1记录表,其中,N取值从1至所述最大值与所述最小值的差值,N为正整数;
根据数据的输出顺序,分别将所述第一记录表和所述第N记录表中对应的与所述预测结果集进行比对处理,得到比对结果。
可选的,在本发明第一方面的第四种实现方式中,所述根据得到的比对结果,生成所述目标SQL数据库的测试结果包括:
读取得到的比对结果中内容,判断所述内容是否为一致;
若所述内容是不一致,则解析所述内容,提取所述第一测试数据与所述第二测试数据中不一致的数据,生成测试记录表格,以及将所述第一测试数据、所述第二测试数据和所述测试记录表格添加到预置测试结果框架中,生成所述目标SQL数据库的测试结果;
若所述内容是一致,则将所述第一测试数据与所述第二测试数据记录到预置测试结果框架中,生成所述目标SQL数据库的测试结果。
可选的,在本发明第一方面的第五种实现方式中,所述根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果包括:
根据预置匹配算法,依次提取所述第一测试集中的第一数据,并依次提取所述第二测试集中的第二数据,判断所述第一数据和所述第二数据是否均存在数据内容;
若不是均存在数据,则判断所述第一测试集和所述第二测试集是否均为空白数据;
若均是空白数据,则确认所述目标SQL数据库的测试结果为匹配;
若不均是空白数据,则确认定所述目标SQL数据库的测试结果为不匹配;
若是均存在数据内容,则根据所述第一数据和第二数据的比对,遍历所述第一测试集和所述第二测试集,得到所述目标SQL数据库的测试结果。
可选的,在本发明第一方面的第六种实现方式中,所述根据所述第一数据和第二数据的比对,遍历所述第一测试集和所述第二测试集,得到所述目标SQL数据库的测试结果包括:
依次提取所述第一测试集中的第一数据,并依次提取所述第二测试集中的第二数据,判断所有所述第一数据与对应的所述第二数据是否均一致;
若是一致,则所述目标SQL数据库的测试结果确认为所述第一测试集和所述第二测试集相互匹配;
若不是一致,则所述目标SQL数据库的测试结果确认为所述第一测试集和所述第二测试集相互不匹配。
本发明第二方面提供了一种SQL数据库的测试装置,包括:
连接模块,用于连接待测试的目标SQL数据库和标准SQL数据库;
发送获取模块,用于同时发送测试指令至所述目标SQL数据库和所述标准SQL数据库中,获取所述目标SQL数据库生成的第一测试集,并获取所述标准SQL数据库的第二测试集;
匹配模块,用于根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果。
本发明第三方面提供了一种SQL数据库的测试设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述SQL数据库的测试设备执行上述的SQL数据库的测试方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的SQL数据库的测试方法。
附图说明
图1为本发明实施例中SQL数据库的测试方法的第一个实施例示意图;
图2为本发明实施例中SQL数据库的测试方法的第二个实施例示意图;
图3为本发明实施例中SQL数据库的测试方法的第三个实施例示意图;
图4为本发明实施例中SQL数据库的测试装置的一个实施例示意图;
图5为本发明实施例中SQL数据库的测试装置的另一个实施例示意图;
图6为本发明实施例中SQL数据库的测试设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种SQL数据库的测试方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中SQL数据库的测试方法的第一个实施例包括:
101、连接待测试的目标SQL数据库和标准SQL数据库;
在本实施例中,标准SQL数据库是已经得到验证的数据库,标准SQL数据库中的指令与功能都是模板,而目标SQL数据库与标准SQL数据库的功能进行比对,经过比对判断是否一致,如果一致则认为目标SQL数据库是合格的,若不一致则认为目标SQL数据库是不合格的。
102、同时发送测试指令至目标SQL数据库和标准SQL数据库中,获取目标SQL数据库生成的第一测试集,并获取标准SQL数据库的第二测试集;
在本实施例中,测试指令可以为:查询学号非空,姓“张”的学生,按照升序并取前三条,具体可以为{Select/sid,sname/from student/where sname like'张%'/and sidis not null/order by sid/limit 3},其中选择sid、sname的科目,中存在“张”的并且不为空,然后使用“order”指令排序,再取前三排号的数据。目标SQL数据库根据测试指令对student表格进行处理,得到第一测试集。标准SQL数据根据测试指令对student表格进行处理,得到第二测试集。
103、根据预置匹配算法,分析第一测试集和第二测试集的匹配关系,得到目标SQL数据库的测试结果。
在本实施例中,第一测试集为{张一XXX,张二YYY,张三ERS},第二测试集为{张1SFx,张二YYY,张四SDD},分析出测试集的数据是不同,则判断目标SQL数据库的测试结果为不匹配。在另一种实施例中,第一测试集为{ERROR 2340},第二测试集为{张1SFx,张二YYY,张四SDD},先判断测试集的是否为无效等价类,发现第一测试集为无效等价类,则判断是否为需要输出比对结果,根据输出数据的输出顺序进行比对,第一个输出的分别是“X”和“张”,然后判断“X”和“张”是否为一致,判断“X”和“张”不一致,则认为目标SQL数据库的测试结果为不匹配。
本发明实施例中,通过使用标准SQL数据库与目标SQL数据库进行测试比对,根据比对结果判断是否目标SQL数据库,实现了高效与准确的测试目标SQL数据库,减少了测试步骤且降低了测试时间,相比于现有技术具有更高的测试速度。
请参阅图2,本发明实施例中SQL数据库的测试方法的第二个实施例包括:
201、连接待测试的目标SQL数据库和标准SQL数据库;
本实施例描述的方法实施例与第一个实施例类似,可以参考前述方法实施例中的对应过程,在此不再赘述。
202、同时发送测试指令至目标SQL数据库和标准SQL数据库中,获取目标SQL数据库生成的第一测试集,并获取标准SQL数据库的第二测试集;
本实施例描述的方法实施例与第一个实施例类似,可以参考前述方法实施例中的对应过程,在此不再赘述。
203、判断第一测试集中的数据是否存在无效等价类数据;
在本实施例中,判断第一测试集是否存在类似{XDFADAD!@#}或者正常数据中夹杂着无效等价类数据。
204、若不存在,则判断测试指令是否均存在排序指令;
在本实施例中,判断{Select/sid,sname/from student/where sname like'张%'/and sid is not null/order by sid/limit 3}是否存在“order”指令,如果存在“order”则存在排序指令,若不存在“order”指令则没有排序指令。
205、若均存在排序指令,则将第一测试集与第二测试集进行逐条比对,生成比对结果;
在本实施例中,存在“order”指令则将排序结果进行逐条比对。
206、若不是均存在,则计算所述第一测试集中每个数据对应的循环冗余校验值,以及将所有所述循环冗余校验值组合,生成循环冗余校验集;
在本实施例中,计算第一测试集中每个数据对应的CRC,将每个CRC写入一个对应的文件夹中,得到循环冗余校验集。
207、解析获得所述循环冗余校验集的总数、最小值、最大值,以及获取预置第一阈值,判断所述总数是否大于所述第一阈值;
在本实施例中,读取循环冗余校验集中CRC的最大值m、最小值n、总数z,读取设置阈值X,判断总数z是否大于阈值X。
208、若所述总数不大于所述第一阈值,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
在本实施例中,如果总数z不大于阈值X,则根据输出顺序进行比对。
209、若所述总数大于所述第一阈值,则获取预置第二阈值,在所述最小值至所述第二阈值与所述最小值之和的范围,抓取所述循环冗余校验集中的循环冗余校验值,生成第一记录表;
在本实施例中,总数z大于阈值X,则获取预置阈值Y,然后读取n和n+Y的范围的CRC,得到第一记录表。
210、根据预置增长值N,在所述最小值与所述增长值N之和至所述第二阈值、所述最小值、所述增长值N之和的范围中,抓取所述循环冗余校验集中的循环冗余校验值,生成第N+1记录表,其中,N取值从1至所述最大值与所述最小值的差值,N为正整数;
在本实施例中,读取n+Y至n+N+Y的范围CRC数据,其中,N=1,2,3…根据N的取值生成,第2记录表、第3记录表、第4记录表…。
211、根据数据的输出顺序,分别将所述第一记录表和所述第N记录表中对应的与所述预测结果集进行比对处理,得到比对结果;
在本实施例中,将第1记录表、第2记录表、第3记录表…之间进行比对,得到比对结果,将不同结果写入进比对结果的表格中。
212、若存在,则判断是否设置对第一测试集与第二测试集进行比对处理;
在本实施例中,如果有无效等价类数据,则将需要判断是否在这种情况下设置为需要匹配。
213、若设置,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
在本实施例中,在本实施例中,不存在“order”指令则根据第一测试集{张一XXX,张二YYY,张三ERS}和第二测试集{XXX张一,YYY张二,张三ERS}的输出数据“X”和“张”进行比对,判断得出不匹配。
214、若未设置,则获取标准SQL数据库中的预置预测结果集,以及根据数据的输出顺序,将第一测试集和预测结果集进行比对处理,得到比对结果;
在本实施例中,如果没有设置比对,则将标准SQL数据库的预测结果集C与目标SQL测试集的第一测试结果,根据输出时间顺序进行比对。
215、读取得到的比对结果中内容,判断内容是否为一致;
在本实施例中,第一测试集{张一XXX,张二YYY,张三ERS}和第二测试集{XXX张一,YYY张二,张三ERS}的输出数据“X”和“张”进行比对,判断“X”和“张”进行比对是否一致。
216、若内容是不一致,则解析内容,提取第一测试数据与第二测试数据中不一致的数据,生成测试记录表格,以及将第一测试数据、第二测试数据和测试记录表格添加到预置测试结果框架中,生成目标SQL数据库的测试结果;
在本实施例中,将“X”和“张”写入CSV表格中,并根据“X”和“张”的比对结果,得到目标SQL数据库的测试结果是不匹配。
217、若内容是一致,则将第一测试数据与第二测试数据记录到预置测试结果框架中,生成目标SQL数据库的测试结果。
在本实施例中,如果是一致,则将结果框架中写明并无不同数据,将目标SQL数据库的测试结果确认为匹配。
本发明实施例中,通过使用标准SQL数据库与目标SQL数据库进行测试比对,根据比对结果判断是否目标SQL数据库,实现了高效与准确的测试目标SQL数据库,减少了测试步骤且降低了测试时间,相比于现有技术具有更高的测试速度。
请参阅图3,本发明实施例中SQL数据库的测试方法的第三个实施例包括:
301、连接待测试的目标SQL数据库和标准SQL数据库;
本实施例描述的方法实施例与第一个实施例类似,可以参考前述方法实施例中的对应过程,在此不再赘述。
302、同时发送测试指令至目标SQL数据库和标准SQL数据库中,获取目标SQL数据库生成的第一测试集,并获取标准SQL数据库的第二测试集;
本实施例描述的方法实施例与第一个实施例类似,可以参考前述方法实施例中的对应过程,在此不再赘述。
303、根据预置匹配算法,依次提取第一测试集中的第一数据,并依次提取第二测试集中的第二数据,判断第一数据和第二数据是否均存在数据内容;
在本实施例中,如果第一数据提取为{},而第二数据提取为{XX}则判断不是均存在。
304、若不是均存在数据,则判断第一测试集和第二测试集是否均为空白数据;
在本实施例中,判断是否存在第一数据{}和第二数据{}均为空白数据。
305、若均是空白数据,则确认目标SQL数据库的测试结果为匹配;
在本实施例中,如果均为空白则认为第一数据{}和第二数据{}是匹配的,当提取的第一数据和第二数据均匹配,则认为第一测试集和第二测试集是匹配。
306、若不均是空白数据,则确认目标SQL数据库的测试结果为不匹配;
在本实施例中,如果不均为空白则认为第一数据{}和第二数据{XX}则认为目标SQL数据库的测试结果为不匹配。
307、若是均存在数据内容,则依次提取第一测试集中的第一数据,并依次提取第二测试集中的第二数据,判断所有第一数据与对应的第二数据是否均一致;
在本实施例中,判断第一数据{ER}和第二数据{XX}是否一致,判断第二个第一数据{EER}和第二数据{XXD}是否一致,判断所有第一数据与对应的第二数据是否一致。
308、若是一致,则目标SQL数据库的测试结果确认为第一测试集和第二测试集相互匹配;
在本实施例中,第一数据{XX}和第二数据{XX},第二个一数据{XJX}和第二数据{XJX},认为第一测试集和第二测试集相互匹配。
309、若不是一致,则目标SQL数据库的测试结果确认为第一测试集和第二测试集相互不匹配。
在本实施例中,第一数据{ER}和第二数据{XX}是否一致,第二个第一数据{EER}和第二数据{XXD},则认为第一测试集和第二测试集相互不匹配。
本发明实施例中,通过使用标准SQL数据库与目标SQL数据库进行测试比对,根据比对结果判断是否目标SQL数据库,实现了高效与准确的测试目标SQL数据库,减少了测试步骤且降低了测试时间,相比于现有技术具有更高的测试速度。
上面对本发明实施例中SQL数据库的测试方法进行了描述,下面对本发明实施例中SQL数据库的测试装置进行描述,请参阅图4,本发明实施例中SQL数据库的测试装置一个实施例包括:
连接模块401,用于连接待测试的目标SQL数据库和标准SQL数据库;
发送获取模块402,用于同时发送测试指令至所述目标SQL数据库和所述标准SQL数据库中,获取所述目标SQL数据库生成的第一测试集,并获取所述标准SQL数据库的第二测试集;
匹配模块403,用于根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果。
本发明实施例中,通过使用标准SQL数据库与目标SQL数据库进行测试比对,根据比对结果判断是否目标SQL数据库,实现了高效与准确的测试目标SQL数据库,减少了测试步骤且降低了测试时间,相比于现有技术具有更高的测试速度。
请参阅图5,本发明实施例中SQL数据库的测试装置的另一个实施例包括:
连接模块401,用于连接待测试的目标SQL数据库和标准SQL数据库;
发送获取模块402,用于同时发送测试指令至所述目标SQL数据库和所述标准SQL数据库中,获取所述目标SQL数据库生成的第一测试集,并获取所述标准SQL数据库的第二测试集;
匹配模块403,用于根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果。
其中,所述发送获取模块402包括:
第一判断单元4021,用于判断所述第一测试集中的数据是否存在无效等价类数据;
第一比对单元4022,用于若不存在,则将所述第一测试集与所述第二测试集进行数据比对,得到比对结果;
第二判断单元4023,用于若存在,则判断是否设置对所述第一测试集与所述第二测试集进行比对处理;
第二比对单元4024,用于若设置,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
第三比对单元4025,用于若未设置,则获取所述标准SQL数据库中的预置预测结果集,以及根据数据的输出顺序,将所述第一测试集和所述预测结果集进行比对处理,得到比对结果;
生成单元4026,用于根据得到的比对结果,生成所述目标SQL数据库的测试结果。
其中,所述第一比对单元4022具体用于:
判断所述测试指令是否均存在排序指令;
若均存在排序指令,则将所述第一测试集与所述第二测试集进行逐条比对,生成比对结果;
若不是均存在,则根据预置循环比对算法,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果。
其中,所述第一比对单元4022还可以具体用于:
计算所述第一测试集中每个数据对应的循环冗余校验值,以及将所有所述循环冗余校验值组合,生成循环冗余校验集;
解析获得所述循环冗余校验集的总数、最小值、最大值,以及获取预置第一阈值,判断所述总数是否大于所述第一阈值;
若所述总数不大于所述第一阈值,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
若所述总数大于所述第一阈值,则获取预置第二阈值,在所述最小值至所述第二阈值与所述最小值之和的范围,抓取所述循环冗余校验集中的循环冗余校验值,生成第一记录表;
根据预置增长值N,在所述最小值与所述增长值N之和至所述第二阈值、所述最小值、所述增长值N之和的范围中,抓取所述循环冗余校验集中的循环冗余校验值,生成第N+1记录表,其中,N取值从1至所述最大值与所述最小值的差值,N为正整数;
根据数据的输出顺序,分别将所述第一记录表和所述第N记录表中对应的与所述预测结果集进行比对处理,得到比对结果。
其中,所述生成单元4026具体用于:
读取得到的比对结果中内容,判断所述内容是否为一致;
若所述内容是不一致,则解析所述内容,提取所述第一测试数据与所述第二测试数据中不一致的数据,生成测试记录表格,以及将所述第一测试数据、所述第二测试数据和所述测试记录表格添加到预置测试结果框架中,生成所述目标SQL数据库的测试结果;
若所述内容是一致,则将所述第一测试数据与所述第二测试数据记录到预置测试结果框架中,生成所述目标SQL数据库的测试结果。
其中,所述匹配模块403包括:
提取单元4031,用于根据预置匹配算法,依次提取所述第一测试集中的第一数据,并依次提取所述第二测试集中的第二数据,判断所述第一数据和所述第二数据是否均存在数据内容;
空白比较单元4032,用于若不是均存在数据,则判断所述第一测试集和所述第二测试集是否均为空白数据;
第一确认单元4033,用于若均是空白数据,则确认所述目标SQL数据库的测试结果为匹配;
第二确认单元4034,用于若不均是空白数据,则确认定所述目标SQL数据库的测试结果为不匹配;
遍历单元4035,用于若是均存在数据内容,则根据所述第一数据和第二数据的比对,遍历所述第一测试集和所述第二测试集,得到所述目标SQL数据库的测试结果。
其中,所述遍历单元4035具体用于:
依次提取所述第一测试集中的第一数据,并依次提取所述第二测试集中的第二数据,判断所有所述第一数据与对应的所述第二数据是否均一致;
若是一致,则所述目标SQL数据库的测试结果确认为所述第一测试集和所述第二测试集相互匹配;
若不是一致,则所述目标SQL数据库的测试结果确认为所述第一测试集和所述第二测试集相互不匹配。
本发明实施例中,通过使用标准SQL数据库与目标SQL数据库进行测试比对,根据比对结果判断是否目标SQL数据库,实现了高效与准确的测试目标SQL数据库,减少了测试步骤且降低了测试时间,相比于现有技术具有更高的测试速度。
上面图4和图5从模块化功能实体的角度对本发明实施例中的SQL数据库的测试装置进行详细描述,下面从硬件处理的角度对本发明实施例中SQL数据库的测试设备进行详细描述。
图6是本发明实施例提供的一种SQL数据库的测试设备的结构示意图,该SQL数据库的测试设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对SQL数据库的测试设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在SQL数据库的测试设备600上执行存储介质630中的一系列指令操作。
基于SQL数据库的测试设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作***631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的SQL数据库的测试设备结构并不构成对基于SQL数据库的测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述SQL数据库的测试方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种SQL数据库的测试方法,其特征在于,包括步骤:
连接待测试的目标SQL数据库和标准SQL数据库;
同时发送测试指令至所述目标SQL数据库和所述标准SQL数据库中,获取所述目标SQL数据库生成的第一测试集,并获取所述标准SQL数据库的第二测试集;
根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果;
其中,所述根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果包括:
判断所述第一测试集中的数据是否存在无效等价类数据;
若不存在,则将所述第一测试集与所述第二测试集进行数据比对,得到比对结果;
若存在,则判断是否设置对所述第一测试集与所述第二测试集进行比对处理;
若设置,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
若未设置,则获取所述标准SQL数据库中的预置预测结果集,以及根据数据的输出顺序,将所述第一测试集和所述预测结果集进行比对处理,得到比对结果;
根据得到的比对结果,生成所述目标SQL数据库的测试结果;
其中,所述将所述第一测试集与所述第二测试集进行数据比对,得到比对结果包括:
判断所述测试指令是否均存在排序指令;
若均存在排序指令,则将所述第一测试集与所述第二测试集进行逐条比对,生成比对结果;
若不是均存在,则根据预置循环比对算法,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
其中,所述根据预置循环比对算法,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果包括:
计算所述第一测试集中每个数据对应的循环冗余校验值,以及将所有所述循环冗余校验值组合,生成循环冗余校验集;
解析获得所述循环冗余校验集的总数、最小值、最大值,以及获取预置第一阈值,判断所述总数是否大于所述第一阈值;
若所述总数不大于所述第一阈值,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
若所述总数大于所述第一阈值,则获取预置第二阈值,在所述最小值至所述第二阈值与所述最小值之和的范围,抓取所述循环冗余校验集中的循环冗余校验值,生成第一记录表;
根据预置增长值N,在所述最小值与所述增长值N之和至所述第二阈值、所述最小值、所述增长值N之和的范围中,抓取所述循环冗余校验集中的循环冗余校验值,生成第N+1记录表,其中,N取值从1至所述最大值与所述最小值的差值,N为正整数;
根据数据的输出顺序,分别将所述第一记录表和所述第N记录表中对应的与所述预测结果集进行比对处理,得到比对结果。
2.根据权利要求1所述的SQL数据库的测试方法,其特征在于,所述根据得到的比对结果,生成所述目标SQL数据库的测试结果包括:
读取得到的比对结果中内容,判断所述内容是否为一致;
若所述内容是不一致,则解析所述内容,提取所述第一测试集与所述第二测试集中不一致的数据,生成测试记录表格,以及将所述第一测试集、所述第二测试集和所述测试记录表格添加到预置测试结果框架中,生成所述目标SQL数据库的测试结果;
若所述内容是一致,则将所述第一测试集与所述第二测试集记录到预置测试结果框架中,生成所述目标SQL数据库的测试结果。
3.根据权利要求1所述的SQL数据库的测试方法,其特征在于,所述根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果包括:
根据预置匹配算法,依次提取所述第一测试集中的第一数据,并依次提取所述第二测试集中的第二数据,判断所述第一数据和所述第二数据是否均存在数据内容;
若不是均存在数据,则判断所述第一测试集和所述第二测试集是否均为空白数据;
若均是空白数据,则确认所述目标SQL数据库的测试结果为匹配;
若不均是空白数据,则确认定所述目标SQL数据库的测试结果为不匹配;
若是均存在数据内容,则根据所述第一数据和第二数据的比对,遍历所述第一测试集和所述第二测试集,得到所述目标SQL数据库的测试结果。
4.根据权利要求3所述的SQL数据库的测试方法,其特征在于,所述根据所述第一数据和第二数据的比对,遍历所述第一测试集和所述第二测试集,得到所述目标SQL数据库的测试结果包括:
依次提取所述第一测试集中的第一数据,并依次提取所述第二测试集中的第二数据,判断所有所述第一数据与对应的所述第二数据是否均一致;
若是一致,则所述目标SQL数据库的测试结果确认为所述第一测试集和所述第二测试集相互匹配;
若不是一致,则所述目标SQL数据库的测试结果确认为所述第一测试集和所述第二测试集相互不匹配。
5.一种SQL数据库的测试装置,其特征在于,所述SQL数据库的测试装置包括:
连接模块,用于连接待测试的目标SQL数据库和标准SQL数据库;
发送获取模块,用于同时发送测试指令至所述目标SQL数据库和所述标准SQL数据库中,获取所述目标SQL数据库生成的第一测试集,并获取所述标准SQL数据库的第二测试集;
匹配模块,用于根据预置匹配算法,分析所述第一测试集和所述第二测试集的匹配关系,得到所述目标SQL数据库的测试结果;判断所述第一测试集中的数据是否存在无效等价类数据;
若不存在,则将所述第一测试集与所述第二测试集进行数据比对,得到比对结果;
若存在,则判断是否设置对所述第一测试集与所述第二测试集进行比对处理;
若设置,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
若未设置,则获取所述标准SQL数据库中的预置预测结果集,以及根据数据的输出顺序,将所述第一测试集和所述预测结果集进行比对处理,得到比对结果;
根据得到的比对结果,生成所述目标SQL数据库的测试结果;
判断所述测试指令是否均存在排序指令;
若均存在排序指令,则将所述第一测试集与所述第二测试集进行逐条比对,生成比对结果;
若不是均存在,则根据预置循环比对算法,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
计算所述第一测试集中每个数据对应的循环冗余校验值,以及将所有所述循环冗余校验值组合,生成循环冗余校验集;
解析获得所述循环冗余校验集的总数、最小值、最大值,以及获取预置第一阈值,判断所述总数是否大于所述第一阈值;
若所述总数不大于所述第一阈值,则根据数据的输出顺序,将所述第一测试集和所述第二测试集进行比对处理,得到比对结果;
若所述总数大于所述第一阈值,则获取预置第二阈值,在所述最小值至所述第二阈值与所述最小值之和的范围,抓取所述循环冗余校验集中的循环冗余校验值,生成第一记录表;
根据预置增长值N,在所述最小值与所述增长值N之和至所述第二阈值、所述最小值、所述增长值N之和的范围中,抓取所述循环冗余校验集中的循环冗余校验值,生成第N+1记录表,其中,N取值从1至所述最大值与所述最小值的差值,N为正整数;
根据数据的输出顺序,分别将所述第一记录表和所述第N记录表中对应的与所述预测结果集进行比对处理,得到比对结果。
6.一种SQL数据库的测试设备,其特征在于,所述SQL数据库的测试设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述SQL数据库的测试设备执行如权利要求1-4中任一项所述的SQL数据库的测试方法。
7.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的SQL数据库的测试方法。
CN202010773736.8A 2020-08-04 2020-08-04 Sql数据库的测试方法、装置、设备及存储介质 Active CN111858385B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010773736.8A CN111858385B (zh) 2020-08-04 2020-08-04 Sql数据库的测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010773736.8A CN111858385B (zh) 2020-08-04 2020-08-04 Sql数据库的测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111858385A CN111858385A (zh) 2020-10-30
CN111858385B true CN111858385B (zh) 2024-02-20

Family

ID=72953206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010773736.8A Active CN111858385B (zh) 2020-08-04 2020-08-04 Sql数据库的测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111858385B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330446A (zh) * 2007-06-21 2008-12-24 中兴通讯股份有限公司 增强专用传输信道的帧协议层帧的解析方法
CN104598883A (zh) * 2015-01-21 2015-05-06 西安理工大学 一种多摄像机监控网络中目标再识别的方法
CN106155014A (zh) * 2016-06-23 2016-11-23 北京东土科技股份有限公司 一种工业互联网现场层宽带总线实时性实现方法
CN107730087A (zh) * 2017-09-20 2018-02-23 平安科技(深圳)有限公司 预测模型训练方法、数据监控方法、装置、设备及介质
CN108009087A (zh) * 2017-11-29 2018-05-08 广州品唯软件有限公司 数据库测试方法、装置及计算机可读存储介质
CN109344056A (zh) * 2018-09-07 2019-02-15 武汉达梦数据库有限公司 一种测试方法以及测试装置
CN109726136A (zh) * 2019-01-28 2019-05-07 上海达梦数据库有限公司 数据库的测试方法、装置、设备和存储介质
CN110209584A (zh) * 2019-06-03 2019-09-06 广东电网有限责任公司 一种测试数据自动生成方法和相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200655B2 (en) * 2009-01-22 2012-06-12 International Business Machines Corporation Query-based generation of data records

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330446A (zh) * 2007-06-21 2008-12-24 中兴通讯股份有限公司 增强专用传输信道的帧协议层帧的解析方法
CN104598883A (zh) * 2015-01-21 2015-05-06 西安理工大学 一种多摄像机监控网络中目标再识别的方法
CN106155014A (zh) * 2016-06-23 2016-11-23 北京东土科技股份有限公司 一种工业互联网现场层宽带总线实时性实现方法
CN107730087A (zh) * 2017-09-20 2018-02-23 平安科技(深圳)有限公司 预测模型训练方法、数据监控方法、装置、设备及介质
CN108009087A (zh) * 2017-11-29 2018-05-08 广州品唯软件有限公司 数据库测试方法、装置及计算机可读存储介质
CN109344056A (zh) * 2018-09-07 2019-02-15 武汉达梦数据库有限公司 一种测试方法以及测试装置
CN109726136A (zh) * 2019-01-28 2019-05-07 上海达梦数据库有限公司 数据库的测试方法、装置、设备和存储介质
CN110209584A (zh) * 2019-06-03 2019-09-06 广东电网有限责任公司 一种测试数据自动生成方法和相关装置

Also Published As

Publication number Publication date
CN111858385A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
JP3201945B2 (ja) データベースのテーブルを比較する方法
CN107665171A (zh) 自动回归测试方法及装置
US20150154097A1 (en) System and method for automated testing
CN111133396B (zh) 生产设备监视装置、生产设备监视方法以及记录介质
CN107451058B (zh) 一种软件开发方法和装置
CN110297767B (zh) 测试用例自动执行方法、装置、设备及存储介质
US10782942B1 (en) Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation
CN111078510B (zh) 一种任务处理进度的记录方法及装置
CN109241163B (zh) 电子凭证的生成方法及终端设备
CN111858385B (zh) Sql数据库的测试方法、装置、设备及存储介质
CN116930727B (zh) 基于电路板的芯片检测方法
CN111124809B (zh) 一种服务器传感器***的测试方法及装置
CN110851344B (zh) 基于计算公式复杂性的大数据测试方法、装置、电子设备
CN106803202B (zh) 一种待测试交易记录的提取方法和装置
CN112613263B (zh) 仿真验证方法、装置、电子设备和计算机可读存储介质
CN111932142A (zh) 方案分组和数据分组方法、装置、设备及存储介质
CN106776264B (zh) 应用程序代码的测试方法和装置
US20140088903A1 (en) Manufacturing control system, amnufacturing control method, and manufacturing control program
CN112631852A (zh) 宏检查方法、装置、电子设备和计算机可读存储介质
CN113125780A (zh) 样本处理方法和装置
CN111695829B (zh) 一种指标波动周期计算方法、装置、存储介质及电子设备
CN114020642A (zh) 大数据任务的测试方法、装置、存储介质和电子设备
CN116010349B (zh) 基于元数据的数据检核方法和装置、电子设备和存储介质
CN113434408B (zh) 一种基于测试预言的单元测试用例排序方法
CN112363922A (zh) 一种测试用例生成方法及其相关设备

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
GR01 Patent grant
GR01 Patent grant