CN110908898B - 生成测试方案的方法及系统 - Google Patents

生成测试方案的方法及系统 Download PDF

Info

Publication number
CN110908898B
CN110908898B CN201911077245.3A CN201911077245A CN110908898B CN 110908898 B CN110908898 B CN 110908898B CN 201911077245 A CN201911077245 A CN 201911077245A CN 110908898 B CN110908898 B CN 110908898B
Authority
CN
China
Prior art keywords
test
specified
objects
scheme
object set
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.)
Active
Application number
CN201911077245.3A
Other languages
English (en)
Other versions
CN110908898A (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.)
Seashell Housing Beijing Technology Co Ltd
Original Assignee
Seashell Housing Beijing 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 Seashell Housing Beijing Technology Co Ltd filed Critical Seashell Housing Beijing Technology Co Ltd
Priority to CN201911077245.3A priority Critical patent/CN110908898B/zh
Publication of CN110908898A publication Critical patent/CN110908898A/zh
Application granted granted Critical
Publication of CN110908898B publication Critical patent/CN110908898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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

生成测试方案的方法及系统
技术领域
本发明涉及计算机技术领域,具体地涉及一种生成测试方案的方法及系统。
背景技术
现阶段,对于电子设备的测试主要包括:单元测试、接口测试、功能测试、基准测试等几个测试方向,其中,单元测试主要对电子设备的公共函公共组件进行测试,接口测试主要对应用程序编程接口(API,Application Programming Interface)返回字段进行测试,功能测试主要测试界面功能是否与设定功能一致,基准测试可以对某项性能指标进行定量测试和可对比的测试。
无论选择哪一种或多种测试,都需要手动完成下述步骤以获得测试方案:安装测试框架、安装依赖库、配置脚本运行命令、编写测试用例等。因此,获得测试方案的整个过程比较繁琐,每搭建一套测试方案都需要耗费较大的精力。
发明内容
本发明实施例的目的是提供一种生成测试方案的方法及系统,该生成测试方案的方法及系统实现了测试方案的自动快速搭建。
为了实现上述目的,本发明实施例提供生成测试方案的方法,该方法包括:将待添加测试方案转换为包括第一数量对象子集的第一指定对象集合;将当前待测试方案转换为包括第二数量对象子集的第二指定对象集合;比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集,其中所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的对象子集;以及基于所述差集及所述第二指定对象集合重新生成当前测试方案。
优选地,所述第一指定对象集合和/或所述第二指定对象集合为JSON对象集合。
优选地,所述对象子集包括多个特征标识;所述比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集的步骤,包括:比较所述第一指定对象集合中的多个特征标识及所述第二指定对象的多个特征标识以获得差集,所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的特征标识对应的对象子集。
优选地,所述对象子集还包括与每一特征标识对应的代码片段及其对应的位置;所述基于所述差集及所述第二对象集合重新生成当前测试方案的步骤,包括:基于与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二对象集合中的特征标识对应的代码片段及其对应的位置,重新生成当前测试方案。
优选地,所述重新生成当前测试方案包括:根据与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二对象集合中的特征标识对应的代码片段及其对应的位置,将所述差集添加至所述第二对象集合中以生成最终对象集合;以及将所述最终对象集转换为当前测试方案。
优选地,所述将待添加测试方案转换为包括第一数量对象子集的第一指定对象集合包括:若待添加测试方案为单个测试方案,将所述单个测试方案转换为多个对象子集组成的第一指定对象集合;或若待添加测试方案为多个测试方案,将所述多个测试方案分别转换为多个对象子集后取并集组成第一指定对象集合。
优选地,所述第一指定对象集合和/或第二指定对象集合包括测试类型及该测试类型对应的以下对象子集中至少之一者:调用模块依赖、测试执行脚本、编译环境配置项、测试用例、以及测试驱动。
优选地,所述待添加测试方案和/或当前待测试方案包括以下方案中至少之一者:单元测试方案、接口测试方案、功能测试方案、基准测试方案。
另一方面,本实施例提供一种生成测试方案的系统,其特征在于,该生成测试方案的系统包括:集合转换模块,用于将待添加测试方案转换为包括第一数量对象子集的第一指定对象集合,将当前待测试方案转换为包括第二数量对象子集的第二指定对象集合;差集获得模块,用于比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集,其中所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的对象子集;以及方案生成模块,用于基于所述差集及所述第二指定对象集合重新生成当前测试方案。
优选地,所述第一指定对象集合和/或所述第二指定对象集合为JSON对象集合。
优选地,所述对象子集包括多个特征标识;所述差集获得模块用于比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集包括:所述差集获得模块用于比较所述第一指定对象集合中的多个特征标识及所述第二指定对象的多个特征标识以获得差集,所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的特征标识对应的对象子集。
优选地,所述对象子集还包括与每一特征标识对应的代码片段及其对应的位置;所述方案生成模块用于基于所述差集及所述第二对象集合重新生成当前测试方案包括:所述方案生成模块用于基于与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二对象集合中的特征标识对应的代码片段及其对应的位置,重新生成当前测试方案。
优选地,所述方案生成模块包括:最终集合生成子模块,用于根据与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二对象集合中的特征标识对应的代码片段及其对应的位置,将所述差集添加至所述第二对象集合中以生成最终对象集合;以及方案转换子模块,用于将所生成的最终对象集转换为当前测试方案。
优选地,所述集合转换模块用于将待添加测试方案转换为多个对象子集组成的第一指定对象集合包括:所述集合转换模块用于执行:若待添加测试方案为单个测试方案,将所述单个测试方案转换为多个对象子集组成的第一指定对象集合;或若待添加测试方案为多个测试方案,将所述多个测试方案分别转换为多个对象子集后取并集组成第一指定对象集合。
另一方面,本实施例提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行本申请上述的生成测试方案的方法。
另一方面,本实施例提供一种处理器,用于运行程序,其中,所述程序被运行时用于执行:如上述的生成测试方案的方法。
通过上述技术方案,本实施例将测试方案转化为指定对象集合,以便于后续的每一对象子集的分别比较;在采用相同转化方式转化了当前待测试方案后,获取想要添加的测试方案对应的第一指定对象集合及当前待测试的方案对应的第二指定对象集合,然后分别基于第一指定对象集合中的对象子集与第二指定集合中的对象子集的比较结果,找出两者的差集,进而将第二指定集合中不存在的对象子集添加进第二指定集合中,生成新的测试方案,整个测试方案的添加方式从指定对象集合的生成到指定对象集合的比较全部通过自动配置来完成,不需要通过手动安装测试框架、安装依赖库、配置脚本运行命令、编写测试用例等,提高了开发效率。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是说明本发明的一种生成测试方案的方法的流程图;
图2是说明本发明的另一种生成测试方案的方法的流程图;以及
图3是说明本发明的一种生成测试方案的系统的结构框图。
附图标记说明
1 集合转换模块
2 差集获得模块 3 方案生成模块
11 单个方案集合获取子模块 12 多个方案集合获取子模块
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
在下述的实施例中,所述测试方案为针对前端的自动化测试,主要包括单元测试、接口测试、功能测试、基准测试等几个测试方向,每一测试方案包括相应的测试代码,下述实施例主要针对上述测试方案如何可以自动快速添加进当前待测试方案中做出的改进。
实施例1
图1是实施例1的一种生成测试方案的方法的流程图。
如图1所示,该生成测试方案的方法可以包括:
S101,将待添加测试方案转换为包括第一数量对象子集的第一指定对象集合;将当前待测试方案转换为包括第二数量对象子集的第二指定对象集合。
其中,测试方案(待添加测试方案和/或当前待测试方案)可以包括单元测试方案、接口测试方案、功能测试方案、基准测试方案等几个测试方向的测试方案,每一测试方案对应一个指定对象集合。下面的描述将针对上述测试方案的类型来进行详细描述,但并不限定测试方案只能为上述例举的测试方案。
其中,该第一指定对象集合和/或第二指定对象集合可以是JSON对象集合,JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得JSON成为理想的数据交换语言,该数据交换语言易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。所述JSON对象集合可以包括测试类型及该测试类型对应的以下对象子集中至少之一者:调用模块依赖、测试执行脚本、编译环境配置项、测试用例、以及测试驱动。在后续的步骤中,将在JSON对象集合的基础上来进行详细的描述。
具体地,所述测试类型为该测试方案的类型标识key,例如,标识该测试方案为单元测试方案、接口测试方案、功能测试方案或基准测试方案,获取测试方案的方式可以直接根据上述类型标识来调用选择;所述调用模块依赖为JSON对象集合的value中所拆解的npm模块依赖devDependencies;所述测试执行脚本为JSON对象集合的value中所拆解的scripts;所述编译环境配置项为JSON对象集合的value中所拆解的babelrc;所述测试用例为JSON对象集合的value中所拆解的testDemo;所述测试驱动为JSON对象集合的value中所拆解的driver。
具体地,下面以“单元测试方案”为例,详细介绍所述单元测试方案转换后的指定对象集合。
其中,“单元测试”即为该测试方案的类型标识key。其他的测试方案例如接口测试方案、功能测试方案、基准测试方案以上述具体方式类推,在此不再赘述,需要强调的是,所述“当前待测试方案”的类型标识为待测试项目。
其中,所述待添加测试方案可以是用户根据需要进行选择的方案,其中该方案可以是单元测试方案、接口测试方案、功能测试方案、基准测试方案中的一个或多个。进一步的,若所述待添加测试方案为单个测试方案即单元测试方案、接口测试方案、功能测试方案、基准测试方案中的任意一个,则将所述单个测试方案转换为多个对象子集组成的第一指定对象集合,其中,本实施例划分对象子集的方式并不是基于方案来进行划分的,是以JSON对象为对象子集的方式来划分的,一个测试方案可以具有多个JSON对象,例如若待添加测试方案为单元测试方案,则将单元测试方案转换为多个对象子集以组成第一指定对象集合,其余测试方案与此相同,在此不再赘述。若所述待添加测试方案为多个测试方案即单元测试方案、接口测试方案、功能测试方案、基准测试方案中的多个,首先需要分别转换多个测试方案获得多个对象子集,再获取该多个测试方案的多个对象子集的并集,多个测试方案之间的对象子集可能会相同,例如,两个测试方案具有相同的调用模块依赖,并基于合并后的并集组成第一指定对象集合,比起单个测试方案,多个测试方案多一个取并集的步骤,满足了当添加的测试方案为多个时剔除了相同的对象子集中的内容,提高传输效率和后续的比较效率。
其中,所述当前待测试方案为目前在使用的测试方案,该测试方案可能上述四个测试方案中的一个或多个,也可以不为上述四个测试方案相同的方案,若当前待测试方案不为上述四个测试方案相同的方案,则需要采用相同的转化规则以获取当前待测试方案对应的第二指定对象集合。
S102,比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集。
其中,由于测试面向的功能函数、公共组件不同,在当前已经具有当前测试方案的基础上,为了增加当前测试方案的测试功能,需要添加单独的待测试方案,然而,待添加的测试方案与当前测试方案之间可能存在相同的对象子集,在将待添加测试方案直接添加至当前测试方案中时,可能会出现相同部分的重复,造成测试功能无法实现的情况。因此,需要获取第一指定对象集合(对应待添加测试方案)与所述指定第二指定对象集合(对应当前待测试方案)的差集。
其中,所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的对象子集。此步骤的目的在于找出当前待测试方案与待添加测试方案相比所缺少的对象子集,第一指定对象集合与第二指定对象集合的比较实际为两个对象集合中的对象子集的比较,其中对象子集可以为上述的测试类型、调用模块依赖、测试执行脚本、编译环境配置项、测试用例、以及测试驱动等。
其中,比较所述第一指定对象集合与所述指定第二指定对象集合的方式较多,例如可以比较第一指定对象集合中的对象子集与第二指定对象集合中的对象子集的所有内容,获取两者的区别。
进一步地,比较所述第一指定对象集合与所述指定第二指定对象集合的方式可以为比较对象子集中所包括多个特征标识。具体地,以“单元测试方案”作为待添加测试方案为例,下面以“调用模块依赖”对象子集为例,判断当前待测试方案中是否包含该“调用模块依赖”的对象子集devDependencies中的“chai”、“istanbul”、“mocha”、“mochawesome”;若当前待测试方案中存在上述全部特征标识,则该对象子集中没有提取的内容存储至差集;若当前待测试方案中不存在上述的任意一个或多个特征标识,则将所缺少的特征标识及其对应的代码片段提取出来存储至差集中,当然,在本实施例中,也可以暂时不提取出代码片段,差集中只需要包含特征标识,基于该特征标识可以对应出相应的代码片段即可。其余对象子集的比较方式与上述类似在此不再赘述。通过上述的方式,可以获取每一对象子集的内容,并将所述内容相结合并存储,最终得到最后的差集。
S103,基于所述差集及所述第二指定对象集合重新生成当前测试方案。
其中,所述差集用于指代需要添加的内容,所述第二指定对象集合用于指代当前待测试方案的当前内容,将所述差集中需要添加的内容加入所述当前内容中,以生成新的当前测试方案。
其中,所述对象子集还包括与每一特征标识对应的代码片段及其对应的位置,基于此,所述差集中包含有特征标识、特征标识对应的代码片段及其对应的位置,同样的在第二对象集合中也包含与差集不同的特征标识及特征标识对应的代码片段及其对应的位置,只需将差集中的特征标识及其对应的代码片段添加至所述第二对象集合中相应的位置即可。
进一步优选地,所述重新生成当前测试方案包括:A1)根据与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二对象集合中的特征标识对应的代码片段及其对应的位置,将所述差集添加至所述第二对象集合中以生成最终对象集合;以及A2)将所生成的最终对象集合转换为当前测试方案。
其中,所生成的最终对象集合包括差集及第二对象集合中的所有对象子集,且所述差集中的特征标识对应的代码片段写进了第二对象集合中其指定的位置,通过将所生成的最终对象集合转换为当前测试方案完成自动化的配置。
具体地,以第二指定对象集合中的“调用模块依赖”对象子集为例。若差集中包括特征标识“chai”,第二指定对象集合中的“调用模块依赖”对象子集包括特征标识“istanbul”、“mocha”、“mochawesome”,则将所述差集中的“chai”添加至“调用模块依赖”对象子集中,并添加至“istanbul”之前的位置,如下所示:
另外,除了上述的将差集加入第二指定对象集合中的方式之外,本实施例还可以借助node模块读写文件的能力,将特征标识对应的代码片段生成到第二指定对象集合中相应的位置中,node模块内部有很多相关的函数,以将特征标识对应的代码片段自动生成到对应的位置,node模块为现有的模块,在此不再赘述。
通过上述的方式,可以实现当前测试方案的重新生成,将原本需要多个手动操作步骤来进行测试方案编辑、配置的过程简化为自动完成,用户不需要手动编辑方案,直接通过比较获取待添加的差集,并将差集直接添加到当前待测试方案对应的第二指定对象集合中,从而提高了开发的效率,为有自动化测试需求的开发人员提供更加便捷和高效的开发体验。
实施例2
图2是实施例2的一种生成测试方案的方法的流程图。
在详细描述实施例2之前,先简单描述下待添加测试方案,其中所述待添加测试方案可以为单个测试方案,也可以为包含两个以上的单个测试方案的测试方案集合,单个测试方案是以可以单独完成一项测试为标准进行划分的。
如图2所示,该生成测试方案的方法包括:
S201,将各单个测试方案分别转换为基础JSON对象集合。
其中,所述单个测试方案可以是实施例1中的单元测试方案、接口测试方案、功能测试方案、基准测试方案中的任意一种测试方案。所述JSON对象包括value中所拆解的npm模块依赖devDependencies;所述测试执行脚本为JSON对象集合的value中所拆解的scripts;所述编译环境配置项为JSON对象集合的value中所拆解的babelrc;所述测试用例为JSON对象集合的value中所拆解的testDemo;所述测试驱动为JSON对象集合的value中所拆解的driver。S201中转换的基础JSON对象集合方便后续的直接调用。
S202,将当前待测试方案转换为现有JSON对象集合。
S203,设定现有JSON对象集合中的各JSON对象及基础JSON对象集合中的各JSON对象与具体测试依赖代码片段的对应关系。
S204,获取当前待添加测试方案,并判断该当前待添加测试方案为单个当前测试方案或多个当前测试方案,在当前待添加测试方案为单个当前测试方案的情况下,执行S205,在当前待添加测试方案为多个当前测试方案的情况下,执行S206;
S205,将单个当前测试方案的当前JSON对象集合作为最终待测试方案的最终JSON对象集合后执行S207,其中所述当前JSON对象集合处于所述基础JSON对象集合中;
S206,将多个当前测试方案的当前JSON对象集合的并集作为最终待测试方案的最终JSON对象集合后执行S207,所述当前JSON对象集合处于所述基础JSON对象集合中;
S207,求出所述最终JSON对象集合与所述现有JSON对象集合的差集;
S208,将所述差集写入所述当前待测试方案的JSON对象集合中的对应位置;
S209,生成新的待测试方案。
其中,借助node模块读写文件的能力,将所述差集中JSON对象对应的代码片段生成到当前待测试方案中相应的位置中,node模块内部有很多相关的函数,以将所述差集中JSON对象对应的代码片段自动生成到对应的位置,将所述差集添加至所述第二对象集合中以生成最终对象集合中以生成最终对象集合,将所述最终对象集转换为当前测试方案,node模块为现有的模块,在此不再赘述。
通过上述的方案,可以实现测试方案的自动化生成,将待添加测试方案通过获取差集的方式添加进待测试方案中,避免添加内容的重复,利用JSON对象集合可以使得方案生成的更加快速,提高了开发效率,使得操作者可以一键完成生成新的待测试方案的操作。
实施例3
图3是实施例3的一种生成测试方案的系统的模块连接图。
如图3所示,本实施例提供一种生成测试方案的系统,该生成测试方案的系统可以包括:集合转换模块1,用于将待添加测试方案转换为包括第一数量对象子集的第一指定对象集合,且用于将当前待测试方案转换为包括第二数量对象子集的第二指定对象集合;差集获得模块2,用于比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集,其中所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的对象子集;以及方案生成模块3,用于基于所述差集及所述第二指定对象集合重新生成当前测试方案。
优选地,所述第一指定对象集合和/或所述第二指定对象集合为JSON对象集合。
优选地,所述对象子集可以包括多个特征标识;所述差集获得模块3用于比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集包括:所述差集获得模块3用于比较所述第一指定对象集合中的多个特征标识及所述第二指定对象的多个特征标识以获得差集,所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的特征标识对应的对象子集。
优选地,所述对象子集还可以包括与每一特征标识对应的代码片段及其对应的位置;并且,所述方案生成模块3用于基于所述差集及所述第二对象集合重新生成当前测试方案包括:所述方案生成模块用于基于与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二对象集合中的特征标识对应的代码片段及其对应的位置,重新生成当前测试方案。
优选地,所述方案生成模块3包括:最终集合生成子模块(图中并未示出),用于根据与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二对象集合中的特征标识对应的代码片段及其对应的位置,将所述差集添加至所述第二对象集合中以生成最终对象集合;以及方案转换子模块(图中并未示出),用于将所生成的最终对象集转换为当前测试方案
优选地,所述集合转换模块1用于将待添加测试方案转换为多个对象子集组成的第一指定对象集合可以包括:所述集合转换模块1用于执行:若待添加测试方案为单个测试方案,将所述单个测试方案转换为多个对象子集组成的第一指定对象集合;或若待添加测试方案为多个测试方案,将所述多个测试方案分别转换为多个对象子集后取并集组成第一指定对象集合。
上述的生成测试方案的系统与现有技术相比能够取得与实施例1相同的技术效果,在此不再赘述。
所述生成测试方案的系统包括处理器和存储器,上述集合转换模块1、差集获得模块2、方案生成模块3等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现测试方案的自动生成。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述生成测试方案的方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述生成测试方案的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现实施例1中的所有步骤。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:实施例1中的所有步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (15)

