本发明涉及计算机技术,尤其涉及一种软件接口测试方法及装置。
背景技术:
软件测试过程中,需要对接口进行测试。例如,在基于服务通讯框架(Service Communication Framework,简称SCF)框架的软件测试中,就需要对SCF接口进行测试。
现有技术中,软件的测试人员需要首先查看软件对应的源代码,从源代码中识别出待测试的接口信息,进而,使用测试用例对待测试的接口进行测试。
但是,现有技术需要测试人员通过查看源代码人工识别接口,导致测试效率低。
技术实现要素:
本发明提供一种软件接口测试方法及装置,用于解决现有技术中人工识别接口所导致的测试效率低下的问题。
本发明第一方面提供一种软件接口测试方法,包括:
接收用户输入的服务通讯框架SCF服务的名称;
部署所述SCF服务;
通过反射获取所述SCF服务的接口,所述SCF服务的接口包括接口名称、接口的实现类以及接口的参数类型;
通过预设的测试用例测试所述SCF服务的接口。
进一步地,所述执行预设的测试用例之前,还包括:
初始化所述SCF服务。
进一步地,所述初始化所述SCF服务,包括:
检测传输控制协议TCP连接状态;
重新启动所述SCF服务。
进一步地,所述检测传输控制协议TCP连接状态之前,还包括:
检测配置文件中是否存在所述SCF服务,若否,则在所述配置文件中增加所述SCF服务。
进一步地,所述部署所述SCF服务之前,还包括:
判断所述SCF服务是否已经注册,若否,则进行所述SCF服务注册。
本发明第二方面提供一种软件接口测试装置,包括:
接收模块,用于接收用户输入的服务通讯框架SCF服务的名称;
部署模块,用于部署所述SCF服务;
获取模块,用于通过反射获取所述SCF服务的接口,所述SCF服务的接口包括接口名称、接口的实现类以及接口的参数类型;
测试模块,用于通过预设的测试用例测试所述SCF服务的接口。
进一步地,还包括:
初始化模块,用于初始化所述SCF服务。
进一步地,所述初始化模块包括:
检测单元,用于检测传输控制协议TCP连接状态;
重启单元,用于重新启动所述SCF服务。
进一步地,所述初始化模块还包括:
增加单元,用于在检测出配置文件中不存在所述SCF服务时,在所述配置文件中增加所述SCF服务。
进一步地,所述装置还包括:
注册模块,用于在判断出所述SCF服务未注册时,进行所述SCF服务注册。
本发明所提供的软件接口测试方法及装置,软件测试平台首先获取并部署SCF服务,进而通过反射获取SCF服务的接口,并对所获取到的SCF服务的接口进行测试。从而实现对SCF服务的接口的自动测试,无需测试人员查看源代码人工识别接口来进行测试,从而极大提升了软件接口的测试效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的软件接口测试方法的系统架构图;
图2为本发明提供的软件接口测试方法实施例一的流程示意图;
图3为本发明提供的软件接口测试方法实施例二的流程示意图;
图4为本发明提供的软件接口测试方法实施例三的流程示意图;
图5为本发明提供的软件接口测试方法实施例四的流程示意图;
图6为本发明提供的软件接口测试装置实施例一的模块结构图;
图7为本发明提供的软件接口测试装置实施例二的模块结构图;
图8为本发明提供的软件接口测试装置实施例三的模块结构图;
图9为本发明提供的软件接口测试装置实施例四的模块结构图;
图10为本发明提供的软件接口测试装置实施例五的模块结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的软件接口测试方法的系统架构图,如图1所述,该方法所涉及的平台包括:软件代码编写平台、软件编译平台以及软件测试平台。其中,软件开发人员通过软件代码编写平台编写软件代码,再由软件编译平台进行编译,形成可执行的软件包,软件测试平台再对可执行的软件包进行测试。本发明的方案对应于软件测试平台,即由软件测试平台执行本发明的方案,以实现软件接口的自动测试。
图2为本发明提供的软件接口测试方法实施例一的流程示意图,如图2所示,该方法包括:
S201、接收用户输入的SCF服务的名称。
软件测试平台可以为用户提供可操作界面,在操作界面中显示选择列表或者输入框等,当需要进行测试时,仅需要输入待测试的SCF服务的名称即可。
其中,本发明中的SCF服务是具体的待测试的软件。
SCF是一种支持跨平台具有高并发、高性能、高可靠性,并提供异步、多协议、事件驱动的中间层服务框架,基于该服务服务框架所编写的软件可以看作SCF服务,其中包括多个SCF接口。在对SCF服务测试时,就需要对SCF服务的接口进行测试。
S202、部署SCF服务。
在基于图1所示的系统架构中,软件编译平台例如可以是Jenkins。Jenkins可以按照用户的设置定时进行软件持续集成,以获取可执行的软件包。并将可执行的软件包保存在固定的目录下。
进而,本步骤中,软件测试平台可以从上述固定的目录下获取SCF服务所对应的可执行的软件包,并在软件测试平台上部署SCF服务,其中,SCF服务的可执行的软件包包括客户端软件包以及服务端软件包。。
可选地,每次部署SCF服务前,都可以通过Jenkins构建SCF服务,以保证部署的SCF服务的客户端包和服务端包都是最新的。
S203、通过反射获取上述SCF服务的接口,SCF服务的接口包括接口名称、接口的实现类以及接口的参数类型。
当部署SCF服务完成后,软件测试平台可以通过反射方式自动获取SCF服务的接口,所获取的接口的信息包括接口名称、接口实现类以及接口参数类型等。
其中,通过反射获取SCF服务接口的具体方法可以参照现有技术,此处不再赘述。
S204、通过预设的测试用例测试上述SCF服务的接口。
具体地,软件测试平台可以导入预先编写好的测试用例,这些测试用例专门用于测试上述所获取到的接口。
其中,在测试时,一个测试用例可以仅测试一个SCF接口,也可以测试多个SCF接口,因此,软件测试平台可以根据需要对一个SCF接口进行测试,也可以对多个SCF接口进行测试。
本实施例中,软件测试平台首先获取并部署SCF服务,进而通过反射获取SCF服务的接口,并对所获取到的SCF服务的接口进行测试。从而实现对SCF服务的接口的自动测试,无需测试人员查看源代码人工识别接口来进行测试,从而极大提升了软件接口的测试效率。
另一实施例中,在上述步骤S204之前,还包括:
初始化上述SCF服务。
图3为本发明提供的软件接口测试方法实施例二的流程示意图,如图3所示,上述初始化上述SCF服务的过程具体为:
S301、检测传输控制协议(Transmission Control Protocol,简称TCP)连接状态。
在进行SCF服务的接口测试时,需要保证TCP连接正常,因此,本步骤中,需要首先检测TCP连接状态,如果连接状态异常,则需要首先解决该问题,保证TCP连接正常。
S302、重新启动SCF服务。
具体地,软件测试平台可以调用重新启动SCF服务的脚本来重新启动SCF服务。
图4为本发明提供的软件接口测试方法实施例三的流程示意图,如图4所示,初始化SCF服务的过程包括:
S401、检测配置文件中是否存在上述SCF服务,若否,则在配置文件中增加上述SCF服务。
上述配置文件是指软件测试平台中的配置文件,需要测试的SCF服务都需要在该配置文件中登记。软件测试平台在测试SCF服务时,需要从该配置文件中读取SCF服务的信息后再进行测试。
本步骤中,如果配置文件中不存在上述SCF服务,则需要在配置文件中增加上述SCF服务。
S402、检测传TCP连接状态。
具体过程与S301的过程相同,可以参见S301,此处不再赘述。
S403、重新启动SCF服务。
具体过程与S302的过程相同,可以参见S302,此处不再赘述。
图5为本发明提供的软件接口测试方法实施例四的流程示意图,如图5所示,该方法包括:
S501、接收用户输入的SCF服务的名称。
具体过程与S201的过程相同,可以参见S201,此处不再赘述。
S502、判断上述SCF服务是否已经注册,若否,则进行上述SCF服务注册。
具体地,判断SCF服务是否已经注册,即判断该SCF服务是否在软件测试平台注册,如果没有注册,则需要在软件测试平台上注册该SCF服务的信息。
S503、部署SCF服务
具体过程与S202的过程相同,可以参见S202,此处不再赘述。
S504、通过反射获取上述SCF服务的接口,SCF服务的接口包括接口名称、接口的实现类以及接口的参数类型。
具体过程与S203的过程相同,可以参见S203,此处不再赘述。
S505、通过预设的测试用例测试上述SCF服务的接口。
具体过程与S204的过程相同,可以参见S204,此处不再赘述。
图6为本发明提供的软件接口测试装置实施例一的模块结构图,如图6所示,该装置包括:
接收模块601,用于接收用户输入的SCF服务的名称。
部署模块602,用于部署上述SCF服务。
获取模块603,用于通过反射获取上述SCF服务的接口,上述SCF服务的接口包括接口名称、接口的实现类以及接口的参数类型。
测试模块604,用于通过预设的测试用例测试上述SCF服务的接口。
该装置用于实现前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
图7为本发明提供的软件接口测试装置实施例二的模块结构图,如图7所示,还包括:
初始化模块605,用于初始化上述SCF服务。
图8为本发明提供的软件接口测试装置实施例三的模块结构图,如图7所示,初始化模块605包括:
检测单元6051,用于检测TCP连接状态。
重启单元6052,用于重新启动上述SCF服务。
图9为本发明提供的软件接口测试装置实施例四的模块结构图,如图9所示,初始化模块605还包括:
增加单元6053,用于在检测出配置文件中不存在上述SCF服务时,在配置文件中增加上述SCF服务。
图10为本发明提供的软件接口测试装置实施例五的模块结构图,如图10所示,该装置还包括:
注册模块606,用于在判断出上述SCF服务未注册时,进行SCF服务注册。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。