一种基于脚本的测试系统、方法及设备与流程

摘要: 本技术涉及计算机脚本执行与测试领域,特别涉及一种基于脚本的测试系统、方法及设备。背景技术:1、现有技术中,shell、python、javascript等各种脚...
一种基于脚本的测试系统、方法及设备与流程

本技术涉及计算机脚本执行与测试领域,特别涉及一种基于脚本的测试系统、方法及设备。

背景技术:

1、现有技术中,shell、python、java script等各种脚本广泛应用于软件测试、数据处理、服务器运维等领域,用于自动化完成重复任务。现有脚本执行方式主要分为人工终端输入命令触发和借助简单定时任务两种触发方式。

2、对于脚本运行监控,现有方案多依赖人工查看终端输出日志或服务器日志文件;错误排查需技术人员逐一分析日志内容,确定错误类型及原因;脚本运行完成后,目标数据需人工从输出结果中提取,服务器资源利用率需通过额外的监控工具(如 top、vmstat)手动记录,最终基于上述数据人工撰写测试报告。

3、现有技术存在以下缺陷:其一,自动化程度低,简单调度工具仅能实现定时触发,无法满足批量脚本有序执行、按前置条件触发等复杂需求,仍需人工干预;其二,监控实时性差,人工监控无法全程同步跟踪脚本运行状态,易错过错误发生时机,且无法实时采集服务器资源利用率数据;其三,错误处理效率低,错误发生后无自动预警机制,需人工发现并排查,且日志分析依赖经验,新手易出现误判,延长问题解决时间;其四,数据与报告不规范,人工收集数据易出现遗漏、错误,不同人员撰写的测试报告格式不统一,关键信息缺失情况频发,影响报告可读性与可用性。

4、由此,亟需一种基于脚本的测试系统,以解决现有技术中,无法快速、准确的完成测试,并生成格式统一的测试报告的问题。

技术实现思路

1、有鉴于此,本发明提供了一种基于脚本的测试系统、方法及设备,主要目的在于解决目前存在的无法快速、准确的完成测试,并且无法生成格式统一的测试报告的问题。

2、为解决上述问题,本技术提供一种基于脚本的测试系统,包括:

3、脚本管理模块,用于将各脚本文件存储至预定目录,并将各所述脚本文件的脚本元数据以及对应的运行参数关联存储至预定缓存区域,所述脚本元数据至少包括:脚本文件的存储路径以及脚本标识;

4、触发控制模块,用于基于目标脚本标识从所述预定缓存区域获取目标脚本元数据以及目标运行参数、并生成目标执行指令;

5、脚本执行模块,用于基于预定的脚本执行进程,根据所述目标执行指令从所述预定目录获取所述目标脚本文件,以及基于所述目标运行参数重复执行所述目标脚本文件,并实时将每次执行的执行结果、标准结果以及进程状态写入临时日志;

6、监控模块,用于基于所述临时日志中每次执行的执行结果、标准结果以及进程状态生成每次执行的监控结果,并将各监控结果以及对应的资源信息存储至所述缓存区域;

7、报告生成模块,用于从所述缓存区域获取监控结果为执行错误的目标执行结果,并基于各预定的错误记录模板对目标执行结果进行识别,确定错误信息,以至少基于所述错误信息生成测试报告,或者从所述缓存区域获取监控结果为执行正确的目标执行结果,并基于正确的目标执行结果生成测试报告。

8、可选的,所述触发控制模块,具体用于:

9、接收用户上传的目标脚本标识;

10、基于所述目标脚本标识查找所述缓存区域,确定包含所述目标脚本标识的目标脚本元数据;

11、获取所述目标脚本元数据以及与所述目标脚本元数据关联的目标运行参数;

12、其中,所述目标运行参数包括如下任意一种或几种参数:并发执行数量、循环执行次数、运行时长以及错误率阈值。

13、可选的,所述脚本执行模块,具体用于:

14、基于所述目标执行指令中的目标脚本元数据中的存储路径、以及目标运行参数,动态构造测试工具命令行;

