CN113704136A - 测试环境的生成方法、装置、设备和计算机可读存储介质 - Google Patents

测试环境的生成方法、装置、设备和计算机可读存储介质 Download PDF

Info

Publication number
CN113704136A
CN113704136A CN202111280120.8A CN202111280120A CN113704136A CN 113704136 A CN113704136 A CN 113704136A CN 202111280120 A CN202111280120 A CN 202111280120A CN 113704136 A CN113704136 A CN 113704136A
Authority
CN
China
Prior art keywords
test environment
application
value
generating
permutation
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
Application number
CN202111280120.8A
Other languages
English (en)
Other versions
CN113704136B (zh
Inventor
吴德源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Mingyuan Cloud Technology Co Ltd
Original Assignee
Shenzhen Mingyuan Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Mingyuan Cloud Technology Co Ltd filed Critical Shenzhen Mingyuan Cloud Technology Co Ltd
Priority to CN202111280120.8A priority Critical patent/CN113704136B/zh
Publication of CN113704136A publication Critical patent/CN113704136A/zh
Application granted granted Critical
Publication of CN113704136B publication Critical patent/CN113704136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test 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

测试环境的生成方法、装置、设备和计算机可读存储介质
技术领域
本发明涉及开发测试领域,具体涉及一种测试环境的生成方法、装置、设备和计算机可读存储介质。
背景技术
在项目迭代开发过程中,随着项目团队中开发人员的职责任务越来越独立分离,每个开发人员都会被要求在主干分支的基础上新建属于自己的特性分支,然后在其上进行独立的开发。在开发任务完成之后,将特性分支上的改动合并到主干分支之前,测试人员需要对其改动内容进行测试。一般情况下,测试环境只有一套,而特性分支有多个,需要在这一套测试环境上来回切换分支重新构建部署应用,这样一来颇耗时间。尤其是在特性分支上测试出Bug(程序故障)的时候,测试人员要么等待 Bug 修复,其它特性分支的任务搁置,这样白白浪费大量的测试人员的时间;要么先切换到其它特性分支测试,Bug被修复后再切换回来,在这种情况下如果不同的特性分支的环境配置有差异,手工配置下会出现重复劳动,甚至极易出错,排错过程也会花费不少的时间。
发明内容
本发明提供了一种测试环境的生成方法、装置、设备和计算机可读存储介质,旨在解决项目测试的过程中浪费大量时间的技术问题。
为实现上述目的,本发明提供了一种测试环境的生成方法,该方法包括以下步骤:
接收输入的测试环境生成参数,所述测试环境生成参数包括用户名称;
根据所述测试环境生成参数生成测试环境;
根据所述用户名称生成所述测试环境中应用程序的访问地址,输出所述访问地址。
可选地,获取所述分支名称对应的项目代码;
构建所述项目代码并对所述项目代码进行预设的镜像处理制作应用镜像;
根据所述应用镜像创建应用程序。
可选地,若所述应用程序为多个,则采用串行启动的方式启动各所述应用程序中存在依赖关系的应用程序,并采用并行启动的方式启动各所述应用程序中不存在依赖关系的应用程序。
可选地,将所述用户名称转换为名称对应值;
将所述部署类型和所述数据库类型转换为对应的二进制值;
根据所述名称对应值和所述二进制值计算所述应用程序的应用端口值。
可选地,确定所述测试环境中能够容纳最多应用程序个数的应用最大值;
通过所述部署类型和数据库类型的总数确定所有部署类型和数据库类型的排列组合数量;
通过选择的部署类型和数据库类型确定排列组合序号;
根据所述名称对应值、应用最大值、排列组合数量和排列组合序号确定应用端口值。
可选地,获取预设的应用编码和端口起点值;
计算所述名称对应值、所述应用最大值和所述排列组合数量的乘积以获得第一乘积;
计算所述排列组合数量和预设的应用编码的乘积以获得第二乘积;
计算所述第一乘积、第二乘积、预设的端口起点值、排列组合序号之间的和值,并将所述和值作为应用端口值。
可选地,获取所述测试环境的服务器地址;
将所述测试环境中的所有应用端口值进行拼接得到拼接端口值;
输出所述服务器地址和所述拼接端口值。
可选地,为实现上述目的,本申请还提出一种测试环境的生成装置,测试环境的生成装置包括参数接收模块、测试环境生成模块和访问地址输出模块。所述参数接收模块用于接收输入的测试环境生成参数,所述测试环境生成参数包括用户名称;所述测试环境生成模块用于根据所述测试环境生成参数生成测试环境,所述访问地址输出模块用于根据所述用户名称生成所述测试环境中应用程序的访问地址,输出所述访问地址。
为实现上述目的,本申请还提出一种测试环境的生成设备,测试环境的生成设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的测试环境的生成应用程序,所述测试环境的生成应用程序被处理器执行时实现所述测试环境的生成方法。
为实现上述目的,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有测试环境的生成应用程序,所述测试环境的生成应用程序被处理器执行时实现所述测试环境的生成方法。
本发明技术方案中,服务器会接收用户输入的测试环境生成参数;并根据所述测试环境生成参数生成测试环境;在测试环境生成之后,向用户输出所述测试环境中应用程序的访问地址。通过这种方式,可以根据不同的测试环境生成参数,为每一位用户按需自动生成动态配置的测试环境,而不同于现有技术中所有用户共用一套测试环境,因此避免了用户在测试前选择配置项的重复劳动和资源得不到有效利用的情况,节省了大量测试时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明一实施例的测试环境的生成方法的模块结构示意图;
图2为本发明一实施例的测试环境的生成方法的流程图;
图3为本发明一实施例的测试环境的生成方法的模块结构图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1,图1为本发明各个实施例中所提供的测试环境的生成设备的硬件结构示意图。所述测试环境的生成设备包括执行模块01、存储器02、处理器03、电池系统等部件。本领域技术人员可以理解,图1中所示出的设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,所述处理器03分别与所述存储器02和所述执行模块01连接,所述存储器02上存储有测试环境的生成应用程序,所述测试环境的生成应用程序同时被处理器03执行。
执行模块01,可接收输入的测试环境生成参数,并根据测试环境生成参数生成测试环境,同时反馈以上信息发送给所述处理器03。
存储器02,可用于存储软件程序以及各种数据。存储器02可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据物联网终端的使用所创建的数据或信息等。此外,存储器02可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器03,是处理平台的控制中心,利用各种接口和线路连接整个物联网终端的各个部分,通过运行或执行存储在存储器02内的软件程序和/或模块,以及调用存储在存储器02内的数据,执行物联网终端的各种功能和处理数据,从而对测试环境的生成设备进行整体监控。处理器03可包括一个或多个处理单元;优选的,处理器03可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器03中。
本领域技术人员可以理解,图1中示出的测试环境的生成设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
根据上述硬件结构,提出本发明方法各个实施例。
参照图2,在本发明测试环境的生成方法的第一实施例中,所述测试环境的生成方法包括:
步骤S100,接收输入的测试环境生成参数,所述测试环境生成参数包括用户名称;
在项目迭代开发过程中,随着项目团队中开发人员的职责任务越来越独立分离,每个开发人员都会被要求在主干分支的基础上新建属于自己的特性分支,然后在其上进行独立的开发。在开发任务完成之后,将特性分支上的改动合并到主干分支之前,测试人员需要对其改动内容进行测试。一般情况下,测试环境只有一套,而特性分支有多个,需要在这一套测试环境上来回切换分支重新构建部署应用,这样一来颇耗时间。尤其是在特性分支上测试出Bug(程序故障)的时候,测试人员要么等待 Bug 修复,其它特性分支的任务搁置,这样白白浪费大量的测试人员的时间;要么先切换到其它特性分支测试,Bug被修复后再切换回来,在这种情况下如果不同的特性分支的环境配置有差异,手工配置下会出现重复劳动,甚至极易出错,排错过程也会花费不少的时间。
此外,应用测试环境之前还需要进行两个环境属性选择,即选择部署类型和数据库类型,不同的选择意味着要进行不同的环境配置。在进行环境配置的过程中,测试人员同样会进行大量容易出错的重复劳动,从而浪费大量的时间。
为了解决上述测试过程中对时间浪费的问题,本申请提出了一种测试环境的生成方法,旨在为每一位开发人员按需自动生成动态配置的测试环境。具体地,在本实施例中,每一位开发人员生成其对应的测试环境之前,都需要输入测试环境生成参数。测试环境生成参数中包括开发人员的用户名称,可通过用户名称标识测试环境,若检测到存在该用户名称对应的测试环境,则更新该测试环境;若不存在该用户名称对应的测试环境,则新建一个测试环境。如此一来,就能够保证每个开发人员都有且仅有一个对应的测试环境。
在一些实施例中,测试环境生成参数至少包括测试环境的分支名称、用户名称、部署类型和数据库类型。具体地,部署类型和数据库类型由用户在预先设定好的多个选项中进行选择,其中,测试环境的部署类型包括分离部署和集中部署,数据库类型包括Mysql数据库和SqlServer数据库。而分支名称和用户名称则由用户进行填写。
步骤S200,根据所述测试环境生成参数生成测试环境;
本实施例中,在接收到测试环境生成参数之后,服务器会根据测试环境生成参数自动生成测试环境。具体地,在一些实施例中,测试环境通过Jenkins进行部署,其中,Jenkins是一个开源的、提供友好操作界面的持续集成工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。在开发人员输入完所有测试环境生成参数至Jenkins之后,会点击启动构建的按钮。Jenkins即会自动获取该测试环境中将要构建的多个应用程序,并自动计算这多个应用程序各自的应用端口值;然后构建这些应用程序的项目代码,并制作这些应用程序的应用镜像,该应用镜像可以为Docker镜像;在制作完成应用镜像之后,通过应用镜像创建其对应的可执行的应用程序;并使这些应用程序与之前计算得到的应用端口值呈一一对应的映射关系。
步骤S300,根据所述用户名称生成所述测试环境中应用程序的访问地址,输出所述访问地址。
本实施例中,在测试环境生成之后,即测试环境中的所有应用程序均创建完成之后,需要启动这些应用程序,并根据输入的用户名称生成测试环境中这些应用程序的访问地址,然后输出这些应用程序的访问地址,使得开发人员或其他用户可根据输出的访问地址访问对应的应用程序。具体地,启动应用程序可以采用串行和并行两种启动方式来启动测试环境中的多个应用程序。对于不与其他应用程序存在依赖关系的应用程序,可以采用并行启动的方式进行启动;对于与其他应用程序存在依赖关系的应用程序,可以采用串行启动的方式进行启动。进一步地,应用程序的访问地址包括测试环境所在服务器的IP地址和各个应用程序所对应的端口值。
与现有技术中每个项目仅包含一个测试环境不同,通过上述测试环境的自动生成方法,可以为每个开发人员部署一套符合其测试要求的测试环境,从而避免了等待测试过程中和对测试环境进行部署过程中大量时间的浪费,降低了对测试环境进行反复部署过程中出错的概率,提升了测试的效率。
在一实施例中,所述测试环境生成参数包括分支名称,所述根据所述测试环境生成参数生成测试环境的步骤包括:
获取所述分支名称对应的项目代码;
构建所述项目代码并对所述项目代码进行预设的镜像处理制作应用镜像;
根据所述应用镜像创建应用程序。
本实施例中,测试环境生成参数包括用户名称和分支名称。在用户填写分支名称和用户名称,并选择部署类型和数据库类型之后,服务器首先根据分支名称获取分支名称对应的项目代码,项目代码存储在一个仓库服务器上;然后应用哈希算法和冲突算法将用户名称转换为一定范围内的名称对应值,根据该测试环境中的应用数量、端口起点值、应用程序的编码以及部署类型和数据库类型可计算得到应用程序对应的唯一应用端口值。在计算得到应用端口值之后,构建获取的应用程序对应的项目代码,制作应用程序的应用镜像。该应用镜像可以为Docker镜像;在制作完成应用镜像之后,通过应用镜像创建其对应的可执行的应用程序;并使这些应用程序与之前计算得到的应用端口值呈一一对应的映射关系。
在一实施例中,所述根据所述应用镜像创建应用程序的步骤之后包括:
若所述应用程序为多个,则采用串行启动的方式启动各所述应用程序中存在依赖关系的应用程序,并采用并行启动的方式启动各所述应用程序中不存在依赖关系的应用程序。
本实施例中,在创建好所有的应用程序,并令这些应用程序与应用端口值呈一一对应的映射关系之后,启动这些应用程序。具体地,采用串行或并行的混合启动方式启动这些应用程序。其中,并行启动指可以同时启动多个应用程序,串行启动指存在依赖关系的应用程序之间存在特定的启动顺序,只有在前置应用程序启动结束之后,才能启动该应用程序。服务器会根据测试环境中的应用程序的特性选择对应的启动方式,以保证该应用程序能够正常启动和运行。
具体地,若同一测试环境中的应用程序为多个,则判断这些应用程序相互之间是否存在依赖关系;若存在应用程序与其他应用程序存在依赖关系,则采用串行启动的方式启动这些应用程序;若存在应用程序与其他应用程序不存在依赖关系,则采用并行启动的方式启动这些应用程序。
进一步地,在启动应用程序之前,首先需要判断该应用程序是否与同一测试环境中其他应用程序存在依赖关系,若该应用程序不与其他应用程序存在依赖关系,则采用并行启动的方式启动该应用程序;即在启动该应用程序的同时,可以异步启动其他的应用程序;而若该应用程序与其他应用程序存在依赖关系,则采用串行启动的方式启动该应用程序。其中,并行启动指可以同时启动多个应用程序,串行启动指存在依赖关系的应用程序之间存在特定的启动顺序,只有在前置应用程序启动结束之后,才能启动该应用程序。更进一步地,依赖关系又包括强依赖关系和弱依赖关系。强依赖关系即必须先启动前置应用程序,才可启动该应用程序;弱依赖关系指的是当没有先启动前置应用程序时,还存在其他的降级方案以启动该应用程序。
在一些实施例中,存在与该应用程序呈强依赖关系的前置应用程序,启动该应用程序之前,需要请求前置应用程序的网络接口,若接收到请求成功的的标识则可以启动该应用程序;若未接收到请求成功的标识,则在预设睡眠时长后再次请求该网络接口,直到收到请求成功的标识。其中,预设睡眠时长为本领域技术人员根据具体的测试要求进行设置,并可以实时进行调整。预设睡眠时长可以是3秒,也可以是5秒。通过这种方式,能够确保存在强依赖关系的应用程序的前置应用程序已经完成启动,从而保证该应用程序的正常运行。
在一实施例中,所述测试环境生成参数包括部署类型和数据库类型,所述根据所述用户名称生成所述测试环境中应用程序的访问地址的步骤包括:
将所述用户名称转换为名称对应值;
将所述部署类型和所述数据库类型转换为对应的二进制值;
根据所述名称对应值和所述二进制值计算所述应用程序的应用端口值。
本实施例中,服务器首先应用哈希算法和冲突算法将用户名称转换为一定范围内的名称对应值;具体的,在名称对应值的转换过程中,服务器先采用哈希算法将用户名称转换为哈希值,并判断哈希值之间是否存在冲突,若哈希值存在冲突,则应用冲突算法将哈希值转换为名称对应值,若哈希值不存在冲突,则直接将哈希值转换为名称对应值。其中,冲突算法可以为开放定址法、再哈希法或链地址法。在转换之后,要求每个用户名称有唯一对应的名称对应值。恰是因为每个用户名称有唯一对应的名称对应值,可使每个应用程序都有唯一对应的应用端口值,从而能够清楚的区分每一个应用程序。
在一实施例中,所述根据所述名称对应值和所述二进制值计算所述应用程序的应用端口值的步骤包括:
确定所述测试环境中能够容纳最多应用程序个数的应用最大值;
通过所述部署类型和数据库类型的总数确定所有部署类型和数据库类型的排列组合数量;
通过选择的部署类型和数据库类型确定排列组合序号;
根据所述名称对应值、应用最大值、排列组合数量和排列组合序号确定应用端口值。
本实施例中,获取输入的应用编码并获取端口起点值,确定测试环境中能够容纳最多应用程序个数的应用最大值,服务器将用户选择的部署类型和数据库类型分别转换为对应的二进制值,具体的转换方式由用户根据自身需求提前设定。在得到名称对应值和二进制值之后,可通过部署类型和数据库类型对应的二进制值的总数确定所有部署类型和数据库类型的排列组合数量;通过选择的部署类型和数据库类型对应的二进制值确定排列组合序号。将名称对应值、应用编码、端口起点值、应用最大值、排列组合数量和排列组合序号代入预设应用端口值计算公式,得到应用端口值。其中,应用端口值计算公式为本领域技术人员根据预设规则设置的计算应用端口值的公式,可根据具体需求进行调整。
在一实施例中,所述将所述名称对应值、应用编码、端口起点值、应用最大值、排列组合数量和排列组合序号代入预设应用端口值计算公式,得到应用端口值的步骤包括:
获取预设的应用编码和端口起点值;
计算所述名称对应值、所述应用最大值和所述排列组合数量的乘积以获得第一乘积;
计算所述排列组合数量和预设的应用编码的乘积以获得第二乘积;
计算所述第一乘积、第二乘积、预设的端口起点值、排列组合序号之间的和值,并将所述和值作为应用端口值。
本实施例中,第一乘积、第二乘积均为预设应用端口值计算公式的中间量,预设端口值计算公式为本领域技术人员根据预设规则提前设置的预设端口值的算法,具体公式如下:
Y = Q + M * T * K + N + K * X
其中,Y为预设端口值,X为应用编码,Q为端口起点值,T为该测试环境中最多能够容纳应用程序的应用最大值,M为名称对应值,N为所有部署类型和数据库类型的排列组合序号,K为所有部署类型和数据库类型的排列组合数量。
关于排列组合序号和排列组合数量的设置,由服务器可供选择的部署类型和数据库类型的数量和预设序号设置规则决定。具体的,在一实施例中,服务器中可供选择的部署类型有“分离部署”和“集中部署”两种,数据库类型有“SQLServer”和“Mysql”两种,在部署类型中,将“分离部署”设置为二进制值01,将“集中部署”设置为二进制值10;在数据库类型中,将“SQLServer”设置为二进制值01,将“Mysql”设置为二进制值10。此时,共有4种将数据库类型和部署类型进行随机组合的组合方法,所有部署类型和数据库类型的排列组合数量K=4。此外,在一实施例中,可将“分离部署”和数据库“SQLServer”进行组合的组合方式设置为排列组合序号0;将“分离部署”和数据库“Mysql”进行组合的组合方式设置为排列组合序号1;将“集中部署”和数据库“SQLServer”进行组合的组合方式设置为排列组合序号2;将“集中部署”和数据库“Mysql”进行组合的组合方式设置为排列组合序号3。因此,排列组合序号N的取值可以为0,1,2,3。通过这种方式确定端口值,可以保证每个应用程序的端口值均不相同,因此避免了端口值产生冲突。
在一实施例中,所述输出所述测试环境中应用的访问地址的步骤包括:
获取所述测试环境的服务器地址;
将所述测试环境中的所有应用端口值进行拼接得到拼接端口值;
输出所述服务器地址和所述拼接端口值。
本实施例中,应用程序的访问地址包括测试环境所在的服务器的服务器地址和测试环境中所有应用端口值拼接起来的拼接端口值。通过输出的服务器地址和拼接端口值,用户可访问测试环境中任一应用程序,以完成相应的测试。
如图3所示,本发明还提出一种测试环境的生成装置,测试环境的生成装置包括:
参数接收模块A10,用于接收输入的测试环境生成参数,所述测试环境生成参数包括用户名称;
测试环境生成模块A20,用于根据所述测试环境生成参数生成测试环境;
访问地址输出模块A30,用于根据所述用户名称生成所述测试环境中应用程序的访问地址,输出所述访问地址。
可选地,测试环境生成模块A20可用于:
获取所述分支名称对应的项目代码;
构建所述项目代码并对所述项目代码进行预设的镜像处理制作应用程序的应用镜像;
根据所述应用镜像创建所述应用程序。
可选地,访问地址输出模块A30还可用于:
若所述应用程序为多个,则判断所述多个应用程序是否相互存在依赖关系;
采用串行启动的方式启动存在依赖关系的应用程序;
采用并行启动的方式启动不存在依赖关系的应用程序。
可选地,测试环境生成模块A20可用于:
将所述用户名称转换为名称对应值;
将所述部署类型和所述数据库类型转换为对应的二进制值;
根据所述名称对应值和所述二进制值计算所述应用程序的应用端口值。
可选地,测试环境生成模块A20还可用于:
获取应用编码和端口起点值;
确定所述测试环境中能够容纳最多应用程序个数的应用最大值;
通过所述部署类型和数据库类型的总数确定所有部署类型和数据库类型的排列组合数量;通过选择的部署类型和数据库类型确定排列组合序号;
将所述名称对应值、应用编码、端口起点值、应用最大值、排列组合数量和排列组合序号代入预设应用端口值计算公式,得到应用端口值。
可选地,测试环境生成模块A20还可用于:
计算所述名称对应值、所述应用最大值和所述排列组合数量的乘积以获得第一乘积;
计算所述排列组合数量和所述应用编码的乘积以获得第二乘积;
计算所述第一乘积、第二乘积、端口起点值、排列组合序号的和获得应用端口值。
可选地,访问地址输出模块A30还可用于:
获取所述测试环境的服务器地址;
将所述测试环境中的所有应用端口值进行拼接得到拼接端口值;
输出所述服务器地址和所述拼接端口值。
其中,测试环境的生成装置的各个功能模块实现的步骤可参照本发明测试环境的生成方法的各个实施例,此处不再赘述。
本发明还提出一种测试环境的生成设备,测试环境的生成设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的测试环境的生成应用程序,所述测试环境的生成应用程序用于执行本发明各个实施例所述的方法。
其中,测试环境的生成设备的各个功能模块实现的步骤可参照本发明测试环境的生成方法的各个实施例,此处不再赘述。
本发明还提出一种计算机可读存储介质,其上存储有测试环境的生成应用程序。所述计算机可读存储介质包括计算机可读存储介质,所述计算机可读存储介质可以是图1的中的存储器,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random AccessMemory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的物联网终端设备(可以是手机,计算机,服务器,物联网终端,或者网络设备等)执行本发明各个实施例所述的方法。
其中,计算机可读存储介质的各个功能模块实现的步骤可参照本发明测试环境的生成方法的各个实施例,此处不再赘述。
在本发明中,术语“第一”“第二”“第三”“第四”“第五”仅用于描述的目的,而不能理解为指示或暗示相对重要性,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,本发明保护的范围并不局限于此,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改和替换,这些变化、修改和替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种测试环境的生成方法,其特征在于,所述方法包括以下步骤:
接收输入的测试环境生成参数,所述测试环境生成参数包括用户名称;
根据所述测试环境生成参数生成测试环境;
根据所述用户名称生成所述测试环境中应用程序的访问地址,输出所述访问地址。
2.如权利要求1所述的测试环境的生成方法,其特征在于,所述测试环境生成参数包括分支名称,所述测试环境包括应用程序,所述根据所述测试环境生成参数生成测试环境的步骤包括:
构建所述分支名称对应的项目代码;
对所述项目代码进行预设的镜像处理制作应用镜像;
根据所述应用镜像创建应用程序。
3.如权利要求2所述的测试环境的生成方法,其特征在于,所述根据所述应用镜像创建应用程序的步骤之后包括:
若所述应用程序为多个,则采用串行启动的方式启动各所述应用程序中存在依赖关系的应用程序,并采用并行启动的方式启动各所述应用程序中不存在依赖关系的应用程序。
4.如权利要求1所述的测试环境的生成方法,其特征在于,所述测试环境生成参数包括部署类型和数据库类型,所述访问地址包括应用端口值,所述根据所述用户名称生成所述测试环境中应用程序的访问地址的步骤包括:
将所述用户名称转换为名称对应值;
将所述部署类型和所述数据库类型转换为对应的二进制值;
根据所述名称对应值和所述二进制值计算所述应用程序的应用端口值。
5.如权利要求4所述的测试环境的生成方法,其特征在于,所述根据所述名称对应值和所述二进制值计算所述应用程序的应用端口值的步骤包括:
确定所述测试环境中能够容纳最多应用程序个数的应用最大值;
通过所述部署类型和数据库类型的总数确定所有部署类型和数据库类型的排列组合数量;
通过选择的部署类型和数据库类型确定排列组合序号;
根据所述名称对应值、应用最大值、排列组合数量和排列组合序号确定应用端口值。
6.如权利要求5所述的测试环境的生成方法,其特征在于,所述根据所述名称对应值、应用最大值、排列组合数量和排列组合序号确定应用端口值的步骤包括:
获取预设的应用编码和端口起点值;
计算所述名称对应值、所述应用最大值和所述排列组合数量的乘积以获得第一乘积;
计算所述排列组合数量和预设的应用编码的乘积以获得第二乘积;
计算所述第一乘积、第二乘积、预设的端口起点值、排列组合序号之间的和值,并将所述和值作为应用端口值。
7.如权利要求3所述的测试环境的生成方法,其特征在于,所述访问地址包括服务器地址和拼接端口值,所述输出所述测试环境中应用程序的访问地址的步骤包括:
获取所述测试环境的服务器地址;
将所述测试环境中的所有应用端口值进行拼接得到拼接端口值;
输出所述服务器地址和所述拼接端口值,将所述拼接端口值和所述服务器地址作为访问地址。
8.一种测试环境的生成装置,其特征在于,所述测试环境的生成装置包括:
参数接收模块,用于接收输入的测试环境生成参数,所述测试环境生成参数包括用户名称;
测试环境生成模块,用于根据所述测试环境生成参数生成测试环境;
访问地址输出模块,用于根据所述用户名称生成所述测试环境中应用程序的访问地址,输出所述访问地址。
9.一种测试环境的生成设备,其特征在于,包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的测试环境的生成应用程序,所述测试环境的生成应用程序被处理器执行时实现如权利要求1至7中任一项所述测试环境的生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有测试环境的生成应用程序,所述测试环境的生成应用程序被处理器执行时实现如权利要求1至7中任一项所述测试环境的生成方法的步骤。
CN202111280120.8A 2021-11-01 2021-11-01 测试环境的生成方法、装置、设备和计算机可读存储介质 Active CN113704136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111280120.8A CN113704136B (zh) 2021-11-01 2021-11-01 测试环境的生成方法、装置、设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111280120.8A CN113704136B (zh) 2021-11-01 2021-11-01 测试环境的生成方法、装置、设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113704136A true CN113704136A (zh) 2021-11-26
CN113704136B CN113704136B (zh) 2022-01-28

Family

ID=78647573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111280120.8A Active CN113704136B (zh) 2021-11-01 2021-11-01 测试环境的生成方法、装置、设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113704136B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115919A (zh) * 2021-12-02 2022-03-01 四川虹美智能科技有限公司 通信地址的切换系统和方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03271949A (ja) * 1990-03-20 1991-12-03 Nec Corp プログラムテストにおけるテスト環境自動生成方式
CN104536899A (zh) * 2015-01-20 2015-04-22 成都益联科创科技有限公司 一种基于智能集群的软件部署及其维护方法
CN105653261A (zh) * 2015-12-22 2016-06-08 曙光云计算技术有限公司 基于云计算环境下的开发集成测试方法及系统
US20170269921A1 (en) * 2016-03-18 2017-09-21 TUPL, Inc. Continuous and automatic application development and deployment
US20180089068A1 (en) * 2016-09-28 2018-03-29 Wipro Limited Methods and systems for testing mobile applications
CN108829399A (zh) * 2018-04-13 2018-11-16 杭州朗和科技有限公司 一种应用的测试方法、测试装置、介质和计算设备
CN108874650A (zh) * 2017-05-09 2018-11-23 上海秦苍信息科技有限公司 一种持续集成自动化测试方法
CN109491887A (zh) * 2018-09-28 2019-03-19 深圳壹账通智能科技有限公司 测试环境部署方法、装置、计算机设备及存储介质
US10402302B1 (en) * 2018-03-13 2019-09-03 Red Hat Israel, Ltd. Reproduction of testing scenarios in a continuous integration environment
CN110647469A (zh) * 2019-09-24 2020-01-03 广州荔支网络技术有限公司 一种微服务的测试方法、装置、计算机设备和存储介质
US20200065229A1 (en) * 2018-08-21 2020-02-27 Jpmorgan Chase Bank, N.A. Systems and methods for on-demand container-based development environments
CN111324522A (zh) * 2018-12-13 2020-06-23 北京数聚鑫云信息技术有限公司 一种自动化测试系统及方法
WO2020233356A1 (zh) * 2019-05-21 2020-11-26 深圳壹账通智能科技有限公司 测试环境控制方法、装置、计算机可读存储介质及服务器
CN112506525A (zh) * 2020-12-03 2021-03-16 中国人寿保险股份有限公司 持续集成和持续交付方法、装置、电子设备及存储介质
CN113448837A (zh) * 2020-11-03 2021-09-28 北京新氧科技有限公司 开发及测试环境部署方法、系统、电子设备及介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03271949A (ja) * 1990-03-20 1991-12-03 Nec Corp プログラムテストにおけるテスト環境自動生成方式
CN104536899A (zh) * 2015-01-20 2015-04-22 成都益联科创科技有限公司 一种基于智能集群的软件部署及其维护方法
CN105653261A (zh) * 2015-12-22 2016-06-08 曙光云计算技术有限公司 基于云计算环境下的开发集成测试方法及系统
US20170269921A1 (en) * 2016-03-18 2017-09-21 TUPL, Inc. Continuous and automatic application development and deployment
US20180089068A1 (en) * 2016-09-28 2018-03-29 Wipro Limited Methods and systems for testing mobile applications
CN108874650A (zh) * 2017-05-09 2018-11-23 上海秦苍信息科技有限公司 一种持续集成自动化测试方法
US10402302B1 (en) * 2018-03-13 2019-09-03 Red Hat Israel, Ltd. Reproduction of testing scenarios in a continuous integration environment
CN108829399A (zh) * 2018-04-13 2018-11-16 杭州朗和科技有限公司 一种应用的测试方法、测试装置、介质和计算设备
US20200065229A1 (en) * 2018-08-21 2020-02-27 Jpmorgan Chase Bank, N.A. Systems and methods for on-demand container-based development environments
CN109491887A (zh) * 2018-09-28 2019-03-19 深圳壹账通智能科技有限公司 测试环境部署方法、装置、计算机设备及存储介质
CN111324522A (zh) * 2018-12-13 2020-06-23 北京数聚鑫云信息技术有限公司 一种自动化测试系统及方法
WO2020233356A1 (zh) * 2019-05-21 2020-11-26 深圳壹账通智能科技有限公司 测试环境控制方法、装置、计算机可读存储介质及服务器
CN110647469A (zh) * 2019-09-24 2020-01-03 广州荔支网络技术有限公司 一种微服务的测试方法、装置、计算机设备和存储介质
CN113448837A (zh) * 2020-11-03 2021-09-28 北京新氧科技有限公司 开发及测试环境部署方法、系统、电子设备及介质
CN112506525A (zh) * 2020-12-03 2021-03-16 中国人寿保险股份有限公司 持续集成和持续交付方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐星等: "企业开发、测试环境快速部署方案的设计与实现", 《工业控制计算机》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115919A (zh) * 2021-12-02 2022-03-01 四川虹美智能科技有限公司 通信地址的切换系统和方法
CN114115919B (zh) * 2021-12-02 2023-10-31 四川虹美智能科技有限公司 通信地址的切换系统和方法

Also Published As

Publication number Publication date
CN113704136B (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
CN109189374B (zh) 基于对象引用链的对象构造代码生成方法及系统
CN109240666B (zh) 基于调用栈和依赖路径的函数调用代码生成方法及系统
CN111459621B (zh) 云仿真集成与调度方法、装置、计算机设备和存储介质
CN110874318B (zh) 软件测试方法、装置及计算机可读存储介质
CN111309636B (zh) 机器人自动化测试系统、方法、构建服务器及存储介质
CN110659198A (zh) 应用程序的测试用例执行方法、装置和软件测试系统
CN113505073B (zh) 一种数据库的性能测试方法、装置、设备及介质
CN113704136B (zh) 测试环境的生成方法、装置、设备和计算机可读存储介质
US20220103555A1 (en) Service deployment method, device, system, and computer-readable storage medium
CN107341106A (zh) 应用程序兼容性检测方法、开发终端及存储介质
CN113687932A (zh) 一种任务调度的方法、装置、系统、电子设备及存储介质
CN114237754B (zh) 一种数据加载方法、装置、电子设备以及存储介质
CN116436794A (zh) 基于物联网物模型的opc实时数据集成与控制方法
CN108319551B (zh) 一种软件的测试方法、装置、计算机设备及可读存储介质
CN115129574A (zh) 一种代码测试方法和装置
CN111008064B (zh) 虚机资源调度方法和装置、集群部署方法和装置
CN117035065A (zh) 模型评估的方法及相关装置
CN110187890B (zh) 项目部署的方法、电子设备、存储介质
CN117311782A (zh) 系统分支动态拉取方法、装置、服务器及存储介质
CN110471851B (zh) 一种自动化测试方法及装置
CN113268332A (zh) 持续集成方法及装置
CN112882922B (zh) 一种测试方法和相关装置
CN112612514A (zh) 程序开发方法和装置、存储介质及电子装置
CN117251173A (zh) 微服务项目的配置方法,微服务项目的配置装置及介质
CN115480786A (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