一种冒烟测试方法、装置、设备及存储介质
文献发布时间:2024-04-18 19:58:30
技术领域
本申请实施例涉及测试技术领域,尤其涉及一种冒烟测试方法、装置、设备及存储介质。
背景技术
在软件开发过程中,为了保证软件可在设备上正常运行,需要对软件进行冒烟测试。目前对软件进行冒烟测试的一般是通过测试人员将待测软件打包拷贝到测试设备中,在测试设备上安装待测软件后,启动待测软件并执行测试用例,在测试用例执行完毕后确定冒烟测试结果。
但是传统的冒烟测试方案依赖人工进行软件的安装和操作,并且测试人员提前根据待测软件的运行要求布置测试设备的测试运行环境,冒烟测试的操作复杂且工作量较大,导致冒烟测试效率较低。
发明内容
本申请实施例提供一种冒烟测试方法、装置、设备及存储介质,以解决相关技术中冒烟测试方案依赖人工进行操作,操作复杂且工作量较大,导致冒烟测试效率较低的技术问题,通过动态构建测试环境以及自动执行测试用例减少冒烟测试的操作量,有效提高冒烟测试效率,减少人工操作对冒烟测试的干预,提高冒烟测试的可靠性。
在第一方面,本申请实施例提供了一种冒烟测试方法,包括:
确定冒烟测试任务对应的测试用例脚本,以及用于执行所述冒烟测试任务的测试设备;
向所述测试设备发送所述测试用例脚本,以使所述测试设备基于所述测试用例脚本初始化运行待测软件所需的测试环境,并安装所述待测软件,以及启动所述待测软件并收集所述待测软件在所述测试设备上运行时的监控数据;
获取所述测试设备上传的监控数据,并基于所述监控数据生成所述冒烟测试任务的测试结果。
在第二方面,本申请实施例提供了一种冒烟测试装置,包括任务启动模块、测试执行模块和结果确定模块,其中:
所述任务启动模块,用于确定冒烟测试任务对应的测试用例脚本,以及用于执行所述冒烟测试任务的测试设备;
所述测试执行模块,用于向所述测试设备发送所述测试用例脚本,以使所述测试设备基于所述测试用例脚本初始化运行待测软件所需的测试环境,并安装所述待测软件,以及启动所述待测软件并收集所述待测软件在所述测试设备上运行时的监控数据;
所述结果确定模块,用于获取所述测试设备上传的监控数据,并基于所述监控数据生成所述冒烟测试任务的测试结果。
在第三方面,本申请实施例提供了一种冒烟测试设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的冒烟测试方法。
在第四方面,本申请实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的冒烟测试方法。
本申请实施例通过确定冒烟测试任务的测试用例脚本以及用于执行冒烟测试任务的测试设备,并向该测试设备发送对应的测试用例脚本,以使测试设备基于测试用例脚本进行测试环境的初始化,以满足待测软件的运行需求,并在测试设备上安装待测软件,并且测试设备可基于测试用例脚本启动待测软件并收集待测软件在测试设备上运行时的监控数据,在接收到测试设备上传的监控数据后,可基于监控数据生成待测软件在测试设备上的冒烟测试任务的测试结果,测试设备可根据接收到的测试用例脚本自动完成测试环境的配置、待测软件的安装以及运行,并完成监控数据的收集,不再需要测试人员手动在测试设备上配置测试环境、安装运行待测软件,有效提高冒烟测试效率,减少人工操作对冒烟测试的干预,提高冒烟测试的可靠性,并且通过手机监控数据可实现待测软件运行期间待测软件以及测试环境的中间状态透明化,有效提高测试结果的根源追溯效率。
附图说明
图1是本申请实施例提供的一种冒烟测试方法的流程图;
图2是本申请实施例提供的另一种冒烟测试方法的流程图;
图3是本申请实施例提供的一种冒烟测试装置的结构示意图;
图4是本申请实施例提供的一种冒烟测试设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时上述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。上述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种冒烟测试方法的流程图,本申请实施例提供的冒烟测试方法可以由冒烟测试装置来执行,该冒烟测试装置可以通过硬件和/或软件的方式实现,并集成在冒烟测试设备中。
下述以冒烟测试装置执行冒烟测试方法为例进行描述。参考图1,该冒烟测试方法包括:
S101:确定冒烟测试任务对应的测试用例脚本,以及用于执行冒烟测试任务的测试设备。
本实施例提供的冒烟测试任务可理解为需要对被测软件进行冒烟测试的任务,测试人员在需要对被测软件进行冒烟测试时,可基于对被测软件的冒烟测试要求创建冒烟测试任务并提交给冒烟测试设备。
本实施例提供的冒烟测试设备在接收到冒烟测试任务后,将确定冒烟测试任务对应的测试用例脚本,以及用于执行该冒烟测试任务的测试设备。其中,测试设备用于运行被测软件以执行冒烟测试任务的设备,在冒烟测试设备中记录有多个用于执行冒烟测试任务的测试设备,冒烟测试设备可根据冒烟测试任务的要求分配合适且空闲的测试设备。
其中,本实施例提供的测试用例脚本可用于指示进行冒烟测试任务对应的要求(例如测试环境要求)、对待测软件的操作步骤(运行测试用例脚本时,测试用例脚本可按照操作步骤对待测软件进行操作或控制)、监控数据的收集方式等。测试用例可限定一个被测软件的使用场景,可通过在这个使用场景中运行被测设备来寻找被测软件可能存在的问题。在一个可能的实施例中,本实施例提供的测试用例脚本可记录对待测软件的操作步骤、测试软件运行所依赖的环境变量(运行测试用例脚本时,测试用例脚本可按照环境变量配置测试环境)、待测软件的软件下载地址(运行测试用例脚本时,测试用例脚本可按照软件下载地址下载安装被测软件)中的一种或多种的组合。
S102:向测试设备发送测试用例脚本,以使测试设备基于测试用例脚本初始化运行待测软件所需的测试环境,并安装待测软件,以及启动待测软件并收集待测软件在测试设备上运行时的监控数据。
示例性的,在确定测试用例脚本以及测试设备后,向该测试设备发送确定的测试用例脚本。测试设备在接收到测试用例脚本后,根据测试用例脚本指示的测试环境要求,对其自身的测试环境(运行环境)进行初始化设置,以满足待测软件的运行需求。在初始化测试环境后,测试设备获取需要进行冒烟测试的待测软件,其中,待测软件的安装包可根据测试用例脚本提供的软件下载地址进行下载。
进一步的,测试设备在根据接收到的测试用例脚本初始化测试环境并按照待测软件后,启动待测软件,按照测试用例脚本指示的操作步骤对待测软件进行控制(例如启动测试用例脚本,由测试用例脚本按照测试用例指示的操作步骤对待测软件进行操作或控制)。
同时,在待测软件运行过程中,对待测软件在测试设备上运行时的监控数据进行收集。可选的,可在监控数据收集的过程中同步向冒烟测试设备上传监控数据,也可以是在待测软件运行完毕或测试用例脚本执行完毕后,统一将收集的监控数据上传给冒烟测试设备。其中,冒烟测试设备和测试设备之间可通过有线和/或无线的方式进行通信以及数据传输。
S103:获取测试设备上传的监控数据,并基于监控数据生成冒烟测试任务的测试结果。
示例性的,接收测试设备上传的监控数据,并基于接收到的监控数据生成对应被测软件在测试设备上进行冒烟测试任务的测试结果,测试人员可根据测试结果对待测软件的各项性能指标进行分析,准确定位被测软件在测试设备中运行是存在的异常。
上述,通过确定冒烟测试任务的测试用例脚本以及用于执行冒烟测试任务的测试设备,并向该测试设备发送对应的测试用例脚本,以使测试设备基于测试用例脚本进行测试环境的初始化,以满足待测软件的运行需求,并在测试设备上安装待测软件,并且测试设备可基于测试用例脚本启动待测软件并收集待测软件在测试设备上运行时的监控数据,在接收到测试设备上传的监控数据后,可基于监控数据生成待测软件在测试设备上的冒烟测试任务的测试结果,测试设备可根据接收到的测试用例脚本自动完成测试环境的配置、待测软件的安装以及运行,并完成监控数据的收集,不再需要测试人员手动在测试设备上配置测试环境、安装运行待测软件,有效提高冒烟测试效率,减少人工操作对冒烟测试的干预,提高冒烟测试的可靠性,并且通过手机监控数据可实现待测软件运行期间待测软件以及测试环境的中间状态透明化,有效提高测试结果的根源追溯效率。
在上述实施例的基础上,图2给出了本申请实施例提供的另一种冒烟测试方法的流程图,该冒烟测试方法是对上述冒烟测试方法的具体化。参考图2,该冒烟测试方法包括:
S201:响应于接收到的冒烟测试请求创建冒烟测试任务,确定冒烟测试任务对应的测试模板,并将创建得到的冒烟测试任务加入到任务队列中。
示例性的,冒烟测试设备可作为测试平台接收冒烟测试请求,并基于冒烟测试请求创建冒烟测试任务。例如,测试人员基于Jenkins平台向冒烟测试设备发出冒烟测试请求,由Jenkins打包待测软件,并将待测软件的基本信息通过http请求的方式传入冒烟测试设备,冒烟测试设备将根据冒烟测试请求创建冒烟测试任务。其中,Jenkins平台发出的冒烟测试请求中还可携带被测软件的软件识别信息(AppID)、打包的待测软件的名称、版本、软件下载地址等。可选的,在创建冒烟测试任务后,可将冒烟测试任务持久化存储到预先设定的数据库中。
进一步的,在创建冒烟测试任务后,确定该冒烟测试任务所对应的测试模板。其中,测试模板中记录有其所适用的软件(被测软件)的软件识别信息,在创建冒烟测试任务后,可根据冒烟测试任务所要测试的待测软件的软件识别信息确定冒烟测试任务对应的测试模板,即冒烟测试任务和测试模板均可通过软件识别信息进行识别。在确定冒烟测试任务对应的测试模板后,进一步将创建得到的冒烟测试任务加入到任务队列中,在任务队列中等待被提取执行。
在一个可能的实施例中,测试人员可对测试模板进行创建、维护和删除。例如,在创建测试模板时,可通过Jenkins平台提供的多个用例模板,其中用例模板可基于规范化命令进行编辑得到,测试人员可根据测试用例在Jenkins平台提供的模板设置交互界面中对不同的用例模板进行组合,定制对软件进行冒烟测试的行为集合,并确定软件进行冒烟测试的环境依赖,以及所适用的软件对应的软件识别信息(可设置一个或多个软件识别信息),Jenkins平台根据上述模板创建信息向冒烟测试设备上传测试模板创建请求,冒烟测试设备将根据模板创建信息创建对应的测试模板。其中,软件进行冒烟测试的行为集合包括对被测软件的操作方式、监控数据的类型等。其中监控数据类型可以是被测软件在测试设备上运行过程中产生的一些数据、变量、被测软件或测试设备的运行数据、测试设备一些状态数据如:cpu、内存、网络、磁盘等,测试人员可根据冒烟测试需要进行设置。
本方案通过测试模板的规范化方式创建冒烟测试任务的依赖和全部行为,冒烟测试的管理更简单,冒烟测试的稳定性、拓展性、复用性更强,降低对测试人员的编程能力要求。另外,专业的测试人员还可根据测试用例定制化开发测试模板,并通过Jenkins平台进行上传,满足冒烟测试的专业化要求。
S202:从任务队列中取出冒烟测试任务,并确定是否存在取出的冒烟测试任务对应的测试模板。
示例性的,在上一个冒烟测试任务对应的测试用例脚本成功发送给测试设备,或者是冒烟测试任务执行完毕后,可按照任务加入顺序提取下一个冒烟测试任务来执行。
从任务队列中取出冒烟测试任务后,进一步确定是否存在取出的冒烟测试任务所对应的测试模板,即根据该冒烟测试任务所要测试的待测软件的软件识别信息,从测试模板存储位置中查找该软件识别信息对应的测试模板。在查找到相同软件识别信息的测试模板时,认为否存在该冒烟测试任务对应的测试模板,并跳转至步骤S203,执行冒烟测试任务,而在未能查找到该软件识别信息对应的测试模板时,结束或暂停该冒烟测试任务的执行,并通知测试人员创建相应的测试模板(例如向测试人员发送提醒邮件)。
S203:在存在取出的冒烟测试任务对应的测试模板时,基于测试模板编译冒烟测试任务对应的测试用例脚本,并确定用于执行冒烟测试任务的测试设备。
示例性的,在确定存在取出的冒烟测试任务对应的测试模板时,根据对应的测试模板进行脚本编译,得到冒烟测试任务对应的测试用例脚本,并且在编译测试用例脚本时,将执行冒烟测试任务的相关信息(例如环境变量、软件下载地址和监控数据类型)添加到测试用例脚本中。
本方案提供的测试用例脚本基于冒烟测试任务对应的测试模板进行编译得到,并且测试模板记录有测试用例信息、测试软件运行所依赖的环境变量、待测软件的软件下载地址、监控数据类型、数据筛选方式和数据记录格式中的一种或多种的组合。其中,测试用例信息用于指示执行冒烟测试任务的行为集合,测试用例脚本被执行时,将按照测试用例信息指示的行为集合对被测软件进行操作。
在一个可能的实施例中,在编译测试用例脚本时,还将测试模板中的测试软件运行所依赖的环境变量、待测软件的软件下载地址和监控数据类型添加到测试用例脚本。测试用例脚本被执行时,可按照环境变量对测试设备的运行环境进行设置,以实现对被测软件在测试设备上运行的测试环境的初始化,并且测试设备可根据测试用例脚本中的软件下载地址下载被测软件的安装包,以及根据测试用例脚本中的监控数据类型对对应类型的运行数据进行监控以及收集。
进一步的,在冒烟测试设备中设置有设备资源池,该设备资源池用于负责各个测试设备的维护和调度,其中,在测试设备上线时,将向冒烟测试设备发起注册请求,由冒烟测试设备将新上线的测试设备注册在设备资源池上。在得到冒烟测试任务对应的测试用例脚本后,从设备资源池中确定用于执行冒烟测试任务的测试设备。
可选的,从设备资源池中确定测试设备时,可以是根据测试模板中预先设定的设备调度方式确定合适的测试设备,其中设备调度方式可以是根据测试设备的空闲情况、系统类型、软件或固件版本类型等进行设置,其中测试模板中的设备调度方式可通过Jenkins平台发起的测试模板创建请求进行配置。
S204:向测试设备发送测试用例脚本,以使测试设备基于测试用例脚本初始化运行待测软件所需的测试环境,并安装待测软件,以及启动待测软件并收集待测软件在测试设备上运行时的监控数据。
在得到冒烟测试任务对应的测试用例脚本以及用于执行冒烟测试任务的测试设备后,向测试设备发送测试用例脚本。测试设备在接收到测试用例脚本后,将基于测试用例脚本中的环境变量所指示的测试环境需求初始化运行待测软件所需的测试环境,并基于测试用例脚本中的软件下载地址下载并安装待测软件。在安装待测软件后,启动待测软件并基于测试用例脚本对应的行为集合操作待测软件,并在待测软件运行过程中,基于测试用例脚本中的监控数据类型收集待测软件在测试设备上运行时的监控数据,并向冒烟测试设备上传。
在一个可能的实施例中,本方案提供的测试用例脚本记录有测试软件运行所依赖的环境变量以及待测软件的软件下载地址。基于此,本方案提供的测试设备在基于测试用例脚本初始化运行待测软件所需的测试环境,并安装待测软件时,包括:由测试设备中的执行客户端基于测试用例脚本中记录的环境变量,在测试设备中初始化运行待测软件所需的测试环境;由执行客户端基于测试用例脚本中记录的软件下载地址下载并安装待测软件。
示例性的,本方案提供的冒烟测试设备上安装有执行客户端,该执行客户端用于辅助完成冒烟测试任务。具体的,测试设备在接收到测试用例脚本后,将测试用例脚本提交给执行客户端,执行客户端将根据测试用例脚本中记录的环境变量,对测试设备中的运行环境进行设置,从而在测试设备中初始化运行待测软件所需的测试环境。
在一个可能的实施例中,本方案提供的环境变量包括干扰变量和依赖变量。其中,干扰变量可理解为对被测软件的正常运行或安装造成干扰的软件或工具,依赖变量可理解为被测软件的正常运行或安装所依赖的软件或工具。基于此,本方案提供的执行客户端在基于测试用例脚本中记录的环境变量,在测试设备中初始化运行待测软件所需的测试环境时,包括:基于测试用例脚本中记录的干扰变量在测试设备中检测干扰软件,并卸载检测到的干扰软件;基于测试用例脚本中记录的依赖变量在测试设备中安装依赖软件。
具体的,执行客户端在接收到测试用例脚本后,确定测试用例脚本中环境变量对应的干扰变量和依赖变量,先根据干扰变量在测试设备安装的软件中检测干扰软件,并卸载检测到的干扰软件,以减少干扰软件对被测软件运行造成的干扰。
进一步的,在卸载干扰软件后,执行客户端根据测试用例脚本中记录的依赖变量在测试设备中确定是否已安装对应的依赖软件,并在发件未安装的依赖软件,则在测试设备中安装依赖软件。可选择的,依赖变量还可记录对应依赖软件的版本信息,在测试设备安装有依赖软件,但版本信息未达到依赖变量的要求时,对该依赖软件进行升级。本方案可通过安装、更新测试设备中运行被测软件的依赖软件,保证被测软件可在正常的运行环境(测试环境)中进行冒烟测试,减少由于测试设备自身运行环境问题影响冒烟测试结果的情况。
进一步的,在卸载干扰软件以及安装依赖软件后,执行客户端根据测试用例脚本中的软件下载地址下载被测软件的软件安装包,并基于软件安装包在测试设备上安装被测软件。
在一个可能的实施例中,测设设备可通过执行客户端负责测试用例脚本的执行和监控数据的收集。基于此,本方案提供的测试设备在启动待测软件并收集待测软件在测试设备上运行时的监控数据时,包括:
测试设备中的执行客户端启动测试用例脚本,通过测试用例脚本启动并控制待测软件,并由执行客户端收集待测软件在测试设备上运行时的监控数据。
示例性的,执行客户端在根据测试用例脚本中的环境变量初始化测试环境,以及根据测试用例脚本中的软件下载地址安装被测软件后,执行客户端控制测试用例脚本启动。测试用例脚本在启动后,将启动待测软件,并按照测试用例对应的行为集合对待测软件进行控制。
同时,执行客户端在启动测试用例脚本后,根据测试用例脚本中的监控数据类型的指示收集待测软件在测试设备上运行时的监控数据。执行客户端可在监控数据收集的过程中同步向冒烟测试设备上传监控数据,也可以是在测试用例脚本执行完毕后,统一将收集的监控数据上传给冒烟测试设备。其中,监控数据包括测试设备的系统运行数据和/或待测软件的软件运行数据。
S205:获取测试设备上传的监控数据,并基于监控数据生成冒烟测试任务的测试结果。
在一个可能的实施例中,本方案提供的测试模板还记录有数据筛选方式和数据记录格式。其中,数据筛选方式用于指示对收集的监控数据的筛选方式,数据记录格式用于指示对监控数据的记录格式。基于此,本方案在基于监控数据生成冒烟测试任务的测试结果时,包括:基于测试模板中记录的数据筛选方式对监控数据进行筛选;基于测试模板中记录的数据记录格式对筛选后的监控数据进行格式化处理,得到冒烟测试任务的测试结果。
示例性的,在接收到测试设备上传的监控数据后,根据测试模板中的数据筛选方式对监控数据进行筛选,得到筛选后的监控数据。进一步的,按照测试模板中记录的数据记录格式对筛选后的监控数据进行格式化处理,得到冒烟测试任务的测试结果。其中,对监控数据的筛选方式以及对监控数据的数据记录格式可根据具体的冒烟测试需求进行设置,并通过Jenkins平台进行配置及上传。
在一个可能的实施例中,可在冒烟测试任务中执行测试设备执行冒烟测试任务的测试次数并记录在对应的测试用例脚本中,对应的,测试设备在接收到测试用例脚本并基于测试用例脚本初始化测试环境和安装待测软件后,按照测试次数多次运行被测软件并收集每次冒烟测试对应的监控数据并上传。冒烟测试设备在接收到多次冒烟测试对应的监控数据后,对监控数据进行整合,得到冒烟测试任务的测试结果,通过在测试设备上进行多次冒烟测试,提高测试结果的准确性和稳定性。
在一个可能的实施例中,在接收到冒烟测试任务时,可确定多个用于执行冒烟测试任务的测试设备,并分别向确定的测试设备发送测试用例脚本,由这些测试设备分别根据测试用例脚本进行冒烟测试并上传监控数据。冒烟测试设备在接收到各个测试设备上传的监控数据后,对监控数据进行整合,得到冒烟测试任务的测试结果,通过在多个测试设备上进行冒烟测试,提高测试结果的准确性和稳定性。
可以理解的是,在相关技术中,测试人员在对被测软件进行冒烟测试时,需要测试人员预先在测试设备中配置对应的测试环境,再将软件安装包拷贝到测试设备中安装被测软件,再按照测试用例启动并操作待测软件,在测试用例执行完毕后得到最终的测试结果,在测试用例执行期间,被测软件的运行状态、测试环境的健康状态、软件与环境的交互状态是不可知的,测试用例执行完毕后只能得到测试的最终结果。当测试失败时,既无法快速定位失败的深层原因,也无法排除是测试环境、软件交互导致失败,还是非待测软件本身的缺陷导致失败。本方案通过测试模板规范和管理测试环境的自动构建过程,实现测试环境的动态构建,只需要在最为测试平台的冒烟测试设备上创建冒烟测试任务以及配置对应的测试模板即可自动进行测试用例的执行,不再需要测试人员执行复杂的环境配置、软件安装、用例执行等工作,提高了冒烟测试效率,减少人工操作带来的误差。并且本方案可对待测软件运行过程中的监控数据进行收集,实现测试用例执行期间待测软件及测试环境的中间状态透明化,提高测试结果追根溯源的效率,提高异常定位准确度和效率。
上述,通过确定冒烟测试任务的测试用例脚本以及用于执行冒烟测试任务的测试设备,并向该测试设备发送对应的测试用例脚本,以使测试设备基于测试用例脚本进行测试环境的初始化,以满足待测软件的运行需求,并在测试设备上安装待测软件,并且测试设备可基于测试用例脚本启动待测软件并收集待测软件在测试设备上运行时的监控数据,在接收到测试设备上传的监控数据后,可基于监控数据生成待测软件在测试设备上的冒烟测试任务的测试结果,测试设备可根据接收到的测试用例脚本自动完成测试环境的配置、待测软件的安装以及运行,并完成监控数据的收集,不再需要测试人员手动在测试设备上配置测试环境、安装运行待测软件,有效提高冒烟测试效率,减少人工操作对冒烟测试的干预,提高冒烟测试的可靠性,并且通过手机监控数据可实现待测软件运行期间待测软件以及测试环境的中间状态透明化,有效提高测试结果的根源追溯效率。同时,根据干扰变量和依赖变量在测试设备上卸载干扰软件以及安装依赖软件,保证被测软件可在正常的运行环境中进行冒烟测试,减少由于测试设备自身运行环境问题影响冒烟测试结果的情况。通过执行客户端负责运测试环境的初始化、被测软件的安装、测试用例脚本的执行以及监控数据的收集,实现冒烟测试的自动化运行,不需要人工干预,有效提高冒烟测试效率和准确性。同时,通过任务队列管理冒烟测试任务,实现多冒烟测试任务的有序高效管理,测试人员无需关心多个冒烟测试任务造成的数据混乱问题,进一步提高冒烟测试效率。并且本方案通过设备资源池实现测试设备的管理和自动调度,有效提高测试设备的利用率。并通过测试模板规范和管理测试环境的自动构建过程,实现测试环境的动态构建,提高效率和易维护度,降低需要人工干预测试环节的情况。测试模板可封装复制脚本的简单命令组合,可以根据不同待测软件和测试环境的实际需求进行简单拷贝、编辑即可使用,而且测试模板可以特定的文本格式规定了从测试用例执行前到执行完毕后的所有行为动作以及依赖,测试模板既能通过简单的组合规范化创建测试任务全流程,也能编写复杂的脚本嵌入测试流程实现定制化,满足不同测试人员的测试需求,并通过测试模板的可控以及定制化,实现在测试执行的指定步骤或时机控制监控的开关、监控的指标、监控的持续时间等,实现对冒烟测试整体进程的动态化调控。通过主动收集被测软件运行过程中的监控数据,实现对被测软件运行的动态监控,使测试用例执行期间待测软件及测试环境的中间状态透明化,提高测试结果追根溯源的效率。
图3给出了本申请实施例提供的一种冒烟测试装置的结构示意图。参考图3,该冒烟测试装置包括任务启动模块31、测试执行模块32和结果确定模块33。
其中,任务启动模块31,用于确定冒烟测试任务对应的测试用例脚本,以及用于执行冒烟测试任务的测试设备;测试执行模块32,用于向测试设备发送测试用例脚本,以使测试设备基于测试用例脚本初始化运行待测软件所需的测试环境,并安装待测软件,以及启动待测软件并收集待测软件在测试设备上运行时的监控数据;结果确定模块33,用于获取测试设备上传的监控数据,并基于监控数据生成冒烟测试任务的测试结果。
上述,通过确定冒烟测试任务的测试用例脚本以及用于执行冒烟测试任务的测试设备,并向该测试设备发送对应的测试用例脚本,以使测试设备基于测试用例脚本进行测试环境的初始化,以满足待测软件的运行需求,并在测试设备上安装待测软件,并且测试设备可基于测试用例脚本启动待测软件并收集待测软件在测试设备上运行时的监控数据,在接收到测试设备上传的监控数据后,可基于监控数据生成待测软件在测试设备上的冒烟测试任务的测试结果,测试设备可根据接收到的测试用例脚本自动完成测试环境的配置、待测软件的安装以及运行,并完成监控数据的收集,不再需要测试人员手动在测试设备上配置测试环境、安装运行待测软件,有效提高冒烟测试效率,减少人工操作对冒烟测试的干预,提高冒烟测试的可靠性,并且通过手机监控数据可实现待测软件运行期间待测软件以及测试环境的中间状态透明化,有效提高测试结果的根源追溯效率。
在一个可能的实施例中,测试用例脚本记录有测试软件运行所依赖的环境变量以及待测软件的软件下载地址;
对应的,测试设备在基于测试用例脚本初始化运行待测软件所需的测试环境,并安装待测软件时,包括:由测试设备中的执行客户端基于测试用例脚本中记录的环境变量,在测试设备中初始化运行待测软件所需的测试环境;由执行客户端基于测试用例脚本中记录的软件下载地址下载并安装待测软件。
在一个可能的实施例中,环境变量包括干扰变量和依赖变量;
对应的,执行客户端在基于测试用例脚本中记录的环境变量,在测试设备中初始化运行待测软件所需的测试环境时,包括:基于测试用例脚本中记录的干扰变量在测试设备中检测干扰软件,并卸载检测到的干扰软件;基于测试用例脚本中记录的依赖变量在测试设备中安装依赖软件。
在一个可能的实施例中,测试设备在启动待测软件并收集待测软件在测试设备上运行时的监控数据时,包括:测试设备中的执行客户端启动测试用例脚本,通过测试用例脚本启动并控制待测软件,并由执行客户端收集待测软件在测试设备上运行时的监控数据,监控数据包括测试设备的系统运行数据和/或待测软件的软件运行数据。
在一个可能的实施例中,测试用例脚本基于冒烟测试任务对应的测试模板进行编译得到,测试模板记录有测试用例信息、测试软件运行所依赖的环境变量、待测软件的软件下载地址、监控数据类型、数据筛选方式和数据记录格式中的一种或多种的组合,测试用例信息用于指示执行冒烟测试任务的行为集合。
在一个可能的实施例中,冒烟测试装置还包括队列管理模块,用于响应于接收到的冒烟测试请求创建冒烟测试任务,确定冒烟测试任务对应的测试模板,并将创建得到的冒烟测试任务加入到任务队列中。
在一个可能的实施例中,任务启动模块31在确定冒烟测试任务对应的测试用例脚本,以及用于执行冒烟测试任务的测试设备时,具体为:从任务队列中取出冒烟测试任务,并确定是否存在取出的冒烟测试任务对应的测试模板;在存在取出的冒烟测试任务对应的测试模板时,基于测试模板编译冒烟测试任务对应的测试用例脚本,并确定用于执行冒烟测试任务的测试设备。
在一个可能的实施例中,测试模板记录有数据筛选方式和数据记录格式;
对应的,结果确定模块33在基于监控数据生成冒烟测试任务的测试结果时,具体为:基于测试模板中记录的数据筛选方式对监控数据进行筛选;基于测试模板中记录的数据记录格式对筛选后的监控数据进行格式化处理,得到冒烟测试任务的测试结果。
值得注意的是,上述冒烟测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
本申请实施例还提供了一种冒烟测试设备,该冒烟测试设备可集成本申请实施例提供的冒烟测试装置。图4是本申请实施例提供的一种冒烟测试设备的结构示意图。参考图4,该冒烟测试设备包括:输入装置43、输出装置44、存储器42以及一个或多个处理器41;存储器42,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器41执行,使得一个或多个处理器41实现如上述实施例提供的冒烟测试方法。其中输入装置43、输出装置44、存储器42和处理器41可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器42作为一种计算设备可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例提供的冒烟测试方法对应的程序指令/模块(例如,冒烟测试装置中的任务启动模块31、测试执行模块32和结果确定模块33)。存储器42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置43可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示屏等显示设备。
处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的冒烟测试方法。
上述提供的冒烟测试装置、设备和计算机可用于执行上述任意实施例提供的冒烟测试方法,具备相应的功能和有益效果。
本申请实施例还提供一种存储计算机可执行指令的存储介质,上述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的冒烟测试方法,该冒烟测试方法包括:确定冒烟测试任务对应的测试用例脚本,以及用于执行冒烟测试任务的测试设备;向测试设备发送测试用例脚本,以使测试设备基于测试用例脚本初始化运行待测软件所需的测试环境,并安装待测软件,以及启动待测软件并收集待测软件在测试设备上运行时的监控数据;获取测试设备上传的监控数据,并基于监控数据生成冒烟测试任务的测试结果。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种存储计算机可执行指令的存储介质,其计算机可执行指令不限于如上提供的冒烟测试方法,还可以执行本申请任意实施例所提供的冒烟测试方法中的相关操作。
上述实施例中提供的冒烟测试装置、设备及存储介质可执行本申请任意实施例所提供的冒烟测试方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的冒烟测试方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里提供的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
- 一种备份特性测试方法、装置、设备及存储介质
- 一种硬盘测试方法、装置、设备以及计算机可读存储介质
- 一种测试方法、装置、电子设备和存储介质
- 一种快照特性测试方法、装置、设备及存储介质
- 一种性能测试方法、装置、电子设备以及存储介质
- 大数据冒烟测试方法、装置、计算机设备和存储介质
- 一种基于智能用电的校园智能用电搭建方法