CN113505078A - 配置文件更新方法、装置、设备及存储介质 - Google Patents

配置文件更新方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113505078A
CN113505078A CN202110846668.8A CN202110846668A CN113505078A CN 113505078 A CN113505078 A CN 113505078A CN 202110846668 A CN202110846668 A CN 202110846668A CN 113505078 A CN113505078 A CN 113505078A
Authority
CN
China
Prior art keywords
configuration file
environment configuration
attribute
test
item group
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
Application number
CN202110846668.8A
Other languages
English (en)
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202110846668.8A priority Critical patent/CN113505078A/zh
Publication of CN113505078A publication Critical patent/CN113505078A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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/368Test management for test version control, e.g. updating test cases to a new software version

Abstract

本发明涉及自动化测试工具技术领域,本发明公开了一种配置文件更新方法、装置、设备及存储介质,所述方法包括:通过接收测试环境配置检验请求,获取测试环境配置检验请求中的测试版本;从版本管理中心中获取生产环境配置文件和测试环境配置文件;运用快速字符串比对算法,比对生产环境配置文件和测试环境配置文件,得到测试比对结果;运用key‑value差异法,对测试比对结果进行分组,得到多个功能项组;对各功能项组执行与功能项组相对应的检验操作,得到检验结果;在检测到检验结果中的各功能项组的检验项均为合格时,生成更新代码并执行,更新测试环境配置文件。因此,本发明实现了自动更新测试环境配置文件,确保环境配置文件在测试过程中的正确性。

Description

