CN112000566B - 测试用例的生成方法及装置 - Google Patents

测试用例的生成方法及装置 Download PDF

Info

Publication number
CN112000566B
CN112000566B CN201910446808.5A CN201910446808A CN112000566B CN 112000566 B CN112000566 B CN 112000566B CN 201910446808 A CN201910446808 A CN 201910446808A CN 112000566 B CN112000566 B CN 112000566B
Authority
CN
China
Prior art keywords
test
test case
generating
return value
language format
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
CN201910446808.5A
Other languages
English (en)
Other versions
CN112000566A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910446808.5A priority Critical patent/CN112000566B/zh
Publication of CN112000566A publication Critical patent/CN112000566A/zh
Application granted granted Critical
Publication of CN112000566B publication Critical patent/CN112000566B/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

测试用例的生成方法及装置
技术领域
本申请涉及信息处理技术领域,具体涉及一种测试用例的生成方法及装置。
背景技术
测试用例(Test Case)是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不同类别的测试对象,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不同的趋势。
发明内容
本申请实施例提供一种测试用例的生成方法及装置,可有效提升测试用例的生成效率。
本申请实施例提供了一种测试用例的生成方法,包括:
对接口描述文件进行解析,得到待测试接口的属性信息;
确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;
基于所述属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值;
根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。
相应的,本申请实施例还提供了一种测试用例的生成装置,包括:
解析单元,用于对接口描述文件进行解析,得到待测试接口的属性信息;
获取单元,用于确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;
构建单元,用于基于所述属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值;
生成单元,用于根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。
本申请方案通过对接口描述文件进行解析,得到待测试接口的属性信息,再基于属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值;获取需生成的测试用例的语言格式对应的基本测试用例框架;根据基本测试用例框架、属性信息、测试变量、预期返回值等生成目标测试用例。本申请方案可通过解析接口描述文件,基于解析结果并按照需要的语言格式生成用于接口测试的可执行测试用例,提升了测试用例的生成效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的测试用例的生成方法的一流程示意图。
图2是本申请实施例提供的测试用例的生成方法的另一流程示意图。
图3是本申请实施例提供的测试用例的生成方法的系统架构示意图。
图4为本申请实施例提供的补充测试用例的生成方法的应用场景图。
图5是本申请实施例提供的测试用例的生成装置的结构示意图。
图6是本申请实施例提供的终端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,无法解析IDL(Interface description language,接口描述语言)文件生成测试用例代码。基于上述问题,本申请实施例提供一种测试用例的生成方法及装置,可针对IDL接口描述文件快速生成可执行的测试用例代码。需说明的是,以下实施例的顺序不作为对实施例优选顺序的限定。
在一实施例中,将以该第一测试用例的生成装置集成在终端中的角度进行描述。
请参阅图1,图1为本申请实施例提供的测试用例的生成方法的一种流程示意图。该测试用例的生成方法的具体流程可以如下:
101、对接口描述文件进行解析,得到待测试接口的属性信息。
在本申请实施例中,接口描述文件为用接口描述语言编写而成的IDL接口描述文件,其用于描述软件组件接口。IDL通过一种中立的方式来描述接口,使得在不同平台上运行的对象和用不同语言编写的程序可以相互通信交流;比如,一个组件用C++写成,另一个组件用Java写成。
IDL通常用于远程调用软件。在这种情况下,一般是由远程客户终端调用不同操作系统上的对象组件,并且这些对象组件可能是由不同计算机语言编写的。因此,IDL建立起了两个不同操作系统间通信的桥梁。
需要说明的是,本申请实施例中,该接口描述文件可以是不同操作系统中接口共用的文件。例如,Android端和IOS端使用同一份IDL文件来描述接口信息。
在本申请实施例中,该属性信息可以是针对不同接口类型的架构,用于描述该接口定义的信息。例如如,上述属性信息可以为用于描述该待测试接口中所定义内容的信息,如待测试接口的类名、函数名(或方法名)参数名等等。
在一些实施例中,参考图2,步骤“对接口描述文件进行解析,得到待测试接口的属性信息”,可以包括以下流程:
1011、对接口描述文件中的关键字进行检测;
1012、基于检测到的关键字获取待测试接口的属性信息。
具体的,在解析IDL接口描述文件时,可根据IDL语言的关键字(如interface、enum、record等)解析出每一个接口的类名、函数名、参数名、参数类型以及返回值类型,以供后续生成测试用例使用。
102、确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架。
具体的,不同用于编写代码的语言格式可以有多种,如Pascal、C语言、C++、Java、AAuto、SQL。同一概念在不同的操作系统或用不同的语言编写时,表现方式也是不相同的,整体架构的编写规范也是不相同的。因此,为了后续能生成符合待测试接口所属平台语言规范的测试用例,需按照符合该待测试接口所属平台的测试框架,来构建测试用例框架。
也即,在一些实施例中,继续参考图2,步骤“确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架”,可以包括以下流程:
1021、识别待测试接口的语言格式,作为需生成的测试用例的语言格式;1022、从多个样本测试用例框架中,选取与该测试用的语言格式对应的样本测试用例框架,作为所述语言格式对应的基本测试用例框架。
其中,基本测试用例框架为按照所属平台的语言格式所编写的符合接口测试的架构,具体使用时可基于不同类型的待测试接口,对该架构中的自定义项内容进行相应调整修改。
在本申请实施例中,可以预先构建好符合不同平台的语言格式的几本测试用例框架(即样本测试用例框架),然后,构建样本测试用例框架与语言格式之间的对应关系。以便后续可基于待测试接口的语言格式从中选取符合测试要求的样本测试用例框架。
在一些实施例中,在识别待测试接口的语言格式时,可对待测试接口中代码结构进行分析,分析得到代码结构特征,并将于代码结构特征从多种语言格式中,选取符合该结构特征的语言格式。
103、基于该属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值。
其中,该指定类型的属性为与测试变量和对应的预期返回值相关的属性。该指定类型基于实际的接口测试需求设定。
测试变量为该待测接口的输入值,预期返回值为基于该待测试接口的功能,以该测试变量为输入值时得到的返回值。例如,待测试接口为加法接口,其功能为用于计算变量a和b的和,若测试变量为a=1、b=1,则预期返回值为2。
在一些实施例中,该指定类型的属性包括参数类型;继续参考图2,步骤“基于属性信息构建一定数量的测试变量和对应的预期返回值”,可以包括以下流程:
1031、对参数类型进行语言格式转换,使转换格式后参数类型的语言格式与需生成的测试用例的语言格式相同;
1032、基于转换语言格式后的参数类型,构建一定数量的测试变量和对应的预期返回值。
具体的,同一概念在不同的操作系统或用不同的语言编写时,表现方式是不相同的。因此,本申请实施例中,需要将当前参数类型的语言格式与实际待测试接口所属平台的语言格式进行统一。具体实施时,可以对参数类型进行语言格式转换,使转换格式后参数类型的语言格式与需生成的测试用例的语言格式相同。实际应用中,预先构建不同语言格式之间的映射关系,以便后续可基于该映射关系,将某一平台的参数类型映射到另一平台上使用。
例如,以IDL接口描述语言和Java语言类型之间的语言格式映射关系为例,其映射关系如下:
又例如,以IDL接口描述语言和OC语言类型之间的语言格式映射关系为例,其映射关系如下:
在一些实施例中,该参数类型可以包括变量类型和返回值类型。则,步骤“基于转换语言格式后的参数类型,构建一定数量的测试变量和对应的预期返回值”,可以包括以下流程:
基于变量类型生成一定数量的测试变量,其中,该变量类型与该测试变量的类型不相同;
基于返回值类型确定预期返回值。
在本实施例中,基于变量类型生成一定数量的测试变量可以为异常变量,基于返回值类型确定的预期返回值可以为异常返回值,以便后续生成异常测试用例。其中,该异常测试用例用于测试在待测试接口输入异常参数值时,判断执行结果是否符合条件(即执行结果是否为该异常返回值)。若满足,则判定待测试接口正常,若不满足则判定待测试接口异常。
在一些实施例中,在基于参数类型生成一定数量的测试变量之前,还可构建数据集,其中,该数据集中包括不同类型的多个数据。则步骤“基于该变量类型生成一定数量的测试变量”,可以包括以下流程:
确定数据集中每一数据的类型;
基于数据的类型,从数据集中筛选出与变量类型属于不同类型的候选数据;
从该候选数据中随机选取指定数量的数据以生成该测试变量。
其中,数据集中的数据类型可以有多种,如字符串、数字等。假设变量类型为“int(即整形)”,其对应的值应该为数值,则可以从该数据集中随机筛选指定数量的字符串作为该测试变量。
在一些实施例中,步骤“基于返回值类型确定该预期返回值”,可以包括以下流程:
获取预设映射关系,该预设映射关系包括:返回值类型和异常标识符之间的对应关系,该异常标识符用于表征当前待测试接口的测试结果异常;
基于该预设映射关系和该返回值类型,确定对应的异常标识符作为预期返回值。
具体的,该预设映射关系可以列表的形式存储,如下表1所示:
表1
返回值类型 异常标识符
整形 0
字符串
对象
布尔 False
…… ……
例如,变量类型为整形、返回值类型为整形,当测试变量为异常变量(如字符串)时,则异常标识符为“0”,并将“0”作为预期返回值。
104、根据基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。
在一些实施例中,属性信息还可以包括:待测试接口的类名、函数名、参数名;则继续参考图2,步骤“根据基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例”,可以包括以下流程:
1041、基于类名、函数名、参数名,对基本测试用例框架中的自定义测试项进行更新,得到更新后的测试用例框架;
1042、根据测试变量、预期返回值和更新后的测试用例框架,生成目标测试用例。
其中,自定义测试项可以包括测试类、测试函数、测试参数。在一些实施例中,步骤“基于类名、函数名、参数名,对基本测试用例框架中的自定义测试项进行更新”,可以包括以下流程:
基于该类名对基本测试用例框架中的测试类进行更新;
基于该函数名对基本测试用例框架中,更新后的测试类下的测试函数进行更新;
基于该参数名对基本测试用例框架中,更新后的测试函数下的测试参数进行更新。
本实施例提供的测试用例的生成方法,对接口描述文件进行解析,得到待测试接口的属性信息;确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;基于所述属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值;根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。本申请方案可通过解析接口描述文件,基于解析结果并按照需要的语言格式,快速生成用于接口测试的可执行测试用例,提升了测试用例的生成效率。
参考图3,图3为本申请实施例提供的测试用例的生成方法的系统架构图。在本实施例中,Android端和IOS端使用同一份IDL接口描述文件来描述接口信息。
如图3所示,通过AGC(Automatically generate code,自动生成用例代码)工具解析IDL接口描述文件,根据IDL语言中的关键字(如“interface”、“enum”、“record”)解析出每一个接口的类名、函数名、参数名、参数类型以及返回值类型。同时,根据函数的参数类型以及返回值类型,生成一定数量可执行的异常用例,如Java测试用例代码、OC测试用例代码等。
例如,该接口函数有1个参数,类型是“String”,那么就会生成2种异常值:“NULL”和空字符串,从而生成2条异常用例。然后将上述信息写入到文档(如Excel文件)中,方便测试人员补充编写,文件信息如下表2a和表2b:
表2a
表2b
需要说明的是,表2a与表2b的内容为横向对应的同一列表。
参考图4,图4为本申请实施例提供的补充测试用例的生成方法的应用场景图。
实际应用中,为了避免遗漏测试情况,可以在上述Excel列表中补充用例信息。具体的,在基于补充的用例信息生成用例代码时,可读取Excel文件中的用例信息,根据IOS平台、Android平台语言的差异性以及XCTest、Junit测试框架的规范,各自生成适合平台的测试用例代码,包括引入头文件、类定义、变量定义、调用函数、用例实现代码框架以及注释等信息。同时建立IDL语言与OC语言之间、及IDL语言与Java语言之间的映射,使得自动生成的测试代码基本可以直接运行,极大提升了用例代码的编写效率。
Java测试用例代码示例,如下:
IOS测试用例代码示例,如下:
实际操作时,生成的测试用例会调用待测试接口,并将测试变量作为待测试接口的输入运行该接口的功能,从而得到实际返回值。然后,基于实际返回值和与该测试变量对应的预期返回值进行比较,生成对应的断言代码。其中,断言代码用于判断该待测试接口是否存在漏洞。具体的,当实际返回值和与该测试变量对应的预期返回值不一致时,可判定该待测试接口存在漏洞。当针对所有测试变量的测试都完成之后,可以初步判定该待测试接口不存在漏洞。
本申请中,可通过解析接口描述文件,基于解析结果并按照需要的语言格式,快速生成用于接口测试的可执行测试用例,提升了测试用例的生成效率。
为便于更好的实施本申请实施例提供的测试用例的生成方法,本申请实施例还提供一种基于上述测试用例的生成方法的装置。其中名词的含义与上述测试用例的生成方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5,图5为本申请实施例提供的一种测试用例的生成装置的结构示意图。其中,该测试用例的生成装置400可以集成在终端中。该测试用例的生成装置400可以包括解析单元401、获取单元402、构建单元403、生成单元404,具体可以如下:
解析单元401,用于对接口描述文件进行解析,得到待测试接口的属性信息;
获取单元402,用于确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;
构建单元403,用于基于所述属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值;
生成单元404,用于根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。
在一些实施例中,所述指定类型的属性包括参数类型;构建单元403可以用于:
对所述参数类型进行语言格式转换,使转换格式后参数类型的语言格式与所述需生成的测试用例的语言格式相同;
基于转换语言格式后的参数类型,构建一定数量的测试变量和对应的预期返回值。
在一些实施例中,所述参数类型包括变量类型和返回值类型;构建单元403进一步可以用于:
基于所述变量类型生成一定数量的测试变量,其中,所述变量类型与所述测试变量的类型不相同;
基于所述返回值类型确定所述预期返回值。
在一些实施例中,所述装置400还可以包括:
数据集构建单元,用于在基于所述参数类型生成一定数量的测试变量之前,构建数据集,所述数据集中包括不同类型的多个数据;
构建单元403具体可以用于:
确定所述数据集中每一数据的类型;
基于数据的类型,从所述数据集中筛选出与所述变量类型属于不同类型的候选数据;
从所述候选数据中随机选取指定数量的数据以生成所述测试变量。
在一些实施例中,构建单元403具体还可以用于:
获取预设映射关系,所述预设映射关系包括:返回值类型和异常标识符之间的对应关系,所述异常标识符用于表征当前待测试接口的测试结果异常;
基于所述预设映射关系和所述返回值类型,确定对应的异常标识符作为所述预期返回值。
在一些实施例中,属性信息还可以包括:待测试接口的类名、函数名、参数名;所述生成单元404可以用于:
基于所述类名、函数名、参数名,对所述基本测试用例框架中的自定义测试项进行更新,得到更新后的测试用例框架;
根据所述测试变量、预期返回值和所述更新后的测试用例框架,生成目标测试用例。
在一些实施例中,所述生成单元404具体可以用于:
基于所述类名对所述基本测试用例框架中的测试类进行更新;
基于所述函数名对所述基本测试用例框架中,更新后的测试类下的测试函数进行更新;
基于所述参数名对所述基本测试用例框架中,更新后的测试函数下的测试参数进行更新。
在一些实施例中,所述解析单元401可以用于:
对接口描述文件中的关键字进行检测;
基于检测到的关键字获取待测试接口的属性信息。
在一些实施例中,所述获取单元402可以用于:
识别待测试接口的语言格式,作为需生成的测试用例的语言格式;
从多个样本测试用例框架中,选取与所述测试用的语言格式对应的样本测试用例框架,作为所述语言格式对应的基本测试用例框架。
本申请实施例提供的测试用例的生成装置,通过对接口描述文件进行解析,得到待测试接口的属性信息;确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;基于所述属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值;根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。本申请方案可通过解析接口描述文件,基于解析结果并按照需要的语言格式生成用于接口测试的可执行测试用例,提升了测试用例的生成效率。
本申请实施例还提供一种终端。如图6所示,该终端可以包括射频(RF,RadioFrequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(WiFi,Wireless Fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路601可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,RF电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,LowNoise Amplifier)、双工器等。此外,RF电路601还可以通过无线通信与网络和其他设备通信。
存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器608和输入单元603对存储器602的访问。
输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元603可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。除了触敏表面,输入单元603还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元604可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图6中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和或或背光。
音频电路606、扬声器,传声器可提供用户与终端之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经RF电路601以发送给比如终端,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块607,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器608是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和或或模块,以及调用存储在存储器602内的数据,执行终端的各种功能和处理数据,从而对手机进行整体控制。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
终端还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
具体在本实施例中,终端中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现各种功能:
对接口描述文件进行解析,得到待测试接口的属性信息;
确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;
基于所述属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值;
根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。
本申请方案提供的终端,可通过解析接口描述文件,基于解析结果并按照需要的语言格式生成用于接口测试的可执行测试用例,提升了测试用例的生成效率
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种测试用例的生成方法中的步骤。例如,该指令可以执行如下步骤:
对接口描述文件进行解析,得到待测试接口的属性信息;确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;基于所述属性信息中指定类型的属性,构建一定数量的测试变量和对应的预期返回值;根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种测试用例的生成方法中的步骤,因此,可以实现本申请实施例所提供的任一种测试用例的生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的测试用例的生成方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种测试用例的生成方法,其特征在于,包括:
对接口描述文件进行解析,得到待测试接口的属性信息;
确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;
基于所述属性信息中的变量类型和返回值类型,构建一定数量的测试变量和对应的预期返回值,具体包括:对所述变量类型和返回值类型进行语言格式转换,使转换格式后的变量类型和返回值类型的语言格式,与所述需生成的测试用例的语言格式相同;基于所述变量类型生成一定数量的测试变量,其中,所述变量类型与所述测试变量的类型不相同;基于所述返回值类型确定所述预期返回值;
根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。
2.根据权利要求1所述的测试用例生成方法,其特征在于,在基于所述参数类型生成一定数量的测试变量之前,还包括:
构建数据集,所述数据集中包括不同类型的多个数据;
所述基于所述变量类型生成一定数量的测试变量,包括:
确定所述数据集中每一数据的类型;
基于数据的类型,从所述数据集中筛选出与所述变量类型属于不同类型的候选数据;
从所述候选数据中随机选取指定数量的数据以生成所述测试变量。
3.根据权利要求1所述的测试用例生成方法,其特征在于,所述基于所述返回值类型确定所述预期返回值,包括:
获取预设映射关系,所述预设映射关系包括:返回值类型和异常标识符之间的对应关系,所述异常标识符用于表征当前待测试接口的测试结果异常;
基于所述预设映射关系和所述返回值类型,确定对应的异常标识符作为所述预期返回值。
4.根据权利要求1所述的测试用例生成方法,其特征在于,所述属性信息还包括:待测试接口的类名、函数名、参数名;所述根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例,包括:
基于所述类名、函数名、参数名,对所述基本测试用例框架中的自定义测试项进行更新,得到更新后的测试用例框架;
根据所述测试变量、预期返回值和所述更新后的测试用例框架,生成目标测试用例。
5.根据权利要求4所述的测试用例生成方法,其特征在于,所述基于所述类名、函数名、参数名,对所述基本测试用例框架中的自定义测试项进行更新,包括:
基于所述类名对所述基本测试用例框架中的测试类进行更新;
基于所述函数名对所述基本测试用例框架中,更新后的测试类下的测试函数进行更新;
基于所述参数名对所述基本测试用例框架中,更新后的测试函数下的测试参数进行更新。
6.根据权利要求1所述的测试用例生成方法,其特征在于,所述对接口描述文件进行解析,得到待测试接口的属性信息,包括:
对接口描述文件中的关键字进行检测;
基于检测到的关键字获取待测试接口的属性信息。
7.根据权利要求1-6任一项所述的测试用例生成方法,其特征在于,所述确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架,包括:
识别待测试接口的语言格式,作为需生成的测试用例的语言格式;
从多个样本测试用例框架中,选取与所述测试用的语言格式对应的样本测试用例框架,作为所述语言格式对应的基本测试用例框架。
8.一种测试用例的生成装置,其特征在于,包括:
解析单元,用于对接口描述文件进行解析,得到待测试接口的属性信息;
获取单元,用于确定需生成的测试用例的语言格式,并获取所述语言格式对应的基本测试用例框架;
构建单元,用于基于所述属性信息中的变量类型和返回值类型,构建一定数量的测试变量和对应的预期返回值,具体包括:对所述变量类型和返回值类型进行语言格式转换,使转换格式后的变量类型和返回值类型的语言格式,与所述需生成的测试用例的语言格式相同;基于所述变量类型生成一定数量的测试变量,其中,所述变量类型与所述测试变量的类型不相同;基于所述返回值类型确定所述预期返回值;
生成单元,用于根据所述基本测试用例框架、属性信息、测试变量、预期返回值,生成目标测试用例。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1-7任一项所述的测试用例的生成方法中的步骤。
10.一种终端,其特征在于,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1-7任一项所述的测试用例的生成方法中的步骤。
CN201910446808.5A 2019-05-27 2019-05-27 测试用例的生成方法及装置 Active CN112000566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910446808.5A CN112000566B (zh) 2019-05-27 2019-05-27 测试用例的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910446808.5A CN112000566B (zh) 2019-05-27 2019-05-27 测试用例的生成方法及装置

Publications (2)

Publication Number Publication Date
CN112000566A CN112000566A (zh) 2020-11-27
CN112000566B true CN112000566B (zh) 2023-11-28

Family

ID=73461351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910446808.5A Active CN112000566B (zh) 2019-05-27 2019-05-27 测试用例的生成方法及装置

Country Status (1)

Country Link
CN (1) CN112000566B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597018A (zh) * 2020-12-22 2021-04-02 未来电视有限公司 接口测试用例生成方法、装置、设备及存储介质
CN113176968B (zh) * 2021-05-25 2023-08-18 平安国际智慧城市科技股份有限公司 基于接口参数分类的安全测试方法、装置及存储介质
CN113282513B (zh) * 2021-06-28 2022-11-29 平安消费金融有限公司 接口测试案例的生成方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035859A (zh) * 2013-03-07 2014-09-10 腾讯科技(深圳)有限公司 一种可视化自动测试方法及其系统
KR20160044305A (ko) * 2014-10-15 2016-04-25 삼성에스디에스 주식회사 코드의 단위 테스트를 위한 장치 및 방법
CN107133174A (zh) * 2017-05-04 2017-09-05 浙江路港互通信息技术有限公司 测试用例代码自动生成装置与方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035859A (zh) * 2013-03-07 2014-09-10 腾讯科技(深圳)有限公司 一种可视化自动测试方法及其系统
KR20160044305A (ko) * 2014-10-15 2016-04-25 삼성에스디에스 주식회사 코드의 단위 테스트를 위한 장치 및 방법
CN107133174A (zh) * 2017-05-04 2017-09-05 浙江路港互通信息技术有限公司 测试用例代码自动生成装置与方法

Also Published As

Publication number Publication date
CN112000566A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN108880867B (zh) 一种网络设备数据采集方法及系统
CN106708676B (zh) 接口测试方法及装置
CN108268366B (zh) 测试用例执行方法及装置
CN112000566B (zh) 测试用例的生成方法及装置
CN109947650B (zh) 脚本步骤处理方法、装置和系统
CN107204964B (zh) 一种权限管理的方法、装置和系统
CN112667223A (zh) 组件配置表的生成方法、装置、电子设备及存储介质
CN111723002A (zh) 一种代码调试方法、装置、电子设备及存储介质
CN112749074B (zh) 一种测试用例推荐方法以及装置
CN108984374B (zh) 一种数据库性能的测试方法和系统
CN110198324B (zh) 数据监控方法、装置、浏览器及终端
CN111359210B (zh) 一种数据处理方法、装置、电子设备以及存储介质
CN112965832A (zh) 一种远程过程调用rpc服务调用方法和相关装置
CN115469937A (zh) 插件运行方法、装置、电子设备及存储介质
CN112667868B (zh) 一种数据检测方法以及装置
CN114707793A (zh) 应急预案生成方法、装置、存储介质及电子设备
CN113065083A (zh) 一种页面处理方法、装置、电子设备及存储介质
CN110309454B (zh) 一种界面显示方法、装置、设备及存储介质
CN114490307A (zh) 一种单元测试方法、装置及存储介质
CN108269223B (zh) 一种网页图形绘制方法及终端
CN112988406B (zh) 远程调用方法、装置和存储介质
CN114064447B (zh) 界面测试方法、装置、存储介质及终端
CN112328304B (zh) 一种脚本适配方法、系统、设备及计算机存储介质
CN112632563B (zh) 一种漏洞检测方法、装置、存储介质及电子设备
CN116011426A (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