15、基于预定的进程启动模块启动所述脚本执行进程,并基于所述脚本执行进程根据所述测试工具命令行中的存储路径从所述预定目录获取所述目标脚本文件、以及根据所述测试工具命令行中的目标运行参数重复执行所述目标脚本文件。

16、可选的,所述监控模块,具体用于:

17、创建状态监控线程以及资源监控线程;

18、基于所述状态监控线程按照预定的查询时间从所述缓存区域查询进程状态、以及解析所述临时日志获得每次执行的执行结果以及标准结果,并基于所述执行结果、标准结果确定每次执行的监控结果以及错误率;

19、基于所述资源线程按照预定的监测时间,对运行所述目标脚本文件的服务器进行资源监控,获得所述资源信息;

20、将各监控结果、错误率以及对应的资源信息存储至所述缓存区域。

21、可选的,所述系统还包括:配置模块,所述配置模块用于:预先配置与各错误信息对应的错误记录模板,以基于各所述错误记录模板构建错误码库;各错误记录模板包括与错误信息对应的:错误类型标识、错误描述关键词、正则表达式、错误原因说明以及建议解决方案。

22、可选的,所述报告生成模块包括错误处理单元,所述错误处理单元用于:

23、从所述目标执行结果中提取目标字段;

24、将所述目标字段与各所述错误记录模板中的各错误描述关键词进行匹配,确定若干候选错误记录模板;

25、基于各所述候选错误记录模板中的正则表达式,对所述目标字段进行匹配,确定匹配度;

26、将匹配度最高的候选错误记录模板作为目标错误记录模板,以基于所述目标错误记录模板确定所述目标字段所对应的目标错误信息。

27、可选的,所述错误处理单元还用于:

28、按照预定的时间间隔从所述缓存区域获取当前错误率;

29、基于所述当前错误率以及预定的错误率阈值生成测试停止指令。

30、可选的,所述脚本执行模块还用于:

31、将每次执行的性能测试数据写入所述临时日志,以供状态监控线程从所述临时日志中读取所述性能测试数据,基于所述性能测试数据生成性能测试指标。

32、为解决上述问题,本技术提供一种基于脚本的测试系方法,包括:

33、将各脚本文件存储至预定目录,并将各所述脚本文件的脚本元数据以及对应的运行参数关联存储至预定缓存区域,所述脚本元数据至少包括:脚本文件的存储路径以及脚本标识;

34、基于目标脚本标识从所述预定缓存区域获取目标脚本元数据以及目标运行参数、并生成目标执行指令;

35、基于预定的脚本执行进程,根据所述目标执行指令从所述预定目录获取所述目标脚本文件,以及基于所述目标运行参数重复执行所述目标脚本文件,并实时将每次执行的执行结果、标准结果以及进程状态写入临时日志;

36、基于所述临时日志中每次执行的执行结果、标准结果以及进程状态生成每次执行的监控结果,并将各监控结果以及对应的资源信息存储至所述缓存区域;

37、从所述缓存区域获取监控结果为执行错误的目标执行结果,并基于各预定的错误记录模板对目标执行结果进行识别,确定错误信息,以至少基于所述错误信息生成测试报告,或者从所述缓存区域获取监控结果为执行正确的目标执行结果,并基于正确的目标执行结果生成测试报告。

38、为解决上述问题,本技术提供一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述基于脚本测试方法的步骤。

39、本技术中的基于脚本的测试系统、方法及设备,通过将各脚本统一存储至预定目录、并将各脚本的元数据关联存储至预定缓存区域,后续就可以根据测试需要所对应的目标脚本标识,自动从预定缓存区域获取相应的脚本元数据,从而完成目标执行指令的自动生成,进而后续可以根据该目标执行指令、以及预定的脚本执行进程自动、快速的进行压测,从而能够快速完成测试,与此同时,通过预定的错误记录模板,能够对监控结果进行统一识别,从而能够格式统一的错误信息,进而能够基于错误信息生成格式统一的测试报告。

40、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。