CN111858352A - 自动化测试监控的方法、装置、设备及存储介质 - Google Patents

自动化测试监控的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111858352A
CN111858352A CN202010713365.4A CN202010713365A CN111858352A CN 111858352 A CN111858352 A CN 111858352A CN 202010713365 A CN202010713365 A CN 202010713365A CN 111858352 A CN111858352 A CN 111858352A
Authority
CN
China
Prior art keywords
script
test
information
preset
tested
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.)
Granted
Application number
CN202010713365.4A
Other languages
English (en)
Other versions
CN111858352B (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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202010713365.4A priority Critical patent/CN111858352B/zh
Publication of CN111858352A publication Critical patent/CN111858352A/zh
Application granted granted Critical
Publication of CN111858352B publication Critical patent/CN111858352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

本发明涉及计算机技术领域,公开了一种自动化测试监控的方法、装置、设备及存储介质,用于提高部署到生产环境中的脚本的性能。自动化测试监控的方法包括:通过调度系统从版本控制系统中提取待测试脚本;通过部署系统将待测试脚本部署到测试系统中,启动测试任务;根据测试任务对待测试脚本进行运行测试获得测试信息;调用过滤器接口对测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;生成第二目标脚本的分析信息和预警信息,并通过部署系统将第一目标脚本部署到生产系统并向生产系统发送检测任务;将分析信息和预警信息以及第一目标脚本在生产系统中执行检测任务的运行状态为失败的报错信息发送至反馈接口。

Description

自动化测试监控的方法、装置、设备及存储介质
技术领域
本发明涉及自动化测试领域,尤其涉及一种自动化测试监控的方法、装置、设备及存储介质。
背景技术
目前的脚本测试生产框架中,通过调度测试系统从集中式文件版本管理系统(Subversion,SVN)中读取待测试脚本,通过该调度测试系统运行待测试脚本,通过部署系统将运行成功的待测试脚本部署到生产测试环境系统,通过生产测试环境系统对待测试脚本进行运行测试,获得运行测试成功的脚本,通过部署系统将运行测试成功的脚本部署待生产系统中。
在现有的技术中,在通过部署系统部署脚本的代码到调度测试系统中的测试环境中时,需要人工手动操作下发测试任务,且在生产测试环境系统中没有对测试报错和异常脚本的过滤,因而,导致部署到生产环境中的脚本的性能低。
发明内容
本发明的主要目的在于解决部署到生产环境中的脚本的性能低的问题。
本发明第一方面提供了一种自动化测试监控的方法,包括:
发送提取指令至预置的调度系统,以供所述调度系统根据所述提取指令从预置的版本控制系统中提取待测试脚本;
发送第一部署指令至预置的部署系统,以供所述部署系统根据所述第一部署指令将所述待测试脚本部署到预置的测试系统中;
发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务对所述待测试脚本进行运行测试,获得测试信息,所述测试任务包括所述待测试脚本的库名异常测试、依赖关系信息测试、结构化查询语言优化测试、调度时间的时效测试和运行时长测试中的至少一种;
对所述测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;
生成所述第二目标脚本的分析信息和预警信息,以及发送第二部署指令至所述部署系统,以供所述部署系统根据所述第二部署指令,将所述第一目标脚本部署到预置的生产系统并向所述生产系统发送检测任务,所述第二部署指令用于过滤所述第二目标脚本和选取所述第一目标脚本,所述检测任务包括建表任务和执行Hibernate查询语言语句任务;
分析所述第一目标脚本在所述生产系统中执行所述检测任务的运行状态,获取运行状态为失败的报错信息,并将所述报错信息、所述分析信息和所述预警信息发送至预置的反馈接口。
可选的,在本发明第一方面的第一种实现方式中,所述发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务对所述待测试脚本进行运行测试,获得测试信息,包括:
发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务,获取所述待测试脚本的第一库名,以及所述测试系统中配置文件的第二库名,并对所述第一库名和所述第二库名进行匹配处理,获得库名匹配正常的第一脚本;
获取所述第一脚本中各预置类型表结构的依赖关系信息,以及所述测试系统中输入的表信息,并对所述依赖关系信息与所述表信息进行对比分析,获得所述依赖关系信息与所述表信息一致的第二脚本;
对所述第二脚本进行结构化查询语言优化测试,获得符合预设结构化查询语言优化条件的第三脚本;
获取所述第三脚本中预置明细数据层表的第一调度时刻,以及预置操作型数据存储表的第二调度时刻,并计算所述第一调度时刻和所述第二调度时刻之间的差值,获得所述差值符合预设时效条件的第四脚本;
获取所述第四脚本在所述测试系统中的第一运行时长,以及在预置的生产系统中的第二运行时长,并计算所述第一运行时长与所述第二运行时长之间的差值绝对值,将所述差值绝对值小于预设阈值的第四脚本确定为第五脚本;
将所述第五脚本确定为运行测试成功的测试信息,将所述待测试脚本中除所述第五脚本之外的待测试脚本,确定为运行测试失败的测试信息。
可选的,在本发明第一方面的第二种实现方式中,所述获取所述待测试脚本的第一库名,以及所述测试系统中配置文件的第二库名,并对所述第一库名和所述第二库名进行匹配处理,获得库名匹配正常的第一脚本,包括:
获取所述待测试脚本的第一库名,以及所述测试系统中配置文件的第二库名所对应的库名类型;计算所述第一库名在所述配置文件中对应所述库名类型的词频;
根据所述词频计算所述第一库名在所述配置文件的先验概率,并根据预置的贝叶斯公式和所述先验概率计算后验概率;
将所述后验概率最小值对应的第一库名作为目标库名,以及将所述目标库名对应的待测试脚本确定为库名匹配正常的第一脚本。
可选的,在本发明第一方面的第三种实现方式中,所述对所述第二脚本进行结构化查询语言优化测试,获得符合预设结构化查询语言优化条件的第三脚本,包括:
创建所述第二脚本的有限状态传感器树;
通过所述有限状态传感器树,分析所述第二脚本是否满足预设结构化查询语言优化条件,将满足所述预设结构化查询语言优化条件对应的第二脚本确定为第三脚本。
可选的,在本发明第一方面的第四种实现方式中,所述生成所述第二目标脚本的分析信息和预警信息,包括:
通过预置的异常检测算法对所述第二目标脚本进行异常分析,得到分析信息,所述分析信息包括所述第二目标脚本中的异常源和异常原因;
分析所述分析信息的异常度,将所述异常度达到预设预警条件对应的分析信息确定为候选预警信息;
通过预置的聚类算法对所述候选预警信息进行聚类处理,得到所述候选预警信息的类型;
从预置的数据库中获取与所述候选预警信息的类型对应的异常解决方案,将所述候选预警信息和对应的异常解决方案确定为预警信息。
可选的,在本发明第一方面的第五种实现方式中,所述发送提取指令至预置的调度系统,以供所述调度系统根据所述提取指令从预置的版本控制系统中提取待测试脚本,包括:
检测预置的版本控制系统中的脚本是否存在新增和/或修改,将存在新增和/或修改的脚本确定为待检测脚本,并向预置的调度系统发送提取指令,以使所述调度系统根据所述提取指令进行计时;
当所述调度系统的计时时长达到预设时长时,控制所述调度系统从所述版本控制系统中提取待测试脚本。
可选的,在本发明第一方面的第六种实现方式中,所述将所述报错信息、所述分析信息和所述预警信息发送至预置的反馈接口之后,还包括:
获取所述调度系统、所述版本控制系统、所述部署系统、所述测试系统和所述生产系统中的操作错误信息,以及所述分析信息、所述预警信息和所述报错信息中的错误信息,并根据预置的优化算法、所述操作错误信息和所述错误信息对系统操作进行优化,所述系统操作用于指示所述调度系统、所述版本控制系统、所述部署系统、所述测试系统和所述生产系统之间或独自的运行操作。
本发明第二方面提供了一种自动化测试监控的装置,包括:
提取模块,用于发送提取指令至预置的调度系统,以供所述调度系统根据所述提取指令从预置的版本控制系统中提取待测试脚本;
第一部署模块,用于发送第一部署指令至预置的部署系统,以供所述部署系统根据所述第一部署指令将所述待测试脚本部署到预置的测试系统中;
测试模块,用于发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务对所述待测试脚本进行运行测试,获得测试信息,所述测试任务包括所述待测试脚本的库名异常测试、依赖关系信息测试、结构化查询语言优化测试、调度时间的时效测试和运行时长测试中的至少一种;
处理模块,用于对所述测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;
第二部署模块,用于生成所述第二目标脚本的分析信息和预警信息,以及发送第二部署指令至所述部署系统,以供所述部署系统根据所述第二部署指令,将所述第一目标脚本部署到预置的生产系统并向所述生产系统发送检测任务,所述第二部署指令用于过滤所述第二目标脚本和选取所述第一目标脚本,所述检测任务包括建表任务和执行Hibernate查询语言语句任务;
分析模块,用于分析所述第一目标脚本在所述生产系统中执行所述检测任务的运行状态,获取运行状态为失败的报错信息,并将所述报错信息、所述分析信息和所述预警信息发送至预置的反馈接口。
可选的,在本发明第二方面的第一种实现方式中,所述测试模块包括:
匹配处理单元,用于发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务,获取所述待测试脚本的第一库名,以及所述测试系统中配置文件的第二库名,并对所述第一库名和所述第二库名进行匹配处理,获得库名匹配正常的第一脚本;
对比分析单元,用于获取所述第一脚本中各预置类型表结构的依赖关系信息,以及所述测试系统中输入的表信息,并对所述依赖关系信息与所述表信息进行对比分析,获得所述依赖关系信息与所述表信息一致的第二脚本;
检测单元,用于对所述第二脚本进行结构化查询语言优化测试,获得符合预设结构化查询语言优化条件的第三脚本;
第一计算单元,用于获取所述第三脚本中预置明细数据层表的第一调度时刻,以及预置操作型数据存储表的第二调度时刻,并计算所述第一调度时刻和所述第二调度时刻之间的差值,获得所述差值符合预设时效条件的第四脚本;
第二计算单元,用于获取所述第四脚本分别在所述测试系统中的第一运行时长和在预置的生产系统中的第二运行时长,并计算所述第一运行时长与所述第二运行时长之间的差值绝对值,将所述差值绝对值小于预设阈值的第四脚本确定为第五脚本;
获取单元,用于将所述第五脚本作为运行测试成功的测试信息,将所述待测试脚本中除所述第五脚本之外的待测试脚本,确定为运行测试失败的测试信息。
可选的,在本发明第二方面的第二种实现方式中,所述匹配处理单元具体用于:
获取所述待测试脚本的第一库名,以及所述测试系统中配置文件的第二库名所对应的库名类型;
计算所述第一库名在所述配置文件中对应所述库名类型的词频;
根据所述词频计算所述第一库名在所述配置文件的先验概率,并根据预置的贝叶斯公式和所述先验概率计算后验概率;
将所述后验概率最小值对应的第一库名作为目标库名,以及将所述目标库名对应的待测试脚本确定为库名匹配正常的第一脚本。
可选的,在本发明第二方面的第三种实现方式中,所述检测单元具体用于:
创建所述第二脚本的有限状态传感器树;
通过所述有限状态传感器树,分析所述第二脚本是否满足预设结构化查询语言优化条件,将满足所述预设结构化查询语言优化条件对应的第二脚本确定为第三脚本。
可选的,在本发明第二方面的第四种实现方式中,所述第二部署模块具体用于:
通过预置的异常检测算法对所述第二目标脚本进行异常分析,得到分析信息,所述分析信息包括所述第二目标脚本中的异常源和异常原因;
分析所述分析信息的异常度,将所述异常度达到预设预警条件对应的分析信息确定为候选预警信息;
通过预置的聚类算法对所述候选预警信息进行聚类处理,得到所述候选预警信息的类型;
从预置的数据库中获取与所述候选预警信息的类型对应的异常解决方案,将所述候选预警信息和对应的异常解决方案确定为预警信息。
可选的,在本发明第二方面的第五种实现方式中,所述提取模块具体用于:
检测预置的版本控制系统中的脚本是否存在新增和/或修改,将存在新增和/或修改的脚本确定为待检测脚本,并向预置的调度系统发送提取指令,以使所述调度系统根据所述提取指令进行计时;
当所述调度系统的计时时长达到预设时长时,控制所述调度系统从所述版本控制系统中提取待测试脚本。
可选的,在本发明第二方面的第六种实现方式中,所述自动化测试监控的装置包括:
优化模块,用于获取所述调度系统、所述版本控制系统、所述部署系统、所述测试系统和所述生产系统中的操作错误信息,以及所述分析信息、所述预警信息和所述报错信息中的错误信息,并根据预置的优化算法、所述操作错误信息和所述错误信息对系统操作进行优化,所述系统操作用于指示所述调度系统、所述版本控制系统、所述部署系统、所述测试系统和所述生产系统之间或独自的运行操作。
本发明第三方面提供了一种自动化测试监控的设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述自动化测试监控的设备执行上述的自动化测试监控的方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的自动化测试监控的方法。
本发明提供的技术方案中,通过调度系统从版本控制系统中提取待测试脚本;通过部署系统将待测试脚本部署到测试系统中,启动测试任务;根据测试任务对待测试脚本进行运行测试获得测试信息;调用过滤器接口对测试信息进行过滤处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;生成第二目标脚本的分析信息和预警信息,并通过部署系统将第一目标脚本部署到生产系统并向生产系统发送检测任务;将分析信息和预警信息以及第一目标脚本在生产系统中执行检测任务的运行状态为失败的报错信息发送至反馈接口。本发明中,通过建立调度测试系统、生产测试环境系统、版本控制系统环境和部署系统之间的数据共享互联,以及通过部署系统将脚本转移到对应的路径,生产测试环境系统下发库名是否异常的情况、测试脚本的依赖关系信息是否一致、测试脚本中的调度时间是否满足数据仓库的时效要求,以及待测试脚本在测试系统中的运行时长与在预置的生产系统的运行时长的差值是否异常,以及通过部署系统对测试环境进行报错预警和脚本过滤,提高部署到生产环境中的脚本的性能。
附图说明
图1为本发明实施例中自动化测试监控的方法的一个实施例示意图;
图2为本发明实施例中调度系统、版本控制系统、部署系统、测试系统和生产系统的流程框架的一个实施例示意图;
图3为本发明实施例中自动化测试监控的方法的另一个实施例示意图;
图4为本发明实施例中自动化测试监控的装置的一个实施例示意图;
图5为本发明实施例中自动化测试监控的装置的另一个实施例示意图;
图6为本发明实施例中自动化测试监控的设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种自动化测试监控的方法、装置、设备及存储介质,通过建立调度测试系统、生产测试环境系统、版本控制系统环境和部署系统之间的数据共享互联,以及通过部署系统将脚本转移到对应的路径,生产测试环境系统下发库名是否异常的情况、测试脚本的依赖关系信息是否一致、测试脚本中的调度时间是否满足数据仓库的时效要求,以及待测试脚本在测试系统中的运行时长与在预置的生产系统的运行时长的差值是否异常,以及通过部署系统对测试环境进行报错预警和脚本过滤,提高部署到生产环境中的脚本的性能。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中自动化测试监控的方法的一个实施例包括:
101、发送提取指令至预置的调度系统,以供调度系统根据提取指令从预置的版本控制系统中提取待测试脚本;
可以理解的是,本发明的执行主体可以为自动化测试监控的装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
服务器上搭建有调度系统、版本控制系统、部署系统、测试系统和生产系统,调度系统从版本控制系统中提取脚本,调度系统将提取所得的脚本发送至部署系统,部署系统将调度系统中的脚本部署到测试系统中,部署系统将测试系统中的脚本部署到生产系统中,如图2所示。
服务器向调度系统发送提取指令,调度系统中设有定时器,调度系统接收到对应的提取指令时,触动定时器,该提取指令的发送可由服务器向版本控制系统(subversion,SVN)提交新增或修改的脚本时触发,定时器进行预设时间的定时,调度系统则在预设时间的时间到之后启动相应的提取接口从版本控制系统中提取待测试脚本。例如:服务器向SVN提交待测试脚本以及向调度系统GBD-Scheduler(GBD-Scheduler是一个提供检视代码、测试脚本、生成测试数据的系统)发送提取指令,调度系统接收到该提取指令,该提取指令触动GBD-Scheduler中预置的定时器以启动预设时间10分钟的定时,则GBD-Scheduler在10分钟后调用预置的提取接口,通过该提取接口从SVN中提取待测试脚本。
102、发送第一部署指令至预置的部署系统,以供部署系统根据第一部署指令将待测试脚本部署到预置的测试系统中;
服务器发送第一部署指令至预置的部署系统,以调用部署系统根据第一部署指令将调度系统提取到的待测试脚本部署到预置的测试系统中,部署系统通过部署中心平台和部署指针检测测试系统中部署的环境、拓扑结构和位置,通过部署目标机根据部署的环境、拓扑结构和位置将待测试脚本部署到测试系统中。其中,服务器调用预置的部署系统可采用神兵系统(该神兵系统是一个将代码部署到测试和生产环境和根据业务需求拆分任务故事的系统),测试系统可采用灵度linkdo(linkdo是一种分布式调度系统)。通过该测试任务对待测试脚本进行一系列的检测,提高对待测试脚本的代码性能检测的准确性,从而提高生产系统中脚本的性能。
103、发送运行测试指令至测试系统,以供测试系统根据运行测试指令和预置的测试任务对待测试脚本进行运行测试,获得测试信息,测试任务包括待测试脚本的库名异常测试、依赖关系信息测试、结构化查询语言优化测试、调度时间的时效测试和运行时长测试中的至少一种;
服务器通过进程匹配原则对部署到测试系统的进程进行匹配以检测部署是否成功,当检测到部署系统将待测试脚本部署到测试系统成功时,向测试系统发送运行测试指令,以启动测试系统根据预置的测试任务对待测试脚本进行运行测试。服务器可在测试系统中根据测试任务,测试待测试脚本中的库名是否异常、待测试脚本的依赖关系信息否与测试系统中输入的表信息一致、待测试脚本中的调度时间是否满足数据仓库的时效要求、待测试脚本在测试系统与在预置的生产系统之间的运行时长差是否异常,以及对待测试脚本进行结构化查询语言优化检测,即进行待测试脚本的库名异常测试、依赖关系信息测试、结构化查询语言优化测试、调度时间的时效测试和运行时长测试中的至少一种测试任务,其中,测试任务中的运行测试顺序可以为并列的操作顺序,也可以为存在先后的关联操作顺序。
104、对测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;
服务器获得测试信息后调用预置的分类器接口,通过该分类器接口根据标签提取算法中的线性判别分析(linear discriminant analysis,LDA)将测试信息投影到预置的矢量空间,以对测试信息进行信息分类处理和特征空间维数压缩处理,得到降维信息,通过计算降维信息的协方差矩阵和值获得降维信息的特征值和特征向量,获取特征值和特征向量对应的信息,得到测试信息的标签上关于运行测试成功的特征信息,从而可获悉测试信息是运行测试成功的脚本(即第一目标脚本)还是运行测试失败的脚本(即第二目标脚本)。调用预置的分类器接口和标签提取算法对测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本,以能够实现自动地对测试信息进行筛选分类,提高分类操作的效率和准确性,以及提高进入生产系统的脚本的性能。
105、生成第二目标脚本的分析信息和预警信息,以及发送第二部署指令至部署系统,以供部署系统根据第二部署指令,将第一目标脚本部署到预置的生产系统并向生产系统发送检测任务,第二部署指令用于过滤第二目标脚本和选取第一目标脚本,检测任务包括建表任务和执行Hibernate查询语言语句任务;
服务器通过发送第二部署指令至部署系统,以调用部署系统将运行测试成功的脚本(即第一目标脚本)部署到预置的生产系统后,部署系统通过部署中心平台和部署指针检测生产系统中部署的环境、拓扑结构和位置,通过部署目标机根据部署的环境、拓扑结构和位置将待测试脚本部署到生产系统完成,通过进程匹配原则对部署的进行匹配以检测部署是否成功,当部署系统将第一目标脚本部署到生产系统成功时,部署系统向生产系统发送包括建表任务和执行Hibernate查询语言(hibernate query language,HQL)语句的检测任务,该建表任务用于对第一目标脚本中新增或修改的表结构进行建,该执行HQL语句用于将第一目标脚本部署到生产系统中即时运行第一目标脚本,以保证第一目标脚本在生产系统中可以运行正常。
服务器对第二脚本中进行异常分析,获取其中的异常问题信息和异常内容,并分析异常问题信息和异常内容是否达到预警条件,若是达到预警条件,则生成对应的预警信息,并将其分析信息和预警信息发送至预置的反馈接口,反馈接口可为客户端的网页接口,也可为将信息反馈到客户端的中继站接口。通过部署系统部署运行成功的脚本和反馈存在异常或问题的脚本,提高进入生产系统的脚本的性能,以及便于用户及时获知和处理脚本的异常或问题。
106、分析第一目标脚本在生产系统中执行检测任务的运行状态,获取运行状态为失败的报错信息,并将报错信息、分析信息和预警信息发送至预置的反馈接口。
服务器通过部署系统将第一目标脚本部署到生产系统后,第一目标脚本根据检测任务即时在生产系统中运行,通过预置的监控工具61whowatch或其他的监控工具监控第一目标脚本在生产系统中执行的命令和运行的进程,获得进程分析树状结构信息,通过进程分析树状结构信息可获悉第一目标脚本在生产系统中执行检测任务的运行状态,若运行状态为失败,则将生成包括运行状态失败对应的第一目标脚本和运行失败原因的报错信息,并该报错信息、分析信息和预警信息发送至反馈接口,反馈接口可为客户端的网页接口,也可为将信息反馈到客户端的中继站接口。通过生产系统检测脚本的运行状态和反馈报错信息,便于用户及时获知和处理生产系统中脚本的异常或问题,从而提高生产系统中脚本的性能。
本发明实施例中,通过建立调度测试系统、生产测试环境系统、版本控制系统环境和部署系统之间的数据共享互联,以及通过部署系统将脚本转移到对应的路径,生产测试环境系统下发库名是否异常的情况、测试脚本的依赖关系信息是否一致、测试脚本中的调度时间是否满足数据仓库的时效要求,以及待测试脚本在测试系统中的运行时长与在预置的生产系统的运行时长的差值是否异常,以及通过部署系统对测试环境进行报错预警和脚本过滤,提高部署到生产环境中的脚本的性能。
请参阅图3,本发明实施例中自动化测试监控的方法的另一个实施例包括:
301、发送提取指令至预置的调度系统,以供调度系统根据提取指令从预置的版本控制系统中提取待测试脚本;
具体地,上述步骤301可以包括:检测预置的版本控制系统中的脚本是否存在新增和/或修改,将存在新增和/或修改的脚本确定为待检测脚本,并向预置的调度系统发送提取指令,以使调度系统根据提取指令进行计时;当调度系统的计时时长达到预设时长时,控制调度系统从版本控制系统中提取待测试脚本。
例如:服务器通过检测预置的版本控制系统SVN是否存在新提交的脚本以检测脚本是否存在新增,通过检测SVN中脚本的代码是否存在修改行,以检测脚本是否存在修改,从而获取新增和/或修改的脚本,并将新增和/或修改的脚本作为待检测脚本,SVN在获得待检测脚本时,服务器向调度系统GBD-Scheduler发送提取指令,GBD-Scheduler接收到该提取指令,调用java.util.Timer抽象类实现Runnable接口,通过接口Runnable进行预设时间的计时,从而获得GBD-Scheduler从SVN中提取待测试脚本的预设时间,其中,可根据待测试脚本的类型进行预设时间的设定,对于新增的待测试脚本,预设时间可设为5分钟,对于修改的待测试脚本,预设时间可设为3分钟。通过定时器设定预设时间,定时提取待测试脚本,实现自动化,以及提高测试效率和CPU利用率。
302、发送第一部署指令至预置的部署系统,以供部署系统根据第一部署指令将待测试脚本部署到预置的测试系统中;
服务器发送第一部署指令至预置的部署系统,以调用部署系统根据第一部署指令将调度系统提取到的待测试脚本部署到预置的测试系统中,部署系统通过部署中心平台和部署指针检测测试系统中部署的环境、拓扑结构和位置,通过部署目标机根据部署的环境、拓扑结构和位置将待测试脚本部署到测试系统中。其中,服务器调用预置的部署系统可采用神兵系统(该神兵系统是一个将代码部署到测试和生产环境和根据业务需求拆分任务故事的系统),测试系统可采用灵度linkdo(linkdo是一种分布式调度系统)。通过该测试任务对待测试脚本进行一系列的检测,提高对待测试脚本的代码性能检测的准确性,从而提高生产系统中脚本的性能。
303、发送运行测试指令至测试系统,以供测试系统根据运行测试指令和预置的测试任务,获取待测试脚本的第一库名,以及测试系统中配置文件的第二库名,并对第一库名和第二库名进行匹配处理,获得库名匹配正常的第一脚本;
具体地,上述步骤303可以包括:获取待测试脚本的第一库名,以及测试系统中配置文件的第二库名所对应的库名类型;计算第一库名在配置文件中对应库名类型的词频;根据词频计算第一库名在配置文件的先验概率,并根据预置的贝叶斯公式和先验概率计算后验概率;将后验概率最小值对应的第一库名作为目标库名,以及将目标库名对应的待测试脚本确定为库名匹配正常的第一脚本。
测试系统引用一个对象new FileReader获取待测试脚本的第一数据和配置文件中的第二数据,分别对第一数据和第二数据进行库名类别的文本分词,得到第一分词和第二分词;分别移除第一分词和第二分词中的预设词条,得到第一目标分词和第二目标分词;比如:数据库环境参数、表字段的注释或其他等,分别将第一目标分词和第二目标分词合成特征词组,从而获取待测试脚本的第一库名,以及获取测试系统中配置文件的第二库名对应的库名类型;计算第一库名在配置文件中对应库名类型的词频,例如:第一库名为DwdSafeDatabase、pct_dw_safe和DwpSafeDatabase,库名类型为count(DwdSafeDatabase)、count(pct_dw_safe)、count(DwpSafeDatabase),计算每个第一库名在配置文件中对应类别出现的频率(即词频);根据词频计算第一库名在配置文件的先验概率,例如:PI=count(DwdSafeDatabase)/count(配置文件总词数);根据预置的贝叶斯公式和先验概率计算后验概率,获取后验概率最小值对应的第一库名,将后验概率最小值对应的第一库名(即目标库名)对应的待测试脚本作为库名匹配正常的第一脚本。
304、获取第一脚本中各预置类型表结构的依赖关系信息,以及测试系统中输入的表信息,并对依赖关系信息与表信息进行对比分析,获得依赖关系信息与表信息一致的第二脚本;
服务器通过测试系统引用一个对象new FileReader来获取第一脚本中各预置类型表结构的表名称和各表名称(即各类型表结构)之间的依赖关系信息,以及测试系统中输入的表信息(可由用户进行人工填写,也可由计算机根据部署系统将待测试脚本部署在测试系统中的配置文件来输入),调用预置的linkdo依赖关系接口,通过该linkdo依赖关系接口根据正则表达式分析表名称和依赖关系信息是否存在表信息中,从而获得依赖关系信息与表信息一致(即脚本的依赖关系信息与测试系统中所填信息一致)的第二脚本,其中,依赖关系信息例如:对待测试脚本进行创建待测试脚本的表时,需要使用到其他3张表的数据,那这3张表与待测试脚本的表存在依赖关系,依赖关系对应的信息为依赖关系信息。通过检测依赖关系信息是否与表信息一致以保证脚本中表的数据的完整性。
305、对第二脚本进行结构化查询语言优化检测,获得符合预设结构化查询语言优化条件的第三脚本;
具体地,上述步骤305可以包括:创建第二脚本的有限状态传感器树;通过有限状态传感器树,分析第二脚本是否满足预设结构化查询语言优化条件,将满足预设结构化查询语言优化条件对应的第二脚本确定为第三脚本。
服务器通过测试系统以分布式可扩展的实时搜索和分析引擎Elasticserach创建第二脚本的有限状态传感器树(finite state transducer,FST),遍历该FST树,识别该FST树是否存在select*(即查询表或视图中的所有字段)字段对应的代码,将不存在select*字段对应的代码所对应的第二脚本作为第三脚本;遍历该FST树,识别该FST树中的类型(表)是否存在笛卡尔积,将类型(表)不存在笛卡尔积所对应的第二脚本作为第三脚本;遍历该FST树,识别该FST树中的代码是否存在Union all字段,获取存在Union all字段的代码,计算存在Union all字段的代码的数量,分析存在Union all字段的代码的数量是否大于预设值,将存在Union all字段的代码的数量小于或等于预设值所对应的第二脚本作为第三脚本。其中,在获得第三脚本后,对第三脚本之外的第一脚本进行相应的优化处理,从而获得第三脚本之外的第一脚本优化后的第三脚本。通过对第二脚本进行结构化查询语言优化检测,以提高对脚本代码语句的运行效率和脚本代码的性能,从而提高生产系统中脚本的性能。
306、获取第三脚本中预置明细数据层表的第一调度时刻,以及预置操作型数据存储表的第二调度时刻,并计算第一调度时刻和第二调度时刻之间的差值,获得差值符合预设时效条件的第四脚本;
测试系统通过调用测试系统(linkdo系统)接口获取第三脚本中的预置明细数据层表(data warehouse detail,DWD)的第一调度时刻和预置操作型数据存储表(operational data store,ODS)的第二调度时刻,将第一调度时刻减去第二调度时刻,得到差值,若差值为正数,则对应的第三脚本为第四脚本,例如:获得的第一调度时刻为第二天的02:00,第二调度时刻为当天的17:00,则差值不符合预设要求。通过进行该项检测,获取满足生产系统要求的第四脚本,进而提高生产系统中脚本的性能。
307、获取第四脚本在测试系统中的第一运行时长,以及在预置的生产系统中的第二运行时长,并计算第一运行时长与第二运行时长之间的差值绝对值,将差值绝对值小于预设阈值的第四脚本确定为第五脚本;
例如:服务器调用测试系统中的第一运行时长接口获取第四脚本在测试系统中的第一运行时长,调用预置的生产系统中的第二运行时长接口获取第四脚本在生产系统中的第二运行时长,预设阈值为30分钟,若计算第一运行时长与第二运行时长之间的差值绝对值为20分钟,则该第四脚本为第五脚本,若计算第一运行时长与第二运行时长之间的差值绝对值为40分钟,则该第四脚本可能存在问题异常或是需要异常脚本,需要进行另外的分析操作。
308、将第五脚本确定为运行测试成功的测试信息,将待测试脚本中除第五脚本之外的待测试脚本,确定为运行测试失败的测试信息;
服务器通过测试系统获得第五脚本之后,对第五脚本进行标记,在第五脚本的标签信息上标记为运行测试状况成功的脚本,并对除第五脚本之外的待测试脚本的标签信息上标记为运行测试状况失败的脚本,通过标记运行测试状况,以便于后续对于测试信息的操作,提高操作的效率和准确性,从而提高在生产环境中脚本的性能。
309、对测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;
服务器获得测试信息后调用预置的分类器接口,通过该分类器接口根据标签提取算法中的线性判别分析(linear discriminant analysis,LDA)将第五脚本和待测试脚本中除第五脚本之外的待测试脚本(即测试信息)投影到预置的矢量空间,以对第五脚本和待测试脚本中除第五脚本之外的待测试脚本(即测试信息)进行信息分类处理和特征空间维数压缩处理,得到降维信息,通过计算降维信息的协方差矩阵和值获得降维信息的特征值和特征向量,获取特征值和特征向量对应的信息,得到预置标签上关于是否为第五脚本的特征信息,从而可获悉测试信息是第五脚本(即第一目标脚本)还是待测试脚本中除第五脚本之外的待测试脚本(即第二目标脚本)。调用预置的分类器接口和标签提取算法对测试信息进行过滤处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本,以能够实现自动地对测试信息进行筛选分类,提高分类操作的效率和准确性,以及提高进入生产系统的脚本的性能。
310、生成第二目标脚本的分析信息和预警信息,以及发送第二部署指令至部署系统,以供部署系统根据第二部署指令,将第一目标脚本部署到预置的生产系统并向生产系统发送检测任务,第二部署指令用于过滤第二目标脚本和选取第一目标脚本,检测任务包括建表任务和执行Hibernate查询语言语句任务;
具体地,服务器生成第二目标脚本的分析信息和预警信息,可以包括:通过预置的异常检测算法对第二目标脚本进行异常分析,得到分析信息,分析信息包括第二目标脚本中的异常源和异常原因;分析分析信息的异常度,将异常度达到预设预警条件对应的分析信息确定为候选预警信息;通过预置的聚类算法对候选预警信息进行聚类处理,得到候选预警信息的类型;从预置的数据库中获取与候选预警信息的类型对应的异常解决方案,将候选预警信息和对应的异常解决方案确定为预警信息。
服务器通过部署系统中预置的异常检测算法和异常代码方案表(该异常代码方案表包括导致异常性能的代码及其所异常原因)对第二目标脚本进行分析,获得第二目标脚本中的异常代码源和异常原因的分析信息,通过预置的异常程度表(该异常程度表包括导致异常性能的代码及其所异常原因所对应的异常等级)分析该分析信息的异常度,将异常度达到预设预警条件对应的分析信息作为候选预警信息,通过预置的聚类算法K-MEANS聚类算法和均值偏移聚类算法对候选预警信息进行聚类处理,获得候选预警信息中的异常类型,根据异常类型检索预置的数据库历史存储的数据,获取异常类型对应的代码所对应的处理方案。通过反馈带有导致异常性能的代码及其所异常原因的分析信息和带有达到预设预警条件对应的分析信息和对应的处理方案的预警信息,以便于用户及时获悉脚本运行的异常情况及其处理方案,从而及时而准确地解决脚本异常状况,提高其操作的效率、信息多项性和脚本的性能。
311、分析第一目标脚本在生产系统中执行检测任务的运行状态,获取运行状态为失败的报错信息,并将报错信息、分析信息和预警信息发送至预置的反馈接口。
具体地,上述步骤311之后,还可以包括:获取调度系统、版本控制系统、部署系统、测试系统和生产系统中的操作错误信息,以及分析信息、预警信息和报错信息中的错误信息,并根据预置的优化算法、操作错误信息和错误信息对系统操作进行优化,系统操作用于指示调度系统、版本控制系统、部署系统、测试系统和生产系统之间或独自的运行操作。
服务器接收用户反馈的系统操作错误信息以及分析信息、预警信息和报错信息中的错误信息,同时,服务器通过预置的监控工具对调度系统、版本控制系统、部署系统、测试系统和生产系统中各系统的操作日志信息进行监控,并对操作日志信息进行分析,获取各系统独自操作或相互之间操作的异常操作信息(即操作错误信息),操作错误信息例如:调度系统在提取版本控制系统中的待测试脚本时,只提取了部分待测试脚本,存在调度系统提取异常或抓取的准确性低的问题,调度系统提取异常或抓取的准确性低就是操作错误信息。服务器通过深度神经网路模型对分析信息、预警信息和报错信息进行分析获得错误信息,或通过人工对分析信息、预警信息和报错信息进行分析获得错误信息,错误信息例如:报错信息中将运行状态为成功的脚本信息当作运行状态为失败的脚本信息进行报错。服务器通过预置的遗传算法、蚁群算法、模拟退火算法、禁忌搜索算法和粒子群算法等优化算法对调度系统、版本控制系统、部署系统、测试系统和生产系统的整个操作流程和对脚本的处理进行优化。通过对调度系统、版本控制系统、部署系统、测试系统和生产系统进行优化,提高自动化和智能性,以及提高生产环境中脚本的性能。
本发明实施例中,在提高部署到生产环境中的脚本的性能的基础上,通过对待测试脚本进行待测试脚本中的库名是否异常等一系列的测试任务,以获得测试信息,保证进入生产系统之前的脚本的质量,提高对脚本代码语句的运行效率和脚本代码的性能,以及提高后续对于测试信息的操作的效率和准确性,从而提高了生产系统中脚本的性能。
上面对本发明实施例中自动化测试监控的方法进行了描述,下面对本发明实施例中自动化测试监控的装置进行描述,请参阅图4,本发明实施例中自动化测试监控的装置一个实施例包括:
提取模块401,用于发送提取指令至预置的调度系统,以供调度系统根据提取指令从预置的版本控制系统中提取待测试脚本;
第一部署模块402,用于发送第一部署指令至预置的部署系统,以供部署系统根据第一部署指令将待测试脚本部署到预置的测试系统中;
测试模块403,用于发送运行测试指令至测试系统,以供测试系统根据运行测试指令和预置的测试任务对待测试脚本进行运行测试,获得测试信息,测试任务包括待测试脚本的库名异常测试、依赖关系信息测试、结构化查询语言优化测试、调度时间的时效测试和运行时长测试中的至少一种;
处理模块404,用于对测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;
第二部署模块405,用于生成第二目标脚本的分析信息和预警信息,以及发送第二部署指令至部署系统,以供部署系统根据第二部署指令,将第一目标脚本部署到预置的生产系统并向生产系统发送检测任务,第二部署指令用于过滤第二目标脚本和选取第一目标脚本,检测任务包括建表任务和执行Hibernate查询语言语句任务;
分析模块406,用于分析第一目标脚本在生产系统中执行检测任务的运行状态,获取运行状态为失败的报错信息,并将报错信息、分析信息和预警信息发送至预置的反馈接口。
上述自动化测试监控的装置中各个模块的功能实现与上述自动化测试监控的方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明实施例中,通过建立调度测试系统、生产测试环境系统、版本控制系统环境和部署系统之间的数据共享互联,以及通过部署系统将脚本转移到对应的路径,生产测试环境系统下发库名是否异常的情况、测试脚本的依赖关系信息是否一致、测试脚本中的调度时间是否满足数据仓库的时效要求,以及待测试脚本在测试系统中的运行时长与在预置的生产系统的运行时长的差值是否异常,以及通过部署系统对测试环境进行报错预警和脚本过滤,提高部署到生产环境中的脚本的性能。
请参阅图5,本发明实施例中自动化测试监控的装置的另一个实施例包括:
提取模块401,用于发送提取指令至预置的调度系统,以供调度系统根据提取指令从预置的版本控制系统中提取待测试脚本;
第一部署模块402,用于发送第一部署指令至预置的部署系统,以供部署系统根据第一部署指令将待测试脚本部署到预置的测试系统中;
测试模块403,用于发送运行测试指令至测试系统,以供测试系统根据运行测试指令和预置的测试任务对待测试脚本进行运行测试,获得测试信息,测试任务包括待测试脚本的库名异常测试、依赖关系信息测试、结构化查询语言优化测试、调度时间的时效测试和运行时长测试中的至少一种;
其中,处理模块403具体包括:
匹配处理单元4031,用于发送运行测试指令至测试系统,以供测试系统根据运行测试指令和预置的测试任务,获取待测试脚本的第一库名,以及测试系统中配置文件的第二库名,并对第一库名和第二库名进行匹配处理,获得库名匹配正常的第一脚本;
对比分析单元4032,用于获取第一脚本中各预置类型表结构的依赖关系信息,以及测试系统中输入的表信息,并对依赖关系信息与表信息进行对比分析,获得依赖关系信息与表信息一致的第二脚本;
检测单元4033,用于对第二脚本进行结构化查询语言优化测试,获得符合预设结构化查询语言优化条件的第三脚本;
第一计算单元4034,用于获取第三脚本中预置明细数据层表的第一调度时刻,以及预置操作型数据存储表的第二调度时刻,并计算第一调度时刻和第二调度时刻之间的差值,获得差值符合预设时效条件的第四脚本;
第二计算单元4035,用于获取第四脚本在测试系统中的第一运行时长,以及在预置的生产系统中的第二运行时长,并计算第一运行时长与第二运行时长之间的差值绝对值,将差值绝对值小于预设阈值的第四脚本确定为第五脚本;
获取单元4036用于将第五脚本确定为运行测试成功的测试信息,将待测试脚本中除第五脚本之外的待测试脚本,确定为运行测试失败的测试信息;
处理模块404,用于对测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;
第二部署模块405,用于生成第二目标脚本的分析信息和预警信息,以及发送第二部署指令至部署系统,以供部署系统根据第二部署指令,将第一目标脚本部署到预置的生产系统并向生产系统发送检测任务,第二部署指令用于过滤第二目标脚本和选取第一目标脚本,检测任务包括建表任务和执行Hibernate查询语言语句任务;
分析模块406,用于分析第一目标脚本在生产系统中执行检测任务的运行状态,获取运行状态为失败的报错信息,并将报错信息、分析信息和预警信息发送至预置的反馈接口。
可选的,匹配处理单元4031还可以具体用于:
获取待测试脚本的第一库名,以及测试系统中配置文件的第二库名所对应的库名类型;
计算第一库名在配置文件中对应库名类型的词频;
根据词频计算第一库名在配置文件的先验概率,并根据预置的贝叶斯公式和先验概率计算后验概率;
将后验概率最小值对应的第一库名作为目标库名,以及将目标库名对应的待测试脚本确定为库名匹配正常的第一脚本。
可选的,检测单元4033还可以具体用于:
创建第二脚本的有限状态传感器树;
通过有限状态传感器树,分析第二脚本是否满足预设结构化查询语言优化条件,将满足预设结构化查询语言优化条件对应的第二脚本确定为第三脚本。
可选的,第二部署模块405还可以具体用于:
通过预置的异常检测算法对第二目标脚本进行异常分析,得到分析信息,分析信息包括第二目标脚本中的异常源和异常原因;
分析分析信息的异常度,将异常度达到预设预警条件对应的分析信息确定为候选预警信息;
通过预置的聚类算法对候选预警信息进行聚类处理,得到候选预警信息的类型;
从预置的数据库中获取与候选预警信息的类型对应的异常解决方案,将候选预警信息和对应的异常解决方案确定为预警信息。
可选的,提取模块401还可以具体用于:
检测预置的版本控制系统中的脚本是否存在新增和/或修改,将存在新增和/或修改的脚本确定为待检测脚本,并向预置的调度系统发送提取指令,以使调度系统根据提取指令进行计时;
当调度系统的计时时长达到预设时长时,控制调度系统从版本控制系统中提取待测试脚本。
可选的,自动化测试监控的装置还包括:
优化模块407,用于获取调度系统、版本控制系统、部署系统、测试系统和生产系统中的操作错误信息,以及分析信息、预警信息和报错信息中的错误信息,并根据预置的优化算法、操作错误信息和错误信息对系统操作进行优化,系统操作用于指示调度系统、版本控制系统、部署系统、测试系统和生产系统之间或独自的运行操作。
上述自动化测试监控的装置中各模块和各单元的功能实现与上述自动化测试监控的方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明实施例中,在提高部署到生产环境中的脚本的性能的基础上,通过对待测试脚本进行待测试脚本中的库名是否异常等一系列的测试任务,以获得测试信息,保证进入生产系统之前的脚本的质量,提高对脚本代码语句的运行效率和脚本代码的性能,以及提高后续对于测试信息的操作的效率和准确性,从而提高了生产系统中脚本的性能。
上面图4和图5从模块化功能实体的角度对本发明实施例中的自动化测试监控的装置进行详细描述,下面从硬件处理的角度对本发明实施例中自动化测试监控的设备进行详细描述。
图6是本发明实施例提供的一种自动化测试监控的设备的结构示意图,该自动化测试监控的设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对自动化测试监控的设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在自动化测试监控的设备600上执行存储介质630中的一系列指令操作。
自动化测试监控的设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的自动化测试监控的设备结构并不构成对自动化测试监控的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行自动化测试监控的方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种自动化测试监控的方法,其特征在于,所述自动化测试监控的方法包括:
发送提取指令至预置的调度系统,以供所述调度系统根据所述提取指令从预置的版本控制系统中提取待测试脚本;
发送第一部署指令至预置的部署系统,以供所述部署系统根据所述第一部署指令将所述待测试脚本部署到预置的测试系统中;
发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务对所述待测试脚本进行运行测试,获得测试信息,所述测试任务包括所述待测试脚本的库名异常测试、依赖关系信息测试、结构化查询语言优化测试、调度时间的时效测试和运行时长测试中的至少一种;
对所述测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;
生成所述第二目标脚本的分析信息和预警信息,以及发送第二部署指令至所述部署系统,以供所述部署系统根据所述第二部署指令,将所述第一目标脚本部署到预置的生产系统并向所述生产系统发送检测任务,所述第二部署指令用于过滤所述第二目标脚本和选取所述第一目标脚本,所述检测任务包括建表任务和执行Hibernate查询语言语句任务;
分析所述第一目标脚本在所述生产系统中执行所述检测任务的运行状态,获取运行状态为失败的报错信息,并将所述报错信息、所述分析信息和所述预警信息发送至预置的反馈接口。
2.根据权利要求1所述的自动化测试监控的方法,其特征在于,所述发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务对所述待测试脚本进行运行测试,获得测试信息,包括:
发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务,获取所述待测试脚本的第一库名,以及所述测试系统中配置文件的第二库名,并对所述第一库名和所述第二库名进行匹配处理,获得库名匹配正常的第一脚本;
获取所述第一脚本中各预置类型表结构的依赖关系信息,以及所述测试系统中输入的表信息,并对所述依赖关系信息与所述表信息进行对比分析,获得所述依赖关系信息与所述表信息一致的第二脚本;
对所述第二脚本进行结构化查询语言优化测试,获得符合预设结构化查询语言优化条件的第三脚本;
获取所述第三脚本中预置明细数据层表的第一调度时刻,以及预置操作型数据存储表的第二调度时刻,并计算所述第一调度时刻和所述第二调度时刻之间的差值,获得所述差值符合预设时效条件的第四脚本;
获取所述第四脚本在所述测试系统中的第一运行时长,以及在预置的生产系统中的第二运行时长,并计算所述第一运行时长与所述第二运行时长之间的差值绝对值,将所述差值绝对值小于预设阈值的第四脚本确定为第五脚本;
将所述第五脚本确定为运行测试成功的测试信息,将所述待测试脚本中除所述第五脚本之外的待测试脚本,确定为运行测试失败的测试信息。
3.根据权利要求2所述的自动化测试监控的方法,其特征在于,所述获取所述待测试脚本的第一库名,以及所述测试系统中配置文件的第二库名,并对所述第一库名和所述第二库名进行匹配处理,获得库名匹配正常的第一脚本,包括:
获取所述待测试脚本的第一库名,以及所述测试系统中配置文件的第二库名所对应的库名类型;
计算所述第一库名在所述配置文件中对应所述库名类型的词频;
根据所述词频计算所述第一库名在所述配置文件的先验概率,并根据预置的贝叶斯公式和所述先验概率计算后验概率;
将所述后验概率最小值对应的第一库名作为目标库名,以及将所述目标库名对应的待测试脚本确定为库名匹配正常的第一脚本。
4.根据权利要求2所述的自动化测试监控的方法,其特征在于,所述对所述第二脚本进行结构化查询语言优化测试,获得符合预设结构化查询语言优化条件的第三脚本,包括:
创建所述第二脚本的有限状态传感器树;
通过所述有限状态传感器树,分析所述第二脚本是否满足预设结构化查询语言优化条件,将满足所述预设结构化查询语言优化条件对应的第二脚本确定为第三脚本。
5.根据权利要求1所述的自动化测试监控的方法,其特征在于,所述生成所述第二目标脚本的分析信息和预警信息,包括:
通过预置的异常检测算法对所述第二目标脚本进行异常分析,得到分析信息,所述分析信息包括所述第二目标脚本中的异常源和异常原因;
分析所述分析信息的异常度,将所述异常度达到预设预警条件对应的分析信息确定为候选预警信息;
通过预置的聚类算法对所述候选预警信息进行聚类处理,得到所述候选预警信息的类型;
从预置的数据库中获取与所述候选预警信息的类型对应的异常解决方案,将所述候选预警信息和对应的异常解决方案确定为预警信息。
6.根据权利要求1所述的自动化测试监控的方法,其特征在于,所述发送提取指令至预置的调度系统,以供所述调度系统根据所述提取指令从预置的版本控制系统中提取待测试脚本,包括:
检测预置的版本控制系统中的脚本是否存在新增和/或修改,将存在新增和/或修改的脚本确定为待检测脚本,并向预置的调度系统发送提取指令,以使所述调度系统根据所述提取指令进行计时;
当所述调度系统的计时时长达到预设时长时,控制所述调度系统从所述版本控制系统中提取待测试脚本。
7.根据权利要求1-6中任一项所述的自动化测试监控的方法,其特征在于,所述将所述报错信息、所述分析信息和所述预警信息发送至预置的反馈接口之后,还包括:
获取所述调度系统、所述版本控制系统、所述部署系统、所述测试系统和所述生产系统中的操作错误信息,以及所述分析信息、所述预警信息和所述报错信息中的错误信息,并根据预置的优化算法、所述操作错误信息和所述错误信息对系统操作进行优化,所述系统操作用于指示所述调度系统、所述版本控制系统、所述部署系统、所述测试系统和所述生产系统之间或独自的运行操作。
8.一种自动化测试监控的装置,其特征在于,所述自动化测试监控的装置包括:
提取模块,用于发送提取指令至预置的调度系统,以供所述调度系统根据所述提取指令从预置的版本控制系统中提取待测试脚本;
第一部署模块,用于发送第一部署指令至预置的部署系统,以供所述部署系统根据所述第一部署指令将所述待测试脚本部署到预置的测试系统中;
测试模块,用于发送运行测试指令至所述测试系统,以供所述测试系统根据所述运行测试指令和预置的测试任务对所述待测试脚本进行运行测试,获得测试信息,所述测试任务包括所述待测试脚本的库名异常测试、依赖关系信息测试、结构化查询语言优化测试、调度时间的时效测试和运行时长测试中的至少一种;
处理模块,用于对所述测试信息进行分类处理,获得运行测试成功的第一目标脚本和运行测试失败的第二目标脚本;
第二部署模块,用于生成所述第二目标脚本的分析信息和预警信息,以及发送第二部署指令至所述部署系统,以供所述部署系统根据所述第二部署指令,将所述第一目标脚本部署到预置的生产系统并向所述生产系统发送检测任务,所述第二部署指令用于过滤所述第二目标脚本和选取所述第一目标脚本,所述检测任务包括建表任务和执行Hibernate查询语言语句任务;
分析模块,用于分析所述第一目标脚本在所述生产系统中执行所述检测任务的运行状态,获取运行状态为失败的报错信息,并将所述报错信息、所述分析信息和所述预警信息发送至预置的反馈接口。
9.一种自动化测试监控的设备,其特征在于,所述自动化测试监控的设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述自动化测试监控的设备执行如权利要求1-7中任意一项所述的自动化测试监控的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述自动化测试监控的方法。
CN202010713365.4A 2020-07-22 2020-07-22 自动化测试监控的方法、装置、设备及存储介质 Active CN111858352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010713365.4A CN111858352B (zh) 2020-07-22 2020-07-22 自动化测试监控的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010713365.4A CN111858352B (zh) 2020-07-22 2020-07-22 自动化测试监控的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111858352A true CN111858352A (zh) 2020-10-30
CN111858352B CN111858352B (zh) 2024-04-05

Family

ID=72950607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010713365.4A Active CN111858352B (zh) 2020-07-22 2020-07-22 自动化测试监控的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111858352B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141273A (zh) * 2021-04-22 2021-07-20 康键信息技术(深圳)有限公司 基于预警信息的自修复方法、装置、设备及存储介质
CN113190236A (zh) * 2021-05-27 2021-07-30 中国工商银行股份有限公司 Hql脚本校验方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075381A (zh) * 2010-12-14 2011-05-25 云海创想信息技术(北京)有限公司 一种应用于云存储的自动化测试平台服务器及系统
CN107688531A (zh) * 2017-06-20 2018-02-13 平安科技(深圳)有限公司 数据库集成测试方法、装置、计算机设备及存储介质
CN107704395A (zh) * 2017-10-24 2018-02-16 武大吉奥信息技术有限公司 一种基于Openstack下云平台自动化测试实施方法与系统
CN109726107A (zh) * 2018-06-01 2019-05-07 平安普惠企业管理有限公司 测试方法、装置、设备及存储介质
CN110417613A (zh) * 2019-06-17 2019-11-05 平安科技(深圳)有限公司 基于Jmeter的分布式性能测试方法、装置、设备及存储介质
CN111209191A (zh) * 2019-12-29 2020-05-29 的卢技术有限公司 一种实现视频分类的自动化测试方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075381A (zh) * 2010-12-14 2011-05-25 云海创想信息技术(北京)有限公司 一种应用于云存储的自动化测试平台服务器及系统
CN107688531A (zh) * 2017-06-20 2018-02-13 平安科技(深圳)有限公司 数据库集成测试方法、装置、计算机设备及存储介质
CN107704395A (zh) * 2017-10-24 2018-02-16 武大吉奥信息技术有限公司 一种基于Openstack下云平台自动化测试实施方法与系统
CN109726107A (zh) * 2018-06-01 2019-05-07 平安普惠企业管理有限公司 测试方法、装置、设备及存储介质
CN110417613A (zh) * 2019-06-17 2019-11-05 平安科技(深圳)有限公司 基于Jmeter的分布式性能测试方法、装置、设备及存储介质
CN111209191A (zh) * 2019-12-29 2020-05-29 的卢技术有限公司 一种实现视频分类的自动化测试方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141273A (zh) * 2021-04-22 2021-07-20 康键信息技术(深圳)有限公司 基于预警信息的自修复方法、装置、设备及存储介质
CN113190236A (zh) * 2021-05-27 2021-07-30 中国工商银行股份有限公司 Hql脚本校验方法及装置
CN113190236B (zh) * 2021-05-27 2024-02-02 中国工商银行股份有限公司 Hql脚本校验方法及装置

Also Published As

Publication number Publication date
CN111858352B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
EP3798846B1 (en) Operation and maintenance system and method
US9612898B2 (en) Fault analysis apparatus, fault analysis method, and recording medium
US9652318B2 (en) System and method for automatically managing fault events of data center
CN106681930B (zh) 分布式自动检测应用运行异常方法及系统
CN107145445B (zh) 软件自动化测试的报错日志的自动分析方法和系统
JP2018045403A (ja) 異常検知システム及び異常検知方法
CN110597651A (zh) 业务异常排查方法、装置、设备及计算机可读存储介质
CN111858352B (zh) 自动化测试监控的方法、装置、设备及存储介质
CN113326209B (zh) 面向大规模并行测试任务的分层分段的监控和干预方法
US9489379B1 (en) Predicting data unavailability and data loss events in large database systems
CN112416705A (zh) 一种异常信息的处理方法和装置
CN115344416A (zh) 异常日志筛查方法、系统、装置及计算机可读存储设备
CN113687972A (zh) 业务系统异常数据的处理方法、装置、设备及存储介质
CN112214768A (zh) 一种恶意进程的检测方法及装置
Goyal et al. A novel way of assigning software bug priority using supervised classification on clustered bugs data
CN116361147A (zh) 测试用例根因定位方法及其装置、设备、介质、产品
CN111625428A (zh) 监控Java应用程序运行状态的方法、系统、设备和存储介质
He et al. Tscope: Automatic timeout bug identification for server systems
CN107908525B (zh) 告警处理方法、设备及可读存储介质
KR20170090115A (ko) 빅데이터 기반의 스마트 팩토리 분석시스템 및 방법
Li et al. Event block identification and analysis for effective anomaly detection to build reliable HPC systems
CN113392016A (zh) 对程序异常情况处理的规约生成方法、装置、设备及介质
KR20220048233A (ko) 비정상 이벤트 탐지 방법, 그리고 이를 구현하기 위한 장치
CN112699005A (zh) 服务器硬件故障监控的方法、电子设备及存储介质
CN113010417A (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