1.一种生成测试方案的方法,其特征在于,该方法包括:
将待添加测试方案转换为包括第一数量对象子集的第一指定对象集合;
将当前待测试方案转换为包括第二数量对象子集的第二指定对象集合;
比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集,其中所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的对象子集;以及
基于所述差集及所述第二指定对象集合重新生成当前测试方案。
2.根据权利要求1所述的生成测试方案的方法,其特征在于,所述第一指定对象集合和/或所述第二指定对象集合为JSON对象集合。
3.根据权利要求1或2所述的生成测试方案的方法,其特征在于,所述对象子集包括多个特征标识;
所述比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集的步骤,包括:
比较所述第一指定对象集合中的多个特征标识及所述第二指定对象的多个特征标识以获得差集,所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的特征标识对应的对象子集。
4.根据权利要求3所述的生成测试方案的方法,其特征在于,所述对象子集还包括与每一特征标识对应的代码片段及其对应的位置;
所述基于所述差集及所述第二指定对象集合重新生成当前测试方案的步骤,包括:
基于与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二指定对象集合中的特征标识对应的代码片段及其对应的位置,重新生成当前测试方案。
5.根据权利要求1或4所述的生成测试方案的方法,其特征在于,所述重新生成当前测试方案包括:
根据与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二指定对象集合中的特征标识对应的代码片段及其对应的位置,将所述差集添加至所述第二指定对象集合中以生成最终对象集合;以及
将所述最终对象集转换为当前测试方案。
6.根据权利要求1所述的生成测试方案的方法,其特征在于,所述将待添加测试方案转换为包括第一数量对象子集的第一指定对象集合,的步骤包括:
若待添加测试方案为单个测试方案,将所述单个测试方案转换为多个对象子集组成的第一指定对象集合;或
若待添加测试方案为多个测试方案,将所述多个测试方案分别转换为多个对象子集后取并集组成第一指定对象集合。
7.根据权利要求1所述的生成测试方案的方法,其特征在于,所述第一指定对象集合和/或第二指定对象集合包括测试类型及该测试类型对应的以下对象子集中至少之一者:调用模块依赖、测试执行脚本、编译环境配置项、测试用例、以及测试驱动。
8.一种生成测试方案的系统,其特征在于,该生成测试方案的系统包括:
集合转换模块,用于将待添加测试方案转换为包括第一数量对象子集的第一指定对象集合,将当前待测试方案转换为包括第二数量对象子集的第二指定对象集合;
差集获得模块,用于比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集,其中所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的对象子集;以及
方案生成模块,用于基于所述差集及所述第二指定对象集合重新生成当前测试方案。
9.根据权利要求8所述的生成测试方案的系统,其特征在于,所述第一指定对象集合和/或所述第二指定对象集合为JSON对象集合。
10.根据权利要求8或9所述的生成测试方案的系统,其特征在于,所述对象子集包括多个特征标识;
所述差集获得模块用于比较所述第一指定对象集合与所述指定第二指定对象集合以获得差集包括:所述差集获得模块用于比较所述第一指定对象集合中的多个特征标识及所述第二指定对象的多个特征标识以获得差集,所述差集被配置为在所述第一指定对象集合中存在且在所述第二指定对象集合中不存在的特征标识对应的对象子集。
11.根据权利要求10所述的生成测试方案的系统,其特征在于,所述对象子集还包括与每一特征标识对应的代码片段及其对应的位置;
所述方案生成模块用于基于所述差集及所述第二指定对象集合重新生成当前测试方案包括:所述方案生成模块用于基于与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二指定对象集合中的特征标识对应的代码片段及其对应的位置,重新生成当前测试方案。
12.根据权利要求8或11所述的生成测试方案的系统,其特征在于,所述方案生成模块包括:
最终集合生成子模块,用于根据与所述差集中的特征标识对应的代码片段及其对应的位置、以及与所述第二指定对象集合中的特征标识对应的代码片段及其对应的位置,将所述差集添加至所述第二指定对象集合中以生成最终对象集合;以及
方案转换子模块,用于将所生成的最终对象集转换为当前测试方案。
13.根据权利要求8所述的生成测试方案的系统,其特征在于,所述集合转换模块用于将待添加测试方案转换为多个对象子集组成的第一指定对象集合包括:
所述集合转换模块用于执行:
若待添加测试方案为单个测试方案,将所述单个测试方案转换为多个对象子集组成的第一指定对象集合;或
若待添加测试方案为多个测试方案,将所述多个测试方案分别转换为多个对象子集后取并集组成第一指定对象集合。
14.一种机器可读存储介质,其特征在于,该机器可读存储介质上存储有指令,该指令用于使得机器执行本申请1-7中任意一项所述的生成测试方案的方法。
15.一种处理器,其特征在于,用于运行程序,其中,所述程序被运行时用于执行:如权利要求1-7中任意一项所述的生成测试方案的方法。
CN201911077245.3A 2019-11-06 2019-11-06 生成测试方案的方法及系统 Active CN110908898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911077245.3A CN110908898B (zh) 2019-11-06 2019-11-06 生成测试方案的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911077245.3A CN110908898B (zh) 2019-11-06 2019-11-06 生成测试方案的方法及系统

Publications (2)

Publication Number Publication Date
CN110908898A CN110908898A (zh) 2020-03-24
CN110908898B true CN110908898B (zh) 2023-07-21

Family

ID=69814813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911077245.3A Active CN110908898B (zh) 2019-11-06 2019-11-06 生成测试方案的方法及系统

Country Status (1)

Country Link
CN (1) CN110908898B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004007053A1 (de) * 2004-02-13 2005-09-15 Daimlerchrysler Ag Verfahren zum Erzeugen von Testfällen
JP2017191380A (ja) * 2016-04-11 2017-10-19 富士通株式会社 生成プログラム、生成方法および生成装置
CN108664381A (zh) * 2017-03-27 2018-10-16 腾讯科技(深圳)有限公司 测试方法及装置
CN109901983A (zh) * 2017-12-07 2019-06-18 北京京东尚科信息技术有限公司 自动化测试方法及装置、存储介质、电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754860A (en) * 1996-07-23 1998-05-19 Digital Equipment Corporation Method and apparatus for software testing using a differential testing technique to test compilers
US9842044B2 (en) * 2013-02-13 2017-12-12 Sugarcrm Inc. Commit sensitive tests
US20140245264A1 (en) * 2013-02-28 2014-08-28 International Business Machines Corporation Identifying Test Cases Based on Changed Test Code
US9367435B2 (en) * 2013-12-12 2016-06-14 Vertafore, Inc. Integration testing method and system for web services
US9411959B2 (en) * 2014-09-30 2016-08-09 Juniper Networks, Inc. Identifying an evasive malicious object based on a behavior delta
US10140204B2 (en) * 2015-06-08 2018-11-27 International Business Machines Corporation Automated dynamic test case generation
CN105912467B (zh) * 2016-04-08 2021-05-11 腾讯科技(深圳)有限公司 一种性能测试方法及装置
CN109408355B (zh) * 2017-08-16 2022-02-22 迈普通信技术股份有限公司 测试用例获取方法及装置
CN107515826B (zh) * 2017-08-28 2020-12-01 阿里巴巴(中国)有限公司 测试用例精准推荐方法、装置、系统、设备及存储介质
CN107992409B (zh) * 2017-11-21 2020-08-21 平安养老保险股份有限公司 测试用例生成方法、装置、计算机设备和存储介质
CN108491331B (zh) * 2018-04-13 2023-03-21 平安普惠企业管理有限公司 软件测试方法、装置、设备和计算机存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004007053A1 (de) * 2004-02-13 2005-09-15 Daimlerchrysler Ag Verfahren zum Erzeugen von Testfällen
JP2017191380A (ja) * 2016-04-11 2017-10-19 富士通株式会社 生成プログラム、生成方法および生成装置
CN108664381A (zh) * 2017-03-27 2018-10-16 腾讯科技(深圳)有限公司 测试方法及装置
CN109901983A (zh) * 2017-12-07 2019-06-18 北京京东尚科信息技术有限公司 自动化测试方法及装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN110908898A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CN109002362B (zh) 一种服务方法、装置、系统以及电子设备
CN108964968B (zh) 一种容器云环境下的服务接入管理方法和系统
CN109104327B (zh) 一种业务日志生成方法、装置及设备
CN110507986B (zh) 动画信息的处理方法和装置
US20190155628A1 (en) Method for opening up data and functions of terminal application based on reconstruction technology
CN108874379B (zh) 页面的处理方法及装置
CN111966760A (zh) 基于Hive数据仓库的测试数据生成方法及装置
CN115544304A (zh) 文件解析方法、装置、可读存储介质及文件解析设备
CN110895544B (zh) 一种接口数据处理方法、装置、系统及存储介质
CN113448690A (zh) 监测方法及装置
CN107092474B (zh) 程序开发方法、etl处理方法及装置
CN110908898B (zh) 生成测试方案的方法及系统
CN109582776B (zh) 模型的生成方法及装置、电子设备及存储介质
CN111897828A (zh) 数据批处理实现方法、装置、设备及存储介质
CN107291439B (zh) 一种目标增量数据构建方法及装置
CN110019497B (zh) 一种数据读取方法及装置
CN113835748B (zh) 基于html5的应用程序的打包方法、系统和可读介质
CN110019296B (zh) 数据库查询脚本的生成方法、装置、存储介质及处理器
CN114416547A (zh) 基于测试用例的测试方法
CN116302095A (zh) 指令跳转判断方法、装置、电子设备及可读存储介质
CN110908876B (zh) 一种硬件性能数据的获取方法及装置
CN112559444A (zh) Sql文件迁移方法、装置、存储介质及设备
CN111125165A (zh) 集合的合并方法、装置、处理器及机器可读存储介质
CN116450214A (zh) 数据的识别方法、数据的识别装置、存储介质和电子设备
CN112035482B (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
TA01 Transfer of patent application right

Effective date of registration: 20200426

Address after: 100085 Floor 102-1, Building No. 35, West Second Banner Road, Haidian District, Beijing

Applicant after: Seashell Housing (Beijing) Technology Co.,Ltd.

Address before: 300280 unit 05, room 112, floor 1, building C, comprehensive service area, Nangang Industrial Zone, Binhai New Area, Tianjin

Applicant before: BEIKE TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant