CN108763085A - 测试案例的在线调试装置、方法及计算机可读存储介质 - Google Patents
测试案例的在线调试装置、方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108763085A CN108763085A CN201810544750.3A CN201810544750A CN108763085A CN 108763085 A CN108763085 A CN 108763085A CN 201810544750 A CN201810544750 A CN 201810544750A CN 108763085 A CN108763085 A CN 108763085A
- Authority
- CN
- China
- Prior art keywords
- task
- debugging
- code
- test
- case
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种测试案例的在线调试装置,包括存储器和处理器,存储器上存储有可在处理器上运行的案例调试程序,该程序被处理器执行时实现如下步骤:当侦测到用户发送的案例编辑指令时,展示案例编辑界面;获取测试案例的代码并存储至代码库;当侦测到基于测试案例触发的调试指令时,建立调试任务并确定该任务的参数;将调试任务添加至任务队列中,由执行机集群从任务队列中调取调试任务并执行,并将任务数据回写到预设数据库中;若检测到调试任务完成,从预设数据库中读取任务数据并展示。本发明还提出一种测试案例的在线调试方法以及一种计算机可读存储介质。本发明解决了现有的调试方法难以准确完整地体现出测试情况的技术问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试案例的在线调试装置、方法及计算机可读存储介质。
背景技术
现有的性能测试平台不支持在线调试功能,因此在测试案例的调试环节,一般都采用本地调用,即在本地搭建调试环境,对编辑的测试案例进行调试,但是由于本地搭建的调试环境难以保持与***的实际应用环境一致,即测试案例调试时的运行环境与测试案例在实际测试的运行环境不同,导致存在难以准确完整地体现出测试情况的问题。
发明内容
本发明提供一种测试案例的在线调试装置、方法及计算机可读存储介质,其主要目的在于解决现有的调试方法难以准确完整地体现出测试情况的技术问题。
为实现上述目的,本发明提供一种测试案例的在线调试装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的案例调试程序,所述案例调试程序被所述处理器执行时实现如下步骤:
当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例;
获取用户基于所述案例编辑界面编写的测试案例的代码,并将所述代码存储至代码库;
当侦测到基于所述测试案例触发的调试指令时,根据所述调试指令建立调试任务并确定该调试任务的参数;
将所述调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从所述任务队列中调取并执行所述调试任务,以对被测***进行测试,并由执行机将任务数据回写到预设数据库中;
若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示。
可选地,所述当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例的步骤包括:
当侦测到用户基于用户终端发送的案例编辑指令时,确定所述编辑指令对应的测试案例;
从代码库中查找所述测试案例的代码,展示案例编辑界面,并将查找到的代码展示在所述案例编辑界面上,以供用户对所述测试案例的代码进行在线编辑。
可选地,所述任务参数包括执行机的预设数量,所述在线调试程序还可被所述处理器执行,以实现如下步骤:
在将所述调试任务添加至任务队列之后,将所述调试任务的状态标记为待执行状态;
每当检测到有执行机调取所述调试任务时,判断所述调试任务的状态任务是否为待执行状态;
若所述调试任务的任务状态为待执行状态,则为所述调试任务添加该调试任务被该执行机调取的状态信息,并在调取所述调试任务并从所述代码库下载对应代码的执行机的数量达到所述预设数量后,将所述调试任务的状态修改为执行状态;
若所述调试任务的状态任务为执行状态,则向该执行机发送调取任务失败的响应信息;
在检测到所述调试任务的状态为执行状态时,控制所述预设数量的执行机执行所述调试任务,以对被测***进行测试。
可选地,所述案例调试程序还可被所述处理器执行,以若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示的步骤之后,还实现如下步骤:
若接收到基于所述任务数据触发的案例修改指令时,从所述代码库中获取所述测试案例的代码并展示,以供用户根据所述任务数据对所述代码进行修改;
若检测到代码修改完成,则将修改后的代码更新存储到所述代码库中。
可选地,所述案例调试程序还可被所述处理器执行,以实现如下步骤:
在接收到用户基于用户终端发送的测试场景修改指令时,从所述测试场景修改指令中获取场景参数,并确定所述场景修改指令对应的测试场景;
从代码库中获取与测试场景匹配的测试代码,并所述场景参数修改所述测试代码,将修改后的所述测试代码更新存储至所述代码库。
此外,为实现上述目的,本发明还提供一种测试案例的在线调试方法,该方法包括:
当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例;
获取用户基于所述案例编辑界面编写的测试案例的代码,并将所述代码存储至代码库;
当侦测到基于所述测试案例触发的调试指令时,根据所述调试指令建立调试任务并确定该调试任务的参数;
将所述调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从所述任务队列中调取并执行所述调试任务,以对被测***进行测试,并由执行机将任务数据回写到预设数据库中;
若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示。
可选地,所述当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例的步骤包括:
当侦测到用户基于用户终端发送的案例编辑指令时,确定所述编辑指令对应的测试案例;
从代码库中查找所述测试案例的代码,展示案例编辑界面,并将查找到的代码展示在所述案例编辑界面上,以供用户对所述测试案例的代码进行在线编辑。
可选地,所述方法还包括如下步骤:
在将所述调试任务添加至任务队列之后,将所述调试任务的状态标记为待执行状态;
每当检测到有执行机调取所述调试任务时,判断所述调试任务的状态任务是否为待执行状态;
若所述调试任务的任务状态为待执行状态,则为所述调试任务添加该调试任务被该执行机调取的状态信息,并在调取所述调试任务并从所述代码库下载对应代码的执行机的数量达到所述预设数量后,将所述调试任务的状态修改为执行状态;
若所述调试任务的状态任务为执行状态,则向该执行机发送调取任务失败的响应信息;
在检测到所述调试任务的状态为执行状态时,控制所述预设数量的执行机执行所述调试任务,以对被测***进行测试。
可选地,所述方法还包括如下步骤:
在接收到用户基于用户终端发送的测试场景修改指令时,从所述测试场景修改指令中获取场景参数,并确定所述场景修改指令对应的测试场景;
从代码库中获取与测试场景匹配的测试代码,并所述场景参数修改所述测试代码,将修改后的所述测试代码更新存储至所述代码库。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有案例调试程序,所述案例调试程序可被一个或者多个处理器执行,以实现如上所述的测试案例的在线调试方法的步骤。
本发明提出的测试案例的在线调试装置、方法及计算机可读存储介质,当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例,获取用户基于案例编辑界面编辑的测试案例,将该测试案例的代码存储到代码库,当侦测到基于测试案例触发的调试指令时,根据调试指令建立调试任务并确定调试任务的参数,将调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从任务队列中调取并执行调试任务,以对被测***进行测试,也就是说,用户编写完成测试案例之后,不需要在本地搭建测试环境,可以由执行机集群执行该案例以对案例进行调试,能够保证测试案例的调试环境与实际测试环境一致,同时将任务数据回写到预设数据库中,当调试任务完成后,从预设数据库中读取任务数据并展示,以实现准确完整地呈现出测试情况,以供测试人员了解案例的测试情况。
附图说明
图1为本发明测试案例的在线调试装置较佳实施例的示意图;
图2为本发明测试案例的在线调试装置一实施例中案例调试程序的程序模块示意图;
图3为本发明测试案例的在线调试方法第一实施例的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种测试案例的在线调试装置。参照图1所示,为本发明测试案例的在线调试装置较佳实施例的示意图。
在本实施例中,测试案例的在线调试装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。
该测试案例的在线调试装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是测试案例的在线调试装置1的内部存储单元,例如该测试案例的在线调试装置1的硬盘。存储器11在另一些实施例中也可以是测试案例的在线调试装置1的外部存储设备,例如测试案例的在线调试装置1上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括测试案例的在线调试装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于测试案例的在线调试装置1的应用软件及各类数据,例如案例调试程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行案例调试程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
图1仅示出了具有组件11-14以及案例调试程序01的测试案例的在线调试装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在测试案例的在线调试装置1中处理的信息以及用于显示可视化的用户界面。
在图1所示的装置1实施例中,存储器11中存储有案例调试程序01;处理器12执行存储器11中存储的案例调试程序01时实现如下步骤:
当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例。
获取用户基于所述案例编辑界面编写的测试案例的代码,并将所述代码存储至代码库。
本实施例中的在线调试装置作为服务器与用户终端建立通讯连接,并提供测试案例的在线编辑功能和在线调试功能。此外,在线调试装置与执行机集群连接,并控制执行机集群执行测试案例,其中,执行机集群中包含有多台执行机。当用户需要编写新的测试案例或者对已编写的测试案例进行修改时,可以基于用户终端的显示界面触发案例编辑指令,在线调试装置在接收到案例编辑指令时,展示案例编辑界面以供用户编写测试案例,用户在案例编写完成后,在线调试装置获取用户基于案例编辑界面编写的测试案例的代码,将该代码于该测试案例的编号关联后存储至代码库。该预先设置的代码库用于存储测试人员编写并上传的测试案例的代码。
可以理解的是,上述案例编辑指令可以是新建案例指令,可以是案例修改指令,用户根据用户终端的显示界面上的控件触发对应的指令。如果是新建案例指令,则直接显示案例编辑界面;如果是案例修改指令,当侦测到用户基于用户终端发送的案例编辑指令时,确定所述编辑指令对应的测试案例;从代码库中查找所述测试案例的代码,展示案例编辑界面,并将查找到的代码展示在所述案例编辑界面上,以供用户对所述测试案例的代码进行在线编辑。
当侦测到基于所述测试案例触发的调试指令时,根据所述调试指令建立调试任务并确定该调试任务的参数。
当在线调试装置检测到用户终端发送的调试指令时,确定该调试指令对应的测试案例,并建立对应的调试任务以及确定该任务的任务参数。其中,任务参数主要包括但不限于以下内容:执行该任务的执行机的数量、任务ID、任务状态等。任务状态在调试任务的整个调试周期中包含以下状态:待执行状态、执行状态以及执行完成状态。任务参数中的执行机的数量可以由测试人员根据该测试案例的具体需求来设置。
将所述调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从所述任务队列中调取并执行所述调试任务,以对被测***进行测试,并由执行机将任务数据回写到预设数据库中。
在创建调试任务之后,将该调试任务添加到任务队列中。在线调试装置会接收到多个用户终端发送的调试任务,因此,任务队列中可能有多个处于执行中或者待执行的调试任务,并且执行机集群中的执行机的状态也不同,可能有处于空闲状态的执行机,也有正在处理调试任务的执行机。因此,在添加任务后,需要由执行机集群中处于空闲状态的执行机按照预设的任务调度机制从任务队列中取任务并执行。具体地,该步骤可以包括如下细化步骤:
在将所述调试任务添加至任务队列之后,将所述调试任务的状态标记为待执行状态;每当检测到有执行机调取所述调试任务时,判断所述调试任务的状态任务是否为待执行状态;若所述调试任务的任务状态为待执行状态,则为所述调试任务添加该调试任务被该执行机调取的状态信息,并在调取所述调试任务并从所述代码库下载对应代码的执行机的数量达到所述预设数量后,将所述调试任务的状态修改为执行状态;若所述调试任务的状态任务为执行状态,则向该执行机发送调取任务失败的响应信息;在检测到所述调试任务的状态为执行状态时,控制所述预设数量的执行机执行所述调试任务,以对被测***进行测试。
在任务调度的过程中,通过对任务状态的管理实现对执行机调度任务的管理,在任务状态为待执行状态时,允许处于空闲状态的执行机调取该任务并从代码库中下载对应的测试案例的代码,当已经调取任务的执行机的数量已经达到设置的预设数量时,则将该任务的状态修改为执行状态,不再允许其他执行机调取该任务。并且,当检测到该任务的状态为执行状态时,由调取了该任务的多台执行机同步地执行该测试案例,并且各台执行机将执行测试案例得到的任务数据回写到预设数据库中。可选地,该数据库为时间序列数据库。
若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示。
在调试任务执行完成后,在线调试装置从该数据库中读取任务执行的结果数据并展示,以供测试人员根据展示的结果数据对测试案例的脚本进行修改,同时根据任务的执行情况生成日志数据并展示。如果测试人员通过对任务数据的分析,确定需要对测试案例进行修改,则可以基于用户终端发送案例修改指令,若在线调试装置接收到基于所述任务数据触发的案例修改指令时,从所述代码库中获取所述测试案例的代码并展示,以供用户根据所述任务数据对所述代码进行修改;若检测到代码修改完成,则将修改后的代码更新存储到所述代码库中。
上述在线调试装置提供了一个统一的测试案例的调试环境,测试人员编写完成测试案例后,可以直接上传至该装置,由该装置存储代码并建立调试任务,在于实际测试环境一致运行环境中运行该代码,并将代码的运行结果反馈给用户终端,即测试人员不需要在本地搭建测试环境,不仅免去了测试环境的搭建的麻烦,提高了测试案例的编写的效率,而且保证了调试环境与实际测试环境的统一,使得对测试案例的调试结果更加准确。
本实施例提出的测试案例的在线调试装置,当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例,获取用户基于案例编辑界面编辑的测试案例,将该测试案例的代码存储到代码库,当侦测到基于测试案例触发的调试指令时,根据调试指令建立调试任务并确定调试任务的参数,将调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从任务队列中调取并执行调试任务,以对被测***进行测试,也就是说,用户编写完成测试案例之后,不需要在本地搭建测试环境,可以由执行机集群执行该案例以对案例进行调试,能够保证测试案例的调试环境与实际测试环境一致,同时将任务数据回写到预设数据库中,当调试任务完成后,从预设数据库中读取任务数据并展示,以实现准确完整地呈现出测试情况,以供测试人员了解案例的测试情况。
进一步地,在另一实施例中,该装置还提供对测试场景的在线修改功能,具体地,案例调试程序还可被所述处理器执行,以实现如下步骤:在接收到用户基于用户终端发送的测试场景修改指令时,从所述测试场景修改指令中获取场景参数,并确定所述场景修改指令对应的测试场景;从代码库中获取与测试场景匹配的测试代码,并所述场景参数修改所述测试代码,将修改后的所述测试代码更新存储至所述代码库。
其中,场景参数可以包括但不限于以下数据:允许开启测试的虚拟用户的数量,测试时长等。此外,用户设置完成测试场景后,按照预设的可视化展示方式展示该场景被执行时的效果图。例如,用户设置的测试场景为:在预设时长T内,将测试任务的数量逐渐增加到N个,在***中预先设置有适用于这种动态化的测试场景的场景代码,用户可以设置好该场景中参数T、N的值,***对场景代码中对应的值进行修改,生成符合该场景的场景代码后存储。
可选地,在其他的实施例中,案例调试程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述案例调试程序在测试案例的在线调试装置中的执行过程。
例如,参照图2所示,为本发明测试案例的在线调试装置一实施例中的案例调试程序的程序模块示意图,该实施例中,案例调试程序可以被分割为界面展示模块10、代码获取模块20、任务建立模块30、任务调度模块40和数据展示模块50,示例性地:
界面展示模块10用于:当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例;
代码获取模块20用于:获取用户基于所述案例编辑界面编写的测试案例的代码,并将所述代码存储至代码库;
任务建立模块30用于:当侦测到基于所述测试案例触发的调试指令时,根据所述调试指令建立调试任务并确定该调试任务的参数;
任务调度模块40用于:将所述调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从所述任务队列中调取并执行所述调试任务,以对被测***进行测试,并由执行机将任务数据回写到预设数据库中;
数据展示模块50用于:若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示。
上述界面展示模块10、代码获取模块20、任务建立模块30、任务调度模块40和数据展示模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明还提供一种测试案例的在线调试方法。参照图3所示,为本发明测试案例的在线调试方法第一实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,测试案例的在线调试方法包括:
步骤S10,当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例。
步骤S20,获取用户基于所述案例编辑界面编写的测试案例的代码,并将所述代码存储至代码库。
以下内容中以在线调试装置作为执行主体对本发明的方法实施例进行说明。在线调试装置作为服务器与用户终端建立通讯连接,并提供测试案例的在线编辑功能和在线调试功能。此外,在线调试装置与执行机集群连接,并控制执行机集群执行测试案例,其中,执行机集群中包含有多台执行机。当用户需要编写新的测试案例或者对已编写的测试案例进行修改时,可以基于用户终端的显示界面触发案例编辑指令,在线调试装置在接收到案例编辑指令时,展示案例编辑界面以供用户编写测试案例,用户在案例编写完成后,在线调试装置获取用户基于案例编辑界面编写的测试案例的代码,将该代码于该测试案例的编号关联后存储至代码库。该预先设置的代码库用于存储测试人员编写并上传的测试案例的代码。
可以理解的是,上述案例编辑指令可以是新建案例指令,可以是案例修改指令,用户根据用户终端的显示界面上的控件触发对应的指令。如果是新建案例指令,则直接显示案例编辑界面;如果是案例修改指令,当侦测到用户基于用户终端发送的案例编辑指令时,确定所述编辑指令对应的测试案例;从代码库中查找所述测试案例的代码,展示案例编辑界面,并将查找到的代码展示在所述案例编辑界面上,以供用户对所述测试案例的代码进行在线编辑。
步骤S30,当侦测到基于所述测试案例触发的调试指令时,根据所述调试指令建立调试任务并确定该调试任务的参数。
当在线调试装置检测到用户终端发送的调试指令时,确定该调试指令对应的测试案例,并建立对应的调试任务以及确定该任务的任务参数。其中,任务参数主要包括但不限于以下内容:执行该任务的执行机的数量、任务ID、任务状态等。任务状态在调试任务的整个调试周期中包含以下状态:待执行状态、执行状态以及执行完成状态。任务参数中的执行机的数量可以由测试人员根据该测试案例的具体需求来设置。
步骤S40,将所述调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从所述任务队列中调取并执行所述调试任务,以对被测***进行测试,并由执行机将任务数据回写到预设数据库中。
在创建调试任务之后,将该调试任务添加到任务队列中。在线调试装置会接收到多个用户终端发送的调试任务,因此,任务队列中可能有多个处于执行中或者待执行的调试任务,并且执行机集群中的执行机的状态也不同,可能有处于空闲状态的执行机,也有正在处理调试任务的执行机。因此,在添加任务后,需要由执行机集群中处于空闲状态的执行机按照预设的任务调度机制从任务队列中取任务并执行。具体地,步骤S40可以包括如下细化步骤:
在将所述调试任务添加至任务队列之后,将所述调试任务的状态标记为待执行状态;每当检测到有执行机调取所述调试任务时,判断所述调试任务的状态任务是否为待执行状态;若所述调试任务的任务状态为待执行状态,则为所述调试任务添加该调试任务被该执行机调取的状态信息,并在调取所述调试任务并从所述代码库下载对应代码的执行机的数量达到所述预设数量后,将所述调试任务的状态修改为执行状态;若所述调试任务的状态任务为执行状态,则向该执行机发送调取任务失败的响应信息;在检测到所述调试任务的状态为执行状态时,控制所述预设数量的执行机执行所述调试任务,以对被测***进行测试。
在任务调度的过程中,通过对任务状态的管理实现对执行机调度任务的管理,在任务状态为待执行状态时,允许处于空闲状态的执行机调取该任务并从代码库中下载对应的测试案例的代码,当已经调取任务的执行机的数量已经达到设置的预设数量时,则将该任务的状态修改为执行状态,不再允许其他执行机调取该任务。并且,当检测到该任务的状态为执行状态时,由调取了该任务的多台执行机同步地执行该测试案例,并且各台执行机将执行测试案例得到的任务数据回写到预设数据库中。可选地,该数据库为时间序列数据库。
步骤S50,若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示。
在调试任务执行完成后,在线调试装置从该数据库中读取任务执行的结果数据并展示,以供测试人员根据展示的结果数据对测试案例的脚本进行修改,同时根据任务的执行情况生成日志数据并展示。如果测试人员通过对任务数据的分析,确定需要对测试案例进行修改,则可以基于用户终端发送案例修改指令,若在线调试装置接收到基于所述任务数据触发的案例修改指令时,从所述代码库中获取所述测试案例的代码并展示,以供用户根据所述任务数据对所述代码进行修改;若检测到代码修改完成,则将修改后的代码更新存储到所述代码库中。
该方法提供了一个统一的测试案例的调试环境,测试人员编写完成测试案例后,可以直接上传至该装置,由该装置存储代码并建立调试任务,在于实际测试环境一致运行环境中运行该代码,并将代码的运行结果反馈给用户终端,即测试人员不需要在本地搭建测试环境,不仅免去了测试环境的搭建的麻烦,提高了测试案例的编写的效率,而且保证了调试环境与实际测试环境的统一,使得对测试案例的调试结果更加准确。
本实施例提出的测试案例的在线调试方法,当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例,获取用户基于案例编辑界面编辑的测试案例,将该测试案例的代码存储到代码库,当侦测到基于测试案例触发的调试指令时,根据调试指令建立调试任务并确定调试任务的参数,将调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从任务队列中调取并执行调试任务,以对被测***进行测试,也就是说,用户编写完成测试案例之后,不需要在本地搭建测试环境,可以由执行机集群执行该案例以对案例进行调试,能够保证测试案例的调试环境与实际测试环境一致,同时将任务数据回写到预设数据库中,当调试任务完成后,从预设数据库中读取任务数据并展示,以实现准确完整地呈现出测试情况,以供测试人员了解案例的测试情况。
进一步地,在另一实施例中,该装置还提供对测试场景的在线修改功能,具体地,该方法还包括如下步骤:在接收到用户基于用户终端发送的测试场景修改指令时,从所述测试场景修改指令中获取场景参数,并确定所述场景修改指令对应的测试场景;从代码库中获取与测试场景匹配的测试代码,并所述场景参数修改所述测试代码,将修改后的所述测试代码更新存储至所述代码库。
其中,场景参数可以包括但不限于以下数据:允许开启测试的虚拟用户的数量,测试时长等。此外,用户设置完成测试场景后,按照预设的可视化展示方式展示该场景被执行时的效果图。例如,用户设置的测试场景为:在预设时长T内,将测试任务的数量逐渐增加到N个,在***中预先设置有适用于这种动态化的测试场景的场景代码,用户可以设置好该场景中参数T、N的值,***对场景代码中对应的值进行修改,生成符合该场景的场景代码后存储。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有案例调试程序,所述案例调试程序可被一个或多个处理器执行,以实现如下操作:
当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例;
获取用户基于所述案例编辑界面编写的测试案例的代码,并将所述代码存储至代码库;
当侦测到基于所述测试案例触发的调试指令时,根据所述调试指令建立调试任务并确定该调试任务的参数;
将所述调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从所述任务队列中调取并执行所述调试任务,以对被测***进行测试,并由执行机将任务数据回写到预设数据库中;
若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示。
本发明计算机可读存储介质具体实施方式与上述测试案例的在线调试装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种测试案例的在线调试装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的案例调试程序,所述案例调试程序被所述处理器执行时实现如下步骤:
当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例;
获取用户基于所述案例编辑界面编写的测试案例的代码,并将所述代码存储至代码库;
当侦测到基于所述测试案例触发的调试指令时,根据所述调试指令建立调试任务并确定该调试任务的参数;
将所述调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从所述任务队列中调取并执行所述调试任务,以对被测***进行测试,并由执行机将任务数据回写到预设数据库中;
若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示。
2.如权利要求1所述的测试案例的在线调试装置,其特征在于,所述当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例的步骤包括:
当侦测到用户基于用户终端发送的案例编辑指令时,确定所述编辑指令对应的测试案例;
从代码库中查找所述测试案例的代码,展示案例编辑界面,并将查找到的代码展示在所述案例编辑界面上,以供用户对所述测试案例的代码进行在线编辑。
3.如权利要求1所述的测试案例的在线调试装置,其特征在于,所述任务参数包括执行机的预设数量,所述在线调试程序还可被所述处理器执行,以实现如下步骤:
在将所述调试任务添加至任务队列之后,将所述调试任务的状态标记为待执行状态;
每当检测到有执行机调取所述调试任务时,判断所述调试任务的状态任务是否为待执行状态;
若所述调试任务的任务状态为待执行状态,则为所述调试任务添加该调试任务被该执行机调取的状态信息,并在调取所述调试任务并从所述代码库下载对应代码的执行机的数量达到所述预设数量后,将所述调试任务的状态修改为执行状态;
若所述调试任务的状态任务为执行状态,则向该执行机发送调取任务失败的响应信息;
在检测到所述调试任务的状态为执行状态时,控制所述预设数量的执行机执行所述调试任务,以对被测***进行测试。
4.如权利要求1至3中任意一项所述的测试案例的在线调试装置,其特征在于,所述案例调试程序还可被所述处理器执行,以若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示的步骤之后,还实现如下步骤:
若接收到基于所述任务数据触发的案例修改指令时,从所述代码库中获取所述测试案例的代码并展示,以供用户根据所述任务数据对所述代码进行修改;
若检测到代码修改完成,则将修改后的代码更新存储到所述代码库中。
5.如权利要求1至3中任意一项所述的测试案例的在线调试装置,其特征在于,所述案例调试程序还可被所述处理器执行,以实现如下步骤:
在接收到用户基于用户终端发送的测试场景修改指令时,从所述测试场景修改指令中获取场景参数,并确定所述场景修改指令对应的测试场景;
从代码库中获取与测试场景匹配的测试代码,并所述场景参数修改所述测试代码,将修改后的所述测试代码更新存储至所述代码库。
6.一种测试案例的在线调试方法,其特征在于,所述方法包括:
当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例;
获取用户基于所述案例编辑界面编写的测试案例的代码,并将所述代码存储至代码库;
当侦测到基于所述测试案例触发的调试指令时,根据所述调试指令建立调试任务并确定该调试任务的参数;
将所述调试任务添加至任务队列中,由执行机集群中的当前处于空闲状态的执行机按照预设的任务调度机制从所述任务队列中调取并执行所述调试任务,以对被测***进行测试,并由执行机将任务数据回写到预设数据库中;
若检测到所述调试任务完成,从所述预设数据库中读取所述任务数据并展示。
7.如权利要求6所述的测试案例的在线调试方法,其特征在于,所述当侦测到用户基于用户终端发送的案例编辑指令时,展示案例编辑界面以供用户编辑测试案例的步骤包括:
当侦测到用户基于用户终端发送的案例编辑指令时,确定所述编辑指令对应的测试案例;
从代码库中查找所述测试案例的代码,展示案例编辑界面,并将查找到的代码展示在所述案例编辑界面上,以供用户对所述测试案例的代码进行在线编辑。
8.如权利要求6所述的测试案例的在线调试方法,其特征在于,所述方法还包括如下步骤:
在将所述调试任务添加至任务队列之后,将所述调试任务的状态标记为待执行状态;
每当检测到有执行机调取所述调试任务时,判断所述调试任务的状态任务是否为待执行状态;
若所述调试任务的任务状态为待执行状态,则为所述调试任务添加该调试任务被该执行机调取的状态信息,并在调取所述调试任务并从所述代码库下载对应代码的执行机的数量达到所述预设数量后,将所述调试任务的状态修改为执行状态;
若所述调试任务的状态任务为执行状态,则向该执行机发送调取任务失败的响应信息;
在检测到所述调试任务的状态为执行状态时,控制所述预设数量的执行机执行所述调试任务,以对被测***进行测试。
9.如权利要求6至8中任一项所述的测试案例的在线调试方法,其特征在于,所述方法还包括如下步骤:
在接收到用户基于用户终端发送的测试场景修改指令时,从所述测试场景修改指令中获取场景参数,并确定所述场景修改指令对应的测试场景;
从代码库中获取与测试场景匹配的测试代码,并所述场景参数修改所述测试代码,将修改后的所述测试代码更新存储至所述代码库。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有案例调试程序,所述案例调试程序可被一个或者多个处理器执行,以实现如权利要求6至9中任一项所述的测试案例的在线调试方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810544750.3A CN108763085A (zh) | 2018-05-31 | 2018-05-31 | 测试案例的在线调试装置、方法及计算机可读存储介质 |
PCT/CN2018/102104 WO2019227708A1 (zh) | 2018-05-31 | 2018-08-24 | 测试案例的在线调试装置、方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810544750.3A CN108763085A (zh) | 2018-05-31 | 2018-05-31 | 测试案例的在线调试装置、方法及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108763085A true CN108763085A (zh) | 2018-11-06 |
Family
ID=64000931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810544750.3A Pending CN108763085A (zh) | 2018-05-31 | 2018-05-31 | 测试案例的在线调试装置、方法及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108763085A (zh) |
WO (1) | WO2019227708A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543429A (zh) * | 2019-09-10 | 2019-12-06 | 深圳前海微众银行股份有限公司 | 测试用例调试方法、装置及存储介质 |
CN110781074A (zh) * | 2019-09-18 | 2020-02-11 | 平安银行股份有限公司 | 自动化测试方法、装置及存储介质 |
CN110908899A (zh) * | 2019-11-08 | 2020-03-24 | 北京奇艺世纪科技有限公司 | 应用程序的调试方法、移动终端及计算机可读存储介质 |
CN111061630A (zh) * | 2019-11-26 | 2020-04-24 | 歌尔股份有限公司 | 产品调试方法、调试装置及可读存储介质 |
CN111078525A (zh) * | 2019-10-11 | 2020-04-28 | 中国平安财产保险股份有限公司 | 调节***运行时间的方法、装置、计算机设备及存储介质 |
CN111427790A (zh) * | 2020-03-26 | 2020-07-17 | 中国建设银行股份有限公司 | 一种测试方法、装置、终端设备及存储介质 |
CN112597030A (zh) * | 2020-12-26 | 2021-04-02 | 中国农业银行股份有限公司 | 一种任务发布方法及装置、执行方法及装置、*** |
CN113626309A (zh) * | 2021-07-06 | 2021-11-09 | 深圳点猫科技有限公司 | 模拟移动终端操作的方法、装置、电子设备及存储介质 |
CN114996166A (zh) * | 2022-08-02 | 2022-09-02 | 杭州高达软件***股份有限公司 | 一种代码在线调试方法、***及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601483A (zh) * | 2004-10-22 | 2005-03-30 | 中国工商银行 | 一种基于脚本解释工具的自动化软件测试*** |
CN101719097A (zh) * | 2009-12-24 | 2010-06-02 | 深圳市金蝶移动互联技术有限公司 | 自动化测试脚本的调试方法、***和自动化应用服务器 |
CN103984624A (zh) * | 2014-04-29 | 2014-08-13 | 北京京东尚科信息技术有限公司 | 一种网页自动化测试方法及*** |
CN106452830A (zh) * | 2016-08-22 | 2017-02-22 | 平安科技(深圳)有限公司 | 测试任务执行机分配方法和装置 |
US20180121318A1 (en) * | 2016-10-28 | 2018-05-03 | International Business Machines Corporation | Code component debugging in an application program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722440B (zh) * | 2012-06-07 | 2017-03-15 | 中兴通讯股份有限公司 | 一种嵌入式***可执行代码的调试装置、调试方法及嵌入式*** |
CN106021257B (zh) * | 2015-12-31 | 2019-10-18 | 广州华多网络科技有限公司 | 一种支持在线编程的爬虫抓取数据方法、装置及*** |
CN107315678A (zh) * | 2016-04-27 | 2017-11-03 | 龙芯中科技术有限公司 | 调试工具的调用方法及装置 |
-
2018
- 2018-05-31 CN CN201810544750.3A patent/CN108763085A/zh active Pending
- 2018-08-24 WO PCT/CN2018/102104 patent/WO2019227708A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601483A (zh) * | 2004-10-22 | 2005-03-30 | 中国工商银行 | 一种基于脚本解释工具的自动化软件测试*** |
CN101719097A (zh) * | 2009-12-24 | 2010-06-02 | 深圳市金蝶移动互联技术有限公司 | 自动化测试脚本的调试方法、***和自动化应用服务器 |
CN103984624A (zh) * | 2014-04-29 | 2014-08-13 | 北京京东尚科信息技术有限公司 | 一种网页自动化测试方法及*** |
CN106452830A (zh) * | 2016-08-22 | 2017-02-22 | 平安科技(深圳)有限公司 | 测试任务执行机分配方法和装置 |
US20180121318A1 (en) * | 2016-10-28 | 2018-05-03 | International Business Machines Corporation | Code component debugging in an application program |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543429A (zh) * | 2019-09-10 | 2019-12-06 | 深圳前海微众银行股份有限公司 | 测试用例调试方法、装置及存储介质 |
CN110543429B (zh) * | 2019-09-10 | 2023-05-16 | 深圳前海微众银行股份有限公司 | 测试用例调试方法、装置及存储介质 |
CN110781074A (zh) * | 2019-09-18 | 2020-02-11 | 平安银行股份有限公司 | 自动化测试方法、装置及存储介质 |
CN111078525A (zh) * | 2019-10-11 | 2020-04-28 | 中国平安财产保险股份有限公司 | 调节***运行时间的方法、装置、计算机设备及存储介质 |
CN110908899A (zh) * | 2019-11-08 | 2020-03-24 | 北京奇艺世纪科技有限公司 | 应用程序的调试方法、移动终端及计算机可读存储介质 |
CN111061630A (zh) * | 2019-11-26 | 2020-04-24 | 歌尔股份有限公司 | 产品调试方法、调试装置及可读存储介质 |
CN111427790A (zh) * | 2020-03-26 | 2020-07-17 | 中国建设银行股份有限公司 | 一种测试方法、装置、终端设备及存储介质 |
CN112597030A (zh) * | 2020-12-26 | 2021-04-02 | 中国农业银行股份有限公司 | 一种任务发布方法及装置、执行方法及装置、*** |
CN113626309A (zh) * | 2021-07-06 | 2021-11-09 | 深圳点猫科技有限公司 | 模拟移动终端操作的方法、装置、电子设备及存储介质 |
CN114996166A (zh) * | 2022-08-02 | 2022-09-02 | 杭州高达软件***股份有限公司 | 一种代码在线调试方法、***及存储介质 |
CN114996166B (zh) * | 2022-08-02 | 2022-10-21 | 杭州高达软件***股份有限公司 | 一种代码在线调试方法、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019227708A1 (zh) | 2019-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763085A (zh) | 测试案例的在线调试装置、方法及计算机可读存储介质 | |
CN109302522B (zh) | 测试方法、装置以及计算机***和介质 | |
CN108287694B (zh) | 应用程序构建方法、***、计算机设备和存储介质 | |
CN105164644B (zh) | 钩子框架 | |
WO2020155777A1 (zh) | Ui自动化功能测试方法、测试装置、测试设备及存储介质 | |
CN112270149B (zh) | 验证平台自动化集成方法、***及电子设备和存储介质 | |
CN106302008A (zh) | 数据更新方法和装置 | |
US20130263090A1 (en) | System and method for automated testing | |
CN108519943A (zh) | 测试控制和测试执行装置、方法及计算机存储介质 | |
CN106933729A (zh) | 一种基于云平台的测试方法和*** | |
US20150248343A1 (en) | Method and apparatus for implementing instrumentation code | |
CN109739762A (zh) | 一种应用程序的性能测试方法与装置 | |
CN113778898B (zh) | 用户界面自动化测试方法、装置、电子设备及存储介质 | |
CN110377520A (zh) | 交易场景的测试方法及装置、电子设备和可读存储介质 | |
CN111858371A (zh) | 软件测试方法、***、存储介质及计算机设备 | |
CN104123187B (zh) | 创建硬件组件的软件的方法以及硬件组件 | |
CN109783351A (zh) | 界面测试方法、装置及计算机可读存储介质 | |
CN109902005A (zh) | 一种自动化测试的方法和*** | |
CN108563579A (zh) | 白盒测试方法、装置、***及存储介质 | |
CN110471853A (zh) | App测试方法、装置、计算机设备及存储介质 | |
CN112463588A (zh) | 一种自动化测试***及方法、存储介质、计算设备 | |
CN109558318A (zh) | 一种代码管理方法和代码仓库分布式*** | |
CN109739704A (zh) | 一种接口测试方法、服务端及计算机可读存储介质 | |
CN108021503A (zh) | 自动化功能测试的方法、装置和计算机存储介质 | |
CN113535567B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |