CN108228452A - 一种基于简单工厂模式的测试方法及测试装置 - Google Patents
一种基于简单工厂模式的测试方法及测试装置 Download PDFInfo
- Publication number
- CN108228452A CN108228452A CN201711455953.7A CN201711455953A CN108228452A CN 108228452 A CN108228452 A CN 108228452A CN 201711455953 A CN201711455953 A CN 201711455953A CN 108228452 A CN108228452 A CN 108228452A
- Authority
- CN
- China
- Prior art keywords
- testing service
- test
- tested
- task
- testing
- 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.)
- Granted
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
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
技术领域
本发明涉及计算机测试技术领域,尤其涉及一种基于简单工厂模式的测试方法及测试装置。
背景技术
随着计算机技术的不断发展,各种应用软件也越来越丰富,为了保证应用软件功能的正确性,需要对应用软件进行软件测试。软件测试,是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程,换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。在软件测试中,测试服务,是将针对某一项目的软件测试通过某种语言完成其高度自动化后,在不与用户交互的情况下就能够完整运行的任务,在软件测试中需要对测试服务进行管理,即测试管理中的测试用例管理。目前测试管理相关的开源或自费的项目如TestLink(测试用例管理系统)等是将测试需求、测试计划、测试用例等通过标识信息进行映射,并将所有的测试用例录入到测试用例管理平台进行统一管理,当执行某一需求下的测试用例时,根据标识信息映射指定的测试用例进行回归测试。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:目前,现有的测试管理平台功能完整,具备需求、计划、用例以及测试报告等功能,但是,该类测试管理平台价格高昂,其应用场景、技术特性等方面仍不能完全满足所有用户的需求,如:
1、无法对被测试环境进行实时更新,仍需手动部署被测试环境;
2、对于中小规模的测试服务,对于现有的测试平台环境搭建复杂,消耗代价过高;
3、平台从无到有,测试用例录入繁杂,前期投入过大;
4、项目交接过程中,新人学习成本高。
发明内容
本发明实施例提供一种基于简单工厂模式的测试方法及测试装置,实现了自动部署被测试环境的搭建,无需测试用例的录入,简单快速地完成对测试服务的测试。
一方面,本发明实施例提供了一种基于简单工厂模式的测试方法,包括:
针对每一个待测试任务,在测试服务管理器中创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件;
将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述待测试服务运行时各个阶段的参数,并配置所述配置文件中的相关测试参数;
接收用户发送的测试指令,基于已配置的配置文件,通过已创建的所述测试服务的多个预定接口,对所述待测试任务执行相关测试操作。
另一方面,本发明实施例提供了一种基于简单工厂模式的测试装置,包括:
创建单元,用于针对每一个待测试任务,在测试服务管理器中创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件;
存储及配置单元,用于将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述配置文件中的相关测试参数;
接收及执行单元,用于接收用户发送的测试指令,基于已配置的配置文件,通过已创建的所述测试服务的多个预定接口,对所述待测试任务执行相关测试操作。
上述技术方案具有如下有益效果:通过本发明,实现了将被测环境部署过程纳入到测试服务管理系统中,方便负责部署测试环境的测试人员一键执行测试过程,不需额外部署,同时提高新人学习效率,同时,无需额外的录入测试用例,即可将测试服务直接纳入到本系统中进行管理,极大地节省了人力成本;实现了兼容性较好的测试服务管理平台,从而能够兼容各种软件开发语言以及各种形式的测试服务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中一种基于简单工厂模式的测试方法流程图;
图2为本发明另一实施例中一种基于简单工厂模式的测试装置结构示意图;
图3为本发明一优选实施例中简单工厂模式架构示意图;
图4为本发明另一优选实施例中测试服务管理平台系统架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明一实施例中一种基于简单工厂模式的测试方法流程图,包括:
101、针对每一个待测试任务,在测试服务管理器中创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件;
102、将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述配置文件中的相关测试参数;
103、接收用户发送的测试指令,基于已配置的配置文件,通过已创建的所述测试服务的多个预定接口,对所述待测试任务执行相关测试操作。
优选地,所述针对每一个待测试任务,创建与所述待测试服务一一对应的测试服务以及所述测试服务的配置文件,包括:
创建测试服务父类;
基于所述测试服务父类,针对每一个待测试任务,创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件,并在已创建的所述测试服务中实例化从所述测试服务父类继承的多个预定接口中定义的方法;
其中,所述多个预定接口包括部署被测试环境接口、测试初始化接口、测试执行方法接口、测试数据收集及生成测试报告接口和清理初始化测试数据接口。
优选地,所述将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述待测试服务运行时各个阶段的参数,并配置所述配置文件中的相关测试参数,包括:
将所述待测试服务存储至已创建的所述测试服务的预定存储目录,通过所述测试服务中实现的所述测试服务父类的多个预定接口,配置所述待测试服务运行时的各个阶段参数,并配置所述配置文件中的相关测试参数;
其中,所述配置文件中的相关测试参数包括测试服务名、测试服务版本、测试阶段、待测试任务运行时各个阶段的参数和测试集中测试方法的执行顺序。
可选地,还包括:
将已创建的各个测试服务存储至预定的存储平台;
将所述预定的存储平台的权限用户信息存储至所述测试服务管理器,所述权限用户信息是指对所述预定的存储平台具有操作权限用户的用户信息。
可选地,还包括:
在所述测试服务管理器中,当某一测试服务的代码发生变更或重新创建某一测试服务时,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台;
其中,所述将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台,包括:
获取所述测试服务管理器的当前发布用户信息,并根据所述预定的存储平台存储的权限用户信息,判断当前发布用户是否有权限发布当前测试服务;
若有权限,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台。
可选地,还包括:
根据所述测试服务管理器中测试服务的标识信息,检查所述预定的存储平台中所述标识信息对应的测试服务的版本是否高于所述测试服务管理器中同一测试服务的版本;
若是,更新所述测试服务管理器中的所述测试服务。
如图2所示,为本发明另一实施例中一种基于简单工厂模式的测试装置结构示意图,包括:
创建单元21,用于针对每一个待测试任务,在测试服务管理器中创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件;
存储及配置单元22,用于将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述配置文件中的相关测试参数;
接收及执行单元23,用于接收用户发送的测试指令,基于已配置的配置文件,通过已创建的所述测试服务的多个预定接口,对所述待测试任务执行相关测试操作。
优选地,所述创建单元,包括:
创建模块,用于创建测试服务父类;
创建及执行模块,用于基于所述测试服务父类,针对每一个待测试任务,创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件,并在已创建的所述测试服务中实例化从所述测试服务父类继承的多个预定接口中定义的方法;
其中,所述多个预定接口包括部署被测试环境接口、测试初始化接口、测试执行方法接口、测试数据收集及生成测试报告接口和清理初始化测试数据接口。
优选地,所述存储及配置单元,具体用于
将所述待测试任务存储至已创建的所述测试服务的预定存储目录,通过所述测试服务中实现的所述测试服务父类的多个预定接口,配置所述配置文件中的相关测试参数;
其中,所述配置文件中的相关测试参数包括测试服务名、测试服务版本、测试阶段、待测试任务运行时各个阶段的参数和测试集中测试方法的执行顺序。
可选地,还包括:
第一存储单元,用于将已创建的各个测试服务存储至预定的存储平台;
第二存储单元,用于将所述预定的存储平台的权限用户信息存储至所述测试服务管理器,所述权限用户信息是指对所述预定的存储平台具有操作权限用户的用户信息。
可选地,还包括:
发布单元,用于在所述测试服务管理器中,当某一测试服务的代码发生变更或重新创建某一测试服务时,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台;
其中,所述发布单元,包括:
获取及判断模块,用于获取所述测试服务管理器的当前发布用户信息,并根据所述预定的存储平台存储的权限用户信息,判断当前发布用户是否有权限发布当前测试服务;
发布模块,用于若所述获取及判断模块的判断结果为有权限,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台。
可选地,还包括:
检查单元,用于根据所述测试服务管理器中测试服务的标识信息,检查所述预定的存储平台中所述标识信息对应的测试服务的版本是否高于所述测试服务管理器中同一测试服务的版本;
更新单元,用于若所述检查单元的检查结果为是,更新所述测试服务管理器中的所述测试服务。
本发明实施例上述技术方案具有如下有益效果:通过本发明,实现了将被测环境部署过程纳入到测试服务管理系统中,方便负责部署测试环境的测试人员一键执行测试过程,不需额外部署,同时提高新人学习效率,同时,无需额外的录入测试用例,即可将测试服务直接纳入到本系统中进行管理,极大地节省了人力成本;实现了兼容性较好的测试服务管理平台,从而能够兼容各种软件开发语言以及各种形式的测试服务。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例旨在实现自动部署被测试环境的搭建,无需测试用例的录入,简单快速地完成对测试服务的测试。
如图1所示,例如,在测试服务管理平台A中,针对待测试任务test1,在测试服务管理器,如pstone,中,创建与待测试任务est1一一对应的测试服务,如test_S1,以及测试服务test_S1的配置文件,如package.json;随后,将待测试任务test1存储至已创建的测试服务test_S1的预定存储目录,如project目录,配置待测试任务test1运行时各个阶段的参数,并配置配置文件package.json中的相关测试参数;接收用户发送的测试指令,基于已配置的配置文件package.json和待测试任务test1运行时各个阶段的参数,通过已创建的测试服务test_S1的多个预定接口,对待测试任务test1执行相关测试操作。
在一优选实施例中,步骤101针对每一个待测试任务,创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件,包括:创建测试服务父类;基于所述测试服务父类,针对每一个待测试任务,创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件,并在已创建的所述测试服务中实例化从所述测试服务父类继承的多个预定接口中定义的方法。
其中,所述多个预定接口包括部署被测试环境接口、测试初始化接口、测试执行方法接口、测试数据收集及生成测试报告接口和清理初始化测试数据接口。
例如,在测试服务管理平台A中,基于软件开发的简单工厂模式,创建测试服务父类,如抽象的测试服务的父类,随后基于抽象的测试服务的父类,针对每一个待测试任务,如test1,创建与待测试任务test1一一对应的测试服务test_S1,即抽象的测试服务的父类的实例,以及测试服务test_S1的配置文件,如package.json,并在已创建的测试服务test_S1中实例化实现继承的抽象的测试服务的父类的多个预定接口中的定义的方法,如部署被测试环境接口deploy、测试初始化接口init、测试执行方法接口test、测试数据收集及生成测试报告接口report和清理初始化测试数据接口clean。其中,部署被测试环境接口deploy,用于部署被测试环境的脚本,该脚本可为空,若为空时,则为忽略被测环境部署的步骤;测试初始化接口init,用于执行测试执行前需要的一些初始化工作,如测试前配置变更、环境变量设置等初始化工作;测试执行方法接口test,用于实现测试执行方法,用户自定义测试项目的启动列表,如BVT(Build Verification Test,构建验证测试)、回归测试、模块测试等;测试数据收集及生成测试报告接口report,用于测试数据搜集并生成测试报告,用户通过report接口自定义需要的测试数据后可由测试服务管理平台系统生成用户所需的测试报告;清理初始化测试数据接口clean,该接口执行与init接口的反向的操作,清理init接口执行时设置的数据。
需要说明的是,本领域技术人员可以了解到,在软件开发设计模式的概念中,简单工厂模式,属于类的创新型模式,又叫静态工厂方法模式,是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。如图3所示,抽象父类为简单工厂模式所创建的所有对象的父类,负责描述所有实例的所有公共接口,即定义对水果的操作,如洗水果、吃水果、切水果等;具体子类是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例,继承父类所定义的接口并实现;简单工厂类为通过抽象父类根据自己所需决定创建哪一种具体子类的实例,如创建一种叫草莓的水果,继承并实现父类接口操作则为洗草莓、吃草莓、切草莓。
在一优选实施例中,步骤102将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述待测试任务运行时各个阶段的参数,并配置所述配置文件中的相关测试参数,包括:将所述待测试服务存储至已创建的所述测试服务的预定存储目录,通过所述测试服务中实现的所述测试服务父类的多个预定接口,配置所述配置文件中的相关测试参数。
其中,所述配置文件中的相关测试参数包括测试服务名、测试服务版本、测试阶段、待测试任务运行时各个阶段的参数和测试集中测试方法的执行顺序。
例如,在测试服务管理平台A中,针对待测试任务test1,在测试服务管理器pstone中,创建与待测试任务test1一一对应的测试服务test_S1,以及测试服务test_S1的配置文件package.json;随后,将待测试任务test1存储至已创建的测试服务test_S1的预定存储目录,如project目录,通过测试服务test_S1中实现的抽象的测试服务的父类的多个预定接口,如deploy接口、init接口、test接口、report接口和clean接口,配置配置文件package.json中的相关测试参数,如配置待测试任务test1运行时的各个阶段参数、测试服务名、测试服务版本、测试阶段、待测试任务test1运行时各个阶段的参数和测试集中测试方法的执行顺序。
通过本实施例,使得测试服务管理平台的测试服务的内部实现对外界用户透明,测试服务管理器完全接管测试服务各阶段测试功能,通过配置文件能够识别各测试服务的版本,使测试服务及其版本管理更加方便、智能。
在一优选实施例中,该方法还包括:将已创建的各个测试服务存储至预定的存储平台;将所述预定的存储平台的权限用户信息存储至所述测试服务管理器,所述权限用户信息是指对所述预定的存储平台具有操作权限用户的用户信息。
其中,预定的存储平台包括仓库管理系统GitLab和开源及私有软件项目的托管平台GitHub。
例如,在测试服务管理平台A中,已创建的测试服务包括测试服务test_S1和测试服务test_S2,将各个测试服务,如测试服务test_S1和测试服务test_S2,存储至预定的存储平台,如GitLab,并将预定的存储平台GitLab的用户信息存储至测试服务管理器pstone。
在一优选实施例中,该方法包括:在所述测试服务管理器中,当某一测试服务的代码发生变更或重新创建某一测试服务时,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台。
其中,所述将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台,包括:获取所述测试服务管理器的当前发布用户信息,并根据所述预定的存储平台存储的权限用户信息,判断当前发布用户是否有权限发布当前测试服务;若有权限,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台。
例如,在测试服务管理平台A中,当某一测试服务test_S1的代码发生变更或重新创建某一测试服务,如测试服务test_S1时,获取测试服务管理器pstone的当前发布用户信息,如user1,并根据预定的存储平台GitLab存储的权限用户信息,判断当前发布用户user1是否有权限发布当前测试服务test_S1;若有权限,将当前测试服务test_S1和/或当前测试服务test_S1的版本信息发布至预定的存储平台GitLab。
在一优选实施例中,该方法包括:根据所述测试服务管理器中测试服务的标识信息,检查所述预定的存储平台中所述标识信息对应的测试服务的版本是否高于所述测试服务管理器中同一测试服务的版本;若是,更新所述测试服务管理器中的所述测试服务。
例如,在测试服务管理平台A中,根据测试服务管理器pstone中测试服务的标识信息,如test_S1,检查预定的存储平台GitLab中标识信息为test_S1对应的测试服务的版本是否高于测试服务管理器pstone中标识信息为test_S1的测试服务的版本;若是,更新测试服务管理器pstone中标识信息为test_S1的测试服务。
通过本实施例,实现了对被测试环境进行实时更新,无需测试人员手动部署被测试环境,从而提高了测试效率,极大地减轻了测试人员的工作,同时,也避免了测试人员手动部署被测试环境时存在的人为部署错误的情况的发生。
在一具体应用场景中,在测试服务管理平台B中,系统框架结构示意图如图4所示,抽象父类,即测试服务管理平台B,pstone作为测试服务管理平台B的管理器,可将下载的所有测试服务统一归置到一个叫project文件夹内,通过不同的测试服务路径来完成对不同测试服务的统一管理,在每个测试服务的根目录都拥有一份配置文件package.json,pstone通过解析配置文件package.json来识别测试服务及其版本、测试各阶段入口以及测试suite(测试集),从而更方便、智能的管理测试服务;pstone也可使团队的其他队员除针对于自己的测试任务或者项目外,还可以无缝衔接本组其他队员或其他团队队员的测试工作,从而实现测试服务管理与重用。使用测试服务管理平台B,用户可通过新建pstone实例来下载或重新创建新测试服务,新的测试服务位于project文件夹的目录下,用户需实现继承自父类的接口有:deploy、init、test、report、clean,用于定义测试服务运行时的各个阶段。完成执行上述接口的方法后,用户需指定配置文件package.json中各字段对应的value值,如测试服务的suite值、测试服务的name值以及版本等,通过运行测试命令,如pstonetest,来运行测试服务的测试过程,pstone会通过配置文件package.json获取用户定义的测试过程所实现的方法并执行。用户在执行测试服务进行测试时,可通过构建命令,如pstone build,来运行,pstone build命令能够将各个测试阶段进行整合,部署测试环境、测试前初始化操作、执行测试、测试结果搜集生成测试报告、测试环境清理操作等依次执行完成测试服务的一次完成测试操作。当本地测试服务代码有变更时或重新创建本地的测试服务时,可通过当前测试服务继承自测试服务管理平台方法,通过执行发布命令,如pstonepublish,来进行测试服务的发布或者版本发布至预定的存储平台,如GitLab;当其他用户重用测试服务时,通过执行更新命令,如pstone update,来检查测试服务是否有更新并执行更新;用户可通过下载命令,如pstone new<url>,来下载GitLab已存在的测试服务到本地,通过创建命令,如pstone new,在本地创建新的测试服务。
为了能够发布以及更新测试服务,测试服务管理平台B的当前用户必须有GitLab的用户权限,因此需要pstone通过登录login操作将当前GitLab用户的信息保存在运行测试服务管理平台B的本地客户端,该信息作为用户进行发布及更新时的许可权限认证。
另外,配置文件package.json,可以作为一个测试服务的文档说明,允许用户指定测试服务以及所使用的版本;可以使测试服务被复用,共享给其他需要使用该测试服务的人员。其中,创建一个配置文件package.json可通过创建命令,如pstone new,来创建或手动创建两种方式。一个配置文件package.json至少包括测试服务名,如参数“name”、测试服务版本,如参数“version”、测试阶段定义,如参数“script”以及测试suite定义,如参数“suite”。
案例一:复用已有的测试服务进行测试
1.1、在测试服务管理平台根目录使用下载命令pstone new<url>创建与待测试任务一一对应的测试服务;
1.2、测试服务管理器pstone通过url(Uniform Resource Locator,统一资源定位符)获取已有的待测试任务的地址并克隆clone到project目录下;
1.3、进入到测试服务根目录;
1.4、通过构建命令pstone build执行测试;
案例二:创建新测试服务
2.1、在测试服务管理平台根目录执行创建命令pstone new;
2.2、测试服务管理器pstone会在project目录下创建一新测试服务目录;
2.3、进入到测试服务根目录;
2.4、将测试服务clone到本地,并完成父类接口的实现;
2.5、完成配置文件package.json定义;
2.6、根据用户需求执行测试服务管理器pstone的各个命令。
案例三:更新测试服务后发布
3.1、进入测试服务根目录;
3.2、变更测试服务;
3.3、执行发布命令pstone publish;
3.4、测试服务管理器pstone根据登录login操作保存的用户信息进行验证当前用户是否有权限执行发布操作。
案例四:更新本地测试服务
4.1、进入测试服务根目录;
4.2、执行更新命令pstone update;
4.3、测试服务管理器pstone对比GitLab与本地客户端的测试服务标识信息,确定是否进行更新本地的测试服务。
通过本实施例的测试服务管理平台,能够使用户能快速有效的复用其他专注于特定服务的测试人员开发的测试服务,从而使测试人员及其团队可以专注于自己测试服务的开发,使团队内及团队间的合作更为高效。
本发明实施例提供了一种基于简单工厂模式的测试装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于简单工厂模式的测试方法,其特征在于,包括:
针对每一个待测试任务,在测试服务管理器中创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件;
将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述配置文件中的相关测试参数;
接收用户发送的测试指令,基于已配置的配置文件,通过已创建的所述测试服务的多个预定接口,对所述待测试任务执行相关测试操作。
2.根据权利要求1所述的测试方法,其特征在于,所述针对每一个待测试任务,创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件,包括:
创建测试服务父类;
基于所述测试服务父类,针对每一个待测试任务,创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件,并在已创建的所述测试服务中实例化从所述测试服务父类继承的多个预定接口中定义的方法;
其中,所述多个预定接口包括部署被测试环境接口、测试初始化接口、测试执行方法接口、测试数据收集及生成测试报告接口和清理初始化测试数据接口。
3.根据权利要求2所述的测试方法,其特征在于,所述将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述配置文件中的相关测试参数,包括:
将所述待测试任务存储至已创建的所述测试服务的预定存储目录,通过所述测试服务中实现的所述测试服务父类的多个预定接口,配置所述配置文件中的相关测试参数;
其中,所述配置文件中的相关测试参数包括测试服务名、测试服务版本、测试阶段、待测试任务运行时各个阶段的参数和测试集中测试方法的执行顺序。
4.根据权利要求1所述的测试方法,其特征在于,还包括:
将已创建的各个测试服务存储至预定的存储平台;
将所述预定的存储平台的权限用户信息存储至所述测试服务管理器,所述权限用户信息是指对所述预定的存储平台具有操作权限用户的用户信息。
5.根据权利要求4所述的测试方法,其特征在于,还包括:
在所述测试服务管理器中,当某一测试服务的代码发生变更或重新创建某一测试服务时,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台;
其中,所述将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台,包括:
获取所述测试服务管理器的当前发布用户信息,并根据所述预定的存储平台存储的权限用户信息,判断当前发布用户是否有权限发布当前测试服务;
若有权限,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台。
6.根据权利要求5所述的测试方法,其特征在于,还包括:
根据所述测试服务管理器中测试服务的标识信息,检查所述预定的存储平台中所述标识信息对应的测试服务的版本是否高于所述测试服务管理器中同一测试服务的版本;
若是,更新所述测试服务管理器中的所述测试服务。
7.一种基于简单工厂模式的测试装置,其特征在于,包括:
创建单元,用于针对每一个待测试任务,在测试服务管理器中创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件;
存储及配置单元,用于将所述待测试任务存储至已创建的所述测试服务的预定存储目录,配置所述配置文件中的相关测试参数;
接收及执行单元,用于接收用户发送的测试指令,基于已配置的配置文件,通过已创建的所述测试服务的多个预定接口,对所述待测试任务执行相关测试操作。
8.根据权利要求7所述的测试装置,其特征在于,所述创建单元,包括:
创建模块,用于创建测试服务父类;
创建及执行模块,用于基于所述测试服务父类,针对每一个待测试任务,创建与所述待测试任务一一对应的测试服务以及所述测试服务的配置文件,并在已创建的所述测试服务中实例化从所述测试服务父类继承的多个预定接口中定义的方法;
其中,所述多个预定接口包括部署被测试环境接口、测试初始化接口、测试执行方法接口、测试数据收集及生成测试报告接口和清理初始化测试数据接口。
9.根据权利要求8所述的测试装置,其特征在于,所述存储及配置单元,具体用于将所述待测试任务存储至已创建的所述测试服务的预定存储目录,通过所述测试服务中实现的所述测试服务父类的多个预定接口,配置所述配置文件中的相关测试参数;
其中,所述配置文件中的相关测试参数包括测试服务名、测试服务版本、测试阶段、待测试任务运行时各个阶段的参数和测试集中测试方法的执行顺序。
10.根据权利要求7所述的测试装置,其特征在于,还包括:
第一存储单元,用于将已创建的各个测试服务存储至预定的存储平台;
第二存储单元,用于将所述预定的存储平台的权限用户信息存储至所述测试服务管理器,所述权限用户信息是指对所述预定的存储平台具有操作权限用户的用户信息。
11.根据权利要求10所述的测试装置,其特征在于,还包括:
发布单元,用于在所述测试服务管理器中,当某一测试服务的代码发生变更或重新创建某一测试服务时,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台;
其中,所述发布单元,包括:
获取及判断模块,用于获取所述测试服务管理器的当前发布用户信息,并根据所述预定的存储平台存储的权限用户信息,判断当前发布用户是否有权限发布当前测试服务;
发布模块,用于若所述获取及判断模块的判断结果为有权限,将当前测试服务和/或当前测试服务的版本信息发布至所述预定的存储平台。
12.根据权利要求11所述的测试装置,其特征在于,还包括:
检查单元,用于根据所述测试服务管理器中测试服务的标识信息,检查所述预定的存储平台中所述标识信息对应的测试服务的版本是否高于所述测试服务管理器中同一测试服务的版本;
更新单元,用于若所述检查单元的检查结果为是,更新所述测试服务管理器中的所述测试服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711455953.7A CN108228452B (zh) | 2017-12-28 | 2017-12-28 | 一种基于简单工厂模式的测试方法及测试装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711455953.7A CN108228452B (zh) | 2017-12-28 | 2017-12-28 | 一种基于简单工厂模式的测试方法及测试装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228452A true CN108228452A (zh) | 2018-06-29 |
CN108228452B CN108228452B (zh) | 2021-04-06 |
Family
ID=62648268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711455953.7A Active CN108228452B (zh) | 2017-12-28 | 2017-12-28 | 一种基于简单工厂模式的测试方法及测试装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228452B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109640353A (zh) * | 2019-01-17 | 2019-04-16 | Tcl移动通信科技(宁波)有限公司 | 一种蓝牙设备测试方法、智能终端及存储介质 |
CN109634840A (zh) * | 2018-10-25 | 2019-04-16 | 平安科技(深圳)有限公司 | 软件测试方法、装置、设备及存储介质 |
CN109783352A (zh) * | 2018-12-13 | 2019-05-21 | 平安普惠企业管理有限公司 | 利用jenkins封装平台进行测试的方法、装置和计算机设备 |
CN112035859A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 密码服务的调用方法及装置、存储介质、电子装置 |
CN113360379A (zh) * | 2021-06-04 | 2021-09-07 | 上海哔哩哔哩科技有限公司 | 程序测试方法和程序测试装置 |
CN113434382A (zh) * | 2021-07-12 | 2021-09-24 | 建信金融科技有限责任公司 | 数据库性能监控方法、装置、电子设备及计算机可读介质 |
CN115190047A (zh) * | 2022-02-10 | 2022-10-14 | 统信软件技术有限公司 | 一种服务器健康监测方法、系统及计算设备 |
CN117349101A (zh) * | 2023-12-05 | 2024-01-05 | 济南新语软件科技有限公司 | 一种芯片验证平台及其构建方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536890A (zh) * | 2014-12-26 | 2015-04-22 | 小米科技有限责任公司 | 测试系统、方法和装置 |
CN104978191A (zh) * | 2015-06-24 | 2015-10-14 | 小米科技有限责任公司 | 应用部署方法和服务器 |
US20160301580A1 (en) * | 2013-12-17 | 2016-10-13 | Huawei Technologies Co., Ltd. | Service Testing Method, Device, and System, Network Node, and Quality Processing Node |
CN106294113A (zh) * | 2015-06-03 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种基于可编程式测试服务的创建方法及装置 |
-
2017
- 2017-12-28 CN CN201711455953.7A patent/CN108228452B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160301580A1 (en) * | 2013-12-17 | 2016-10-13 | Huawei Technologies Co., Ltd. | Service Testing Method, Device, and System, Network Node, and Quality Processing Node |
CN104536890A (zh) * | 2014-12-26 | 2015-04-22 | 小米科技有限责任公司 | 测试系统、方法和装置 |
CN106294113A (zh) * | 2015-06-03 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种基于可编程式测试服务的创建方法及装置 |
CN104978191A (zh) * | 2015-06-24 | 2015-10-14 | 小米科技有限责任公司 | 应用部署方法和服务器 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634840A (zh) * | 2018-10-25 | 2019-04-16 | 平安科技(深圳)有限公司 | 软件测试方法、装置、设备及存储介质 |
CN109783352A (zh) * | 2018-12-13 | 2019-05-21 | 平安普惠企业管理有限公司 | 利用jenkins封装平台进行测试的方法、装置和计算机设备 |
CN109640353A (zh) * | 2019-01-17 | 2019-04-16 | Tcl移动通信科技(宁波)有限公司 | 一种蓝牙设备测试方法、智能终端及存储介质 |
CN109640353B (zh) * | 2019-01-17 | 2023-10-03 | Tcl移动通信科技(宁波)有限公司 | 一种蓝牙设备测试方法、智能终端及存储介质 |
CN112035859A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 密码服务的调用方法及装置、存储介质、电子装置 |
CN113360379A (zh) * | 2021-06-04 | 2021-09-07 | 上海哔哩哔哩科技有限公司 | 程序测试方法和程序测试装置 |
CN113360379B (zh) * | 2021-06-04 | 2022-06-10 | 上海哔哩哔哩科技有限公司 | 程序测试环境创建方法和程序测试环境创建装置 |
CN113434382A (zh) * | 2021-07-12 | 2021-09-24 | 建信金融科技有限责任公司 | 数据库性能监控方法、装置、电子设备及计算机可读介质 |
CN115190047A (zh) * | 2022-02-10 | 2022-10-14 | 统信软件技术有限公司 | 一种服务器健康监测方法、系统及计算设备 |
CN115190047B (zh) * | 2022-02-10 | 2023-07-07 | 统信软件技术有限公司 | 一种服务器健康监测方法、系统及计算设备 |
CN117349101A (zh) * | 2023-12-05 | 2024-01-05 | 济南新语软件科技有限公司 | 一种芯片验证平台及其构建方法 |
CN117349101B (zh) * | 2023-12-05 | 2024-02-23 | 济南新语软件科技有限公司 | 一种芯片验证平台及其构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108228452B (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228452A (zh) | 一种基于简单工厂模式的测试方法及测试装置 | |
CN107766126A (zh) | 容器镜像的构建方法、系统、装置及存储介质 | |
US8250355B2 (en) | Method, system, and product for identifying provisioning operations via planning methods | |
EP2662769A1 (en) | Cloud logistics | |
US9043252B2 (en) | Systems and methods for analysis of network equipment command line interface (CLI) and runtime management of user interface (UI) generation for same | |
CN106357457B (zh) | 一种告警测试方法、装置以及系统 | |
US10956311B2 (en) | White box code concurrency testing for transaction processing | |
US20030177205A1 (en) | Method and apparatus for system lineup and testing | |
CN109614341A (zh) | 一种代码覆盖率的测试方法及系统 | |
KR20170015968A (ko) | 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션 | |
CN103853595A (zh) | 用于替换虚拟机盘的方法和系统 | |
CN106341438A (zh) | 请求处理方法和装置 | |
CN104169902B (zh) | 同步本地和远程数据 | |
CN106483860A (zh) | 针对plc的数据自动采集中间件及其使用方法 | |
CN109739704A (zh) | 一种接口测试方法、服务端及计算机可读存储介质 | |
US20090183028A1 (en) | Method and system for modeling, validating and automatically resolving goals and dependencies between elements within a topology | |
US20190391793A1 (en) | Separation of user interface logic from user interface presentation by using a protocol | |
Strauch et al. | Migrating enterprise applications to the cloud: methodology and evaluation | |
CN107992326A (zh) | 基于Struts2框架的Java自动化代码发布方法 | |
CN103841178B (zh) | 网络附连存储环境的带内管理的方法和系统 | |
AU2003214947A1 (en) | System and method for policy-enabled, contract-based management of network operational support systems | |
CN104484176B (zh) | 一种安卓系统窗口对象获取方法和装置 | |
CN102148711B (zh) | 一种网络设备的备份方法和系统 | |
CN111142882A (zh) | 一种用于大型微服务部署的服务附加依赖管理方法 | |
CN100358297C (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |