一种动态调配任务的方法、系统、任务管理器及存储介质与流程

文档序号:31633128发布日期:2022-09-24 02:33阅读:65来源:国知局
一种动态调配任务的方法、系统、任务管理器及存储介质与流程

1.本发明涉及智慧产品测试技术领域,尤其涉及一种动态调配任务的方法、系统、任务管理器及存储介质。


背景技术:

2.自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程;通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较;在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念;自动化测试一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件,每一款智慧产品项目都需要进行最终阶段的测试验收,而产品测试包含了产品的功能测试、稳定性测试,当进行稳定性测试时,如一款开关类产品,可能需要测试人员进行多达上百次的开关控制(在智慧终端app上)操作,并记录错误测试,此类重复性的测试工作必要但是耗费人力,因此出现了自动化测试。
3.而自动化测试需要编写自动化测试脚本,在现有技术中自动化测试脚本的运行主要依赖于测试人员的手动运行,要完成脚本之间的配合使用需要脚本开发工作人员编写测试逻辑,并且只能适用于特定的场合中,而特别是用于iot(internet of things,物联网)产品项目的测试脚本无法做到自动启动,且脚本间的配合工作需要开发人员完成相关逻辑,存在无法做到动态调配和自动重复执行的问题。
4.因此,现有技术还有待于改进和发展。


技术实现要素:

5.本发明的主要目的在于提供一种动态调配任务的方法、系统、任务管理器及存储介质,旨在解决现有技术中测试脚本无法实现动态调配且无法自动重复执行的问题。
6.为实现上述目的,本发明提供一种动态调配任务的方法,所述动态调配任务的方法包括如下步骤:
7.获取数据库中的任务,启动所述任务;
8.获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本;
9.在完成执行测试脚本后,接收所述脚本执行中控发送的执行结果,并将所述执行结果作为测试参考标准;
10.接收测试设备的状态变化信息,将所述测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告。
11.可选地,所述的动态调配任务的方法,其中,所述获取数据库中的任务,启动所述任务,之前还包括:
12.根据测试脚本定义原始数据和任务编排数据,所述原始数据包含脚本文件路径和
脚本对应测试用例;
13.基于所述原始数据和所述任务编排数据构建数据库;
14.控制前端ui生成控制编辑页,基于所述控制编辑页展示所述数据库中任务的执行情况,其中,所述前端ui支持excel配置文件导入脚本。
15.可选地,所述的动态调配任务的方法,其中,所述数据库用于存储对脚本指令进行编排所生成的任务,所述任务包括具有指定待测设备信息、测试脚本调用路径信息、测试用例信息和执行编排策略信息。
16.可选地,所述的动态调配任务的方法,其中,所述获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本,具体包括:
17.当所述任务启动时,判断任务管道是否已完成启动;
18.若所述任务管道已完成启动并处于空闲状态,则将所述任务的等待状态转换为进行中,并接收设备云发送的设备数据;
19.将所述设备数据作为发送指令发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行。
20.可选地,所述的动态调配任务的方法,其中,所述当所述任务启动时,判断任务管道是否已完成启动,之后还包括:
21.若所述任务管道未完成启动,则发送任务管道启动指令至所述脚本执行中控以启动所述任务管道。
22.可选地,所述的动态调配任务的方法,其中,所述接收测试设备的状态变化信息,将所述测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告,具体包括:
23.根据测试设备和设备云的连接协议,与所述设备云建立连接;
24.在完成连接后,接收所述设备云发送的测试设备的状态变化信息,将所述测试设备的当前状态与所述测试参考标准的状态比对是否一致;
25.若状态一致,则记录测试成功的数据并开始下一个任务,直到任务结束输出整个任务的测试报告;
26.若状态不一致,则记录测试失败的数据并开始下一个任务,直到任务结束输出整个任务的测试报告。
27.可选地,所述的动态调配任务的方法,其中,所述基于所述测试参考标准,将接收的测试设备的状态变化信息完成比对后记录比对的结果,并输出任务报告,之后还包括:
28.添加超时队列机制,所述超时队列机制用于动态维持测试用例的超时时间;
29.若在超时期间内任务管道未收到正确的消息,则所述测试用例测试失败,并执行下一条测试用例。
30.可选地,所述的动态调配任务的方法,其中,所述动态调配任务的系统包括:
31.任务启动模块,用于获取数据库中的任务,启动所述任务;
32.任务执行模块,用于获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本;
33.执行结果模块,用于在完成执行测试脚本后,接收所述脚本执行中控发送的执行
结果,并将所述执行结果作为测试参考标准;
34.报告输出模块,用于接收的测试设备的状态变化信息,将所述接收的测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告。
35.此外,为实现上述目的,本发明还提供一种任务管理器,其中,所述任务管理器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的动态调配任务程序,所述动态调配任务程序被所述处理器执行时实现如上所述的动态调配任务方法的步骤。
36.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有动态调配任务程序,所述动态调配任务程序被处理器执行时实现如上所述动态调配任务方法的步骤。
37.本发明通过获取数据库中的任务,启动所述任务;获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本;在完成执行测试脚本后,接收所述脚本执行中控发送的执行结果,并将所述执行结果作为测试参考标准;接收测试设备的状态变化信息,将所述测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告。本发明通过进行脚本执行指令下发并获取每个脚本指定设备状态数据,比对设备的预期结果并最终输出测试任务报告,提高了测试脚本的灵活性和实用性,替代了部分重复性测试工作,解放了人力。
附图说明
38.图1是本发明中动态调配任务的方法的较佳实施例的流程图;
39.图2是本发明中动态调配任务的工具构架示意图;
40.图3是本发明中动态调配任务的方法的较佳实施例中步骤s20的流程图;
41.图4是本发明中动态调配任务的方法的较佳实施例中步骤s40的流程图;
42.图5是本发明中动态调配任务的方法的较佳实施例的整个流程示意图;
43.图6是本发明中动态调配任务系统的较佳实施例的原理示意图;
44.图7为本发明任务管理器的较佳实施例的运行环境示意图。
具体实施方式
45.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
46.本发明较佳实施例所述的动态调配任务的方法,如图1所示,所述动态调配任务的方法包括以下步骤:
47.步骤s10、获取数据库中的任务,启动所述任务。
48.具体地,根据测试脚本定义原始数据和任务编排数据,所述原始数据包含脚本文件路径和脚本对应测试用例;基于所述原始数据和所述任务编排数据构建数据库;前端ui使用web技术生成控制编辑页,所述控制编辑页用于展示所述数据库中存储的可执行的脚本指令,所述脚本指令经过用户编排保存后,生成了具有指定待测设备、测试使用脚本和脚
本编排策略等信息的任务,所述任务生成后通过前后端交互将用户所配置的任务数据存储于所述数据库中,在任务执行时重新调取组装使用;用户可以控制所述任务的开始和中断,还可以在所述控制编辑页查看任务执行情况;其中,所述前端ui提供脚本录入功能,支持excel配置文件导入脚本,并通过维护配置文件来保存脚本和测试用例的原始数据,方便测试开发人员管理;获取数据库中的任务,启动所述任务。
49.进一步地,图2为本发明动态调配任务的工具构架图,图中包括四个结构,分别为任务管理中心、设备云、前端ui和脚本执行工具;其中,所述任务管理中心为整个工具架构的中心;所述设备云将所获取的被测设备的信息及状态变化发送给所述任务管理中心;所述前端ui将用户操作、调度变更的任务发送至所述任务管理中心,所述任务管理中心通过所述前端ui读取数据库中数据,显示任务状态和脚本信息;所述脚本执行工具接收所述任务管理中心下发的当前执行指令信息进行处理,处理完成后将脚本执行的结果返回至所述任务管理中心。
50.具体地,在本发明实施例中,当测试人员测试一款智能空调时,需先选择所进行测试的实际设备,任务管理中心会根据设备的类型,提供可供选择的测试用例用于用户编排测试任务(例如,打开/关闭空调、设置空调风速、模式、温度和定时等),动态调配任务的工具为了满足测试任务中的压测需要,提供测试任务的多轮重复执行功能供测试人员选择;测试人员编排好任务后,选择一个可用的测试终端(例如,手机、电脑和电视等)作为脚本的执行平台,即完成一个任务的创建;而在任务管理页面,测试任务可将刚创建或未开始的任务进行执行。
51.步骤s20、获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本。
52.具体过程请参阅图3,其为本发明提供的动态调配任务的方法中步骤s20的流程图。
53.如图3所示,所述步骤s20包括:
54.步骤s21、当所述任务启动时,判断任务管道是否已完成启动;
55.步骤s22、若所述任务管道已完成启动并处于空闲状态,则将所述任务的等待状态转换为进行中,并接收设备云发送的设备数据;
56.步骤s22、将所述设备数据作为发送指令发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行。
57.具体地,当所述任务开始启动时,判断相同任务管道(测试脚本最终运行在终端(例如手机、电视终端设备等),如果多个任务指定了同一个运行的终端,将多个任务指定了同一个运行终端的情况定义为这些任务处于相同任务管道中)是否已完成启动,若任务管道未完成启动,则发送任务管道启动指令至所述脚本执行中控以启动所述任务管道;若所述任务管道已完成启动,则判断所述任务管道中是否有任务在执行,若所述任务管道有任务正在执行当中,则将所述任务加入到等待队列;若所述任务管道没有任务在执行,则将所述任务的等待状态转换为进行中,并接收设备云发送的设备数据;将所述设备数据作为发送指令(例如,打开空调、设置空调风速为3挡等)发送给脚本执行中控,所述脚本执行中控依据所述发送指令的信息在测试终端上运行指定的测试脚本。
58.进一步地,多个任务开始执行时,因所运行的终端相同,任务与任务之间无法穿插
进行,故任务管理中心会为每一个测试终端维护一个任务队列,在一个任务输出任务报告后,检索任务队列,自动开始下一个任务,以保证在无人值守时任务能够依次的执行。
59.步骤s30、在完成执行测试脚本后,接收所述脚本执行中控发送的执行结果,并将所述执行结果作为测试参考标准。
60.具体地,在完成执行测试脚本后,接收所述脚本执行中控发送的执行结果,并将所述执行结果作为测试参考标准。
61.步骤s40、接收测试设备的状态变化信息,将所述测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告。
62.具体过程请参阅图4,其为本发明提供的动态调配任务的方法中步骤s40的流程图。
63.如图4所示,所述步骤s40包括:
64.步骤s41、根据测试设备和设备云的连接协议,与所述设备云建立连接;
65.步骤s42、在完成连接后,接收所述设备云发送的测试设备的状态变化信息,将所述测试设备的当前状态与所述测试参考标准的状态比对是否一致;
66.步骤s43、若状态一致,则记录测试成功的数据并开始下一个任务,直到任务结束输出整个任务的测试报告;
67.步骤s44、若状态不一致,则记录测试失败的数据并开始下一个任务,直到任务结束输出整个任务的测试报告。
68.具体地,根据测试设备和设备云的连接协议,与所述设备云建立连接,在完成连接后,接收所述设备云发送的测试设备的状态变化信息(例如,一个开关设备的开关状态为“开”),将所述测试设备的当前状态与所述测试参考标准的状态(例如,开启脚本绑定"开关状态开"结果)进行比对是否达到设备预期的状态;若状态与预期的状态一致,则记录测试成功的数据并开始下一个任务,直到任务结束输出整个任务的测试报告;若状态与预期的状态不一致,则记录测试失败的数据并开始下一个任务,直到任务结束输出整个任务的测试报告。
69.其中,还支持将正在执行中的任务进行中断,当任务中断时,任务管理中心会将中断任务的执行结果报告输出,并依据特定的格式将数据处理为测试人员需要可清晰分析的测试表单;任务在输出完测试报告后,会检查测试终端对应的任务队列是否有等待中的任务,若有,则取队首任务开始执行,直到所有任务执行完成。
70.进一步地,为了避免设备云无信息或脚本中控无信息导致任务调度模块持续等待,通过添加超时队列机制,所述超时队列机制用于动态维持每个测试用例的超时时间,若在超时期间未收到正确的脚本中控信息和iot云的设备状态信息,则在延时任务开始时,设置此测试脚本失败,否则在测试用例结果正常时,取消此超时任务;任务执行完一轮测试用例后,会依据是否设置多轮测试,进行下一轮次的用例执行。
71.进一步地,如图5所示,本发明动态调配任务的方法的较佳实施例的整个过程如下:
72.步骤s1,获取用户编排的任务;
73.步骤s2,启动所述任务;
74.步骤s3,判断相同任务管道是否已完成启动,若任务管道未完成启动,则进入步骤
s4;若任务管道已完成启动,则进入步骤s5;
75.步骤s4,发送任务管道启动指令至所述脚本执行中控以启动所述任务管道;
76.步骤s5,判断所述任务管道中是否有任务在执行,若所述任务管道中有任务正在执行当中,则将所述任务加入到等待队列;若所述任务管道没有任务在执行,则进入步骤s6;
77.步骤s6,将所述任务的等待状态转换为进行中,并接收设备云发送的设备数据;
78.步骤s7,将所述设备数据作为发送指令发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行;
79.步骤s8,接收所述设备云发送的测试设备的状态变化信息,将所述测试设备的当前状态与所述测试参考标准的状态进行比对是否达到设备预期的状态;若状态与预期的状态一致,则进入步骤s9,若状态与预期的状态不一致,则进入s10;
80.步骤s9,记录测试成功的数据并开始下一个任务,并判断任务是否结束,若任务没有结束,则进入步骤s7,若任务结束,则进入步骤s12;
81.步骤s10,记录测试失败的数据并开始下一个任务,并判断任务是否结束,若任务没有结束,则进入步骤s7,若任务结束,则进入步骤s12;
82.步骤s11,若出现任务中断,则判断所述任务是否结束,若任务没有结束,则进入步骤s7,若任务结束,则进入步骤s12;
83.步骤s12,输出整个任务的测试报告。
84.进一步地,如图6所示,基于上述动态调配任务的方法,本发明还相应提供了动态调配任务系统,所述动态调配任务系统包括:
85.任务启动模块51,用于获取数据库中的任务,启动所述任务;
86.任务执行模块52,用于获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本;
87.执行结果模块53,用于在完成执行测试脚本后,接收所述脚本执行中控发送的执行结果,并将所述执行结果作为测试参考标准;
88.报告输出模块54,用于接收的测试设备的状态变化信息,将所述接收的测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告。
89.进一步地,如图7所示,基于上述动态调配任务的方法,本发明还相应提供了一种任务管理器,所述任务管理器包括处理器10、存储器20及显示器30;图7仅示出了任务管理器的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
90.所述存储器20在一些实施例中可以是所述任务管理器的内部存储单元,例如任务管理器的硬盘或内存。所述存储器20在另一些实施例中也可以是所述任务管理器的外部存储设备,例如所述任务管理器上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器20还可以既包括所述任务管理器的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述任务管理器的应用软件及各类数据,例如所述安装任务管理器的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器
20上存储有动态调配任务程序40,该动态调配任务程序40可被处理器10所执行,从而实现本技术中动态调配任务的方法。
91.所述处理器10在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述动态调配任务的方法等。
92.所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述任务管理器的信息以及用于显示可视化的用户界面。所述任务管理器的部件10-30通过系统总线相互通信。
93.在一实施例中,当处理器10执行所述存储器20中分屏窗口的界面显示程序40时实现以下步骤:
94.获取数据库中的任务,启动所述任务;
95.获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本;
96.在完成执行测试脚本后,接收所述脚本执行中控发送的执行结果,并将所述执行结果作为测试参考标准;
97.接收测试设备的状态变化信息,将所述测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告。
98.其中,所述获取数据库中的任务,启动所述任务,之前还包括:
99.根据测试脚本定义原始数据和任务编排数据,所述原始数据包含脚本文件路径和脚本对应测试用例;
100.基于所述原始数据和所述任务编排数据构建数据库;
101.控制前端ui生成控制编辑页,基于所述控制编辑页展示所述数据库中任务的执行情况,其中,所述前端ui支持excel配置文件导入脚本。
102.其中,所述数据库用于存储对脚本指令进行编排所生成的任务,所述任务包括具有指定待测设备信息、测试脚本调用路径信息、测试用例信息和执行编排策略信息。
103.其中,所述获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本,具体包括:
104.当所述任务启动时,判断任务管道是否已完成启动;
105.若所述任务管道已完成启动并处于空闲状态,则将所述任务的等待状态转换为进行中,并接收设备云发送的设备数据;
106.将所述设备数据作为发送指令发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行。
107.其中,所述当所述任务启动时,判断任务管道是否已完成启动,之后还包括:
108.若所述任务管道未完成启动,则发送任务管道启动指令至所述脚本执行中控以启动所述任务管道。
109.其中,所述接收测试设备的状态变化信息,将所述测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告,具体包括:
110.根据测试设备和设备云的连接协议,与所述设备云建立连接;
111.在完成连接后,接收所述设备云发送的测试设备的状态变化信息,将所述测试设备的当前状态与所述测试参考标准的状态比对是否一致;
112.若状态一致,则记录测试成功的数据并开始下一个任务,直到任务结束输出整个任务的测试报告;
113.若状态不一致,则记录测试失败的数据并开始下一个任务,直到任务结束输出整个任务的测试报告。
114.其中,所述基于所述测试参考标准,将接收的测试设备的状态变化信息完成比对后记录比对的结果,并输出任务报告,之后还包括:
115.添加超时队列机制,所述超时队列机制用于动态维持测试用例的超时时间;
116.若在超时期间内任务管道未收到正确的消息,则所述测试用例测试失败,并执行下一条测试用例。
117.本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有动态调配任务程序,所述动态调配任务程序被处理器执行时实现如上所述动态调配任务的方法的步骤。
118.综上所述,本发明提供一种动态调配任务的方法、系统、任务管理器及存储介质,所述方法包括:获取数据库中的任务,启动所述任务;获取测试用例数据,将所述测试用例数据发送给脚本执行中控,并控制所述脚本执行中控在指定测试终端上进行执行测试脚本;在完成执行测试脚本后,接收所述脚本执行中控发送的执行结果,并将所述执行结果作为测试参考标准;接收测试设备的状态变化信息,将所述测试设备的状态变化信息与所述测试参考标准进行对比,输出比对结果,并根据所述比对结果输出任务报告。本发明通过进行脚本执行指令下发并获取每个脚本指定设备状态数据,比对设备的预期结果并最终输出测试任务报告,提高了测试脚本的灵活性和实用性,替代了部分重复性测试工作,解放了人力。
119.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
120.当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的计算机可读存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的计算机可读存储介质可为存储器、磁碟、光盘等。
121.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1