CN109960658B - 应用程序编程接口测试方法、装置、电子设备及存储介质 - Google Patents

应用程序编程接口测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN109960658B
CN109960658B CN201910247960.0A CN201910247960A CN109960658B CN 109960658 B CN109960658 B CN 109960658B CN 201910247960 A CN201910247960 A CN 201910247960A CN 109960658 B CN109960658 B CN 109960658B
Authority
CN
China
Prior art keywords
host
api
scene
tested
test case
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
CN201910247960.0A
Other languages
English (en)
Other versions
CN109960658A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201910247960.0A priority Critical patent/CN109960658B/zh
Publication of CN109960658A publication Critical patent/CN109960658A/zh
Application granted granted Critical
Publication of CN109960658B publication Critical patent/CN109960658B/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/3688Test management for test execution, e.g. scheduling of test suites

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

本发明实施例提供了一种应用程序编程接口测试方法、装置、电子设备及存储介质,其中,该方法包括:确定待测试软件系统的多个工作场景;对多个工作场景进行组合,得到多个组合工作场景;基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。通过对所有的组合工作场景对应的所有待测试API进行测试,可以结合该待测试软件系统的实际工作场景的组合,实现对该待测试软件系统的所有待测试API进行全面的测试,从而可以保证该待测试软件系统在组合工作场景下,能够正常使用。并且,由于该测试过程是可以在电子设备中完全进行的,因此,可以降低人力成本,提高测试效率。

Description

应用程序编程接口测试方法、装置、电子设备及存储介质
技术领域
本发明涉及测试技术领域,特别是涉及一种应用程序编程接口测试方法、装置、电子设备及存储介质。
背景技术
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于软件或硬件访问一组例程的能力。通过在软件系统中采用API,可以在增加该软件系统的功能或使用该软件系统的资源时,不需要更改该软件系统的源代码。也就是说,该软件系统可以通过API向外部程序提供自身的服务。在软件系统公开其API后,可以吸引更多的开发者基于该API开发出各种富有创意的应用软件。
当对该软件系统进行更新时,通常是采用灰度测试的方式进行更新,也即,让使用该软件系统的大部分用户使用已上线的软件系统,让小部分用户使用待更新的软件系统,然后对该待更新的软件系统的API进行测试,在测试通过后,逐步将使用该已上线的软件系统的用户转移到该待更新的软件系统中,这样,可以保证对软件系统的更新的稳定性,并且可以尽早的发现待更新的软件系统存在的问题,以便及时解决存在的问题。
目前,通常采用手工测试的方式,对待测试软件系统的所有API进行测试,当该待测试软件系统的API比较多时,会提高了人力成本。且,现有的软件系统在开发和测试时,是将软件系统基于功能划分成各个模块,每个模块由相应的研发团队来负责。当有新的功能模块发布采用灰度测试方式时,各个团队的测试人员仅对其所负责的功能模块的API进行测试,并不会对整个软件系统进行全面测试,这样会导致当新的功能模块发布后,该软件系统出现部分功能无法正常使用的问题。
发明内容
本发明实施例的目的在于提供一种应用程序编程接口测试方法、装置、电子设备及存储介质,以实现自动对待测试软件系统的所有API进行全面的组合测试,以保证该待测试软件系统在组合工作场景下,能够正常使用。具体技术方案如下:
第一方面,本发明实施例提供了一种应用程序编程接口测试方法,该方法包括:
确定待测试软件系统的多个工作场景;其中,待测试软件系统包括多个待测试API,每个工作场景对应多个待测试API;
对多个工作场景进行组合,得到多个组合工作场景;
基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。
可选的,在基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试之前,该测试方法还包括:
获取所有待测试API中每个待测试API对应的测试用例;
采用与待测试API对应的测试用例,对待测试API进行测试,得到待测试API对应的测试结果。
可选的,待测试API为以下任一种:
获取主机详情API、获取可用IP地址API、创建主机API、关闭主机API、开启主机API、重启主机API、删除主机API;其中,主机包括物理主机或者虚拟主机。
可选的,在获取所有待测试API中每个待测试API对应的测试用例之后,该测试方法还包括:
按照预先设置的待测试API与工作场景的对应关系,对所有待测试API中每个待测试API的测试用例进行分配,得到每个工作场景对应的多个测试用例;
采用每个工作场景对应的多个测试用例,对每个工作场景对应的多个待测试API进行测试,得到工作场景对应的测试结果。
可选的,多个工作场景包括以下一种或多种:创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景;
创建主机场景对应的待测试API包括:获取主机详情API、获取可用IP地址API和创建主机API;关闭主机场景对应的待测试API包括:获取主机详情API和关闭主机API;开启主机场景对应的待测试API包括:获取主机详情API和开启主机API;重启主机场景对应的待测试API包括:获取主机详情API和重启主机API;删除主机场景对应的待测试API包括:获取主机详情API和删除主机API。
可选的,对多个工作场景进行组合,得到多个组合工作场景,包括:
从创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景中选择至少两个进行组合,得到多个待确定组合工作场景;
将包含创建主机场景的待确定组合工作场景作为组合工作场景,得到多个组合工作场景。
可选的,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果,包括:
基于每个待测试API对应的测试用例,对每个组合工作场景对应的待测试API的测试用例进行组合,得到每个工作场景对应的组合测试用例;
采用每个工作场景对应的组合测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到每个组合工作场景对应的测试结果。
可选的,采用每个工作场景对应的组合测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到每个组合工作场景对应的测试结果,包括:
当组合工作场景包含创建主机场景时,采用创建主机场景对应的创建主机API测试用例,调用创建主机API创建主机,创建主机API测试用例包括创建主机的输入参数,输入参数至少包括:主机名称、主机密码;
采用创建主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取创建的主机的详情信息;其中,创建的主机的详情信息包括:主机ID、第一主机状态、主机名称;
采用创建主机场景对应的获取可用IP地址API测试用例,调用获取可用IP地址API获取创建的主机的可用的IP地址;
当组合工作场景包含关闭主机场景时,采用关闭主机场景对应的关闭主机API测试用例,调用关闭主机API关闭创建的主机;
采用关闭主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取关闭的主机的详情信息;其中,关闭的主机的详情信息包括:第二主机状态;
当组合工作场景包含开启主机场景时,采用开启主机场景对应的开启主机API测试用例,调用开启主机API开启创建的主机;
采用开启主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取开启的主机的详情信息;其中,开启的主机的详情信息包括:第三主机状态;
当组合工作场景包含重启主机场景时,采用重启主机场景对应的重启主机API测试用例,调用重启主机API重启创建的主机;
采用重启主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取重启的主机的详情信息;其中,重启的主机的详情信息包括:第四主机状态;
当组合工作场景包含删除主机场景时,采用删除主机场景对应的删除主机API测试用例,调用删除主机API删除创建的主机;
采用删除主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取删除的主机的详情信息;其中,重启的主机的详情信息包括:第五主机状态。
第二方面,本发明实施例还提供了一种应用程序编程接口测试装置,该装置包括:
工作场景获取模块,用于确定待测试软件系统的多个工作场景;其中,待测试软件系统包括多个待测试API,每个工作场景对应多个待测试API;
场景组合模块,用于对多个工作场景进行组合,得到多个组合工作场景;
组合测试模块,用于基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。
可选的,该测试装置还包括:
测试用例获取模块,用于获取所有待测试API中每个待测试API对应的测试用例;
单独测试模块,采用与待测试API对应的测试用例,对待测试API进行测试,得到待测试API对应的测试结果。
可选的,待测试API为以下任一种:
获取主机详情API、获取可用IP地址API、创建主机API、关闭主机API、开启主机API、重启主机API、删除主机API;其中,主机包括物理主机或者虚拟主机。
可选的,该测试装置还包括:
测试用例分配模块,用于按照预先设置的待测试API与工作场景的对应关系,对所有待测试API中每个待测试API的测试用例进行分配,得到每个工作场景对应的多个测试用例;
场景测试模块,用于采用每个工作场景对应的多个测试用例,对每个工作场景对应的多个待测试API进行测试,得到工作场景对应的测试结果。
可选的,多个工作场景包括以下一种或多种:创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景;
创建主机场景对应的待测试API包括:获取主机详情API、获取可用IP地址API和创建主机API;关闭主机场景对应的待测试API包括:获取主机详情API和关闭主机API;开启主机场景对应的待测试API包括:获取主机详情API和开启主机API;重启主机场景对应的待测试API包括:获取主机详情API和重启主机API;删除主机场景对应的待测试API包括:获取主机详情API和删除主机API。
可选的,场景组合模块,包括:
第一场景组合子模块,用于从创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景中选择至少两个进行组合,得到多个待确定组合工作场景;
组合工作场景确定子模块,用于将包含创建主机场景的待确定组合工作场景作为组合工作场景,得到多个组合工作场景。
可选的,组合测试模块,包括:
测试用例组合子模块,用于基于每个待测试API对应的测试用例,对每个组合工作场景对应的待测试API的测试用例进行组合,得到每个工作场景对应的组合测试用例;
组合测试子模块,用于采用每个工作场景对应的组合测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到每个组合工作场景对应的测试结果。
可选的,组合测试子模块,具体用于:
当组合工作场景包含创建主机场景时,采用创建主机场景对应的创建主机API测试用例,调用创建主机API创建主机,创建主机API测试用例包括创建主机的输入参数,输入参数至少包括:主机名称、主机密码;
采用创建主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取创建的主机的详情信息;其中,创建的主机的详情信息包括:主机ID、第一主机状态、主机名称;
采用创建主机场景对应的获取可用IP地址API测试用例,调用获取可用IP地址API获取创建的主机的可用的IP地址;
当组合工作场景包含关闭主机场景时,采用关闭主机场景对应的关闭主机API测试用例,调用关闭主机API关闭创建的主机;
采用关闭主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取关闭的主机的详情信息;其中,关闭的主机的详情信息包括:第二主机状态;
当组合工作场景包含开启主机场景时,采用开启主机场景对应的开启主机API测试用例,调用开启主机API开启创建的主机;
采用开启主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取开启的主机的详情信息;其中,开启的主机的详情信息包括:第三主机状态;
当组合工作场景包含重启主机场景时,采用重启主机场景对应的重启主机API测试用例,调用重启主机API重启创建的主机;
采用重启主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取重启的主机的详情信息;其中,重启的主机的详情信息包括:第四主机状态;
当组合工作场景包含删除主机场景时,采用删除主机场景对应的删除主机API测试用例,调用删除主机API删除创建的主机;
采用删除主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取删除的主机的详情信息;其中,重启的主机的详情信息包括:第五主机状态。
第三方面,本发明实施例还提供了一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述第一方面提供的一种应用程序编程接口测试方法步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时,实现上述第一方面提供的一种应用程序编程接口测试方法步骤。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提供的一种应用程序编程接口测试方法步骤。
第六方面,本发明实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面提供的一种应用程序编程接口测试方法步骤。
本发明实施例提供的一种应用程序编程接口测试方法、装置、电子设备及存储介质,可以在确定待测试软件系统的多个工作场景后,对该多个工作场景进行组合,得到多个组合工作场景,然后针对每个组合工作场景,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。通过对所有的组合工作场景对应的所有待测试API进行测试,可以结合该待测试软件系统的实际工作场景的组合,实现对该待测试软件系统的所有待测试API进行全面的测试,以保证该待测试软件系统在组合工作场景下,能够正常使用。并且,由于该测试过程是可以在电子设备中完全进行的,因此,可以降低人力成本,提高测试效率,进而可以提高软件系统上线后的可用性。当然,实施本发明的任一产品或方法并不一定需要同时达到上述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种应用程序编程接口测试方法第一种实施方式的流程图;
图2为本发明实施例的一种应用程序编程接口测试方法第二种实施方式的流程图;
图3为本发明实施例的一种应用程序编程接口测试方法第三种实施方式的流程图;
图4为本发明实施例的一种应用程序编程接口测试方法第四种实施方式的流程图;
图5为本发明实施例的一种应用程序编程接口测试装置的结构示意图;
图6为本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术存在的问题,本发明实施例提供了一种应用程序编程接口测试方法、装置、电子设备及存储介质,以实现自动对待测试软件系统的所有API进行全面的组合测试,降低人力成本,提高测试效率。
下面,首先对本发明实施例的一种应用程序编程接口测试方法进行介绍,如图1所示,为本发明实施例的一种应用程序编程接口测试方法第一种实施方式的流程图,该方法可以包括:
S110,确定待测试软件系统的多个工作场景。
S120,对多个工作场景进行组合,得到多个组合工作场景。
其中,待测试软件系统包括多个待测试API,每个工作场景对应多个待测试API,每个待测试API具有对应的测试用例。
在一些示例中,在采用本发明实施例的一种应用程序编程接口测试方法进行测试前,工作人员可以针对每个待测试API编写对应的测试用例,以便对待测试API进行测试。
当工作人员针对每个待测试API编写好对应的测试用例后,可以将编写的测试用例输入应用本发明实施例的应用程序编程接口测试方法的电子设备。
在一些示例中,工作人员可以向上述的电子设备输入对待测试软件系统进行测试的多个工作场景,然后可以输入与每个工作场景对应的待测试API的标识信息。因此,该电子设备可以确定出待测试软件系统的多个工作场景。
上述的电子设备在确定出该多个工作场景后,为了对该待测试软件系统的所有待测试API进行全面的测试,可以对该多个工作场景进行组合,以便在后续步骤中,按照组合的场景对该所有待测试API进行测试。
例如,假设上述的电子设备确定出的多个工作场景为:“工作场景1”、“工作场景2”、“工作场景3”,则该电子设备可以对该三个工作场景进行组合,得到的组合工作场景分别为:“组合工作场景1”、“组合工作场景2”、“组合工作场景3”以及“组合工作场景4”,其中,“组合工作场景1”可以包括:“工作场景1”和“工作场景2”;“组合工作场景2”可以包括:“工作场景1”和“工作场景3”;组合工作场景3”可以包括:“工作场景2”和“工作场景3”;“组合工作场景4”可以包括:“工作场景1”、“工作场景2”和“工作场景3”。这样,在后续测试时,可以按照该组合的工作场景,对与该组合工作场景对应的所有待测试API进行测试。
S130,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。
上述的电子设备在得到多个组合工作场景后,可以依次对多个组合工作场景中的每个组合工作场景进行测试,以确定待测试API在不同的组合工作场景中的测试结果。
在一些示例中,上述的电子设备在对每个组合工作场景中的待测试API进行测试时,可以依据与该组合工作场景中每个工作场景对应的待测试API的标识信息,来获取对应的待测试API的测试用例,然后采用该组合工作场景中的每个工作场景对应的待测试API的测试用例,依次对该组合工作场景对应的所有待测试API进行测试。
假设上述的电子设备对“组合工作场景1”对应的所有待测试API进行测试,该“组合工作场景1”中的“工作场景1”对应的待测试API为“待测试API1”和“待测试API2”,该“组合工作场景1”中的“工作场景2”对应的待测试API为“待测试API3”和“待测试API4”。则上述的电子设备可以分别获取“待测试API1”对应的“测试用例1”、“待测试API2”对应的“测试用例2”、“待测试API3”对应的“测试用例3”、“待测试API4”对应的“测试用例4”。
然后,上述的电子设备可以使用“测试用例1”对“待测试API1”进行测试,得到该“待测试API1”返回的测试参数;将该“待测试API1”返回的测试参数作为“测试用例2”的输入参数,对“待测试API2”进行测试,得到“待测试API2”返回的测试参数;将“待测试API2”返回的测试参数作为“测试用例3”的输入参数,对“待测试API3”进行测试,得到“待测试API3”返回的测试参数;将“待测试API3”返回的测试参数作为“测试用例4”的输入参数,对“待测试API4”进行测试,最后,得到该“组合工作场景1”对应的测试结果。
上述的电子设备可以参考上述的步骤,对其他的组合工作场景对应的待测试API进行测试,从而可以实现对所有待测试API的全面测试。
本发明实施例提供的一种应用程序编程接口测试方法,可以在确定待测试软件系统的多个工作场景后,对该多个工作场景进行组合,得到多个组合工作场景,然后针对每个组合工作场景,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。通过对所有的组合工作场景对应的所有待测试API进行测试,可以结合该待测试软件系统的实际工作场景的组合,实现对该待测试软件系统的所有待测试API进行全面的测试,从而可以保证该待测试软件系统在组合工作场景下,能够正常使用。并且,由于该测试过程是可以在电子设备中完全进行的,因此,可以降低人力成本,提高测试效率,进而可以提高软件系统上线后的可用性。
在一些示例中,本发明实施例的一种应用程序编程接口测试方法除了根据待测试软件系统的实际工作场景,对所有待测试API进行全面组合测试外,还可以针对每个待测试API进行分别测试。
例如,在图1所示的应用程序编程接口测试方法的基础上,本发明实施例还提供了一种可能的实现方式,如图2所示,为本发明实施例的一种应用程序编程接口测试方法第二种实施方式的流程图,在步骤S130,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试之前,该测试方法还可以包括:
S140,获取所有待测试API中每个待测试API对应的测试用例。
S150,采用与待测试API对应的测试用例,对待测试API进行测试,得到待测试API对应的测试结果。
在一些示例中,该待测试API为以下任一种:
获取主机详情API、获取可用IP地址API、创建主机API、关闭主机API、开启主机API、重启主机API、删除主机API。
在一些示例中,主机包括物理主机或者虚拟主机。
在一些示例中,上述的电子设备可以获取该待测试软件系统的所有待测试API的标识信息,然后根据该所有待测试API的每个待测试API的标识信息,获取到对应的测试用例,然后采用与该待测试API对应的测试用例,对该对应的待测试API进行测试。可以得到每个待测试API对应的测试结果。
在一些示例中,在对每个待测试API进行测试时,可以在该待测试API对应的测试用例中预先设置测试输入参数,然后调用该待测试API进行测试。
例如,假设上述的电子设备对创建主机API进行测试,则可以在该创建主机API对应的测试用例设置输入参数,该输入参数可以包括主机名称、主机密码、主机安全组信息等。该主机安全组信息包括:能够访问待创建的主机的应用程序或IP地址,还可以包括禁止访问该待创建的主机的应用程序或IP地址。
然后调用该创建主机API创建主机,可以得到对该创建主机API进行测试的测试结果为该创建的主机的标识信息。该创建的主机的标识信息可以是该创建的主机的ID。
通过本发明实施例,在对待测试软件系统的所有待测试API进行组合测试前,可以先对每个待测试API进行测试,当所有的待测试API单独测试通过后,在组合测试的测试结果异常时,可以排除单个待测试API出现异常的情况,从而降低查找异常原因的时间开销。
在一些示例中,在对每个待测试API单独进行测试后,本发明实施例在图2所示的应用程序编程接口测试方法的基础上,本发明实施例还提供了一种可能的实现方式,如图3所示,为本发明实施例的一种应用程序编程接口测试方法第三种实施方式的流程图,在步骤S140,获取所有待测试API中每个待测试API对应的测试用例之后,该测试方法还可以包括:
S160,按照预先设置的待测试API与工作场景的对应关系,对所有待测试API中每个待测试API的测试用例进行分配,得到每个工作场景对应的多个测试用例。
S170,采用每个工作场景对应的多个测试用例,对每个工作场景对应的多个待测试API进行测试,得到工作场景对应的测试结果。
在一些示例中,上述的电子设备除了对所有的待测试API进行单独测试外,还可以按照工作场景,对每个工作场景对应的待测试API进行测试。
在一些示例中,该多个工作场景包括以下一种或多种:创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景;
在一些示例中,创建主机场景对应的待测试API包括:获取主机详情API、获取可用IP地址API和创建主机API;关闭主机场景对应的待测试API包括:获取主机详情API和关闭主机API;开启主机场景对应的待测试API包括:获取主机详情API和开启主机API;重启主机场景对应的待测试API包括:获取主机详情API和重启主机API;删除主机场景对应的待测试API包括:获取主机详情API和删除主机API。
该电子设备可以按照上述的对应关系,为该多个工作场景分配对应的待测试API的测试用例,将该待测试软件系统的所有待测试API的测试用例分配至该多个工作场景,从而使得每个工作场景都具有对应的待测试API的测试用例。
上述的电子设备在对该待测试软件系统的所有待测试API的测试用例分配完成后,可以针对每个工作场景,测试该工作场景对应的待测试API。
在一些示例中,上述的电子设备可以采用每个工作场景对应的多个测试用例,对该工作场景对应的多个待测试API进行测试。
例如,假设上述的电子设备对创建主机场景对应的待测试API进行测试,则可以首先为该创建主机场景分配对应的待测试API的测试用例,即:获取主机详情API的测试用例、获取可用IP地址API的测试用例和创建主机API的测试用例;
然后采用获取主机详情API的测试用例、获取可用IP地址API的测试用例和创建主机API的测试用例对该创建主机场景对应的待测试API进行测试。
在一些示例中,该创建主机API的测试用例中可以包含有输入参数。在调用创建主机API时,可以将该输入参数作为该创建主机API的输入参数,以创建主机;
然后上述的电子设备可以采用该获取可用IP地址API的测试用例来调用该获取可用IP地址API,以获取创建的主机的可以使用的IP地址,当该电子设备能够获取到该创建的主机的可以使用的IP地址后,则可以说明该创建主机API创建主机成功。
在一些示例中,上述的电子设备在获取到创建的主机的IP地址后,还可以采用获取主机详情API的测试用例调用获取主机详情API,以获取该创建的主机的详情。
在一些示例中,该创建的主机的详情可以包括:主机的名称、主机状态和主机ID等,该主机状态可以包括成功状态或失败状态。
当该电子设备在通过调用该获取主机详情API获取到该创建的主机的ID和创建的主机的主机状态为成功状态时,则可以说明该创建主机API运行正常,也说明该获取主机详情API运行正常。
当上述的电子设备对关闭主机场景对应的待测试API进行测试,则可以首先为该关闭主机场景分配对应的待测试API的测试用例,即:获取主机详情API的测试用例和关闭主机API的测试用例;
然后采用获取主机详情API的测试用例调用获取主机详情API获取已经创建好的主机的主机详情,以确保已经创建好的主机运行正常。
在获取到主机详情后,采用关机主机API的测试用例调用关机主机API以关闭已经创建好的主机,最后,再次采用获取主机详情API的测试用例调用获取主机详情API,获取关闭主机API关闭的主机的主机详情。当获取到的关闭的主机的主机详情中的主机状态为关闭状态时,则可以说明该关闭主机API运行正常。
当上述的电子设备对开启主机场景对应的待测试API进行测试,则可以首先为该开启主机场景分配对应的待测试API的测试用例,即:获取主机详情API的测试用例和开启主机API的测试用例;
然后采用获取主机详情API的测试用例调用获取主机详情API获取已经关闭的主机的主机详情,以确保主机已经关闭。
在获取到主机详情后,采用开启主机API的测试用例调用开启主机API以开启已经关闭的主机,最后,再次采用获取主机详情API的测试用例调用获取主机详情API,获取开启主机API开启的主机的主机详情。当获取到的开启的主机的主机详情中的主机状态为开启状态时,则可以说明该关闭主机API运行正常。
当上述的电子设备对重启主机场景对应的待测试API进行测试,则可以首先为该重启主机场景分配对应的待测试API的测试用例,即:获取主机详情API的测试用例和重启主机API的测试用例;
然后采用获取主机详情API的测试用例调用获取主机详情API获取已经创建好的主机的主机详情,以确保已经创建好的主机运行正常。
在获取到主机详情后,采用重启主机API的测试用例调用重启主机API以重启已经创建好的主机,最后,再次采用获取主机详情API的测试用例调用获取主机详情API,获取重启主机API重启的主机的主机详情。
在一些示例中,上述的获取主机详情API的测试用例可以采用轮询的方式来调用获取主机详情API,当获取到的重启的主机的主机详情中主机状态为“rebooting”时,则可以说明该主机正在重启,当获取到的关闭的主机的主机详情中的主机状态为“rebooted”时,说明该重启的主机已经成功重启,则可以说明该重启主机API运行正常。
当上述的电子设备对删除主机场景对应的待测试API进行测试时,则可以首先为该删除主机场景分配对应的待测试API的测试用例,即:获取主机详情API的测试用例和删除主机API的测试用例;
然后采用获取主机详情API的测试用例调用获取主机详情API获取已经创建好的主机的主机详情,以确保已经创建好的主机运行正常。
在获取到主机详情后,采用删除主机API的测试用例调用删除主机API以删除已经创建好的主机,最后,再次采用获取主机详情API的测试用例调用获取主机详情API,获取删除主机API删除的主机的主机详情。当获取到的删除的主机的主机详情中的主机状态为“deleting”时,则可以说明该删除的主机正在删除中,当无法获取到该删除的主机的主机详情时,则可以说明该删除的主机已经被成功删除,进而可以说明该删除主机API运行正常。
在一些示例中,可以在该电子设备采用获取主机详情API的测试用例调用获取主机详情API之前,设置一个获取主机详情的预测值,该预测值可以包括预测的主机名称、预测的主机状态和预测的主机ID等。在获取到创建的主机的详情后,可以将获取的主机的详情与该预测值进行对比,以确定该创建主机API和获取主机详情API是否运行正常。
通过本发明实施例,可以实现对所有工作场景中的每个工作场景对应的待测试API的组合测试,可以实现按照工作场景对待测试API进行测试,以确定在每个工作场景中,对应的待测试API是否可以正常运行。这样,在组合测试的测试结果异常时,可以排除单个工作场景对应的待测试API的异常,从而可以降低查找异常原因的时间开销。
在图3所示的应用程序编程接口测试方法的基础上,本发明实施例还提供了一种可能的实现方式,如图4所示,为本发明实施例的一种应用程序编程接口测试方法第四种实施方式的流程图,步骤S130,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果,可以包括:
S131,基于每个待测试API对应的测试用例,对每个组合工作场景对应的待测试API的测试用例进行组合,得到每个工作场景对应的组合测试用例。
在一些示例中,当上述的待测试软件系统的多个工作场景包括:创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景时,在对该多个工作场景进行组合时,可以采用以下步骤进行组合:
步骤A,从创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景中选择至少两个进行组合,得到多个待确定组合工作场景。
步骤B,将包含创建主机场景的待确定组合工作场景作为组合工作场景,得到多个组合工作场景。
在一些示例中,上述的电子设备可以对该多个工作场景进行随机组合,得到该5种工作场景的所有的待确定组合工作场景,共26个组合,然后在该26种待确定组合工作场景中,选择包含创建主机场景的待确定组合工作场景,从而可以得到多个组合工作场景,共15个组合工作场景。
在又一些示例中,上述的电子设备在对上述的5种工作场景进行组合时,将该创建主机场景作为每个组合工作场景中的确定的工作场景,然后在其他4种工作场景中,任选择1种工作场景、2种工作场景、3种工作场景进行组合,以及将所有工作场景作为一个组合工作场景,也可以得到上述的多个组合工作场景。
上述的电子设备在得到该多个组合工作场景后,可以针对每个组合工作场景,获取该组合工作场景中的每个工作场景对应的待测试API的测试用例,然后对该组合工作场景中的每个工作场景对该组合工作场景对应的待测试API的测试用例进行组合,从而可以得到每个工作场景对应的组合测试用例。
通过对该组合工作场景中的每个工作场景对应的待测试API的测试用例进行组合,可以在测试时,避免重复调用同一个待测试API。
例如,将创建主机工作场景中的待测试API的测试用例和关闭主机工作场景中的待测试API的测试用例进行组合,可以在测试时,避免重复调用获取主机详情API。
S132,采用每个工作场景对应的组合测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到每个组合工作场景对应的测试结果。
上述的电子设备在对每个组合工作场景对应的待测试API的测试用例进行组合后,可以采用每个工作场景对应的组合测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到每个组合工作场景对应的测试结果。
在一些示例中,当该组合工作场景包含创建主机场景时,采用创建主机场景对应的创建主机API测试用例,调用创建主机API创建主机,创建主机API测试用例包括创建主机的输入参数,输入参数至少可以包括:主机名称、主机密码;
采用创建主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取创建的主机的详情信息。
其中,创建的主机的详情信息可以包括:主机ID、第一主机状态、主机名称;
采用创建主机场景对应的获取可用IP地址API测试用例,调用获取可用IP地址API获取创建的主机的可用的IP地址。
当组合工作场景包含关闭主机场景时,上述的电子设备可以将获取到的创建的主机的详情信息作为关闭主机API测试用例的输入参数,然后采用关闭主机场景对应的关闭主机API测试用例,调用关闭主机API关闭创建的主机;
采用关闭主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取关闭的主机的详情信息。
其中,关闭的主机的详情信息可以包括:第二主机状态;
当组合工作场景包含开启主机场景时,上述的电子设备可以将获取到的关闭的主机的详情信息作为开启主机API测试用例的输入参数,然后采用开启主机场景对应的开启主机API测试用例,调用开启主机API开启创建的主机;
采用开启主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取开启的主机的详情信息。
其中,开启的主机的详情信息可以包括:第三主机状态。
当组合工作场景包含重启主机场景时,上述的电子设备可以将获取到的创建的主机详情信息或开启的主机的详情信息,作为重启主机API测试用例的输入参数,然后采用重启主机场景对应的重启主机API测试用例,调用重启主机API重启创建的主机;
采用重启主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取重启的主机的详情信息。
其中,重启的主机的详情信息可以包括:第四主机状态;
当组合工作场景包含删除主机场景时,上述的电子设备可以将获取到的创建的主机的详情信息或开启的主机的详情信息或重启的主机的详情信息,作为删除主机API测试用例的输入参数,然后采用删除主机场景对应的删除主机API测试用例,调用删除主机API删除创建的主机。
采用删除主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取删除的主机的详情信息。
其中,重启的主机的详情信息可以包括:第五主机状态。
在一些示例中,该第一主机状态可以包括创建成功状态或创建失败状态,该第二主机状态可以包括开启成功状态或开启失败状态,该第三主机状态可以包括关闭成功状态或关闭失败状态,该第四主机状态可以包括重启成功状态或重启失败状态,该第五主机状态可以包括删除成功状态或删除失败状态。
通过本发明实施例,可以实现在对工作场景对应的待测试API的测试用例进行组合后,按照组合后的测试用例,对待测试API进行测试,从而可以实现对待测试软件系统的所有待测试API的全面测试。
相应于上述的方法实施例,本发明实施例还提供了一种应用程序编程接口测试装置,如图5所示,为本发明实施例的一种应用程序编程接口测试装置的结构示意图,该测试装置可以包括:
工作场景获取模块510,用于确定待测试软件系统的多个工作场景;其中,待测试软件系统包括多个待测试API,每个工作场景对应多个待测试API;
场景组合模块520,用于对多个工作场景进行组合,得到多个组合工作场景;
组合测试模块530,用于基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。
本发明实施例提供的一种应用程序编程接口测试装置,可以在确定待测试软件系统的多个工作场景后,对该多个工作场景进行组合,得到多个组合工作场景,然后针对每个组合工作场景,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。通过对所有的组合工作场景对应的所有待测试API进行测试,可以结合该待测试软件系统的实际工作场景的组合,实现对该待测试软件系统的所有待测试API进行全面的测试,从而可以保证该待测试软件系统在组合工作场景下,能够正常使用。并且,由于该测试过程是可以在电子设备中完全进行的,因此,可以降低人力成本,提高测试效率,进而可以提高软件系统上线后的可用性。
可选的,该测试装置还包括:
测试用例获取模块,用于获取所有待测试API中每个待测试API对应的测试用例;
单独测试模块,采用与待测试API对应的测试用例,对待测试API进行测试,得到待测试API对应的测试结果。
可选的,待测试API为以下任一种:
获取主机详情API、获取可用IP地址API、创建主机API、关闭主机API、开启主机API、重启主机API、删除主机API;其中,主机包括物理主机或者虚拟主机。
可选的,该测试装置还包括:
测试用例分配模块,用于按照预先设置的待测试API与工作场景的对应关系,对所有待测试API中每个待测试API的测试用例进行分配,得到每个工作场景对应的多个测试用例;
场景测试模块,用于采用每个工作场景对应的多个测试用例,对每个工作场景对应的多个待测试API进行测试,得到工作场景对应的测试结果。
可选的,多个工作场景包括以下一种或多种:创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景;
创建主机场景对应的待测试API包括:获取主机详情API、获取可用IP地址API和创建主机API;关闭主机场景对应的待测试API包括:获取主机详情API和关闭主机API;开启主机场景对应的待测试API包括:获取主机详情API和开启主机API;重启主机场景对应的待测试API包括:获取主机详情API和重启主机API;删除主机场景对应的待测试API包括:获取主机详情API和删除主机API。
可选的,场景组合模块520,包括:
第一场景组合子模块,用于从创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景中选择至少两个进行组合,得到多个待确定组合工作场景;
组合工作场景确定子模块,用于将包含创建主机场景的待确定组合工作场景作为组合工作场景,得到多个组合工作场景。
可选的,组合测试模块530,包括:
测试用例组合子模块,用于基于每个待测试API对应的测试用例,对每个组合工作场景对应的待测试API的测试用例进行组合,得到每个工作场景对应的组合测试用例;
组合测试子模块,用于采用每个工作场景对应的组合测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到每个组合工作场景对应的测试结果。
可选的,组合测试子模块,具体用于:
当组合工作场景包含创建主机场景时,采用创建主机场景对应的创建主机API测试用例,调用创建主机API创建主机,创建主机API测试用例包括创建主机的输入参数,输入参数至少包括:主机名称、主机密码;
采用创建主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取创建的主机的详情信息;其中,创建的主机的详情信息可以包括:主机ID、第一主机状态、主机名称;
采用创建主机场景对应的获取可用IP地址API测试用例,调用获取可用IP地址API获取创建的主机的可用的IP地址;
当组合工作场景包含关闭主机场景时,采用关闭主机场景对应的关闭主机API测试用例,调用关闭主机API关闭创建的主机;
采用关闭主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取关闭的主机的详情信息;其中,关闭的主机的详情信息可以包括:第二主机状态;
当组合工作场景包含开启主机场景时,采用开启主机场景对应的开启主机API测试用例,调用开启主机API开启创建的主机;
采用开启主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取开启的主机的详情信息;其中,开启的主机的详情信息可以包括:第三主机状态;
当组合工作场景包含重启主机场景时,采用重启主机场景对应的重启主机API测试用例,调用重启主机API重启创建的主机;
采用重启主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取重启的主机的详情信息;其中,重启的主机的详情信息可以包括:第四主机状态;
当组合工作场景包含删除主机场景时,采用删除主机场景对应的删除主机API测试用例,调用删除主机API删除创建的主机;
采用删除主机场景对应的获取主机详情API测试用例,调用获取主机详情API获取删除的主机的详情信息;其中,重启的主机的详情信息可以包括:第五主机状态。
本发明实施例还提供了一种电子设备,如图6所示,为本发明实施例的一种应用程序编程接口测试方法应用于电子设备的结构示意图,该电子设备可以包括处理器601和机器可读存储介质602,机器可读存储介质602存储有能够被处理器601执行的机器可执行指令,处理器601被机器可执行指令促使实现上述任一方法实施例的测试方法的步骤,例如,可以实现以下步骤:
确定待测试软件系统的多个工作场景;其中,待测试软件系统包括多个待测试API,每个工作场景对应多个待测试API;
对多个工作场景进行组合,得到多个组合工作场景;
基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。
机器可读存储介质602可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器601可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供的一种电子设备,可以在确定待测试软件系统的多个工作场景后,对该多个工作场景进行组合,得到多个组合工作场景,然后针对每个组合工作场景,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。通过对所有的组合工作场景对应的所有待测试API进行测试,可以结合该待测试软件系统的实际工作场景的组合,实现对该待测试软件系统的所有待测试API进行全面的测试,从而可以保证该待测试软件系统在组合工作场景下,能够正常使用。并且,由于该测试过程是可以在电子设备中完全进行的,因此,可以降低人力成本,提高测试效率,进而可以提高软件系统上线后的可用性。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例的测试方法的步骤,例如,可以实现如下步骤:
确定待测试软件系统的多个工作场景;其中,待测试软件系统包括多个待测试API,每个工作场景对应多个待测试API;
对多个工作场景进行组合,得到多个组合工作场景;
基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。
本发明实施例还提供的一种计算机可读存储介质,可以在确定待测试软件系统的多个工作场景后,对该多个工作场景进行组合,得到多个组合工作场景,然后针对每个组合工作场景,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。通过对所有的组合工作场景对应的所有待测试API进行测试,可以结合该待测试软件系统的实际工作场景的组合,实现对该待测试软件系统的所有待测试API进行全面的测试,从而可以保证该待测试软件系统在组合工作场景下,能够正常使用。并且,由于该测试过程是可以在电子设备中完全进行的,因此,可以降低人力成本,提高测试效率,进而可以提高软件系统上线后的可用性。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方法实施例的测试方法的步骤,例如,可以执行以下步骤:
确定待测试软件系统的多个工作场景;其中,待测试软件系统包括多个待测试API,每个工作场景对应多个待测试API;
对多个工作场景进行组合,得到多个组合工作场景;
基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。
本发明实施例提供的一种包含指令的计算机程序产品,可以在确定待测试软件系统的多个工作场景后,对该多个工作场景进行组合,得到多个组合工作场景,然后针对每个组合工作场景,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。通过对所有的组合工作场景对应的所有待测试API进行测试,可以结合该待测试软件系统的实际工作场景的组合,实现对该待测试软件系统的所有待测试API进行全面的测试,从而可以保证该待测试软件系统在组合工作场景下,能够正常使用。并且,由于该测试过程是可以在电子设备中完全进行的,因此,可以降低人力成本,提高测试效率,进而可以提高软件系统上线后的可用性。
本发明实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任一方法实施例的测试方法的步骤,例如,可以执行以下步骤:
确定待测试软件系统的多个工作场景;其中,待测试软件系统包括多个待测试API,每个工作场景对应多个待测试API;
对多个工作场景进行组合,得到多个组合工作场景;
基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。
本发明实施例提供的一种计算机程序,可以在确定待测试软件系统的多个工作场景后,对该多个工作场景进行组合,得到多个组合工作场景,然后针对每个组合工作场景,基于每个待测试API对应的测试用例,对每个组合工作场景对应的所有待测试API进行测试,得到组合工作场景对应的测试结果。通过对所有的组合工作场景对应的所有待测试API进行测试,可以结合该待测试软件系统的实际工作场景的组合,实现对该待测试软件系统的所有待测试API进行全面的测试,从而可以保证该待测试软件系统在组合工作场景下,能够正常使用。并且,由于该测试过程是可以在电子设备中完全进行的,因此,可以降低人力成本,提高测试效率,进而可以提高软件系统上线后的可用性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种应用程序编程接口测试方法,其特征在于,所述方法包括:
确定待测试软件系统的多个工作场景;其中,所述待测试软件系统包括多个待测试API,每个所述工作场景对应多个待测试API;所述多个工作场景包括以下一种或多种:创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景;所述创建主机场景对应的待测试API包括:获取主机详情API、获取可用IP地址API和创建主机API;所述关闭主机场景对应的待测试API包括:获取主机详情API和关闭主机API;所述开启主机场景对应的待测试API包括:获取主机详情API和开启主机API;所述重启主机场景对应的待测试API包括:获取主机详情API和重启主机API;所述删除主机场景对应的待测试API包括:获取主机详情API和删除主机API;
对所述多个工作场景进行组合,得到多个组合工作场景;
基于每个所述待测试API对应的测试用例,对每个所述组合工作场景对应的所有待测试API进行测试,得到所述组合工作场景对应的测试结果。
2.根据权利要求1所述的方法,其特征在于,在基于每个所述待测试API对应的测试用例,对每个所述组合工作场景对应的所有待测试API进行测试之前,所述方法还包括:
获取所述所有待测试API中每个待测试API对应的测试用例;
采用与所述待测试API对应的测试用例,对所述待测试API进行测试,得到所述待测试API对应的测试结果。
3.根据权利要求2所述的方法,其特征在于,所述待测试API为以下任一种:
获取主机详情API、获取可用IP地址API、创建主机API、关闭主机API、开启主机API、重启主机API、删除主机API;其中,所述主机包括物理主机或者虚拟主机。
4.根据权利要求2或3所述的方法,其特征在于,在获取所述所有待测试API中每个待测试API对应的测试用例之后,所述方法还包括:
按照预先设置的待测试API与工作场景的对应关系,对所述所有待测试API中每个待测试API的测试用例进行分配,得到每个工作场景对应的多个测试用例;
采用每个所述工作场景对应的多个测试用例,对每个所述工作场景对应的多个待测试API进行测试,得到所述工作场景对应的测试结果。
5.根据权利要求1所述的方法,其特征在于,所述对所述多个工作场景进行组合,得到多个组合工作场景,包括:
从所述创建主机场景、所述关闭主机场景、所述开启主机场景、所述重启主机场景、所述删除主机场景中选择至少两个进行组合,得到多个待确定组合工作场景;
将包含所述创建主机场景的待确定组合工作场景作为所述组合工作场景,得到多个组合工作场景。
6.根据权利要求1所述的方法,其特征在于,所述基于每个所述待测试API对应的测试用例,对每个所述组合工作场景对应的所有待测试API进行测试,得到所述组合工作场景对应的测试结果,包括:
基于每个所述待测试API对应的测试用例,对每个所述组合工作场景对应的待测试API的测试用例进行组合,得到每个所述工作场景对应的组合测试用例;
采用每个所述工作场景对应的组合测试用例,对每个所述组合工作场景对应的所有待测试API进行测试,得到每个所述组合工作场景对应的测试结果。
7.根据权利要求6所述的方法,其特征在于,所述采用每个所述工作场景对应的组合测试用例,对每个所述组合工作场景对应的所有待测试API进行测试,得到每个所述组合工作场景对应的测试结果,包括:
当所述组合工作场景包含创建主机场景时,采用所述创建主机场景对应的创建主机API测试用例,调用所述创建主机API创建主机,所述创建主机API测试用例包括创建主机的输入参数,所述输入参数至少包括:主机名称、主机密码;
采用所述创建主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取创建的主机的详情信息;其中,所述创建的主机的详情信息包括:主机ID、第一主机状态、主机名称;
采用所述创建主机场景对应的获取可用IP地址API测试用例,调用所述获取可用IP地址API获取创建的主机的可用的IP地址;
当所述组合工作场景包含关闭主机场景时,采用所述关闭主机场景对应的关闭主机API测试用例,调用所述关闭主机API关闭所述创建的主机;
采用所述关闭主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取关闭的主机的详情信息;其中,所述关闭的主机的详情信息包括:第二主机状态;
当所述组合工作场景包含开启主机场景时,采用所述开启主机场景对应的开启主机API测试用例,调用所述开启主机API开启所述创建的主机;
采用所述开启主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取开启的主机的详情信息;其中,所述开启的主机的详情信息包括:第三主机状态;
当所述组合工作场景包含重启主机场景时,采用所述重启主机场景对应的重启主机API测试用例,调用所述重启主机API重启所述创建的主机;
采用所述重启主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取重启的主机的详情信息;其中,所述重启的主机的详情信息包括:第四主机状态;
当所述组合工作场景包含删除主机场景时,采用所述删除主机场景对应的删除主机API测试用例,调用所述删除主机API删除所述创建的主机;
采用所述删除主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取删除的主机的详情信息;其中,所述重启的主机的详情信息包括:第五主机状态。
8.一种应用程序编程接口测试装置,其特征在于,所述装置包括:
工作场景获取模块,用于确定待测试软件系统的多个工作场景;其中,所述待测试软件系统包括多个待测试API,每个所述工作场景对应多个待测试API;所述多个工作场景包括以下一种或多种:创建主机场景、关闭主机场景、开启主机场景、重启主机场景、删除主机场景;
所述创建主机场景对应的待测试API包括:获取主机详情API、获取可用IP地址API和创建主机API;所述关闭主机场景对应的待测试API包括:获取主机详情API和关闭主机API;所述开启主机场景对应的待测试API包括:获取主机详情API和开启主机API;所述重启主机场景对应的待测试API包括:获取主机详情API和重启主机API;所述删除主机场景对应的待测试API包括:获取主机详情API和删除主机API;
场景组合模块,用于对所述多个工作场景进行组合,得到多个组合工作场景;
组合测试模块,用于基于每个所述待测试API对应的测试用例,对每个所述组合工作场景对应的所有待测试API进行测试,得到所述组合工作场景对应的测试结果。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
测试用例获取模块,用于获取所述所有待测试API中每个待测试API对应的测试用例;
单独测试模块,采用与所述待测试API对应的测试用例,对所述待测试API进行测试,得到所述待测试API对应的测试结果。
10.根据权利要求9所述的装置,其特征在于,所述待测试API为以下任一种:
获取主机详情API、获取可用IP地址API、创建主机API、关闭主机API、开启主机API、重启主机API、删除主机API;其中,所述主机包括物理主机或者虚拟主机。
11.根据权利要求9或10所述的装置,其特征在于,所述装置还包括:
测试用例分配模块,用于按照预先设置的待测试API与工作场景的对应关系,对所述所有待测试API中每个待测试API的测试用例进行分配,得到每个工作场景对应的多个测试用例;
场景测试模块,用于采用每个所述工作场景对应的多个测试用例,对每个所述工作场景对应的多个待测试API进行测试,得到所述工作场景对应的测试结果。
12.根据权利要求8所述的装置,其特征在于,所述场景组合模块,包括:
第一场景组合子模块,用于从所述创建主机场景、所述关闭主机场景、所述开启主机场景、所述重启主机场景、所述删除主机场景中选择至少两个进行组合,得到多个待确定组合工作场景;
组合工作场景确定子模块,用于将包含所述创建主机场景的待确定组合工作场景作为所述组合工作场景,得到多个组合工作场景。
13.根据权利要求8所述的装置,其特征在于,所述组合测试模块,包括:
测试用例组合子模块,用于基于每个所述待测试API对应的测试用例,对每个所述组合工作场景对应的待测试API的测试用例进行组合,得到每个所述工作场景对应的组合测试用例;
组合测试子模块,用于采用每个所述工作场景对应的组合测试用例,对每个所述组合工作场景对应的所有待测试API进行测试,得到每个所述组合工作场景对应的测试结果。
14.根据权利要求13所述的装置,其特征在于,所述组合测试子模块,具体用于:
当所述组合工作场景包含创建主机场景时,采用所述创建主机场景对应的创建主机API测试用例,调用所述创建主机API创建主机,所述创建主机API测试用例包括创建主机的输入参数,所述输入参数至少包括:主机名称、主机密码;
采用所述创建主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取创建的主机的详情信息;其中,所述创建的主机的详情信息包括:主机ID、第一主机状态、主机名称;
采用所述创建主机场景对应的获取可用IP地址API测试用例,调用所述获取可用IP地址API获取创建的主机的可用的IP地址;
当所述组合工作场景包含关闭主机场景时,采用所述关闭主机场景对应的关闭主机API测试用例,调用所述关闭主机API关闭所述创建的主机;
采用所述关闭主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取关闭的主机的详情信息;其中,所述关闭的主机的详情信息包括:第二主机状态;
当所述组合工作场景包含开启主机场景时,采用所述开启主机场景对应的开启主机API测试用例,调用所述开启主机API开启所述创建的主机;
采用所述开启主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取开启的主机的详情信息;其中,所述开启的主机的详情信息包括:第三主机状态;
当所述组合工作场景包含重启主机场景时,采用所述重启主机场景对应的重启主机API测试用例,调用所述重启主机API重启所述创建的主机;
采用所述重启主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取重启的主机的详情信息;其中,所述重启的主机的详情信息包括:第四主机状态;
当所述组合工作场景包含删除主机场景时,采用所述删除主机场景对应的删除主机API测试用例,调用所述删除主机API删除所述创建的主机;
采用所述删除主机场景对应的获取主机详情API测试用例,调用所述获取主机详情API获取删除的主机的详情信息;其中,所述重启的主机的详情信息包括:第五主机状态。
15.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1~7任一项所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1~7任一项所述的方法步骤。
CN201910247960.0A 2019-03-29 2019-03-29 应用程序编程接口测试方法、装置、电子设备及存储介质 Active CN109960658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910247960.0A CN109960658B (zh) 2019-03-29 2019-03-29 应用程序编程接口测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910247960.0A CN109960658B (zh) 2019-03-29 2019-03-29 应用程序编程接口测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109960658A CN109960658A (zh) 2019-07-02
CN109960658B true CN109960658B (zh) 2022-06-03

