测试程序的执行方法和装置制造方法及图纸

技术编号:14113713 阅读:96 留言:0更新日期:2016-12-07 11:09
本发明专利技术实施例公开了一种测试程序的执行方法和装置。所述方法包括:将与测试环境关联的描述接口配置文件加载于内存中;执行所述测试程序;在所述测试程序执行至目标抽象类中的环境关联语句时,根据所述环境关联语句中的目标环境参数名,在内存中获取与所述目标环境参数名对应的目标环境特征值,以使所述测试程序执行与所述目标环境特征值关联的操作。本发明专利技术的技术方案实现了测试工具与环境的解耦合,提高了测试工具的通用性以及可迁移性,大大减少了开发人员重复开发的工作量。

【技术实现步骤摘要】

本专利技术实施例涉及计算机处理技术,尤其涉及一种测试程序的执行方法和装置
技术介绍
随着互联网规模的爆炸性增长,系统的规模越来越复杂,系统中的模块数量也出现较快增长。因此,面对如此庞大复杂的系统,如何进行高效、稳定的系统级测试就显得捉襟见肘。在现有技术中,不同的系统有专门的系统级测试解决方案,但是方案本身与系统耦合太严重,导致通用性不足,可迁移性薄弱;此外,现有的系统级测试工具的重复开发现象非常严重,开发效率低下,稳定性也没有保障。因此,如何实现对复杂的大规模系统进行高效、稳定的系统级测试成了一个难题。
技术实现思路
有鉴于此,本专利技术实施例提供了一种测试程序的执行方法和装置,以实现测试工具与环境的解耦合。在第一方面,本专利技术实施例提供了一种测试程序的执行方法,包括:将与测试环境关联的环境描述接口配置文件加载于内存中;其中,所述环境描述配置文件包括:固定配置的环境参数名,以及由用户自定义设置的,与环境参数名对应的环境特征值,所述环境特征值与测试环境相关联;执行所述测试程序,其中,所述测试程序中包括:至少一个抽象类;在所述测试程序执行至目标抽象类中的环境关联语句时,根据所述环境关联语句中的目标环境参数名,在内存中获取与所述目标环境参数名对应的目标环境特征值,以使所述测试程序执行与所述目标环境特征值关联的操作。在第二方面,本专利技术实施例还提供了一种测试程序的执行装置,包括:配置文件加载模块,用于将与测试程序关联的环境描述接口配置文件加载于内存中;其中,所述环境描述配置文件包括:固定配置的环境参数名,以及由用户自定义设置的,与环境参数名对应的环境特征值,所述环境特征值与测试环境相关联;程序执行模块,用于执行所述测试程序,其中,所述测试程序中包括:至少一个抽象类;环境特征值获取模块,用于在所述测试程序执行至目标抽象类中的环境关联语句时,根据所述环境关联语句中的目标环境参数名,在内存中获取与所述目标环境参数名对应的目标环境特征值,以使所述测试程序执行与所述目标环境特征值关联的操作。本专利技术实施例通过将与测试环境相关联的环境参数的环境特征值在环境描述接口配置文件中进行统一配置,使用所述环境参数构建抽象类,并使用抽象类生成测试程序的方式,可以实现在测试程序执行至目标抽象类中的环境关联语句时,根据所述环境关联语句中的目标环境参数名,获取环境描述接口配置文件中与所述目标环境参数名对应的目标环境特征值,以使所述测试程序执行与所述目标环境特征值关联的操作的技术效果,实现了测试工具与环境的解耦合,提高了测试工具的通用性以及可迁移性,大大减少了开发人员重复开发的工作量。附图说明图1是本专利技术实施例一提供的一种测试程序的执行方法的流程图;图2是本专利技术实施例二提供的一种测试程序的执行方法的流程图;图3是本专利技术实施例的一种具体的应用场景的示意图;图4是本专利技术实施例三提供的一种测试程序的执行装置的结构图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。为了后文便于理解,首先将本专利技术的专利技术构思进行简单介绍:如前所述:现有的系统级测试工具的主要问题在于:与环境耦合性高,应用迁移性差;流水式开发,没有成熟的框架,导致维护和升级代价高;重复开发现象严重,各个相似测试工具之间没有实现很好的复用。有鉴于此,专利技术人创造性的提出了一种结构化的系统级测试方法,首先需要定义通用的环境描述接口配置文件。此部分功能是本专利技术各实施例的基础,其中,该环境描述接口配置文件的特征如下:1)格式要固定。描述或者操作环境更规范,在本专利技术实施例中,优选使用JSON(Java Script Object Notation,直译式脚本语言对象表示法)格式,其中,JSON格式具体为键值对(Key-Value)形式的数据;2)需要有一些固定的描述字段。优选的,机器名称、用户名或者密码等;3)可扩展。支持一些extend(扩展)字段的格式化扩展,保证后续的灵活性,同时方便添加或者删除模块等操作;4)支持模块名、分库数以及分组数三级定义。环境拓扑千变万化,同质模块不会只有1个,有这三级定义,就可以适应各种多库多组拓扑定义;5)支持测试场景定义。不同的测试需要指定环境中模块所处的测试场景;6)支持上下游模块指定。可以保证连通性成功;7)拓扑信息和模块静态信息要分开管理。这两种信息不适合放在环境描述接口配置文件中的同一个接口中定义。拓扑信息描述的是环境方面,需要细化到实例,而模块静态信息是所有同质实例的抽象,两者分开定义后,更适合环境操作等需求。相应的,本专利技术实施例首先构造一个半固定的环境描述接口配置文件,其中,该环境描述接口配置文件的数据格式为JSON格式,其中,基于上述规定构造的各个特征,作为JSON格式数据中的键预先写入所述环境描述接口配置文件中,而与键对应的值则需要由各系统级测试工具的开发人员根据实际的测试环境自定义的填写于该环境描述接口配置文件中,开发人员完善上述环境描述接口配置文件后,系统级测试就和环境完全解耦合了,不再需要关心环境的来源以及搭建方式等特点。就可以保证本专利技术实施例的通用性,对任何环境和模块都具有了操作能力。进一步的,本专利技术实施例还为系统级测试的开发人员提供了完整的工程框架,即:多个层次的抽象接口(典型的:模块类接口、拓扑类接口、组件类接口、组件基类接口以及组件队列操作类接口等),在环境描述接口配置文件和完整的工程框架支持下,开发者就可以在最上层像搭建积木一样,按照自已设置的场景来搭建自已的测试工具了。测试工具既达到了较高的开发复用性,同时也具备了更好的通用性,同时,测试工具本身的稳定性也得到了保障。实施例一图1为本专利技术实施例一提供的一种测试程序的执行方法的流程图,本实施例的方法可以由测试程序的执行装置来执行,该装置可通过硬件和/或软件的方式实现,并一般可集成于用于完成设定软件系统的系统级测试的测试设备中。本实施例的方法具体包括:110、将与测试程序关联的环境描述接口配置文件加载于内存中。其中,所述环境描述配置文件包括:固定配置的环境参数名,以及由用户自定义设置的,与环境参数名对应的环境特征值,所述环境特征值与测试环境相关联。如前所述,开发人员首先需要使用本专利技术实施例提供的半固定的环境描述接口配置文件以及工程框架构造满足实际测试需求的测试程序。开发人员首先需要基于环境描述接口配置文件中固定配置的环境参数名,设置与测试环境相关联的环境特征值。在测试程序执行时,首先需要将开发人员配置完成的环境描述接口配置文件加载于内存中,以使测试程序在执行过程中可以方便的调用环境描述接口配置文件中所需的环境特征值本文档来自技高网...
测试程序的执行方法和装置