配置文件更新方法、装置、设备及存储介质
技术领域
本发明涉及自动化测试工具技术领域,尤其涉及一种配置文件更新方法、装置、设备及存储介质。
背景技术
目前,随着互联网的快速发展,由于微服务能满足多元化的需求,具有灵活多样性,微服务越来越广泛应用,以致微服务框架下的微服务越来越庞大,微服务的环境配置文件的更新发布也越来越频繁,而每次发布微服务的生产环境时,都需要人工对当前的生产环境配置文件进行新增配置或修改配置,在此过程中容易出现人工遗漏或输入错误等人工失误,所以环境配置文件的更新的准确率不稳定、以及周期较长,无法很好地满足微服务的更新频率,大大降低了微服务的用户体验满意度。
发明内容
本发明提供一种配置文件更新方法、装置、计算机设备及存储介质,实现了自动更新测试环境配置文件,确保了环境配置文件在测试过程中的正确性,提高了环境配置文件的准确率。
一种配置文件更新方法,包括:
接收测试环境配置检验请求,获取所述测试环境配置检验请求中的测试版本;
从版本管理中心中获取与所述测试版本对应的生产环境配置文件和测试环境配置文件;
运用快速字符串比对算法,比对所述生产环境配置文件和所述测试环境配置文件,得到测试比对结果;
运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组;
对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果;
在检测到所述检验结果中的各功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心的测试环境配置文件。
一种配置文件更新装置,包括:
接收模块,用于接收测试环境配置检验请求,获取所述测试环境配置检验请求中的测试版本;
获取模块,用于从版本管理中心中获取与所述测试版本对应的生产环境配置文件和测试环境配置文件;
对比模块,用于运用快速字符串比对算法,比对所述生产环境配置文件和所述测试环境配置文件,得到测试比对结果;
分组模块,用于运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组;
检验模块,用于对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果;
更新模块,用于在检测到所述检验结果中的各功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心的测试环境配置文件。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述配置文件更新方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述配置文件更新方法的步骤。
本发明提供的配置文件更新方法、装置、计算机设备及存储介质,通过接收测试环境配置检验请求,获取所述测试环境配置检验请求中的测试版本;从版本管理中心中获取与所述测试版本对应的生产环境配置文件和测试环境配置文件;运用快速字符串比对算法,比对所述生产环境配置文件和所述测试环境配置文件,得到测试比对结果;运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组;对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果;在检测到所述检验结果中的各功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心的测试环境配置文件,如此,实现了通过版本管理中心统一管理,以及运用快速字符串比对算法和key-value差异法,划分出多个功能项组,并执行相应的检验操作,自动更新测试环境配置文件,确保了环境配置文件在测试过程中的正确性,提高了环境配置文件的准确率,大大缩短了检验测试环境配置文件的周期,改善了环境配置文件的更新效率,完全满足更新频率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中配置文件更新方法的应用环境示意图;
图2是本发明一实施例中配置文件更新方法的流程图;
图3是本发明一实施例中配置文件更新方法的步骤S40的流程图;
图4是本发明一实施例中配置文件更新方法的步骤S50的流程图;
图5是本发明一实施例中配置文件更新装置的原理框图;
图6是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的配置文件更新方法,可应用在如图1的应用环境中,其中,客户端(计算机设备或终端)通过网络与服务器进行通信。其中,客户端(计算机设备或终端)包括但不限于为各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种配置文件更新方法,其技术方案主要包括以下步骤S10-S60:
S10,接收测试环境配置检验请求,获取所述测试环境配置检验请求中的测试版本。
可理解地,在微服务已经部署完毕之后,在当前的生产环境的基础上,需要对所述测试版本进行测试时,即对所述测试版本进行提测时,触发所述测试环境配置检验请求,所述测试版本为赋予需要测试的环境一个唯一的版本编号。
S20,从版本管理中心中获取与所述测试版本对应的生产环境配置文件和测试环境配置文件。
可理解地,所述版本管理中心为管理所有版本的管理中心,所述版本管理中心存储了所有基线版本所对应的当前的生产环境配置文件,以及所有所述测试环境配置文件,所述测试版本包括基线版本和分支版本,从所述版本管理中心中查找与所述基线版本对应的当前的所述生产环境配置文件,同时查找与所述基线版本和所述分支版本均匹配的所述测试环境配置文件,所述生产环境配置文件为发布微服务应用的环境所需的配置文件,所述测试环境配置文件为测试应用的环境所需的配置文件。
S30,运用快速字符串比对算法,比对所述生产环境配置文件和所述测试环境配置文件,得到测试比对结果。
可理解地,所述快速字符串比对算法为称为KMP算法,即将所述字符串词条信息中的各组字符串组作为一个模式字符串,以所述生产环境配置文件作为基准,将所述生产环境配置文件中的字符串作为主字符串,将所述测试环境配置文件中的字符串作为模式字符串,在模式字符串和主字符串查找匹配时,各有一个指针指向当前进行匹配的字符(主字符串中是指针i,模式字符串中是指针j),在保证i指针不回溯的前提下,就只能让j指针回溯,其中,主字符串为需匹配的字符串,即所述指令数据,模式字符串为被匹配的字符串,即所述更新指令,i为主字符串中记录匹配进度的指针,j为指针回溯的距离,相当于模式字符串向右移动的距离,即当某字符匹配失败后,j指针回溯的位置,对于一个给定的模式字符串,其中,每个字符都有可能会遇到匹配失败,这时对应的j指针都需要回溯,具体回溯的位置由模式字符串本身来决定的,和主字符串没有关系,模式字符串中的每个字符所对应j指针回溯的位置,可以通过算法得出,得到的结果相应地存储在一个数组中(默认数组名为next),该算法为对于模式字符串中的某一字符来说,提取它前面的字符串,分别从字符串的两端查看连续相同的字符串的个数,在其基础上“+1”,结果就是该字符对应的j值,每个模式串的第一个字符对应的值为0,第二个字符对应的值为1,例如:求模式字符串“abcabac”的next,前两个字符对应的0和1是固定的,对于字符‘c’来说,提取字符串“ab”,‘a’和‘b’不相等,相同的字符串的个数为0,0+1=1,所以‘c’对应的next值为1;第四个字符‘a’,提取“abc”,从首先‘a’和‘c’就不相等,相同的个数为0,0+1=1,所以,‘a’对应的next值为1;第五个字符‘b’,提取“abca”,第一个‘a’和最后一个‘a’相同,相同个数为1,1+1=2,所以,‘b’对应的next值为2;第六个字符‘a’,提取“abcab”,前两个字符“ab”和最后两个“ab”相同,相同个数为2,2+1=3,所以,‘a’对应的next值为3;最后一个字符‘c’,提取“abcaba”,第一个字符‘a’和最后一个‘a’相同,相同个数为1,1+1=2,所以‘c’对应的next值为2;所以,字符串“abcabac”对应的next数组中的值为(0,1,1,1,2,3,2),所述快速字符串比对算法和普通的匹配算法都是从主字符串开头开始匹配,但是在匹配过程中,所述快速字符串比对算法记录了一些必要的信息,根据该信息,在后续的匹配过程中,跳过了无意义的匹配过程,例如:主字符串为“ababcabcacbab”,模式字符串为“abcac”,模式字符串对应的next值为(0,1,1,1,2),匹配的过程为在匹配失败的时候,i指针不动,j指针根据其在next值中对应的值进行回退到指定位置,如此,可以发现快速字符串比对算法只需要匹配3次,而普通的查找算法需要匹配6次,因此,所述快速字符串比对算法比普通的比对算法速度要快。
其中,运用所述快速字符串比对算法,将比对过程中存在差异的字符串汇总输出成所述测试比对结果,所述测试比对结果表征了所述生产环境配置文件和所述测试环境配置文件之间差异的内容,所述测试比对结果包括属性(key)和与其对应的值(value),所述测试比对结果包括不一致的属性,以及在相同的属性下不同的值。
S40,运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组。
可理解地,所述key-value差异法为根据两个文件中的属性(key)和与其对应的值(value)的差异划分出不同的功能项组的方法,所述功能项组包括新增项组、缺项组、豁免项组和值差异项组,所述新增项组表明了所述测试环境配置文件中比所述生产环境配置文件新增的属性及与该属性对应的值,所述缺项组表明了所述测试环境配置文件中比所述生成环境配置文件缺少的属性及与该属性对应的值,所述豁免项组表明了所述测试环境配置文件和所述生产环境配置文件中一致的属性允许其值不一致的情况,所述值差异项组表明了所述测试环境配置文件和所述生产环境配置文件中一致的属性理论不允许其值不一致的情况。
在一实施例中,如图3所示,所述步骤S40中,即所述运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组,包括:
S401,在所述对比结果中,运用key-value差异法将仅在所述测试环境配置文件中存在的属性及与该属性对应的值确定为新增项组,同时将仅在所述生产环境配置文件中存在的属性及与该属性对应的值确定为缺项组,以及将所述测试环境配置文件和所述生产环境配置文件之间相同的属性确定为差异属性。
可理解地,所述key-value差异法为根据两个文件中的属性(key)和与其对应的值(value)的差异划分出不同的功能项组的方法,所述功能项组包括新增项组、缺项组、豁免项组和值差异项组,所述新增项组为在所述生产环境配置文件中没有的属性及值,但在所述测试环境配置文件中存在的属性及值,所述缺项组为在所述生产环境配置文件中存在的属性及值,但在所述测试环境配置文件中没有的属性及值,所述差异属性为在所述生产环境配置文件和所述测试环境配置文件中均存在的相同的属性,所述差异属性在所述生产环境配置文件和所述测试环境配置文件中的值不相同。
S402,将各所述差异属性输入豁免项检测模型中,对各所述差异属性进行豁免识别,确定出各所述差异属性的识别结果。
可理解地,将各个所述差异属性输入训练完成的所述豁免项检测模型中,所述豁免项检测模型为通过历史豁免的属性进行训练用于识别是否需要进行豁免的属性的检测模型,所述豁免识别为获取与所述差异属性对应的输入类型和规则,通过将所述差异属性的字符串及文本进行转换成向量,并提取转换后的向量以及与所述差异属性的输入类型和规则的豁免特征,根据提取的所述豁免特征进行分类出各所述差异属性是否属于豁免属性的所述识别结果。
其中,豁免特征为允许所述差异属性输入的值在所述生产环境配置文件和所述测试环境配置文件中存在不一致的情况的特征,例如:URL属性,该属性输入的值,即URL链接,其在生产环境配置文件和测试环境配置文件中是允许不一致的情况,其豁免特征为具有URL的网页链接的特征。
S403,将识别结果为豁免属性的所述差异属性,以及与该差异属性对应的所述测试环境配置文件中的值,确定为所述豁免项组。
可理解地,所述豁免项组包括允许值存在不一致的所述差异属性,以及该差异属性分别在生产环境配置文件和测试环境配置文件中的值。
S404,将识别结果为非豁免属性的所述差异属性,以及与该差异属性对应的所述测试环境配置文件中的值和所述生产环境配置文件中的值,共同确定为所述值差异项组。
可理解地,在所有所述差异属性中去除所述豁免项组的属性,将剩下的所述差异属性以及与其相对应的所述生产环境配置文件和所述测试环境配置文件中的值确定为所述值差异项组。
本发明实现了通过在所述对比结果中,将仅在所述测试环境配置文件中存在的属性及与该属性对应的值确定为新增项组,同时将仅在所述生产环境配置文件中存在的属性及与该属性对应的值确定为缺项组,以及将所述测试环境配置文件和所述生产环境配置文件之间相同的属性确定为差异属性;将各所述差异属性输入豁免项检测模型中,对各所述差异属性进行豁免识别,确定出各所述差异属性的识别结果;将识别结果为豁免属性的所述差异属性,以及与该差异属性对应的所述测试环境配置文件中的值,确定为所述豁免项组;将识别结果为非豁免属性的所述差异属性,以及与该差异属性对应的所述测试环境配置文件中的值和所述生产环境配置文件中的值,共同确定为所述值差异项组,如此,实现了通过key-value差异法自动划分出新增项组、缺项组、值差异项组和豁免项组,而且通过豁免项检测模型自动识别出豁免项组,无需人工识别,减少了人工成本,提高了划分准确性和效率。
S50,对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果。
可理解地,针对不同的所述功能项组执行与其对应的所述检验操作,所述检验操作包括将所述新增项组中的属性与需求文档中的属性进行比较,得到新增项组的检验项;判断所述缺项组中的属性是否在配置属性的全集中,得到所述缺项组的检验项;对所述值差异项组进行校验,得到所述值差异项组的检验项;判断所述豁免项组中各属性的值是否符合各属性所对应的正则表达式,得到所述豁免项组的检验项,将各功能项组的检验项记录为所述检验结果。
在一实施例中,如图4所示,所述步骤S50中,即所述对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果,包括:
S501,从预设的需求库中获取与所述测试版本关联的需求文档和配置属性集。
可理解地,所述需求库为存储了所有测试需求或者生产需求的需求文档的数据库,一个所述测试版本关联一个所述需求文档,一个所述测试版本关联与该测试版本的基线版本对应的所述配置属性集,所述需求文档为开发及测试的需求类的文档,所述配置属性集为所述测试版本的基线版本所涉及的所有属性的集合。
S502,对所述需求文档中的新增属性与所述新增项组中的属性进行比较,得到所述新增项组的检验项。
可理解地,所述需求文档包括此次测试版本新增的属性,即所述新增属性,将所述新增属性与所述新增项组中的属性进行相应比较,判断所述新增项组中的属性完全与所述新增属性是否存在一一匹配的关系,根据匹配的结果确定出所述新增项组的检验项,即如果存在一一匹配的关系,就确定所述新增项组的检验项为合格,否则为不合格。
S503,判断所述缺项组中的属性是否在所述配置属性集中,得到所述缺项组的检验项。
可理解地,在所述配置属性集中是否可以查找到所述缺项组中的属性,如果能够查找到,就说明所述缺项组的检验项为合格,否则为不合格。
S504,根据所述需求文档中的修改属性及修改参数,对所述值差异项组进行校验,得到所述值差异项组的检验项。
可理解地,所述需求文档还包括需要修改的属性,即所述修改属性,以及与所述修改属性对应的所述修改参数,所述修改参数包括针对所述修改属性的修改前参数和修改后参数,所述校验过程为获取的所述需求文档中的修改属性及修改参数是否与所述值差异项组中相应的属性及值一致的过程,如果一致,就确定所述值差异项组的检验项为合格,否则确定所述值差异项组的检验项为不合格。
S505,判断所述豁免项组中各属性的值是否符合各属性所对应的正则表达式,得到所述豁免项组的检验项。
可理解地,所述正则表达式为输入的值的类型及格式的要求,判断所述豁免项组中的各属性的值是否符合所对应的正则表达式的要求,得到所述豁免项组的检验项。
本发明实现了通过从预设的需求库中获取与所述测试版本关联的需求文档和配置属性集;对所述需求文档中的新增属性与所述新增项组中的属性进行比较,得到所述新增项组的检验项;判断所述缺项组中的属性是否在所述配置属性集中,得到所述缺项组的检验项;根据所述需求文档中的修改属性及修改参数,对所述值差异项组进行校验,得到所述值差异项组的检验项;判断所述豁免项组中各属性的值是否符合各属性所对应的正则表达式,得到所述豁免项组的检验项,如此,实现了通过对新增项组、缺项组、值差异项组和豁免项组自动做相应的检验操作,避免人工检验的误判,提高了检验的准确性。
在一实施例中,所述步骤S50之后,即所述得到检验结果之后,还包括:
在检测到所述值差异项组的检验项为不合格之后,接收针对所述差异项组的检验项返回的回溯请求。
可理解地,在所述值差异项组的检测项存在不合格的情况下,说明所述修改属性及所述修改参数与所述值差异项组中相应的属性及值存在不一致的情况,将所述修改属性及所述修改参数与所述值差异项组中相应的属性及值之间存在不一致的属性及值进行标注,等待接收针对所述差异项组的检验项返回的所述回溯请求,所述回溯请求的生成方式可以根据需求进行设定,比如所述回溯请求的生成方式可以为将标注的不一致的属性及值封装成邮件,以发送该邮件至与所述测试版本对应的项目负责人,项目负责人对该邮件中的属性及值进行确认之后返回该回溯请求;或者可以直接将标注的不一致的属性及值确定为需要回溯的属性及值,自动生成与标注的不一致的属性及值对应的所述回溯请求。
其中,所述回溯请求表明了标注的不一致的属性及值需要回溯至所述生产配置文件中相应的值。
获取所述回溯请求中的回溯属性。
可理解地,所述回溯请求包括回溯属性,所述回溯属性表明了标注的不一致的属性中需要回溯至所述生产配置文件中相应值的属性。
根据所述回溯属性和与所述回溯属性匹配的所述差异属性对应的所述生产配置文件中的值,生成回溯代码。
可理解地,在所述生产配置文件中查找与所述回溯属性匹配的所述差异属性,获取查找到的所述差异属性对应的值,根据所述回溯属性和获取的值生成所述回溯代码,所述回溯代码为执行该代码之后能够将所述测试环境配置文件中与所述回溯属性相同的属性相应的值更改成所述回溯代码中的获取的值的代码,通过所述回溯代码,能够将所述差异属性中需回溯的属性的值从所述测试环境配置文件中的值回溯成所述测试生产环境配置文件中的值。
在执行所述回溯代码之后,将所述值差异项组的检验项确认为合格,更新所述检验结果。
可理解地,在执行所述回溯代码之后,说明将所述测试环境配置文件中的相应属性进行了回溯,此时可以将所述值差异项组的检验项纪录为合格,重新更新所述检验结果。
本发明实现了通过在检测到所述值差异项组的检验项为不合格之后,接收针对所述差异项组的检验项返回的回溯请求;获取所述回溯请求中的回溯属性;根据所述回溯属性和与所述回溯属性匹配的所述差异属性对应的所述生产配置文件中的值,生成回溯代码;在执行所述回溯代码之后,将所述值差异项组的检验项确认为合格,更新所述检验结果,如此,实现了自动生成回溯代码,回溯成生产环境配置文件中的值,并更新检验结果,无需中断人工修改,直接通过人工选取后自动回溯,减少了人工成本。
S60,在检测到所述检验结果中的各功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心的测试环境配置文件。
可理解地,在检测到所述检验结果中的各所述功能项组的检验项均为合格时,说明各功能项组的检验都能够通过,生成与所述检验结果对应的更新代码,需要对所述测试环境配置文件进行更新,执行所述更新代码以更新所述版本管理中心中的所述测试环境配置文件,通过更新的所述测试环境配置文件作为所述测试版本进行测试的环境配置文件,确保了环境配置文件在测试过程中的正确性,提高了环境配置文件的准确率,大大缩短了检验测试环境配置文件的周期,改善了环境配置文件的更新效率,完全满足更新频率。
本发明实现了通过接收测试环境配置检验请求,获取所述测试环境配置检验请求中的测试版本;从版本管理中心中获取与所述测试版本对应的生产环境配置文件和测试环境配置文件;运用快速字符串比对算法,比对所述生产环境配置文件和所述测试环境配置文件,得到测试比对结果;运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组;对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果;在检测到所述检验结果中的各功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心的测试环境配置文件,如此,实现了通过版本管理中心统一管理,以及运用快速字符串比对算法和key-value差异法,划分出多个功能项组,并执行相应的检验操作,自动更新测试环境配置文件,确保了环境配置文件在测试过程中的正确性,提高了环境配置文件的准确率,大大缩短了检验测试环境配置文件的周期,改善了环境配置文件的更新效率,完全满足了更新频率高的需求。
在一实施例中,所述步骤S60中,即所述生成与所述检验结果对应的更新代码,包括:
获取预设的新增代码模板。
可理解地,获取预设的所述新增代码模板,所述新增代码模板为用于在环境配置文件中插入新的属性及新的值的代码模板。
将所述缺项组填充至所述新增代码模板中,生成新增代码,以通过所述新增代码将所述缺项组插入至所述测试环境配置文件中。
可理解地,将所述缺项组中的属性及值填充至所述新增代码模板中相应的属性的位置及值的位置,从而生成所述新增代码,所述新增代码能够实现将所述缺项组插入至所述测试环境配置文件中。
本发明实现了通过获取预设的新增代码模板;将所述缺项组填充至所述新增代码模板中,生成新增代码,以通过所述新增代码将所述缺项组插入至所述测试环境配置文件中,如此,实现了自动将缺项组中的属性及值插入所述测试环境配置文件中,保证了测试环境配置文件的正确性。
在一实施例中,所述步骤S60之后,即所述在检测到所述检验结果中的各所述功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心中的所述测试环境配置文件之后,包括:
接收与所述测试版本关联的生产环境配置发布请求,获取所述生产环境配置发布请求中的上线环境配置文件;所述上线环境配置文件为所述测试环境配置文件经过修改之后获得。
可理解地,所述测试环境配置文件在测试过程中经常会被修改多次,不断根据测试的结果进行调整,最后输出需要发布的环境配置文件,将该环境配置文件记录为所述上线环境配置文件,所述上线环境配置文件与所述测试版本关联,在选中所述上线环境配置文件后,需要发布所述测试版本的环境配置文件时,触发所述生产环境配置发布请求。
比对所述测试环境配置文件和所述上线环境配置文件,得到发布比对结果。
可理解地,以所述测试环境配置文件作为基准,运用所述快速字符串比对算法,比对所述测试环境配置文件和所述上线环境配置文件,输出所述发布比对结果。
对所述发布比对结果进行校验,得到所述校验结果。
可理解地,所述校验的过程为对于存在差异的属性,判断其值是否在测试环境配置文件中相应属性的范围内,以及识别出超出范围且需要确认的属性,将其记录为待确认项,所述待确认项表明了所述上线环境配置文件中缺少所述测试环境配置文件中的属性,以及所述上线环境配置文件中与所述测试环境配置文件中的属性一致,但其值不允许豁免的属性。
其中,所述校验结果包括已确认项和待确认项,所述已确认项表明了所述上线环境配置文件和所述测试环境配置文件中属性及值均一致的属性,以及仅在所述测试环境配置文件中存在的属性,所述待确认项需要发出邮件进行确认。
生成与所述校验结果中的待确认项对应的修改代码和待确认邮件,并发送各所述待确认邮件。
可理解地,根据各所述待确认项,生成与各所述待确认项一一对应的所述修改代码和所述待确认邮件,所述待确认邮件包括收件人,向各所述待确认邮件中的收件人发送相应的所述待确认邮件。
在接收到所有审核指令均为审核通过时,根据所有所述修改代码和所述校验结果中的已确认项,更新所述上线环境配置文件;所述审核指令为接收到所述待确认邮件并确认后获得。
可理解地,在所有所述审核指令均为审核通过时,根据所述已确认项中仅在所述测试环境配置文件中存在的属性及其值插入所述上线环境配置文件中的最后,并执行所有所述修改代码,对所述上线环境配置文件的修改,得到修改后的所述上线环境配置文件,以更新环境配置文件,进行发布上线。
其中,所述审核指令为接收到所述待确认邮件并确认后返回的指令。
本发明实现了通过接收与所述测试版本关联的生产环境配置发布请求,获取所述生产环境配置发布请求中的上线环境配置文件;比对所述测试环境配置文件和所述上线环境配置文件,得到发布比对结果;对所述发布比对结果进行校验,得到所述校验结果;生成与所述校验结果中的待确认项对应的修改代码和待确认邮件,并发送各所述待确认邮件;在接收到所有审核指令均为审核通过时,根据所有所述修改代码和所述校验结果中的已确认项,更新所述上线环境配置文件,如此,实现了上线环境配置文件时,自动与提测试时的测试环境配置文件进行比对,并自动校验,生成相应的修改代码,完成上线环境配置文件的自动更新,减少人工比对及校验的成本,提高了发布效率,提升了发布的质量。
在一实施例中,所述发送各所述待确认邮件之后,还包括:
在接收到任一所述审核指令为审核不通过时,将与该审核指令对应的所述待确认项对应的所述修改代码进行删除。
可理解地,任何一个所述审核指令为不通过,说明与该审核指令对应的所述待确认邮件被确认为不能更改,表明与其相对应的所述修改代码不能进行修改操作,从而将该修改代码删除。
在接收完所有所述审核指令之后,根据所有未被删除的所述修改代码和所述校验结果中的所述已确认项,更新所述上线环境配置文件。
可理解地,在接收完所有所述审核指令之后,说明所有所述待确认邮件已经被确认完成,根据所有剩下的未被删除的所述修改代码和所述已确认项,自动更新至所述上线环境配置文件中,以更新环境配置文件,进行发布上线。
本发明实现了在接收到任一所述审核指令为审核不通过时,将与该审核指令对应的所述待确认项对应的所述修改代码进行删除;在接收完所有所述审核指令之后,根据所有未被删除的所述修改代码和所述校验结果中的所述已确认项,更新所述上线环境配置文件,如此,能够自动将审核不通过的修改代码进行删除,避免了误修改的情况,保证了环境配置文件的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种配置文件更新装置,该配置文件更新装置与上述实施例中配置文件更新方法一一对应。如图5所示,该配置文件更新装置包括接收模块11、获取模块12、对比模块13、分组模块14、检验模块15和更新模块16。各功能模块详细说明如下:
接收模块11,用于接收测试环境配置检验请求,获取所述测试环境配置检验请求中的测试版本;
获取模块12,用于从版本管理中心中获取与所述测试版本对应的生产环境配置文件和测试环境配置文件;
对比模块13,用于运用快速字符串比对算法,比对所述生产环境配置文件和所述测试环境配置文件,得到测试比对结果;
分组模块14,用于运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组;
检验模块15,用于对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果;
更新模块16,用于在检测到所述检验结果中的各功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心的测试环境配置文件。
关于配置文件更新装置的具体限定可以参见上文中对于配置文件更新方法的限定,在此不再赘述。上述配置文件更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端或者服务端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机程序和数据库。该内存储器为可读存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种配置文件更新方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中配置文件更新方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中配置文件更新方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种配置文件更新方法,其特征在于,包括:
接收测试环境配置检验请求,获取所述测试环境配置检验请求中的测试版本;
从版本管理中心中获取与所述测试版本对应的生产环境配置文件和测试环境配置文件;
运用快速字符串比对算法,比对所述生产环境配置文件和所述测试环境配置文件,得到测试比对结果;
运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组;
对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果;
在检测到所述检验结果中的各功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心的测试环境配置文件。
2.如权利要求1所述的配置文件更新方法,其特征在于,所述在检测到所述检验结果中的各所述功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心中的所述测试环境配置文件之后,包括:
接收与所述测试版本关联的生产环境配置的发布请求,获取所述生产环境配置的发布请求中的上线环境配置文件;所述上线环境配置文件为所述测试环境配置文件经过修改之后获得;
比对所述测试环境配置文件和所述上线环境配置文件,得到发布比对结果;
对所述发布比对结果进行校验,得到所述校验结果;
生成与所述校验结果中的待确认项对应的修改代码和待确认邮件,并发送各所述待确认邮件;
在接收到所有审核指令均为审核通过时,根据所有所述修改代码和所述校验结果中的已确认项,更新所述上线环境配置文件;所述审核指令为接收到所述待确认邮件并确认后获得。
3.如权利要求2所述的配置文件更新方法,其特征在于,所述发送各所述待确认邮件之后,还包括:
在接收到任一所述审核指令为审核不通过时,将与该审核指令对应的所述待确认项对应的所述修改代码进行删除;
在接收完所有所述审核指令之后,根据所有未被删除的所述修改代码和所述校验结果中的所述已确认项,更新所述上线环境配置文件。
4.如权利要求1所述的配置文件更新方法,其特征在于,所述运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组,包括:
在所述对比结果中,运用key-value差异法将仅在所述测试环境配置文件中存在的属性及与该属性对应的值确定为新增项组,同时将仅在所述生产环境配置文件中存在的属性及与该属性对应的值确定为缺项组,以及将所述测试环境配置文件和所述生产环境配置文件之间相同的属性确定为差异属性;
将各所述差异属性输入豁免项检测模型中,对各所述差异属性进行豁免识别,确定出各所述差异属性的识别结果;
将识别结果为豁免属性的所述差异属性,以及与该差异属性对应的所述测试环境配置文件中的值,确定为所述豁免项组;
将识别结果为非豁免属性的所述差异属性,以及与该差异属性对应的所述测试环境配置文件中的值和所述生产环境配置文件中的值,共同确定为所述值差异项组。
5.如权利要求1所述的配置文件更新方法,其特征在于,所述对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果,包括:
从预设的需求库中获取与所述测试版本关联的需求文档和配置属性集;
对所述需求文档中的新增属性与所述新增项组中的属性进行比较,得到所述新增项组的检验项;
判断所述缺项组中的属性是否在所述配置属性集中,得到所述缺项组的检验项;
根据所述需求文档中的修改属性及修改参数,对所述值差异项组进行校验,得到所述值差异项组的检验项;
判断所述豁免项组中各属性的值是否符合各属性所对应的正则表达式,得到所述豁免项组的检验项。
6.如权利要求1所述的配置文件更新方法,其特征在于,所述生成与所述检验结果对应的更新代码,包括:
获取预设的新增代码模板;
将所述缺项组填充至所述新增代码模板中,生成新增代码,以通过所述新增代码将所述缺项组插入至所述测试环境配置文件中。
7.如权利要求1所述的配置文件更新方法,其特征在于,所述得到检验结果之后,还包括:
在检测到所述值差异项组的检验项为不合格之后,接收针对所述差异项组的检验项返回的回溯请求;
获取所述回溯请求中的回溯属性;
根据所述回溯属性和与所述回溯属性匹配的所述差异属性对应的所述生产配置文件中的值,生成回溯代码;
在执行所述回溯代码之后,将所述值差异项组的检验项确认为合格,更新所述检验结果。
8.一种配置文件更新装置,其特征在于,包括:
接收模块,用于接收测试环境配置检验请求,获取所述测试环境配置检验请求中的测试版本;
获取模块,用于从版本管理中心中获取与所述测试版本对应的生产环境配置文件和测试环境配置文件;
对比模块,用于运用快速字符串比对算法,比对所述生产环境配置文件和所述测试环境配置文件,得到测试比对结果;
分组模块,用于运用key-value差异法,对所述测试比对结果进行分组,得到多个功能项组;
检验模块,用于对各所述功能项组执行与所述功能项组相对应的检验操作,得到检验结果;
更新模块,用于在检测到所述检验结果中的各功能项组的检验项均为合格时,生成与所述检验结果对应的更新代码,执行所述更新代码以更新所述版本管理中心的测试环境配置文件。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述配置文件更新方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述配置文件更新方法。
CN202110846668.8A 2021-07-26 2021-07-26 配置文件更新方法、装置、设备及存储介质 Pending CN113505078A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110846668.8A CN113505078A (zh) 2021-07-26 2021-07-26 配置文件更新方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110846668.8A CN113505078A (zh) 2021-07-26 2021-07-26 配置文件更新方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113505078A true CN113505078A (zh) 2021-10-15