Family

ID=67025189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910247960.0A Active CN109960658B (zh) 2019-03-29 2019-03-29 应用程序编程接口测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109960658B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286792A (zh) * 2020-09-27 2021-01-29 长沙市到家悠享网络科技有限公司 一种接口测试方法、装置、设备和存储介质
CN112559352A (zh) * 2020-12-16 2021-03-26 平安银行股份有限公司 接口测试的方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904358B1 (en) * 2010-06-08 2014-12-02 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for synchronizing software verification flows
CN107329861A (zh) * 2017-06-12 2017-11-07 北京奇安信科技有限公司 一种多接口测试方法及装置
CN107870852A (zh) * 2016-09-26 2018-04-03 北京金山云网络技术有限公司 一种测试方法及装置
CN108628738A (zh) * 2018-01-11 2018-10-09 百富计算机技术(深圳)有限公司 应用程序编程接口测试用例的生成方法及装置
CN109491905A (zh) * 2018-11-02 2019-03-19 北京金山云网络技术有限公司 前端测试方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904358B1 (en) * 2010-06-08 2014-12-02 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for synchronizing software verification flows
CN107870852A (zh) * 2016-09-26 2018-04-03 北京金山云网络技术有限公司 一种测试方法及装置
CN107329861A (zh) * 2017-06-12 2017-11-07 北京奇安信科技有限公司 一种多接口测试方法及装置
CN108628738A (zh) * 2018-01-11 2018-10-09 百富计算机技术(深圳)有限公司 应用程序编程接口测试用例的生成方法及装置
CN109491905A (zh) * 2018-11-02 2019-03-19 北京金山云网络技术有限公司 前端测试方法、装置及电子设备

Also Published As

Publication number Publication date
CN109960658A (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
US7908521B2 (en) Process reflection
US10824521B2 (en) Generating predictive diagnostics via package update manager
US8209564B2 (en) Systems and methods for initiating software repairs in conjunction with software package updates
CN106844136B (zh) 一种程序崩溃信息的收集方法及系统
US8370816B2 (en) Device, method and computer program product for evaluating a debugger script
US8954930B2 (en) System and method for reducing test effort by object risk analysis
US8850393B2 (en) Method and apparatus for testing software
CN108399132B (zh) 一种调度测试方法、装置及存储介质
US20140359582A1 (en) Runtime Code Hooking for Print Driver and Functionality Testing
US20070074168A1 (en) Automated step type determination
US9116802B2 (en) Diagnostic notification via package update manager
US20040194063A1 (en) System and method for automated testing of a software module
US20180060224A1 (en) Distinguishing Public and Private Code in Testing Environments
US20120180028A1 (en) Setting program, workflow creating method, and work flow creating apparatus
CN109960658B (zh) 应用程序编程接口测试方法、装置、电子设备及存储介质
CN109639818B (zh) 一种云环境下的服务发现方法、装置、服务器和存储介质
CN109634648B (zh) 一种快速切换sdk网络接口环境的方法及装置
CN110879781A (zh) 程序调试方法、装置、电子设备及计算机可读存储介质
US10635575B2 (en) Testing of enterprise resource planning systems
CN107621963B (zh) 一种软件部署方法、软件部署系统及电子设备
CN104484176B (zh) 一种安卓系统窗口对象获取方法和装置
US20150378799A1 (en) Automatic memory leak detection
CN110990249A (zh) 代码扫描结果处理方法、装置、计算机设备及存储介质
CN108089895B (zh) 一种插件中Activity的注册方法、装置、电子设备以及存储介质
CN115269252A (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