【技术保护点】
一种测试程序的执行方法,其特征在于,包括:将与测试程序关联的环境描述接口配置文件加载于内存中;其中,所述环境描述配置文件包括:固定配置的环境参数名,以及由用户自定义设置的,与环境参数名对应的环境特征值,所述环境特征值与测试环境相关联;执行所述测试程序,其中,所述测试程序中包括:至少一个抽象类;在所述测试程序执行至目标抽象类中的环境关联语句时,根据所述环境关联语句中的目标环境参数名,在内存中获取与所述目标环境参数名对应的目标环境特征值,以使所述测试程序执行与所述目标环境特征值关联的操作。

【技术特征摘要】
1.一种测试程序的执行方法,其特征在于,包括:将与测试程序关联的环境描述接口配置文件加载于内存中;其中,所述环境描述配置文件包括:固定配置的环境参数名,以及由用户自定义设置的,与环境参数名对应的环境特征值,所述环境特征值与测试环境相关联;执行所述测试程序,其中,所述测试程序中包括:至少一个抽象类;在所述测试程序执行至目标抽象类中的环境关联语句时,根据所述环境关联语句中的目标环境参数名,在内存中获取与所述目标环境参数名对应的目标环境特征值,以使所述测试程序执行与所述目标环境特征值关联的操作。2.根据权利要求1所述的方法,其特征在于,所述环境参数名包括下述至少一项:机器名称、用户名、密码、模块名、分库名、分组数、测试场景、上游模块名以及下游模块名。3.根据权利要求1所述的方法,其特征在于,所述抽象类包括:模块类;其中,在所述模块类中定义了模块类接口的实现方法,在所述模块类接口中声明了单个模块的操作;所述模块类接口中包括至少一个所述环境参数名;所述模块类中包括至少一条包括所述环境参数名的环境关联语句。4.根据权利要求3所述的方法,其特征在于,所述模块类接口中声明的操作类型包括下述至少一项:模块属性实例化、本地执行、远程执行、拷贝、远程目录探测、远程文件探测、消息摘要算法第五版计算、日志拷贝、压力工具判断、清理日志以及性能统计。5.根据权利要求3所述的方法,其特征在于,所述抽象类还包括:拓扑类;其中,在所述拓扑类中定义了拓扑类接口的实现方法,在所述拓扑类接口中声明了至少两个模块的统一操作,所述拓扑类中包括至少两个模块类。6.根据权利要求5所述的方法,其特征在于,所述拓扑类接口中声明的操作类型包括下述至少一项:启动指定模块、杀死指定模块、添加指定模块的模块处理器或者内存监控、更改指定模块环境、清理指定模块的日志信息以及指定模块的性能统计。7.根据权利要求5所述的方法,其特征在于,所述抽象类还包括:组件类和组件基类;其中,在所述组件类中定义了组件类接口的实现方法,在所述组件基类中定义的组件基类接口的实现方法;在所述组件类接口中声明了一个测试动作,在所述组件基类接口中声明了一个测试动作且包括至少一个继承接口,所述继承接口用于接收用户自定义配置的参数;所述组件类中包括:基于设定组合方式组合的模块类,和/或拓扑类;所述组件基类中包括:基于设定组合方式组合的模块类,和/或拓扑类,以及所述继承接口。8.根据权利要求7所述的方法,其特征在于,所述抽象类还包括:组件队列操作类;其中,在所述组件队列操作类中定义了组件队列接口的实现方法,在所述组件队列接口中声明了组件类,和/或组件基类的执行顺序以及执行调度方式;所述组件队列操作类中包括:由用户配置执行顺序与调度参数的组件类,和/或组件基类。9.根据权利要求1-8任一项所述的方法,其特征在于,还包括:在检测到问题定位场景时,调用执行所述测试程序中的问题排查定位代码;其中,所述问题排查定位代码的代码功能包括...

【专利技术属性】
技术研发人员:白晓庆董海炜
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1