Family

ID=78014086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110846668.8A Pending CN113505078A (zh) 2021-07-26 2021-07-26 配置文件更新方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113505078A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114997241A (zh) * 2022-06-29 2022-09-02 苏州浪潮智能科技有限公司 管脚检验方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021119A (zh) * 2016-08-03 2016-10-12 网易(杭州)网络有限公司 配置文件的校验方法和装置
CN109547259A (zh) * 2018-12-07 2019-03-29 东软集团股份有限公司 应用配置方法、装置、存储介质和电子设备
CN111142903A (zh) * 2019-12-23 2020-05-12 杭州安恒信息技术股份有限公司 一种基于文件对比的配置文件交互式更新方法及装置
CN112698883A (zh) * 2020-12-29 2021-04-23 平安普惠企业管理有限公司 一种配置数据处理方法、装置、终端和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021119A (zh) * 2016-08-03 2016-10-12 网易(杭州)网络有限公司 配置文件的校验方法和装置
CN109547259A (zh) * 2018-12-07 2019-03-29 东软集团股份有限公司 应用配置方法、装置、存储介质和电子设备
CN111142903A (zh) * 2019-12-23 2020-05-12 杭州安恒信息技术股份有限公司 一种基于文件对比的配置文件交互式更新方法及装置
CN112698883A (zh) * 2020-12-29 2021-04-23 平安普惠企业管理有限公司 一种配置数据处理方法、装置、终端和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114997241A (zh) * 2022-06-29 2022-09-02 苏州浪潮智能科技有限公司 管脚检验方法、装置、计算机设备和存储介质
CN114997241B (zh) * 2022-06-29 2024-01-26 苏州浪潮智能科技有限公司 管脚检验方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN109032611B (zh) 脚本部署方法、装置、计算机设备及存储介质
CN111563051B (zh) 基于爬虫的数据核验方法、装置、计算机设备及存储介质
CN109783785B (zh) 生成实验检测报告的方法、装置和计算机设备
CN108491326B (zh) 测试行为重组方法、装置及存储介质
CN110209684A (zh) 数据库ddl变更操作的跟踪方法、装置、系统及介质
US8904352B2 (en) Systems and methods for processing source code during debugging operations
CN108874661B (zh) 测试映射关系库生成方法、装置、计算机设备和存储介质
CN111090788B (zh) json文件的比对方法、装置、存储介质及计算机设备
CN110362479B (zh) 系统升级测试方法和系统
CN112286934A (zh) 数据库表导入方法、装置、设备及介质
CN109325042B (zh) 处理模版获取方法、表格处理方法、装置、设备及介质
CN106485261A (zh) 一种图像识别的方法和装置
CN113495902A (zh) 数据处理方法及数据标准管理系统
CN112559526A (zh) 数据表导出方法、装置、计算机设备及存储介质
CN111522741A (zh) 接口测试代码生成方法、装置、电子设备及可读存储介质
CN114610635A (zh) 接口测试用例生成方法、装置、计算机设备及存储介质
CN113505078A (zh) 配置文件更新方法、装置、设备及存储介质
CN112541739B (zh) 问答意图分类模型的测试方法、装置、设备及介质
CN108334452B (zh) 规则数据移交测试方法、装置、计算机设备和存储介质
CN113312258A (zh) 一种接口测试方法、装置、设备及存储介质
CN112612706A (zh) 自动化测试方法、计算机设备及存储介质
US10289531B2 (en) Software integration testing with unstructured database
CN112363929B (zh) 系统上线方法、装置、计算机设备及存储介质
CN115809228A (zh) 数据比对方法、装置、存储介质及电子设备
CN114676054A (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