基于抽象语法树的环境变量检测方法、装置、设备及介质制造方法及图纸

技术编号:27535699 阅读:14 留言:0更新日期:2021-03-03 11:21
本发明专利技术公开了一种基于抽象语法树的环境变量检测方法、装置、设备及存储介质,所述方法包括将环境变量源代码解析成抽象语法树;遍历所述抽象语法树中的节点数据,得到测试环境变量以及生产环境变量;检测测试环境变量和生产环境变量是否符合预设的配置规则,当不符合所述配置规则时,将不符合所述配置规则的测试环境变量和所述生产环境变量确定为异常变量并输出异常变量的名称以及异常原因。本发明专利技术公开的环境变量检测方法,采用自动化的手段,全面地检测到每一个环境变量,降低了人为审查引起的遗漏风险,大大提高了软件开发的质量和效率,而且该方法可以在构建阶段对源代码进行解析,基于原有流程对环境变量进行检测,不会增加多余的工作。加多余的工作。加多余的工作。

【技术实现步骤摘要】
基于抽象语法树的环境变量检测方法、装置、设备及介质


[0001]本专利技术涉及软件开发与测试
,特别涉及一种基于抽象语法树的环境变量检测方法、装置、设备及介质。

技术介绍

[0002]随着计算机技术的飞速发展,人类社会的信息化程度越来越高,整个社会的政治、经济、军事、文化以及其他领域对计算机信息系统的依赖程度也越来越高。在这种情况下,计算机系统的安全性得到了人们越来越多的关注。
[0003]现有技术中,在编写一个大型软件或系统时,前端代码中有着各种各样的环境变量,这些环境变量在测试环境及生产环境中通常是不相同的,并且测试环境和生产环境的变量需要一一对应。然而随着时间的推移,在环境变量越来越多的情况下,就会出现生产环境的变量配置成测试环境的,生产环境的变量忘记配置等情况。当出现这种情况时,应用程序可能无法正常运行。而且这种问题一般隐藏较深,因为在进行软件测试时不会发现生产环境变量有异常,所以经常会被遗漏。另外依靠人为审查难免会出现纰漏,并且还会耗费大量的时间和精力。

技术实现思路

