一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

接口文档生成方法、装置、设备及存储介质与流程

2021-11-20 03:07:00 来源:中国专利 TAG:


1.本发明实施例涉及计算机技术领域,尤其涉及一种接口文档生成方法、装置、设备及存储介质。


背景技术:

2.通常情况下,程序代码会包括多个接口,以便于用户通过调用接口的方式来访问程序代码。
3.为了便于用户采用正确的调用方式,软件开发人员需要提供程序代码的接口文档。现有技术中,软件开发人员需要人工手动编写关于程序代码的接口文档。
4.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有的人工手动编写接口文档的方式,需要消耗大量的人力成本和时间成本,因此,现有的接口文档的生成效率较低。


技术实现要素:

5.本发明实施例提供一种接口文档生成方法、装置、设备及存储介质,用以解决现有技术中接口文档的生成效率较低的问题。
6.一方面,本发明实施例提供一种接口文档生成方法,包括:
7.从接口对应的多组测试数据中确定出至少一组测试范例候选数据;其中,每组所述测试范例候选数据包括:输入测试范例数据和输出测试范例数据;所述至少一组测试范例候选数据中包括一组目标测试范例数据;
8.分别根据所述至少一组测试范例候选数据,确定每组所述测试范例候选数据的数据格式;其中,每组所述测试范例候选数据的数据格式包括:输入测试范例数据的数据格式和输出测试范例数据的数据格式;
9.对所述至少一组测试范例候选数据的数据格式进行合并,得到所述接口的目标测试范例数据的数据格式;其中,所述目标测试范例数据的数据格式包括:目标输入测试范例数据的数据格式和目标输出测试范例数据的数据格式,所述目标测试范例数据的数据格式中包括所述至少一组测试范例候选数据中的所有节点以及所述所有节点的信息;
10.根据所述目标测试范例数据和所述目标测试范例数据的数据格式,得到所述接口文档。
11.本发明实施例具有如下有益效果:通过从接口对应的多组测试数据中选择出至少一组测试范例候选数据(包括一组目标测试范例数据),并确定出至少一组测试范例候选数据的数据格式,其次根据至少一组测试范例候选数据的数据格式进行合并处理,便可得到上述接口对应的目标测试范例数据的数据格式,然后根据上述目标测试范例数据和目标测试范例数据的数据格式,便可得到上述接口的接口文档。可见,本发明实施例实现了自动地生成上述接口的接口文档,可以大大节省人力成本和时间成本,从而提高了接口文档的生成效率。
12.在一种可能的实现方式中,所述分别根据所述至少一组测试范例候选数据,确定每组所述测试范例候选数据的数据格式,包括:
13.对于任意一组测试范例候选数据,根据所述测试范例候选数据中的输入测试范例候选数据和输出测试范例候选数据所包括的各节点的类型,确定所述测试范例候选数据的数据格式。
14.在一种可能的实现方式中,所述目标测试范例数据的数据格式中包括的任意节点的信息包括:节点的标识、类型和重要程度标识;
15.其中,节点的重要程度标识为重要或者非重要,重要程度标识为重要的节点为存在于所述至少一组测试范例候选数据中所有测试范例候选数据中的节点,重要程度标识为非重要的节点为只存在于所述至少一组测试范例候选数据中部分测试范例候选数据中的节点。
16.在一种可能的实现方式中,所述对所述至少一组测试范例候选数据的数据格式进行合并,得到所述接口的目标测试范例数据的数据格式,包括:
17.将所述接口的第j组测试范例候选数据的数据格式中的各第一节点添加到测试范例数据的历史数据格式中,并将所述第一节点的重要程度标识和所述测试范例数据的历史数据格式中的各第二节点的重要程度标识设置为非重要,得到所述接口的测试范例数据的当前数据格式;
18.其中,所述j为取遍2,
……
,n的正整数,所述n为所述接口对应的测试范例候选数据的总组数;所述测试范例数据的历史数据格式为对所述接口的前j-1组测试范例候选数据的数据格式进行合并所得到的;所述第一节点为所述测试范例数据的历史数据格式中不包括的节点,所述第二节点为所述第j组测试范例候选数据的数据格式中不包括的节点;
19.其中,当所述j为n时所得到的接口的测试范例数据的当前数据格式,为所述接口的目标测试范例数据的数据格式。
20.在一种可能的实现方式中,所述从接口对应的多组测试数据中确定出至少一组测试范例候选数据,包括:
21.分别根据所述接口的每组测试数据,确定每组测试数据的权重值;
22.根据所述每组测试数据的权重值,从所述接口对应的多组测试数据中确定出至少一组测试范例候选数据。
23.在一种可能的实现方式中,所述分别根据所述接口的每组测试数据,确定每组测试数据的权重值,包括:
24.对于所述接口的任意一组测试数据,根据所述测试数据中的输入测试数据所包括的节点个数、所述测试数据中的输出测试数据所包括的节点个数,以及所述输出测试数据中的错误标识字段,确定所述测试数据的权重值。
25.在一种可能的实现方式中,所述根据所述每组测试数据的权重值,从所述接口对应的多组测试数据中确定出至少一组测试范例候选数据,包括:
26.判断所述接口的第i组测试数据的权重值是否大于所述接口的历史测试范例候选数据的权重值;其中,所述i为取遍2,
……
,n的正整数,n为所述接口对应的测试数据的总组数;
27.若所述接口的第i组测试数据的权重值大于所述接口的历史测试范例候选数据的
权重值,则将所述第i组测试数据作为一组测试范例候选数据;
28.其中,所述接口的历史测试范例候选数据为所述接口的前i-1组测试数据中权重值最大的测试数据。
29.在一种可能的实现方式中,所述目标测试范例数据为所述至少一组测试范例候选数据中权重值最大的测试范例候选数据。
30.上述发明中的一个实施例具有如下有益效果:通过分别根据接口的每组测试数据,确定每组测试数据的权重值;然后根据每组测试数据的权重值,从上述接口对应的多组测试数据中确定出至少一组测试范例候选数据,其中,上述至少一组测试范例候选数据中权重值最大的测试范例候选数据为上述接口的目标测试范例数据,使得根据上述至少一组测试范例候选数据的数据格式所确定出的上述接口的目标测试范例数据的数据格式更加准确和完整,从而根据上述目标测试范例数据和上述目标测试范例数据的数据格式所得到的上述接口对应的接口文档也更加准确和完整,以便于用户可以根据上述接口对应的接口文档可以准确地调用上述接口。
31.另一方面,本发明实施例提供一种接口文档生成装置,包括:
32.第一确定模块,用于从接口对应的多组测试数据中确定出至少一组测试范例候选数据;其中,所述测试范例候选数据包括:输入测试范例数据和输出测试范例数据;所述至少一组测试范例候选数据中包括一组目标测试范例;
33.第二确定模块,用于分别根据所述至少一组测试范例候选数据,确定每组所述测试范例候选数据的数据格式;其中,每组所述测试范例候选数据的数据格式包括:输入测试范例数据的数据格式和输出测试范例数据的数据格式;
34.合并模块,用于对所述至少一组测试范例候选数据的数据格式进行合并,得到所述接口的目标测试范例数据的数据格式;其中,所述目标测试范例数据的数据格式包括:目标输入测试范例数据的数据格式和目标输出测试范例数据的数据格式,所述目标测试范例数据的数据格式中包括所述至少一组测试范例候选数据中的所有节点以及所述所有节点的信息;
35.获取模块,用于根据所述目标测试范例数据和所述目标测试范例数据的数据格式,得到所述接口文档。
36.另一方面,本发明实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的接口文档生成方法。
37.另一方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述任一项所述的接口文档生成方法。
38.本发明实施例提供的接口文档生成方法、装置、设备及存储介质,通过从接口对应的多组测试数据中选择出至少一组测试范例候选数据(包括一组目标测试范例数据),并确定出至少一组测试范例候选数据的数据格式,其次根据至少一组测试范例候选数据的数据格式进行合并处理,便可得到上述接口对应的目标测试范例数据的数据格式,然后根据上述目标测试范例数据和目标测试范例数据的数据格式,便可得到上述接口的接口文档。可见,本发明实施例实现了自动地生成上述接口的接口文档,可以大大节省人力成本和时间
成本,克服了现有技术中接口文档的生成效率较低的问题,从而提高了接口文档的生成效率。
附图说明
39.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
40.图1为本发明实施例提供的应用场景示意图;
41.图2为本发明一实施例提供的接口文档生成方法的流程示意图;
42.图3为本发明另一实施例提供的接口文档生成方法的流程示意图;
43.图4为本发明另一实施例提供的接口文档生成方法的流程示意图;
44.图5为本发明实施例提供的接口文档生成装置的结构示意图;
45.图6为本发明实施例提供的电子设备的结构示意图。
46.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
47.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
48.首先对本发明实施例所涉及的名词进行解释:
49.本技术实施例中涉及的接口可以包括但不限于:超文本传输协议(hypertext transfer protocol,http)接口、远程过程调用(remote procedure call,rpc)接口。
50.本发明实施例中涉及的任意接口对应的每组测试数据可以包括:输入测试数据和输出测试数据。示例性地,输入测试数据可以是上述接口对应的一组自动化测试用例中的输入数据,输出测试数据可以是根据上述输入测试数据对上述接口进行自动化测试所得到的输出数据。
51.本发明实施例中涉及的每组测试范例候选数据可以包括:输入测试范例数据和输出测试范例数据;对应地,每组测试范例候选数据的数据格式可以包括:输入测试范例数据的数据格式和输出测试范例数据的数据格式。
52.本发明实施例中涉及的任意接口的目标测试范例数据可以作为上述接口的最终测试范例数据,以便于用户可以参考目标测试范例数据来调用上述接口;其中,目标测试范例数据可以包括:目标输入测试范例数据和目标输出测试范例数据。
53.本发明实施例中涉及的任意接口的目标测试范例数据的数据格式可以作为上述接口的最终测试范例数据的数据格式,以便于用户可以按照目标测试范例数据的数据格式来调用上述接口。其中,目标测试范例数据的数据格式中包括上述接口对应的每组测试范例候选数据中的所有节点以及所有节点的信息。
54.可选地,本发明实施例中涉及的目标测试范例数据的数据格式中包括的任意节点
的信息可以包括但不限于:节点的标识、节点的类型和节点的重要程度标识。
55.示例性地,节点的类型可以包括但不限于以下任一项:对象(object)、字符串(string)、布尔值(boolean)、数字(number)、数组(array)。
56.示例性地,节点的重要程度标识可以为重要或者非重要;其中,若某个节点的重要程度标识为重要,则表明上述接口对应的所有测试范例候选数据中均包含该节点,即该节点为必选的;若某个节点的重要程度标识为非重要,则表明上述接口对应的部分测试范例候选数据中包含该节点,即该节点为可选的。
57.本发明实施例中涉及的任意接口的目标测试范例数据的数据格式可以包括:目标输入测试范例数据的数据格式和目标输出测试范例数据的数据格式。应理解,目标输入测试范例数据的数据格式中包括上述接口对应的每组测试范例候选数据中输入测试范例数据中的所有节点以及所有节点的信息,目标输出测试范例数据的数据格式中包括上述接口对应的每组测试范例候选数据中输出测试范例数据中的所有节点以及所有节点的信息。
58.需要说明的是,本技术实施例中涉及任意数据(例如测试数据、测试范例候选数据,或者目标测试范例数据等)的数据格式与上述数据是完全对应的。例如,上述数据的数据格式所包括的各节点的类型和/或位置等信息,与上述数据中各节点的类型和/或位置等信息是完全对应的。
59.可选地,本发明实施例中涉及的任意数据(例如测试数据、测试范例候选数据,或者目标测试范例数据等)可以包括但不限于:js对象简谱(javascript object notation,json)数据;对应地,上述数据(例如测试数据、测试范例候选数据,或者目标测试范例数据等)的数据格式可以包括但不限于:json数据格式(schema)。
60.示例性地,本发明实施例中涉及的json数据格式(schema)可以包括但不限于以下形式:
[0061][0062][0063]
其中,“type”表示节点的类型;“required”表示节点的重要程度标识,其中,若“required”为“true”,则表示节点的重要程度标识为重要,即节点为必选的;若“required”为“false”,则表示节点的重要程度标识为非重要,即节点为可选的;“properties”表示对象(object)类型的节点包含哪些子节点;“item”表示数组(array)类型的节点包含哪些子节点。
[0064]
需要说明的是,上述json数据格式(schema)的形式仅为示例性地举例说明,本发明实施例中涉及的json数据格式(schema)还可以包括上述形式的其它变形或者等效形式,本发明实施例中对此并不作限定。
[0065]
图1为本发明实施例提供的应用场景示意图。如图1所示,本发明实施例的应用场景中可以包括但不限于:第一电子设备10和第二电子设备11;其中,第一电子设备10可以为软件开发人员对应的电子设备,第二电子设备11可以为测试人员对应的电子设备。
[0066]
示例性地,第二电子设备11可以向第一电子设备10发送调用接口请求,以使第一电子设备10根据调用接口请求运行相应接口对应的程序代码(相当于对上述接口进行自动化测试),并将调用接口响应返回给第二电子设备11,以便于第二电子设备11可以根据调用接口请求中携带的至少一个输入测试数据和调用接口响应中携带的至少一个输出测试数据,采用本发明实施例提供的接口文档生成方法,得到上述接口对应的接口文档。
[0067]
应理解,若软件开发人员和测试人员对应同一电子设备(例如第一电子设备10),则该电子设备可以通过接口对应的至少一组自动化测试用例中的输入数据(即输入测试数据)对上述接口进行自动化测试得到相应的输出数据(即输出测试数据),然后采用本发明实施例提供的接口文档生成方法,得到上述接口对应的接口文档。
[0068]
示例性地,本技术实施例中涉及的任意电子设备(例如第一电子设备或第二电子设备)可以包括但不限于:笔记本电脑、台式电脑,或者其它形式的计算机。
[0069]
针对现有技术中人工手动编写接口文档的方式,需要消耗大量的人力成本和时间成本,因此,现有的接口文档的生成效率较低的问题,本发明人实施例,通过从接口对应的多组测试数据中选择出至少一组测试范例候选数据(包括一组目标测试范例数据),并确定出至少一组测试范例候选数据的数据格式,其次根据至少一组测试范例候选数据的数据格式进行合并处理,便可得到上述接口对应的目标测试范例数据的数据格式,然后根据上述目标测试范例数据和目标测试范例数据的数据格式,便可得到上述接口的接口文档。可见,本发明实施例实现了自动地生成上述接口的接口文档,可以大大节省人力成本和时间成本,从而提高了接口文档的生成效率。
[0070]
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
[0071]
图2为本发明一实施例提供的接口文档生成方法的流程示意图。本发明实施例的执行主体可以为电子设备,或者电子设备中的接口文档生成装置(为了便于描述,本实施例中以执行主体为电子设备为例进行说明)。示例性地,电子设备中的接口文档生成装置可以通过软件和/或硬件实现。
[0072]
如图2所示,本发明实施例提供的接口文档生成方法可以包括:
[0073]
步骤s201、从接口对应的多组测试数据中确定出至少一组测试范例候选数据。
[0074]
本技术实施例中涉及的接口可以包括但不限于:http接口、rpc接口。
[0075]
本发明实施例中涉及的接口对应的每组测试数据可以包括:输入测试数据和输出测试数据。示例性地,输入测试数据可以是上述接口对应的一组自动化测试用例中的输入数据,输出测试数据可以是根据上述输入测试数据对上述接口进行自动化测试所得到的输出数据。
[0076]
本发明实施例中涉及的每组测试范例候选数据可以包括:输入测试范例数据和输出测试范例数据。
[0077]
本步骤中,电子设备可以从接口对应的多组测试数据中选择出高质量的至少一组
测试范例候选数据,并将至少一组测试范例候选数据中质量最高的一组测试范例候选数据作为目标测试范例数据(可以作为上述接口的最终测试范例数据),以便于用户可以参考目标测试范例数据来调用上述接口。
[0078]
示例性地,电子设备可以通过每组测试数据的权重值的方式来表示该组测试数据的质量;其中,若任意组测试数据的权重值越大,则表示该组测试数据的质量越好;若任意组测试数据的权重值越小,则表示该组测试数据的质量越差。需要说明的是,电子设备还可以通过其它方式来表示每组测试数据的质量,本发明实施例中对此并不作限定。
[0079]
应理解,若电子设备通过每组测试数据的权重值的方式来表示该组测试数据的质量,上述目标测试范例数据可以为上述接口对应的至少一组测试范例候选数据中权重值最大的一组测试范例候选数据。
[0080]
步骤s202、分别根据上述至少一组测试范例候选数据,确定每组测试范例候选数据的数据格式。
[0081]
本发明实施例中涉及的每组测试范例候选数据的数据格式可以包括:输入测试范例数据的数据格式和输出测试范例数据的数据格式。
[0082]
本步骤中,电子设备可以分别根据每组测试范例候选数据所包含的各节点的类型和/或位置等信息,确定每组测试范例候选数据的数据格式。
[0083]
需要说明的是,任意一组测试范例候选数据的数据格式与该测试范例候选数据是完全对应的。例如,任意一组测试范例候选数据的数据格式所包括的各节点的类型和/或位置等信息,与该测试范例候选数据中各节点的类型和/或位置等信息是完全对应的。
[0084]
可选地,对于任意一组测试范例候选数据,电子设备可以根据该测试范例候选数据中的输入测试范例候选数据和输出测试范例候选数据所包括的各节点的类型,确定该测试范例候选数据的数据格式。
[0085]
应理解,对于任意一组测试范例候选数据,电子设备可以根据该测试范例候选数据中的输入测试范例候选数据所包括的各节点的类型,确定该输入测试范例候选数据的数据格式,以及根据该测试范例候选数据中的输出测试范例候选数据所包括的各节点的类型,确定该输出测试范例候选数据的数据格式,从而便得到了该测试范例候选数据的数据格式。
[0086]
为了便于理解,本技术下述实施例中以“上述测试范例候选数据为json数据,上述测试范例候选数据的数据格式为json数据格式”为例,对确定上述输入测试范例候选数据的数据格式的可实现方式进行介绍。
[0087]
示例性地,电子设备可以从输入测试范例候选数据中的入口节点开始,依次遍历上述输入测试范例候选数据中的各节点。(a)若上述输入测试范例候选数据中当前节点的下一个节点的类型为字符串(string)、布尔值(boolean)或者数字(number)类型,则电子设备可以为上述输入测试范例候选数据的数据格式中当前节点增加一个子节点,并相应地添加该子节点的类型(type)和重要程度标识(required)。(b)若上述输入测试范例候选数据中当前节点的下一个节点的类型为数组(array)类型,则电子设备可以为上述输入测试范例候选数据的数据格式中当前节点增加一个子节点,并相应地添加该子节点的类型(type)和重要程度标识(required),然后对上述下一个节点的第一个子节点重复本过程。(c)若上述输入测试范例候选数据中当前节点的下一个节点的类型为对象(object)类型,则电子设
备可以为上述输入测试范例候选数据的数据格式中当前节点增加一个子节点,并相应地添加该子节点的类型(type)和重要程度标识(required),然后对上述下一个节点的每个子节点重复本过程。
[0088]
需要说明的是,考虑到凭借单个输入测试范例候选数据无法判断各节点(或者称之为字段)是必选的还是可选的,电子设备在确定上述输入测试范例候选数据的数据格式过程中,可以将各节点的重要程度标识(required)设置为重要。
[0089]
应理解,电子设备确定上述输出测试范例候选数据的数据格式的可实现方式,可以参考上述输入测试范例候选数据的数据格式的可实现方式,本发明实施例中对此不再赘述。
[0090]
步骤s203、对上述至少一组测试范例候选数据的数据格式进行合并,得到上述接口的目标测试范例数据的数据格式。
[0091]
本发明实施例中涉及的上述接口的目标测试范例数据的数据格式可以作为上述接口的最终测试范例数据的数据格式,以便于用户可以按照目标测试范例数据的数据格式来调用上述接口。其中,目标测试范例数据的数据格式中包括上述接口对应的每组测试范例候选数据中的所有节点以及所有节点的信息
[0092]
可选地,本发明实施例中涉及的上述接口的目标测试范例数据的数据格式中包括的任意节点的信息可以包括但不限于:节点的标识、节点的类型和节点的重要程度标识。
[0093]
示例性地,节点的重要程度标识可以为重要或者非重要;其中,重要程度标识为重要的节点为存在于上述接口对应的所有测试范例候选数据中的节点(或者说上述接口对应的所有测试范例候选数据中均包含该节点);重要程度标识为非重要的节点为只存在于上述接口对应的部分测试范例候选数据中的节点(或者说上述接口对应的部分测试范例候选数据中包含该节点)。
[0094]
本发明实施例中涉及的上述接口的目标测试范例数据的数据格式可以包括:目标输入测试范例数据的数据格式和目标输出测试范例数据的数据格式。应理解,目标输入测试范例数据的数据格式中包括上述接口对应的每组测试范例候选数据中输入测试范例数据中的所有节点以及所有节点的信息,目标输出测试范例数据的数据格式中包括上述接口对应的每组测试范例候选数据中输出测试范例数据中的所有节点以及所有节点的信息。
[0095]
本步骤中,考虑到每组测试范例候选数据中的输入测试范例数据一般不相同,和/或,每组测试范例候选数据中的输出测试范例数据一般不相同,电子设备通过对上述至少一组测试范例候选数据的数据格式进行合并处理,从而得到上述接口对应的准确的目标测试范例数据的数据格式,以便于用户可以按照目标测试范例数据的数据格式来正确地调用上述接口。
[0096]
应理解,电子设备通过对上述至少一组测试范例候选数据的数据格式中的输入测试范例数据的数据格式进行合并处理,得到上述目标输入测试范例数据的数据格式;通过对上述至少一组测试范例候选数据的数据格式中的输出测试范例数据的数据格式进行合并处理,得到上述目标输出测试范例数据的数据格式,从而得到了上述目标测试范例数据的数据格式。
[0097]
一种可能的实现方式中,电子设备可以按顺序依次对上述至少一组测试范例候选数据的数据格式进行合并处理。例如,假设上述接口对应第1组测试范例候选数据、第2组测
试范例候选数据和第3组测试范例候选数据,则电子设备可以按照顺序将第1组测试范例候选数据的数据格式和第2组测试范例候选数据的数据格式进行合并处理,得到测试范例数据的当前数据格式(或者称之为中间数据格式);然后电子设备可以按照顺序将测试范例数据的当前数据格式(或者称之为历史数据格式)和第3组测试范例候选数据的数据格式进行合并处理,得到测试范例数据的当前数据格式(即为目标测试范例数据的数据格式)。
[0098]
示例性地,电子设备可以将上述接口的第j组测试范例候选数据的数据格式中的各第一节点添加到测试范例数据的历史数据格式中,并将各第一节点的重要程度标识和上述测试范例数据的历史数据格式中的各第二节点的重要程度标识设置为非重要,从而得到上述接口的测试范例数据的当前数据格式。
[0099]
其中,j为取遍2,
……
,n(为上述接口对应的测试范例候选数据的总组数)的正整数。上述第一节点为上述测试范例数据的历史数据格式中不包括的节点,上述第二节点为上述第j组测试范例候选数据的数据格式中不包括的节点。上述测试范例数据的历史数据格式为对上述接口的前j-1组测试范例候选数据的数据格式进行合并所得到的数据格式(需要说明的是,当上述j为2时,上述测试范例数据的历史数据格式即为上述接口的第1组测试范例候选数据的数据格式);上述测试范例数据的历史数据格式可以包括:输入测试范例数据的历史数据格式和输出测试范例数据的历史数据格式。
[0100]
应理解,当上述j为n时所得到的接口的测试范例数据的当前数据格式,便为上述接口的目标测试范例数据的数据格式。
[0101]
为了便于理解,本技术下述实施例中以“上述测试范例候选数据的数据格式和目标测试范例数据的数据格式为json数据格式”为例,对第j组测试范例候选数据的数据格式中的输入测试范例候选数据的数据格式和输入测试范例数据的历史数据格式的合并方式进行介绍。
[0102]
一方面,电子设备可以从上述第j组测试范例候选数据的数据格式中的输入测试范例候选数据的数据格式中的入口节点开始,依次遍历上述输入测试范例候选数据的数据格式中的各节点。(a)如果上述输入测试范例候选数据的数据格式中的当前节点也存在于上述输入测试范例数据的历史数据格式中,则继续判断当前节点的下一个节点。(b)如果上述输入测试范例候选数据的数据格式中的当前节点未存在于上述输入测试范例数据的历史数据格式中,则电子设备可以将当前节点(即上述第一节点)添加到上述输入测试范例数据的历史数据格式中相应的位置,并将当前节点的重要程度标识设置为非重要,然后继续判断当前节点的下一个节点。
[0103]
另一方面,电子设备可以从上述输入测试范例数据的历史数据格式中的入口节点开始,依次遍历上述输入测试范例数据的历史数据格式中的各节点。(a)如果上述输入测试范例数据的历史数据格式中的当前节点也存在于上述输入测试范例候选数据的数据格式中,则继续判断当前节点的下一个节点。(b)如果上述输入测试范例数据的历史数据格式中的当前节点未存在于上述输入测试范例候选数据的数据格式中,则电子设备可以将当前节点(即上述第二节点)的重要程度标识设置为非重要,然后继续判断当前节点的下一个节点。需要说明的是,当上述输入测试范例数据的历史数据格式中的当前节点的重要程度标识已经是非重要时,则电子设备可以无需再次设置该当前节点的重要程度标识。
[0104]
本发明实施例中,电子设备通过上述两方面的处理方式,不仅可以保证得到的上
述输入测试范例数据的当前数据格式中包含有上述输入测试范例候选数据的数据格式中所包含的各节点(或者字段),还可以保证得到的上述输入测试范例数据的当前数据格式中各节点(或者字段)的重要程度标识的准确性。
[0105]
应理解,电子设备对第j组测试范例候选数据的数据格式中的输出测试范例候选数据的数据格式和输出测试范例数据的历史数据格式的合并方式,可以参考上述第j组测试范例候选数据的数据格式中的输入测试范例候选数据的数据格式和输入测试范例数据的历史数据格式的合并方式,本发明实施例中对此不再赘述。
[0106]
另一种可能的实现方式中,电子设备可以分别对上述至少一组测试范例候选数据中任意两组测试范例候选数据的数据格式进行合并处理,得到至少一组第一中间数据格式;然后,电子设备可以分别将上述至少一组第一中间数据格式中任意两组第一中间数据格式进行合并处理,得到至少一组第二中间数据格式,
……
,依次类推,直至合并处理得到一组最终的数据格式(即为目标测试范例数据的数据格式)为止。例如,假设上述接口对应第1组测试范例候选数据、第2组测试范例候选数据、第3组测试范例候选数据和第4组测试范例候选数据,则电子设备可以将第1组测试范例候选数据的数据格式和第2组测试范例候选数据的数据格式进行合并处理,得到第一中间数据格式1,并将第3组测试范例候选数据的数据格式和第4组测试范例候选数据的数据格式进行合并处理,得到第一中间数据格式2;然后,电子设备可以将第一中间数据格式1和第一中间数据格式2进行合并处理,得到一组第二中间数据格式(即为目标测试范例数据的数据格式)。
[0107]
需要说明的是,任意两组测试范例候选数据的数据格式的合并方式,和/或,任意两组第一中间数据格式的合并方式,可以参考上述第j组测试范例候选数据的数据格式和测试范例数据的历史数据格式的合并方式,本发明实施例中对此不再赘述。
[0108]
当然,电子设备还可以通过其它方式,对上述至少一组测试范例候选数据的数据格式进行合并处理,本发明实施例中对此并不作限定。
[0109]
步骤s204、根据上述目标测试范例数据和上述目标测试范例数据的数据格式,得到接口文档。
[0110]
本步骤中,电子设备根据上述目标测试范例数据和上述目标测试范例数据的数据格式,便可得到上述接口的接口文档,以便于用户可以参考上述目标测试范例数据,并按照上述目标测试范例数据的数据格式来准确地调用上述接口。
[0111]
综上所述,本发明实施例中,通过从接口对应的多组测试数据中选择出至少一组测试范例候选数据(包括一组目标测试范例数据),并确定出至少一组测试范例候选数据的数据格式,其次根据至少一组测试范例候选数据的数据格式进行合并处理,便可得到上述接口对应的目标测试范例数据的数据格式,然后根据上述目标测试范例数据和目标测试范例数据的数据格式,便可得到上述接口的接口文档。可见,本发明实施例实现了自动地生成上述接口的接口文档,可以大大节省人力成本和时间成本,从而提高了接口文档的生成效率。
[0112]
图3为本发明另一实施例提供的接口文档生成方法的流程示意图。在上述实施例的基础上,本发明实施例对上述步骤s201中从接口对应的多组测试数据中确定出至少一组测试范例候选数据的可实现方式进行介绍。如图3所示,上述步骤s201可以包括:
[0113]
步骤s201a、分别根据接口的每组测试数据,确定每组测试数据的权重值。
[0114]
本步骤中,考虑到若任意测试数据中所包含的节点数越多,则说明该测试数据越有意义,以及若任意测试数据中的输出测试数据为正常数据,则说明该测试数据越有意义,电子设备可以分别根据上述接口的每组测试数据所包括的节点的相关信息(例如节点个数和/或错误标识字段等信息),来确定每组数据的权重值。
[0115]
可选地,对于上述接口的任意一组测试数据,根据上述测试数据中的输入测试数据所包括的节点个数、上述测试数据中的输出测试数据所包括的节点个数,以及上述输出测试数据中的错误标识字段,确定上述测试数据的权重值。
[0116]
示例性地,电子设备根据上述测试数据中的输入测试数据所包括的节点个数、上述测试数据中的输出测试数据所包括的节点个数,以及上述输出测试数据中的错误标识字段,可以按照如下公式,确定上述测试数据的权重值。
[0117]
w=nodenum
(input)
nodenum
(output)
w
[0118]
其中,w代表测试数据的权重值;nodenum
(input)
代表上述输入测试数据所包括的节点个数;nodenum
(output)
代表上述输出测试数据所包括的节点个数;w代表上述输出测试数据中的错误标识字段对应的预设取值,其中,若上述输出测试数据中的错误标识字段用于指示上述输出测试数据为正常数据,则w可以等于第一预设数值(例如10);若上述输出测试数据中的错误标识字段用于指示上述输出测试数据为异常数据,则w可以等于第二预设数值(例如0)。
[0119]
例如,对于http接口,上述输出测试数据中的错误标识字段可以为字段“code”;其中,若字段“code”为“0”,则用于指示上述输出测试数据为正常数据;若字段“code”不为“0”,则用于指示上述输出测试数据为异常数据。
[0120]
又例如,对于rpc接口,上述输出测试数据中的错误标识字段可以为字段“resultcode”;其中,若字段“resultcode”为“0000”,则用于指示上述输出测试数据为正常数据;若字段“resultcode”不为“0000”,则用于指示上述输出测试数据为异常数据。
[0121]
应理解,对于http接口或者rpc接口,上述输出测试数据中的错误标识字段还可以为其它字段,本发明实施例中对此并不作限定。
[0122]
当然,电子设备根据上述测试数据中的输入测试数据所包括的节点个数、上述测试数据中的输出测试数据所包括的节点个数,以及上述输出测试数据中的错误标识字段,还可以按照上述公式的其它变形或等效公式,确定上述测试数据的权重值,本发明实施例中对此并不作限定。
[0123]
步骤s201b、根据每组测试数据的权重值,从上述接口对应的多组测试数据中确定出至少一组测试范例候选数据。
[0124]
本步骤中,电子设备可以根据每组测试数据的权重值,从上述接口对应的多组测试数据中确定出高质量的至少一组测试范例候选数据,并将上述至少一组测试范例候选数据中权重值最大(或者说质量最高)的一组测试范例候选数据作为上述接口的目标测试范例数据。
[0125]
可选地,电子设备通过判断上述接口的第i组测试数据的权重值是否大于上述接口的历史测试范例候选数据的权重值;其中,i为取遍2,
……
,n(为上述接口对应的测试数据的总组数)的正整数;上述接口的历史测试范例候选数据为上述接口的前i-1组测试数据中权重值最大的测试数据(需要说明的是,当上述i为2时,上述接口的历史测试范例候选数
据即为上述接口的第1组测试数据)。
[0126]
(a)若上述接口的第i组测试数据的权重值大于上述接口的历史测试范例候选数据的权重值,则电子设备可以将上述第i组测试数据作为一组测试范例候选数据,或者说将上述第i组测试数据作为新的历史测试范例候选数据。(b)若上述接口的第i组测试数据的权重值不大于上述接口的历史测试范例候选数据的权重值,则电子设备可以将上述历史测试范例候选数据继续作为上述接口的新的历史测试范例候选数据。
[0127]
应理解,电子设备通过上述判断过程可以确定出上述接口对应的至少一组历史测试范例候选数据(即测试范例候选数据)。
[0128]
例如,假设上述接口对应5组测试数据,电子设备可以判断上述接口的第2组测试数据的权重值是否大于第1组测试数据(即历史测试范例候选数据1)的权重值;若上述接口的第2组测试数据的权重值大于第1组测试数据的权重值,则电子设备可以将上述第2组测试数据作为上述接口的历史测试范例候选数据2(即新的历史测试范例候选数据);其次,电子设备判断上述接口的第3组测试数据的权重值是否大于上述历史测试范例候选数据2的权重值;若上述接口的第3组测试数据的权重值大于上述历史测试范例候选数据2的权重值,则电子设备可以将上述第3组测试数据作为上述接口的历史测试范例候选数据3(即新的历史测试范例候选数据);然后,电子设备判断上述接口的第4组测试数据的权重值是否大于上述历史测试范例候选数据3的权重值;若上述接口的第4组测试数据的权重值不大于上述历史测试范例候选数据3的权重值,则电子设备可以将上述历史测试范例候选数据3继续作为上述接口的新的历史测试范例候选数据;最后,电子设备判断上述接口的第5组测试数据的权重值是否大于上述历史测试范例候选数据3的权重值;若上述接口的第5组测试数据的权重值大于上述历史测试范例候选数据3的权重值,则电子设备可以将上述第5组测试数据作为上述接口的历史测试范例候选数据4(即新的历史测试范例候选数据)。
[0129]
综上,电子设备可以将上述历史测试范例候选数据1-历史测试范例候选数据4作为上述接口对应的至少一组测试范例候选数据。应理解,上述接口的历史测试范例候选数据4即为上述接口的目标测试范例数据。
[0130]
综上所述,本发明实施例中,通过分别根据接口的每组测试数据,确定每组测试数据的权重值;然后根据每组测试数据的权重值,从上述接口对应的多组测试数据中确定出至少一组测试范例候选数据,其中,上述至少一组测试范例候选数据中权重值最大的测试范例候选数据为上述接口的目标测试范例数据,使得根据上述至少一组测试范例候选数据的数据格式所确定出的上述接口的目标测试范例数据的数据格式更加准确和完整,从而根据上述目标测试范例数据和上述目标测试范例数据的数据格式所得到的上述接口对应的接口文档也更加准确和完整,以便于用户可以根据上述接口对应的接口文档可以准确地调用上述接口。
[0131]
图4为本发明另一实施例提供的接口文档生成方法的流程示意图。在上述实施例的基础上,本发明实施例对接口文档生成方法的整个流程进行介绍。如图4所示,本发明实施例的方法可以包括:
[0132]
1)针对接口开发所得到的接口,通过上述接口对应的至少一组自动化测试用例中的输入数据(即输入测试数据)对上述接口进行自动化测试,得到相应的输出数据(即输出测试数据),即得到上述接口对应的至少一组测试数据。
[0133]
2)根据上述至少一组测试数据的质量评价,从上述至少一组测试数据中选择出至少一组测试范例候选数据,其中,上述至少一组测试范例候选数据中质量最高的一组测试范例候选数据为目标测试范例数据。
[0134]
示例性地,可以通过权重值的方式来表示质量评价。其中,若任意组测试数据的权重值越大,则表示该组测试数据的质量越好;若任意组测试数据的权重值越小,则表示该组测试数据的质量越差。
[0135]
需要说明的是,还可以通过其它方式来表示质量评价,本发明实施例中对此并不作限定。
[0136]
3)提取上述至少一组测试范例候选数据的数据格式。
[0137]
4)根据上述至少一组测试范例候选数据的数据格式进行合并处理,得到上述接口的目标测试范例数据的数据格式。
[0138]
需要说明的是,根据上述目标测试范例数据和上述目标测试范例数据的数据格式,便可得到上述接口的接口文档。
[0139]
本发明实施例中各步骤的实现方式,可以参考本发明上述实施例中的相应内容,此处不再赘述。
[0140]
可见,本发明实施例实现了接口文档的自动生成方式,可以大大节省人力成本和时间成本,从而提高了接口文档的生成效率。另外,当软件开发人员对接口进行了更新时,通过本发明实施例提供的自动生成接口文档的方式,还可以及时地更新上述接口的接口文档,以便于用户可以使用到最新的接口文档,从而可以提高用户调用上述接口的成功率。
[0141]
图5为本发明实施例提供的接口文档生成装置的结构示意图。如图5所示,本发明实施例提供的接口文档生成装置可以包括:第一确定模块501、第二确定模块502、合并模块503和获取模块504。
[0142]
其中,第一确定模块501,用于从接口对应的多组测试数据中确定出至少一组测试范例候选数据;其中,所述测试范例候选数据包括:输入测试范例数据和输出测试范例数据;所述至少一组测试范例候选数据中包括一组目标测试范例;
[0143]
第二确定模块502,用于分别根据所述至少一组测试范例候选数据,确定每组所述测试范例候选数据的数据格式;其中,每组所述测试范例候选数据的数据格式包括:输入测试范例数据的数据格式和输出测试范例数据的数据格式;
[0144]
合并模块503,用于对所述至少一组测试范例候选数据的数据格式进行合并,得到所述接口的目标测试范例数据的数据格式;其中,所述目标测试范例数据的数据格式包括:目标输入测试范例数据的数据格式和目标输出测试范例数据的数据格式,所述目标测试范例数据的数据格式中包括所述至少一组测试范例候选数据中的所有节点以及所述所有节点的信息;
[0145]
获取模块504,用于根据所述目标测试范例数据和所述目标测试范例数据的数据格式,得到所述接口文档。
[0146]
在一种可能的实现方式中,所述第二确定模块502具体用于:
[0147]
对于任意一组测试范例候选数据,根据所述测试范例候选数据中的输入测试范例候选数据和输出测试范例候选数据所包括的各节点的类型,确定所述测试范例候选数据的数据格式。
[0148]
在一种可能的实现方式中,所述目标测试范例数据的数据格式中包括的任意节点的信息包括:节点的标识、类型和重要程度标识;
[0149]
其中,节点的重要程度标识为重要或者非重要,重要程度标识为重要的节点为存在于所述至少一组测试范例候选数据中所有测试范例候选数据中的节点,重要程度标识为非重要的节点为只存在于所述至少一组测试范例候选数据中部分测试范例候选数据中的节点。
[0150]
在一种可能的实现方式中,所述合并模块503具体用于:
[0151]
将所述接口的第j组测试范例候选数据的数据格式中的各第一节点添加到测试范例数据的历史数据格式中,并将所述第一节点的重要程度标识和所述测试范例数据的历史数据格式中的各第二节点的重要程度标识设置为非重要,得到所述接口的测试范例数据的当前数据格式;
[0152]
其中,所述j为取遍2,
……
,n的正整数,所述n为所述接口对应的测试范例候选数据的总组数;所述测试范例数据的历史数据格式为对所述接口的前j-1组测试范例候选数据的数据格式进行合并所得到的;所述第一节点为所述测试范例数据的历史数据格式中不包括的节点,所述第二节点为所述第j组测试范例候选数据的数据格式中不包括的节点;
[0153]
其中,当所述j为n时所得到的接口的测试范例数据的当前数据格式,为所述接口的目标测试范例数据的数据格式。
[0154]
在一种可能的实现方式中,所述第一确定模块501,包括:
[0155]
第一确定单元,用于分别根据所述接口的每组测试数据,确定每组测试数据的权重值;
[0156]
第二确定单元,用于根据所述每组测试数据的权重值,从所述接口对应的多组测试数据中确定出至少一组测试范例候选数据。
[0157]
在一种可能的实现方式中,所述第一确定单元具体用于:
[0158]
对于所述接口的任意一组测试数据,根据所述测试数据中的输入测试数据所包括的节点个数、所述测试数据中的输出测试数据所包括的节点个数,以及所述输出测试数据中的错误标识字段,确定所述测试数据的权重值。
[0159]
在一种可能的实现方式中,所述第二确定单元具体用于:
[0160]
判断所述接口的第i组测试数据的权重值是否大于所述接口的历史测试范例候选数据的权重值;其中,所述i为取遍2,
……
,n的正整数,n为所述接口对应的测试数据的总组数;
[0161]
若所述接口的第i组测试数据的权重值大于所述接口的历史测试范例候选数据的权重值,则将所述第i组测试数据作为一组测试范例候选数据;
[0162]
其中,所述接口的历史测试范例候选数据为所述接口的前i-1组测试数据中权重值最大的测试数据。
[0163]
在一种可能的实现方式中,所述目标测试范例数据为所述至少一组测试范例候选数据中权重值最大的测试范例候选数据。
[0164]
本发明实施例提供的接口文档生成装置,可以用于执行本发明上述接口文档生成方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0165]
图6为本发明实施例提供的电子设备的结构示意图。如图6示,本发明实施例提供
的电子设备可以包括:存储器601、处理器602及存储在所述存储器601上并可在所述处理器602上运行的计算机程序。示例性地,所述电子设备还可以包括用于与其它设备通信的通信接口603,其中,所述存储器601、处理器602和所述通信接口603可以通过系统总线连接。
[0166]
其中,所述处理器602执行所述计算机程序时实现本发明上述接口文档生成方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0167]
可选的,上述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0168]
在示例性实施例中,上述电子设备还可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0169]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现本发明上述接口文档生成方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0170]
示例性地,上述的存储器(存储介质)可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0171]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
[0172]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献