CN101739340B - 一种脚本文件的验证方法和装置 - Google Patents
一种脚本文件的验证方法和装置 Download PDFInfo
- Publication number
- CN101739340B CN101739340B CN2009102609189A CN200910260918A CN101739340B CN 101739340 B CN101739340 B CN 101739340B CN 2009102609189 A CN2009102609189 A CN 2009102609189A CN 200910260918 A CN200910260918 A CN 200910260918A CN 101739340 B CN101739340 B CN 101739340B
- Authority
- CN
- China
- Prior art keywords
- script file
- version
- execution result
- wrong
- database
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种脚本文件的验证方法和装置。其中,所述方法包括:从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,并执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述版本修改信息至少包括修改人账号和脚本文件路径,所述执行结果信息至少包括脚本文件路径和执行结果;将所述版本修改信息和所述错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。根据本发明实施例,可以提高当对脚本文件进行验证时,整个验证过程的工作效率。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种脚本文件的验证方法和装置。
背景技术
在数据库应用软件的开发过程中,通常需要由多个开发人员协同完成整个项目。其中,当每个开发人员完成各自的任务后,分别向数据库提交脚本文件。当将一个项目的所有脚本文件存入数据库后,还需要进行验证。其中,验证过程就是将所有脚本文件实际执行一次,一旦存在一个执行失败的脚本文件,该数据库中的所有脚本文件即为验证不通过。
现有技术中,如果一个数据库中的脚本文件经验证不通过时,后续就需要由相关测试人员手工将该数据库中的所有脚本文件一一打开后,根据错误信息找到数据库中执行失败的错误脚本文件,然后再去查找该错误脚本文件的开发人员是谁,以便由相应的开发人员对错误脚本文件进行修改,之后再进行验证,直到该数据库中的脚本文件验证通过为止。例如,一个开发项目经开发人员开发后,共有100个脚本文件存入数据库,当该数据库的脚本文件经验证没有通过时,需要由相关测试人员将100个脚本文件全部手工打开后,一个文件、一个文件地对比查看,根据错误信息查找到数据库中执行失败的脚本文件,然后再去一一查找所有执行失败的错误脚本文件的开发人员是谁,将错误脚本文件返回给相应的开发人员处进行修改。这种手工式地查找错误脚本文件和错误文件的开发人员的方式执行势必会耗费测试人员大量的时间和精力,进而也使得验证不通过数据库脚本文件不能够得到快速有效的处理,尤其当数据库中保存的脚本文件数目庞大时,更加耗费测试人员大量的时间和精力,最终导致整个验证过程的工作效率低下。
发明内容
为了解决上述技术问题,本发明实施例提供了一种脚本文件的验证方法和装置,以提高当对脚本文件进行验证时,整个验证过程的工作效率。
本发明实施例公开公开了如下技术方案:
一种脚本文件的验证方法,包括:从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,并执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述版本修改信息至少包括修改人账号和脚本文件路径,所述执行结果信息至少包括脚本文件路径和执行结果;将所述版本修改信息和所述错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。
优选的,所述从版本管理工具中获取待验证数据库中脚本文件的版本修改信息包括:从所述版本管理工具中下载待验证数据库中的脚本文件;按照所述版本管理工具中的日志格式,解析当下载脚本文件时所产生的日志文件,得到所述版本修改信息。
优选的,所述版本管理工具包括:并行版本***CVS、VSS或者版本控制***SVN。
优选的,所述执行待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息包括:调用第三方工具执行所述待验证数据库中的脚本文件;按照所述第三方工具中的日志格式,解析当执行脚本文件时所产生的日志文件,得到所述执行结果信息。
优选的,所述第三方工具包括:Java数据库互联JDBC、开放数据库互联ODBC或者Active X数据对象ADO。
优选的,所述将版本修改信息和错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号包括:查找脚本文件路径与所述错误脚本文件的执行结果信息中的脚本文件路径相同的版本修改信息;从查找到得版本修改信息中读取修改人账号,得到所述错误脚本文件的修改人账号。
一种脚本文件的验证装置,包括:验证单元,用于从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,并执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述版本修改信息至少包括修改人账号和脚本文件路径,所述执行结果信息至少包括脚本文件路径和执行结果;匹配单元,用于将所述版本修改信息和所述错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。
优选的,所述验证单元包括:获取单元,用于从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,所述版本修改信息至少包括修改人账号和脚本文件路径;执行单元,用于执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述执行结果信息至少包括脚本文件路径和执行结果。
优选的,所述获取单元包括:下载子单元,用于从所述版本管理工具中下载待验证数据库中的脚本文件;第一解析子单元,用于按照所述版本管理工具中的日志格式,解析当下载脚本文件时所产生的日志文件,得到所述版本修改信息。
优选的,所述执行单元包括:调用子单元,用于调用第三方工具执行所述待验证数据库中的脚本文件;第二解析子单元,用于按照所述第三方工具中的日志格式,解析当执行脚本文件时所产生的日志文件,得到所述执行结果信息。
优选的,所述匹配单元包括:查找单元,用于查找脚本文件路径与所述错误脚本文件的执行结果信息中的脚本文件路径相同的版本修改信息;读取单元,用于从查找到得版本修改信息中读取修改人账号,得到所述错误脚本文件的修改人账号。
由上述实施例可以看出,在脚本文件的验证过程中,分别获取包含脚本文件路径和修改人账号的版本修改信息,以及包含有脚本文件路径和执行结果的错误脚本文件的执行结果信息,将脚本文件路径作为关联条件对将版本修改信息和错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。整个过程都是在验证过程中自动完成,不需要人工干预,进而提高了当对脚本文件进行验证时,整个验证过程的工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种脚本文件的验证方法的一个实施例的流程图;
图2为本发明一种脚本文件的验证方法的另一个实施例的流程图;
图3为本发明中一种脚本文件的验证装置的一个实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
实施例一
请参阅图1,其为本发明一种脚本文件的验证方法的一个实施例的流程图,该方法包括以下步骤:
步骤101:从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,并执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述版本修改信息至少包括修改人账号和脚本文件路径,所述执行结果信息至少包括脚本文件路径和执行结果;
其中,所述从版本管理工具中获取待验证数据库中脚本文件的版本修改信息包括:从所述版本管理工具中下载待验证数据库中的脚本文件;按照所述版本管理工具中的日志格式,解析当下载脚本文件时所产生的日志文件,得到所述版本修改信息。所述版本管理工具包括:并行版本***CVS或者版本控制***SVN。
例如,整个项目中的脚本文件通常都维护在一个数据库中,并采用版本管理工具进行管理,所述的版本管理工具包括并行版本***CVS或者版本控制***SVN,本实施例对管理脚本文件时所使用的版本管理工具并不限定。通常,在一个版本管理工具中管理有多个数据库的脚本文件。当对其中一个数据库中的脚本文件进行验证时,从版本管理工具中下载待验证数据库中的所有脚本文件,当下载待验证数据库中的脚本文件时,每一个脚本文件都会产生一个日志文件,按照版本管理工具中的日志格式,分别从每一个脚本文件的日志文件中解析出该脚本文件的修改人账号和脚本文件路径,即,从日志文件中获取该脚本文件的版本修改信息。在本实施例中,所述的版本修改信息至少包括修改人账号和脚本文件路径。
当采用不同类型的版本管理工具时,所产生的日志文件的日志格式不一样,但对于一个具体的版本管理工具来说,它产生的日志文件的日志格式是固定不变的,只要选择了具体的版本管理工具,就可以得到与选择的版本管理工具相对应的日志格式,然后按照这个日志格式解析日志文件。而日志文件的解析结果除了包括有脚本文件的脚本文件路径和修改人帐号之外,还有其它一些信息,如,以SVN为版本管理工具为例来进行说明,某个脚本文件在SVN上的脚本文件路径是:http://svn.collab.net/repos/svn/trunk/build/install-sh,一个日志文件的记录片段如下:
r37765|arfrever|2009-05-18 07:39:46CST
*build/install-sh:Update with version from GNU Automake 1.11.
在上面这一段日志文件记录片断中,第一行的“r37765”字段是一个修改后的项目版本号;第一行的“arfrever”字段就是修改人帐号,当开发人员要修改版本管理工具中的脚本文件时,必须要先用一个帐号来登陆到版本管理工具后才能修改脚本文件,这个版本管理工具的账号即为修改人账号;第一行的“2009-05-18 07:39:46CST”字段是修改的时间戳;第二行的“*build/install-sh:Update with version from GNU Automake 1.11.”字段是修改人提交的一个说明性的注释信息,表示此次修改了什么或为什么修改。
需要说明的是,对于我们的脚本文件验证过程来说,版本修改信息至少要包括有日志文件中脚本文件路径和修改人账号。
其中,所述执行待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息包括:调用第三方工具执行所述待验证数据库中的脚本文件;按照所述第三方工具中的日志格式,解析当执行脚本文件时所产生的日志文件,得到所述执行结果信息。所述第三方工具包括:Java数据库互联JDBC、开放数据库互联ODBC或者Active X数据对象ADO。
例如,当从版本管理工具中获取待验证数据库中的脚本文件后,调用一个第三方工具执行待验证数据库中的脚本文件,当执行待验证数据库中的脚本文件时,每一个脚本文件都会产生一个日志文件。在上述执行完的脚本文件中,包括有执行成功的正确脚本文件,也有执行失败的错误脚本文件。可以先筛选出执行失败的错误脚本文件,再按照第三方工具中的日志格式,分别从每一个错误脚本文件的日志文件中解析出该错误脚本文件的脚本文件路径和执行结果,即得到了错误脚本文件的执行结果信息。在本实施例中,所述的错误脚本文件的执行结果信息至少包括脚本文件路径和执行结果。
当采用不同类型的第三方工具时,所产生的日志文件的日志格式不一样,但对于一个具体的第三方工具来说,它产生的日志文件的日志格式是固定不变的,只要选择了具体的第三方工具,就可以得到与选择的第三方工具相对应的日志格式,然后按照这个日志格式去解析日志文件。第三方工具执行脚本文件时所产生的日志文件处理包括有脚本文件路径和执行结果之外,还包括执行过程中数据库返回的一些信息,如数据库状态和执行过程中的其它信息等。比例一种通用的日志文件格式如下:
[时间戳][执行脚本文件的路径][执行成功/执行失败]
[执行过程中产生的详细信息..........]
上述格式就是一个比较通用的日志文件格式,当然,当采用其他的第三方工具是,也有其它的日志文件格式。
需要说明的是,对于我们的脚本文件验证过程来说,执行结果信息至少要包括有日志文件中脚本文件路径和执行结果。
还需要说明的是,本实施例并不限定从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息和执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息的执行顺序,也可以同时进行。
步骤102:将所述版本修改信息和所述错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。
其中,所述将版本修改信息和错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号包括:查找脚本文件路径与所述错误脚本文件的执行结果信息中的脚本文件路径相同的版本修改信息;从查找到得版本修改信息中读取修改人账号,得到所述错误脚本文件的修改人账号。
例如,将版本修改信息和错误脚本文件的执行结果信息中的脚本文件路径作为一个关联条件,如共有10个脚本文件,分别对应10个版本修改信息,经过上述步骤101执行后,有3个脚本文件执行失败,分别对应3个错误脚本文件的执行结果信息。在版本修改信息和错误脚本文件的执行结果信息中,都包括有脚本文件路径,通过将版本修改信息中的脚本文件路径和错误脚本文件的执行结果信息中的脚本文件路径进行匹配,得到3个错误脚本文件的版本修改信息,并分别从3个错误脚本文件的版本修改信息中读取到错误脚本文件的修改人账号D1、D2和D3。以便后续可以根据错误脚本文件的修改人账号得到相关的开发人员,最后由错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。
由上述实施例可以看出,在脚本文件的验证过程中,分别获取包含脚本文件路径和修改人账号的版本修改信息,以及包含有脚本文件路径和执行结果的错误脚本文件的执行结果信息,将脚本文件路径作为关联条件对将版本修改信息和错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。整个过程都是在验证过程中自动完成,不需要人工干预,进而提高了当对脚本文件进行验证时,整个验证过程的工作效率。
实施例二
下面以一个具体的应用场景为例,详细说明脚本文件的验证过程。请参阅图2,其为本发明一种脚本文件的验证方法的另一个实施例的流程图,在本实施例中,选用SVN作为版本管理工具,选用JDBC作为第三方工具。并且,为了便于描述脚本文件的验证过程,在本实施例中,将一个项目中的脚本文件数目简化为10个,该10个脚本文件维护在一个数据库中,并由SVN进行管理,该数据库作为一个待验证数据库,则对该待验证数据库中的脚本文件进行验证的过程包括以下步骤:
步骤201:从版本管理工具SVN中分别读取待验证数据库中的10个脚本文件,同时获取10个脚本文件下载时产生的日志文件;
其中,从SVN上下载10个脚本文件,在从SVN上下载脚本文件的同时,分别产生了10个脚本文件的日志文件,该日志文件中不只有10个脚本文件的脚本文件路径和修改人帐号,还有其它信息。
例如,一个日志文件的记录片段如下:
r37765|arfrever|2009-05-18 07:39:46CST
*build/install-sh:Update with version from GNU Automake 1.11.
在上面这一段日志文件记录片断中,第一行的“r37765”字段是一个修改后的项目版本号;第一行的“arfrever”字段就是修改人帐号,当开发人员要修改版本管理工具中的脚本文件时,必须要先用一个帐号来登陆到版本管理工具后才能修改脚本文件,这个版本管理工具的账号即为修改人账号;第一行的“2009-05-18 07:39:46CST”字段是修改的时间戳;第二行的“*build/install-sh:Update with version from GNU Automake 1.11.”字段是修改人提交的一个说明性的注释信息,表示此次修改了什么或为什么修改。
步骤202:解析10个脚本文件的日志文件,从日志文件解析得到脚本文件路径和修改人账号,并将解析结果保存在数据库中的版本修改记录中;
其中,在本实施例中,运用SVN作为版本管理工具,按照SVN日志文件的格式,对SVN的日志文件进行解析。当采用其它版本管理工具时,当版本管理工具确定下来,所采用的日志文件的格式也就确定下来。可以从解析结果中提取出脚本文件路径和修改人账号,并记录在版本修改记录中,该记录包括两列:脚本文件路径,修改人账号,分别对用10个脚本文件进行了记录。
步骤203:调用第三方工具JDBC执行10个脚本文件,同时获取执行失败的错误脚本文件执行时产生的日志文件;
其中,当由JDBC执行10个脚本文件时,会将执行结果记录在日志文件中。当中包括有执行成功的正确脚本文件的日志文件,也包括有执行失败的错误脚本文件的日志文件。从所有的日志文件中获取执行失败的错误脚本文件的日志文件。如,10个脚本文件中,有3个脚本文件执行失败,则获取这3个错误脚本文件的日志文件。
步骤204:解析3个错误脚本文件的日志文件,从日志文件中解析得到错误脚本文件的文件路径和执行结果,并将解析结果保存在数据库中的错误脚本文件的执行结果记录中;
其中,在本实施例中,运用JDBC作为第三方工具,按照JDBC日志文件的格式,对JDBC的日志文件进行解析。当采用其他版本的第三方工具时,当第三方工具确定下来,所采用的日志文件的格式也就确定下来。解析结果不仅仅包括脚本文件路径和执行成功与否的结果,还包括执行过程中数据库返回的一些信息,如数据库状态,执行过程中的信息。可以从解析结果中提取出脚本文件路径和执行结果,并记录在执行结果记录中,该记录包括两列:脚本文件路径,执行结果,分别对3个错误脚本文件进行了记录。
步骤205:从数据库中匹配版本修改记录和执行结果记录,取出符合条件的版本修改记录;
其中,将脚本文件路径作为匹配条件,在版本修改记录和错误脚本文件的执行结果记录中,都包括有脚本文件路径,通过将版本修改记录中的脚本文件路径和错误脚本文件的执行结果记录中的脚本文件路径进行匹配,得到3个错误脚本文件的版本修改记录,并从中得到与错误脚本文件的修改人账号。
步骤206:将符合条件的版本修改记录制成验证报告;
其中,根据版本修改记录中的修改人账号和脚本文件路径制成验证报告,当然,在验证报告中还可以包括其它的附加信息,举例如下:
出错脚本名称 | 重复执行 | 数据库 | 类型 | svn最后修改人帐号 | 中文姓名 |
.\sql\base\vc\createindex.sql | first | sqlserver2000 | create | fengrenfei | 冯仁飞 |
.\sql\base\vc\createindex.sql | first | sqlserver2005 | create | fengrenfei | 冯仁飞 |
这样看到这个验证,大家就很清楚的知道谁的脚本有问题,谁需要修改。其中,出错脚本文件的修改人中文姓名也可以通过匹配过程得到。即,将10个脚本文件的提交人账号和提交人中文姓名在验证前保存在一个用户记录中,存入数据库内,当获得出错脚本文件版本修改记录后,将版本修改记录中的修改人账号和用户记录中的提交人账号进行匹配,得到与错误脚本文件所对应的修改人中文姓名中。
步骤207:将报告内容以HTML的Table标签来组织,然后把验证报告串接成一个HTML结构的文件发送出去。
其中,除了邮件的形式外,也可以以短信或者BBS网页的形式将报告内容进行通告。
由上述实施例可以看出,在脚本文件的验证过程中,分别获取包含脚本文件路径和修改人账号的版本修改信息,以及包含有脚本文件路径和执行结果的错误脚本文件的执行结果信息,将脚本文件路径作为关联条件对将版本修改信息和错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。整个过程都是在验证过程中自动完成,不需要人工干预,进而提高了当对脚本文件进行验证时,整个验证过程的工作效率。
实施例三
与上述一种脚本文件的验证方法相对应,本发明实施例还提供了一种脚本文件的验证装置。请参阅图3,其为本发明一种脚本文件的验证装置的一个实施例的结构图,该装置包括验证单元301和匹配单元302。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
验证单元301,用于从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,并执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述版本修改信息至少包括修改人账号和脚本文件路径,所述执行结果信息至少包括脚本文件路径和执行结果;
匹配单元302,用于将所述版本修改信息和所述错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。
其中,验证单元包括:获取单元3011和执行单元3012,
获取单元3011,用于从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,所述版本修改信息至少包括修改人账号和脚本文件路径;
执行单元3012,用于执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述执行结果信息至少包括脚本文件路径和执行结果。
上述获取单元3011包括:下载子单元,用于从所述版本管理工具中下载待验证数据库中的脚本文件;第一解析子单元,用于按照所述版本管理工具中的日志格式,解析当下载脚本文件时所产生的日志文件,得到所述版本修改信息。
上述执行单元3012包括:调用子单元,用于调用第三方工具执行所述待验证数据库中的脚本文件;第二解析子单元,用于按照所述第三方工具中的日志格式,解析当执行脚本文件时所产生的日志文件,得到所述执行结果信息。
其中,匹配单元302包括:查找单元3021和读取单元3022;
查找单元3021,用于查找脚本文件路径与所述错误脚本文件的执行结果信息中的脚本文件路径相同的版本修改信息;
读取单元3022,用于从查找到得版本修改信息中读取修改人账号,得到所述错误脚本文件的修改人账号。
由上述实施例可以看出,在脚本文件的验证过程中,分别获取包含脚本文件路径和修改人账号的版本修改信息,以及包含有脚本文件路径和执行结果的错误脚本文件的执行结果信息,将脚本文件路径作为关联条件对将版本修改信息和错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改。整个过程都是在验证过程中自动完成,不需要人工干预,进而提高了当对脚本文件进行验证时,整个验证过程的工作效率。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明所提供的一种脚本文件的验证方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种脚本文件的验证方法,其特征在于,包括:
从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,并执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述版本修改信息至少包括修改人账号和脚本文件路径,所述执行结果信息至少包括脚本文件路径和执行结果;所述从版本管理工具中获取待验证数据库中脚本文件的版本修改信息包括:从所述版本管理工具中下载待验证数据库中的脚本文件;按照所述版本管理工具中的日志格式,解析当下载脚本文件时所产生的日志文件,得到所述版本修改信息;所述执行待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息包括:调用第三方工具执行所述待验证数据库中的脚本文件;按照所述第三方工具中的日志格式,解析当执行脚本文件时所产生的日志文件,得到所述执行结果信息;
将所述版本修改信息和所述错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改;所述将版本修改信息和错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号包括:查找脚本文件路径与所述错误脚本文件的执行结果信息中的脚本文件路径相同的版本修改信息;从查找到得版本修改信息中读取修改人账号,得到所述错误脚本文件的修改人账号。
2.根据权利要求1所述的方法,其特征在于,所述版本管理工具包括:并行版本***CVS、VSS或者版本控制***SVN。
3.根据权利要求1所述的方法,其特征在于,所述第三方工具包括:Java数据库互联JDBC、开放数据库互联ODBC或者Active X数据对象ADO。
4.一种脚本文件的验证装置,其特征在于,包括:
验证单元,所述验证单元包括:获取单元和执行单元,所述获取单元用于从版本管理工具中获取待验证数据库中的脚本文件的版本修改信息,所述执行单元,用于执行所述待验证数据库中的脚本文件,得到错误脚本文件的执行结果信息,所述版本修改信息至少包括修改人账号和脚本文件路径,所述执行结果信息至少包括脚本文件路径和执行结果;其中,所述获取单元包括:下载子单元,用于从所述版本管理工具中下载待验证数据库中的脚本文件;第一解析子单元,用于按照所述版本管理工具中的日志格式,解析当下载脚本文件时所产生的日志文件,得到所述版本修改信息;所述执行单元包括:调用子单元,用于调用第三方工具执行所述待验证数据库中的脚本文件;第二解析子单元,用于按照所述第三方工具中的日志格式,解析当执行脚本文件时所产生的日志文件,得到所述执行结果信息;
匹配单元,用于将所述版本修改信息和所述错误脚本文件的执行结果信息进行匹配,得到错误脚本文件的修改人账号,以便由所述错误脚本文件的修改人账号所指示的开发人员对相应的错误脚本文件进行修改;所述匹配单元包括:查找单元,用于查找脚本文件路径与所述错误脚本文件的执行结果信息中的脚本文件路径相同的版本修改信息;读取单元,用于从查找到得版本修改信息中读取修改人账号,得到所述错误脚本文件的修改人账号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102609189A CN101739340B (zh) | 2009-12-17 | 2009-12-17 | 一种脚本文件的验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102609189A CN101739340B (zh) | 2009-12-17 | 2009-12-17 | 一种脚本文件的验证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101739340A CN101739340A (zh) | 2010-06-16 |
CN101739340B true CN101739340B (zh) | 2012-06-06 |
Family
ID=42462854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102609189A Active CN101739340B (zh) | 2009-12-17 | 2009-12-17 | 一种脚本文件的验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101739340B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262555B (zh) * | 2011-08-22 | 2013-11-20 | 迈普通信技术股份有限公司 | 加载java三方库的不同版本的方法和装置 |
CN103885875A (zh) * | 2012-12-21 | 2014-06-25 | ***股份有限公司 | 脚本验证装置及方法 |
CN105488170B (zh) * | 2015-11-30 | 2019-02-12 | 金蝶软件(中国)有限公司 | 一种erp***的信息管理方法及装置 |
CN109271199B (zh) * | 2018-09-11 | 2023-01-10 | 航天信息软件技术有限公司 | 一种用于数据库持续集成与脚本文件管理的方法及*** |
CN109753289B (zh) * | 2019-01-14 | 2023-02-03 | 网易(杭州)网络有限公司 | 一种美术资源合并方法、装置、电子设备和存储介质 |
CN110471665A (zh) * | 2019-06-28 | 2019-11-19 | 平安科技(深圳)有限公司 | 脚本文件校验方法、装置、服务器及存储介质 |
CN112860240B (zh) * | 2021-04-23 | 2021-07-16 | 武汉深之度科技有限公司 | 脚本验证方法、脚本签名方法及计算设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070104202A (ko) * | 2006-04-21 | 2007-10-25 | 골드피처 주식회사 | 휴대폰 소프트웨어 검증을 위한 자동화 테스트 서비스시스템 및 그 방법 |
CN101110020A (zh) * | 2006-07-21 | 2008-01-23 | 国际商业机器公司 | 维护关于可编辑对象中的元素的与原创性有关的信息的方法和*** |
-
2009
- 2009-12-17 CN CN2009102609189A patent/CN101739340B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070104202A (ko) * | 2006-04-21 | 2007-10-25 | 골드피처 주식회사 | 휴대폰 소프트웨어 검증을 위한 자동화 테스트 서비스시스템 및 그 방법 |
CN101110020A (zh) * | 2006-07-21 | 2008-01-23 | 国际商业机器公司 | 维护关于可编辑对象中的元素的与原创性有关的信息的方法和*** |
Non-Patent Citations (2)
Title |
---|
刘啸.主流源码版本管理工具的特色浅析.《程序员》.2008,(第3期),116-118. * |
戴楠 等.用SVN实现软件的版本控制.《电脑知识与技术》.2009,第5卷(第16期),4289-4290、4293. * |
Also Published As
Publication number | Publication date |
---|---|
CN101739340A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023367B1 (en) | Systems and methods for testing a software application | |
CN101739340B (zh) | 一种脚本文件的验证方法和装置 | |
EP2737406B1 (en) | A system and method for identifying fault prone computer code files | |
AU2009322602B2 (en) | Mapping instances of a dataset within a data management system | |
US8150674B2 (en) | Automated testing platform for event driven systems | |
US8782609B2 (en) | Test failure bucketing | |
CN107665171A (zh) | 自动回归测试方法及装置 | |
CN106909510A (zh) | 一种获取测试用例的方法以及服务器 | |
CN102687124A (zh) | 分析查询优化器性能的设备和方法 | |
CN110109829B (zh) | 智能对话自动化校验方法、存储介质 | |
CN105138461A (zh) | 一种应用程序的接口测试方法及装置 | |
CN103248524A (zh) | 基于柔性测试技术的测试数据版本控制方法、装置及*** | |
Mengerink et al. | Empowering OCL research: a large-scale corpus of open-source data from GitHub | |
CN112948473A (zh) | 数据仓库的数据处理方法、装置、***及存储介质 | |
EP3547143B1 (en) | System and method for model-based and behaviour-driven testing | |
CN115203300B (zh) | 一种数据验证方法及装置 | |
CN115858884A (zh) | 一种日志校验方法、装置和产品 | |
US20140025439A1 (en) | Regression free business process management | |
CN109446091B (zh) | 业务实体对象测试方法及装置 | |
CN114238143A (zh) | 应用于接口测试的es数据造数方法、***及存储介质 | |
CN118034777B (zh) | 基于fttr的日志管理与版本控制方法、装置、设备及介质 | |
CN114448851B (zh) | 一种数据自动化测试方法及*** | |
CN107870857A (zh) | 一种针对查询计划生成器进行测试的方法及装置 | |
Huang et al. | Generating REST API Specifications through Static Analysis | |
CN118200407A (zh) | 报文代码的生成方法、装置、计算机设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210312 Address after: 266000 201a, 2nd floor, international ocean Sensor Research Institute, Qingdao Blue Valley technology road, aoshanwei street, Jimo District, Qingdao City, Shandong Province Patentee after: Qingdao Kingdee Software Technology Co.,Ltd. Address before: 518057 High-tech Industrial Village W1-B4, Shennan Avenue, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Kingdee software (China) Co.,Ltd. |