[0004]本公开实施例提供了一种基于抽象语法树的环境变量检测方法、装置、设备及介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
[0005]第一方面,本公开实施例提供了一种基于抽象语法树的环境变量检测方法,包括:
[0006]将环境变量源代码解析成抽象语法树;
[0007]遍历抽象语法树中的节点数据,得到测试环境变量以及生产环境变量;
[0008]检测测试环境变量和生产环境变量是否符合预设的配置规则,当不符合配置规则时,将不符合配置规则的测试环境变量和生产环境变量确定为异常变量并输出异常变量的名称以及异常原因。
[0009]在一个实施例中,将环境变量源代码解析成抽象语法树之前,还包括:
[0010]获取打包流程中的环境变量文件数据包;
[0011]将环境变量文件数据包解析成源代码。
[0012]在一个实施例中,将环境变量源代码解析成抽象语法树包括:
[0013]对环境变量源代码进行词法分析,按照预设的分解规则将源代码分解成单词符号串;
[0014]对单词符号串进行语法分析,得到抽象语法树。
[0015]在一个实施例中,检测测试环境变量和生产环境变量是否符合预设的配置规则,当不符合配置规则时,将不符合配置规则的测试环境变量和生产环境变量确定为异常变量
并输出异常变量的名称以及异常原因,包括:
[0016]检测生产环境变量中是否含有测试环境变量;
[0017]当生产环境变量中含有测试环境变量时,确定变量出现混淆异常并输出异常的生产环境变量或测试环境变量的名称以及预设的混淆异常原因。
[0018]在一个实施例中,检测测试环境变量和生产环境变量是否符合预设的配置规则,当不符合配置规则时,将不符合配置规则的测试环境变量和生产环境变量确定为异常变量并输出异常变量的名称以及异常原因,包括:
[0019]检测生产环境变量和测试环境变量的数量是否相等;
[0020]检测生产环境变量和测试环境变量的变量名是否一致;
[0021]当数量不相等或变量名不一致时,确定变量出现对应异常,输出数量不相等或者变量名不一致的生产环境变量或测试环境变量的名称以及预设的对应异常原因。
[0022]在一个实施例中,输出异常变量的名称以及异常原因之后,还包括:
[0023]根据异常变量的名称以及异常原因,进行变量配置。
[0024]在一个实施例中,根据异常变量的名称以及异常原因,进行变量配置,包括:
[0025]当变量出现混淆异常时,根据异常变量的名称删除混淆的异常变量;
[0026]当变量出现对应异常时,根据异常变量的名称重新配置与其对应的变量。
[0027]第二方面,本公开实施例提供了一种基于抽象语法树的环境变量检测装置,包括:
[0028]解析模块,用于将环境变量源代码解析成抽象语法树;
[0029]获取模块,用于遍历抽象语法树中的节点数据,得到测试环境变量以及生产环境变量;
[0030]检测模块,用于检测测试环境变量和生产环境变量是否符合预设的配置规则,当不符合配置规则时,将不符合配置规则的测试环境变量和生产环境变量确定为异常变量并输出异常变量的名称以及异常原因。
[0031]第三方面,本公开实施例提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述实施例提供的基于抽象语法树的环境变量检测方法的步骤。
[0032]第四方面,本公开实施例提供了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述实施例提供的基于抽象语法树的环境变量检测方法的步骤。
[0033]本公开实施例提供的技术方案可以包括以下有益效果:
[0034]根据本公开实施例提供的环境变量检测方法,可以对环境变量的源代码进行解析,得到抽象语法树,基于抽象语法树检测生产环境变量和测试环境变量。该方法可以采用自动化的手段,全面地检测到每一个环境变量,降低了人为审查引起的遗漏风险,大大提高了软件开发的质量和效率,而且该方法可以在构建阶段对源代码进行解析,基于原有流程对环境变量进行检测,不会增加多余的工作。
[0035]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。
附图说明
[0036]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0037]图1是根据一示例性实施例示出的一种基于抽象语法树的环境变量检测方法的实施环境图;
[0038]图2是根据一示例性实施例示出的一种计算机设备的内部结构图;
[0039]图3是根据一示例性实施例示出的一种基于抽象语法树的环境变量检测方法的流程示意图;
[0040]图4是根据一示例性实施例示出的一种基于抽象语法树的环境变量检测方法的流程示意图;
[0041]图5是根据一示例性实施例示出的一种基于抽象语法树的环境变量检测装置的结构示意图。
具体实施方式
[0042]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0043]可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一字段及算法确定模块成为第二字段及算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于抽象语法树的环境变量检测方法,其特征在于,包括:将环境变量源代码解析成抽象语法树;遍历所述抽象语法树中的节点数据,得到测试环境变量以及生产环境变量;检测所述测试环境变量和所述生产环境变量是否符合预设的配置规则,当不符合所述配置规则时,将不符合所述配置规则的测试环境变量和所述生产环境变量确定为异常变量并输出异常变量的名称以及异常原因。2.根据权利要求1所述的方法,其特征在于,所述将环境变量源代码解析成抽象语法树之前,还包括:获取打包流程中的环境变量文件数据包;将所述环境变量文件数据包解析成源代码。3.根据权利要求1所述的方法,其特征在于,将环境变量源代码解析成抽象语法树包括:对所述环境变量源代码进行词法分析,按照预设的分解规则将所述源代码分解成单词符号串;对所述单词符号串进行语法分析,得到抽象语法树。4.根据权利要求1所述的方法,其特征在于,检测所述测试环境变量和所述生产环境变量是否符合预设的配置规则,当不符合所述配置规则时,将不符合所述配置规则的测试环境变量和所述生产环境变量确定为异常变量并输出异常变量的名称以及异常原因,包括:检测所述生产环境变量中是否含有测试环境变量;当所述生产环境变量中含有测试环境变量时,确定变量出现混淆异常并输出异常的生产环境变量或测试环境变量的名称以及预设的混淆异常原因。5.根据权利要求1所述的方法,其特征在于,检测所述测试环境变量和所述生产环境变量是否符合预设的配置规则,当不符合所述配置规则时,将不符合所述配置规则的测试环境变量和所述生产环境变量确定为异常变量并输出异常变量的名称以及异常原因,包括:检测所述生产环境变量和所述测试环境变...

【专利技术属性】
技术研发人员:周俊
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1