CN113760722A - 测试系统和测试方法 - Google Patents

测试系统和测试方法 Download PDF

Info

Publication number
CN113760722A
CN113760722A CN202110042686.0A CN202110042686A CN113760722A CN 113760722 A CN113760722 A CN 113760722A CN 202110042686 A CN202110042686 A CN 202110042686A CN 113760722 A CN113760722 A CN 113760722A
Authority
CN
China
Prior art keywords
test
test case
module
target
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.)
Pending
Application number
CN202110042686.0A
Other languages
English (en)
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 Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information 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 Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202110042686.0A priority Critical patent/CN113760722A/zh
Publication of CN113760722A publication Critical patent/CN113760722A/zh
Pending legal-status Critical Current

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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

本发明公开了测试系统和测试方法,涉及计算机技术领域。该系统包括:用例管理模块、接口调用模块、日志模块;其中,用例管理模块用于:在可视化界面上,编辑测试用例;接口调用模块用于:根据测试用例对应的测试入口类型,调用测试用例对应的业务系统,执行用例管理模块编辑的测试用例,输出测试用例的执行日志;日志模块用于:存储接口调用模块输出的测试用例的执行日志,以及获取业务系统对应的业务日志。该系统能够满足不同的业务系统需要不同服务的需求,提高测试效率,易于维护和扩展。

Description

测试系统和测试方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试系统和测试方法。
背景技术
现有的测试系统或测试平台中,每种接口的入口都是单独调用的,即,现有的测试系统或测试平台单一线性运行一种测试方式,可扩展性差。另外,现有的测试系统或测试平台没有模块化处理,因此若某一测试环节出现问题,较难发现出问题的部分,维护困难。
发明内容
有鉴于此,本发明实施例提供一种测试系统和测试方法,能够满足不同的业务系统需要不同服务的需求,提高测试效率,易于维护和扩展。
为实现上述目的,根据本发明实施例的一个方面,提供了一种测试系统。
本发明实施例的测试系统包括:用例管理模块、接口调用模块、日志模块;其中,所述用例管理模块用于:在可视化界面上,编辑测试用例;所述接口调用模块用于:根据所述测试用例对应的测试入口类型,调用所述测试用例对应的业务系统,执行所述用例管理模块编辑的所述测试用例,输出所述测试用例的执行日志;所述日志模块用于:存储所述接口调用模块输出的所述测试用例的执行日志,以及获取业务系统对应的业务日志。
可选地,所述用例管理模块用于:根据类别属性管理所述测试用例;以及,通过所述可视化界面,按照所述类别属性展示所述测试用例。
可选地,所述用例管理模块还用于:在所述测试用例包含多个请求的情况下,通过所述可视化界面编辑所述多个请求的执行顺序。
可选地,所述接口调用模块包括:用例执行模块,其中,所述用例执行模块中包含多个测试入口类型对应的执行插件;以及,所述用例执行模块用于:拉取所述测试用例,确定所述测试用例对应的测试入口类型,利用确定的测试入口类型对应的执行插件,调用所述测试用例对应的业务系统,执行所述测试用例。
可选地,所述接口调用模块还包括:Mock模块;以及,所述Mock模块用于:提供测试参数与成功执行结果的对应关系;所述用例执行模块还用于:在执行所述测试用例的过程中,验证执行结果;在所述执行结果异常的情况下,调用所述Mock模块,获取异常执行结果对应的成功执行结果,以便所述测试用例的正常执行。
可选地,所述Mock模块还用于:通过所述日志模块,获取所调用的业务系统对应的历史业务日志;根据所述异常执行结果对应的测试参数,对获取的历史业务日志进行检索,获得所述成功执行结果。
可选地,所述Mock模块还用于:根据预配置的测试参数与成功执行结果的对应关系,或者根据默认配置,获得对应于所述测试用例的成功执行结果。
可选地,所述业务系统中包含日志插件,以便通过所述日志插件获取所述业务日志;以及,所述业务系统中包含过滤插件,以便通过所述过滤插件从所述业务日志中检索出对应于所述测试用例的数据。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种测试方法。
本发明实施例的测试方法包括:接收测试请求,获取所述测试请求对应的目标测试用例;调用所述目标测试用例对应的被测业务系统,执行所述目标测试用例,输出所述目标测试用例的执行日志;存储输出的所述目标测试用例的执行日志。
可选地,所述获取所述测试请求对应的目标测试用例,包括:查询是否具有所述目标测试用例;若是,则获取所述目标测试用例;若否,则提供可视化界面,以编辑所述目标测试用例。
可选地,所述编辑所述目标测试用例,包括:在所述目标测试用例包含多个请求的情况下,通过所述可视化界面编辑所述目标测试用例包含的多个请求的执行顺序。
可选地,所述调用所述目标测试用例对应的被测业务系统,执行所述目标测试用例,包括:拉取所述目标测试用例,确定所述目标测试用例对应的目标测试入口类型;利用所述目标测试入口类型对应的执行插件,调用所述被测业务系统,执行所述目标测试用例。
可选地,所述方法还包括:在执行所述目标测试用例的过程中,验证所述目标测试用例对应的目标执行结果;在所述目标执行结果异常的情况下,获取异常的目标执行结果对应的成功执行结果,以便所述目标测试用例的正常执行。
可选地,所述获取异常的目标执行结果对应的成功执行结果,包括:获取所述被测业务系统对应的历史业务日志;根据所述异常的目标执行结果对应的测试参数,对所述被测业务系统对应的历史业务日志进行检索,获得所述异常的目标执行结果对应的成功执行结果。
可选地,所述获取异常的目标执行结果对应的成功执行结果,包括:根据预配置的测试参数与成功执行结果的对应关系,或者根据默认配置,获得对应于所述目标测试用例的成功执行结果;从获得的成功执行结果中,提取出所述异常的目标执行结果对应的成功执行结果。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种电子设备。
本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明实施例的测试方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本发明实施例的测试方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明实施例提供的测试系统包括用例管理模块、接口调用模块和日志模块,可以集成多个类型的测试入口,能够满足不同的业务系统需要不同服务的需求,避免现有技术中单一线性运行某个类型的测试方式,提高测试效率,且可以根据实际需求集成不同类型的测试入口,使得该模块化测试系统具有可扩展性。还有,本发明实施例提供的测试系统可以实现模块化处理系统,因此若测试环节出现问题,能够及时确定出现问题的模块,易于维护。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的测试系统的结构示意图;
图2是根据本发明实施例的测试方法的主要步骤的示意图;
图3是根据本发明实施例的获取测试请求对应的目标测试用例的主要过程的示意图;
图4是根据本发明实施例的执行目标测试用例的主要过程的示意图;
图5和图6是根据本发明实施例的测试方法的主要流程的示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的测试系统的结构示意图。如图1所示,测试系统100可以包括:用例管理模块101、接口调用模块102、日志模块103。现有的测试系统或测试平台没有模块化处理,因此若某一测试环节出现问题,较难发现出问题的部分,维护困难。其中,模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。本发明实施例提供的测试系统可以将系统划分成若干个过程,每个过程对应一个模块,不同模块具有不同的功能,多个模块之间协调合作,实现模块化处理。接下来,详细说明各模块的作用以及模块之间的关系。
用例管理模块101可用于:在可视化界面上,编辑测试用例。
具体的,可以利用配置的用例编辑测试用例。该配置的用例可以是测试人员或者开发人员预先配置的基本测试用例。基本测试用例可以存储在用例管理模块101中,且可以根据需求或者定期更新基本测试用例。用例管理模块101提供可视化界面,在需要编辑测试用例时,在可视化界面上利用预先配置的基本测试用例进行编辑。具体的编辑操作可以包括但不限于是增加、删除、修改以及查询。此外,编辑后的测试用例也可以看作为基本测试用例,将其存储在用例管理模块101中,以便于后续编辑其他测试用例时,可以直接调用。
本发明实施例中,用例管理模块101还可用于:通过可视化界面,对测试用例进行更新。在需要对测试用例进行更新的情况下,可以在该测试用例的基础上进行改动,即仅需要对维护的测试用例进行更改就可以。
本发明实施例中,用例管理模块101还可用于:根据类别属性管理测试用例;以及,通过可视化界面,按照类别属性展示该测试用例。
考虑到用例管理模块101中包含的用例较多,为了便于管理,可以结合用例对应的类别属性对用例进行管理。其中,类别属性可以从不同维度对测试用例进行类别划分,比如,可以按照场景进行类别划分,还可以按照正反向进行类别划分,当然也可以按照其他维度进行类别划分。举例说明,有A1到A20共20个测试用例,A1到A5对应场景一,A5到A12对应场景二,A13到A20对应场景三,那么可以将相同场景的测试用例放在一起。或者是,A1到A8为正向用例,A9到A20为反向用例,那么可以将类别属性为正向用例的放在一起,即将A1到A8放在一起,相应的,将类别属性为反向用例的放在一起,即将A9到A20放在一起。当然,用例管理模块101也可以基于类别属性管理配置的用例。
本发明实施例中,用例管理模块101还可用于:在测试用例包含多个请求的情况下,通过可视化界面编辑多个请求的执行顺序。具体的,若某个测试用例对应的执行流程中,包含多个请求,如测试用例A1包含Q1、Q2和Q3这三个请求,那么需要设置这三个请求的执行顺序,本发明实施例中,在编辑测试用例A1的时候,可以编辑在三个请求的执行顺序。或者说,测试用例A1可以由基本测试用例B1到B3组合得到,那么需要设置B1到B3的执行顺序,此处B1到B3可以看作是对应Q1到Q3这三个不同请求,如基本测试用例B1用于处理请求Q1,基本测试用例B2用于处理请求Q2,基本测试用例B3用于处理请求Q3。
综上所述,测试系统的用例管理模块提供可视化界面,在可视化界面上利用配置的用例编辑测试用例,因此具有可视化的用例编辑功能和免代码的用例编辑功能,易于操作,提高测试系统的实用性。还有,用例管理模块可以对配置的用例和编辑的测试用例进行更新,提高测试系统的实用性。此外,用例管理模块基于类别属性管理用例,能够提高用例的查找速率,进一步提高测试系统的测试效率。
此外,用例管理模块101编辑的测试用例可以为测试不同业务系统的用例,且不同的业务系统需要不同协议的服务,如HTTP服务或RPC服务。因此,本发明实施例的测试系统可以集成多个类型的测试入口,以满足不同的业务系统需要不同服务的需求。其中,测试入口类型为调用接口类型,如HTTP调用、RPC调用等。HTTP调用是基于HTTP协议(即Hyper TextTransfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议)的。RPC(即Remote Procedure Call Protocol,中文名为远程过程调用协议,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议)框架可以为Dubbo(即,一个高性能优秀的服务框架)或者JSF(即,一个改进的服务框架)等。因此,本发明实施例的测试系统可以集成多个类型的测试入口,也即,提供一个统一的测试入口,避免现有技术中单一线性运行某个类型的测试方式,能够提高测试效率,且可以根据实际需求集成不同类型的测试入口,使得该模块化测试系统具有可扩展性。
接口调用模块102可用于:根据测试用例对应的测试入口类型,调用测试用例对应的业务系统,执行用例管理模块101编辑的测试用例,输出测试用例的执行日志。
在上文中已经介绍,测试入口类型为调用接口类型,具体可以包括HTTP调用、RPC调用等。接口调用模块102可以确定测试用例对应的具体的调用接口类型,然后根据具体的调用接口类型调用该测试用例对应的业务系统,执行该测试用例,且输出该测试用例的执行日志。
其中,执行日志包括具体的执行过程和执行结果。本发明实施例中,日志模块103可用于:存储接口调用模块102输出的测试用例的执行日志。因此,日志模块103可以提供执行日志的追踪查询功能,满足用户需要查询日志的需求,带来较好的用户体验。
如图1所示,接口调用模块102可以包括:用例执行模块1021和Mock(即,在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法)模块1022。
用例执行模块1021可以执行具体的测试用例。由于测试系统集成了多个类型的测试入口,因此用例执行模块1021中包含多个测试入口类型对应的执行插件,这样可以调取执行插件执行测试用例。比如,测试入口类型有HTTP调用和RPC调用,RPC框架可以包括Dubbo和JSF,那么用例执行模块1021中包含HTTP执行插件、Dubbo执行插件和JSF执行插件,如图1所示。其中,不同的执行插件可以看做为不同的子执行模块,各子执行模块以JavaSPI(即,Java提供的一种服务加载方式,全名为Service Provider Interface,可以避免在Java代码中写死服务的提供者,而是通过SPI服务加载机制进行服务的注册和发现,通过这种方式,可以基于接口编程,实现多个模块的解耦)插件方式引入。此外,从图1可以看出,HTTP执行插件对应HTTP业务系统,即通过HTTP执行插件可以调用采用HTTP服务的业务系统。同理,Dubbo执行插件对应Dubbo业务系统,即通过Dubbo执行插件可以调用采用Dubbo服务的业务系统;JSF执行插件对应JSF业务系统,即通过JSF执行插件可以调用采用JSF服务的业务系统。当然,本发明实施例中,用例执行模块1021也可以包含其他执行插件,相应的,对应其他业务系统,在图1中未示出。
本发明实施例中,用例执行模块1021可用于:从用例编辑模块101中拉取测试用例,确定该测试用例对应的测试入口类型,利用确定的测试入口类型对应的执行插件,调用该测试用例对应的业务系统,执行该测试用例。
本发明实施例中,Mock模块1022用于:提供测试参数与成功执行结果的对应关系。以及,用例执行模块1021还可用于:在执行测试用例的过程中,验证执行结果;在该执行结果异常的情况下,调用Mock模块1022,获取异常执行结果对应的成功执行结果,以便测试用例的正常执行。
具体的,用例执行模块1021除了具有执行测试用例以及输出执行日志的功能外,还可以对执行结果进行验证。需要注意的是,此处的执行结果是指测试用例中各被测功能对应的执行结果。比如,测试用例是对某业务系统的5个功能进行测试,那么执行结果为这5个功能分别对应的执行结果。考虑到测试用例对应的是流程测试,那么需要保证流程测试的完整性,比如,测试用例是对某业务系统的5个功能进行测试,那么需要对这5个功能进行测试。在某个功能出现问题的情况下,即某个功能对应的执行结果异常的情况下,为了避免出现异常的功能影响整个流程测试,用例执行模块1021需要获取异常执行结果对应的成功执行结果。考虑到Mock模块1022可以提供测试参数与成功执行结果的对应关系,所以用例执行模块1021可以调用Mock模块1022,获取该异常执行结果对应的成功执行结果。
本发明实施例中,Mock模块1022还可用于:通过日志模块103,获取调用的业务系统对应的历史业务日志;根据异常执行结果对应的测试参数,对获取的历史业务日志进行检索,获得异常执行结果对应的成功执行结果。
本发明实施例中,Mock模块1022还可用于:根据预配置的测试参数与成功执行结果的对应关系,获得对应于所述测试用例的成功执行结果获得对应于测试用例的成功执行结果。在获取的历史业务日志中不包含成功执行结果、或者历史业务日志中没有相同测试参数的成功执行结果、或者根据实际场景需求,可以直接根据Mock模块1022中预配置的测试参数与成功执行结果的对应关系,获得对应于测试用例的成功执行结果,然后从获得的成功执行结果中提取出异常执行结果对应的成功执行结果。因此,在编辑测试用例时,可以预先配置该测试用例中,不同测试参数与成功执行结果的对应关系。
另一个实施例中,在发生异常执行结果时,Mock模块还可以直接根据默认配置,获得对应于测试用例的成功执行结果;其中,默认配置可被理解为与测试参数无关的成功执行结果,也即默认配置可以确保测试流程的正常进行。
在利用测试用例测试业务系统的功能的过程中,若某个功能出现问题,为保证对业务系统的测试不会因此而中断,那么Mock模块1022会通过日志模块103对该业务系统的历史业务日志进行检索,或根据预配置的参数与成功执行结果的对应关系,返回此处测试过程中输入的测试参数对应的成功执行结果,从而保证整个流程测试的正常运行。在一个优选实施例中,成功执行结果是在预设时间阈值范围内的数据,这样可以提高测试结果的准确性。
上文中提到,日志模块103可用于:存储接口调用模块102输出的测试用例的执行日志。如图1所示,本发明实施例中,日志模块103还可用于:获取业务系统对应的业务日志。也就是说,通过日志模块103可以获取到测试用例对应的执行日志和业务系统对应的业务日志,实现利用日志模块103对整个测试环节的日志进行追踪查询。为了便于从业务系统中获取业务日志,可以在业务系统中增加日志插件;此外,为了便于从业务日志中检索出对应于测试用例的数据,可以在业务系统中增加过滤插件。另一方面,日志模块103可以是第三方日志体系,比如ELK栈(由ElasticSearch、Logstash和Kiabana三个开源工具组成,Elasticsearch是个开源分布式搜索引擎,Logstash可以对日志进行收集、过滤以及存储,Kibana可以为Logstash和ElasticSearch提供的日志分析界面,可以帮助汇总、分析和搜索重要数据日志)。
本发明实施例提供的测试系统包括用例管理模块、接口调用模块和日志模块,可以集成多个类型的测试入口,能够满足不同的业务系统需要不同服务的需求,避免现有技术中单一线性运行某个类型的测试方式,提高测试效率,且可以根据实际需求集成不同类型的测试入口,使得该模块化测试系统具有可扩展性。还有,本发明实施例提供的测试系统可以实现模块化处理系统,因此若测试环节出现问题,能够及时确定出现问题的模块,易于维护。
图2是根据本发明实施例的测试方法的主要步骤的示意图。如图2所示,测试方法的主要步骤可以包括:
步骤S201,接收测试人员的测试请求,利用测试系统100的用例管理模块101获取测试请求对应的目标测试用例;
步骤S202,在指示开始测试时,利用测试系统100的接口调用模块102调用目标测试用例对应的被测业务系统,执行目标测试用例,输出目标测试用例的执行日志;
步骤S203,在测试过程中,利用测试系统100的日志模块103存储接口调用模块102输出的目标测试用例的执行日志。
其中,测试请求中包括被测业务系统以及被测业务系统包含的需要测试的功能。目标测试用例为该测试请求对应的具体的测试用例。
本发明实施例中,获取测试请求对应的目标测试用例的具体过程为:查询用例管理模块101中是否具有目标测试用例;若是,则获取目标测试用例;若否,则通过用例管理模块101提供的可视化界面,以使得测试人员可编辑目标测试用例。在上文介绍用例管理模块101时提到,编辑后的测试用例也可以看作为基本测试用例,将其存储在用例管理模块101中,以便于后续编辑其他测试用例时,可以直接调用。当然,在需要对该目标测试用例进行更新的情况下,也可以通过可视化界面对该目标测试用例进行更新。
此外,本发明实施例中,在编辑目标测试用例之后,测试方法还可以包括:根据目标测试用例对应的类别属性管理该目标测试用例;以及,通过可视化界面,按照类别属性展示目标测试用例。
本发明实施例中,编辑目标测试用例的过程中,在目标测试用例包含多个请求的情况下,可以通过可视化界面编辑目标测试用例包含的多个请求的执行顺序。
图3是根据本发明实施例的获取测试请求对应的目标测试用例的主要过程的示意图。如图3所示,获取测试请求对应的目标测试用例的主要过程,可以包括:
步骤S301,查询用例管理模块101中是否具有目标测试用例,若是,执行步骤S302,若否,执行步骤S303;
步骤S302,获取目标测试用例;
步骤S303,通过用例管理模块101提供的可视化界面,根据配置的用例编辑目标测试用例;
步骤S304,获取目标测试用例对应的类别属性,以便于根据目标测试用例对应的类别属性管理该目标测试用例。
需要注意的是,步骤S303根据配置的用例编辑目标测试用例的过程中,如果目标测试用例包含多个请求,则可以通过可视化界面编辑目标测试用例包含的多个请求的执行顺序。还有,如果需要对该目标测试用例进行更新,则可以通过可视化界面对该目标测试用例进行更新。
本发明实施例的测试方法中,可以在可视化界面上利用配置的用例编辑测试用例,还可以对测试用例进行更新,易于操作,实用性强;还可以基于类别属性管理用例,能够提高用例的查找速率,进一步提高测试效率。
在获取到目标测试用例后,可以利用接口调用模块102调用该目标测试用例对应的被测业务系统,执行该目标测试用例,且输出该目标测试用例的执行日志。图4是根据本发明实施例的执行目标测试用例的主要过程的示意图。如图4所示,执行目标测试用例的主要过程,可以包括:
步骤S401,通过接口调用模块102中的用例执行模块1021从用例管理模块101中拉取目标测试用例,确定目标测试用例对应的目标测试入口类型;
步骤S402,利用目标测试入口类型对应的执行插件,调用目标测试用例对应的被测业务系统,执行目标测试用例。
不同的业务系统,需要不同协议的服务,如HTTP服务或RPC服务,甚至不同的RPC服务等,所以测试系统可以集成多个类型的测试入口,能够满足不同的业务系统需要不同服务的需求。因此,在执行目标测试用例的过程中,首先拉取目标测试用例,接着确定该目标测试用例对应的目标测试入口类型,即确定被测业务系统需要的协议服务,然后获取该目标测试入口类型对应的执行插件,最后利用该执行插件调用被测业务系统,执行该目标测试用例。
本发明实施例中,测试方法还可以包括:在执行目标测试用例的过程中,利用用例执行模块1021验证目标测试用例对应的目标执行结果;在目标执行结果异常的情况下,调用接口调用模块102中的Mock模块1022,获取异常的目标执行结果对应的成功执行结果,以便该目标测试用例的正常执行。
利用目标测试用例对被测业务系统进行测试,实际上是对被测业务系统中的被测功能模块进行测试。在测试过程中,需要对每个被测功能模块对应的执行结果进行验证,若某个被测功能模块对应的执行结果异常,那么该被测功能模块为异常模块。为了保证测试的完整运行,此情况下,可以通过Mock模块1022获取异常模块对应的成功执行结果,即异常的目标执行结果对应的成功执行结果。具体的,可以采用如下三种方法获取成功执行结果:一、通过日志模块103,获取被测业务系统对应的历史业务日志,然后根据异常的目标执行结果对应的测试参数,对被测业务系统对应的历史业务日志进行检索,获得该异常的目标执行结果对应的成功执行结果;二、根据预配置的测试参数与成功执行结果的对应关系,获得对应于该目标测试用例的成功执行结果,然后从获得的成功执行结果中,提取出该异常的目标执行结果对应的成功执行结果;三、根据默认配置,获得对应于该目标测试用例的成功执行结果,然后从获得的成功执行结果中,提取出该异常的目标执行结果对应的成功执行结果,其中,默认配置可被理解为与测试参数无关的成功执行结果,也即默认配置可以确保测试流程的正常进行。
图5和图6是根据本发明实施例的测试系统的测试方法的主要流程的示意图。图5是执行结果验证正常的情况,图6是执行结果验证异常的情况。
图5中,编辑测试用例的过程中,请求发送方向用例管理模块101发送测试请求,用户管理模块101编辑该测试请求对应的目标测试用例。需要注意的是,若用例管理模块101中包含该目标测试用例,那么不需要编辑,可以直接获取该目标测试用例。执行测试用例的过程中,用例执行模块1021从用例管理模块101中拉取目标测试用例,然后调用该目标测试用例对应的业务系统,执行该目标测试用例,并将输出的执行日志写入日志模块103。图5可以看出,用例执行模块1021在验证执行结果正常的情况下,可以将执行结果存储至日志模块103中。最后,用例执行模块1021可以将执行结果发送至用例管理模块101,接着用例管理模块101可以将执行结果返回至请求发送方。
图6中,编辑测试用例的过程中,请求发送方向用例管理模块101发送测试请求,用户管理模块101编辑该测试请求对应的目标测试用例。需要注意的是,若用例管理模块101中包含该目标测试用例,那么不需要编辑,可以直接获取该目标测试用例。执行测试用例的过程中,用例执行模块1021从用例管理模块101中拉取目标测试用例,然后调用该目标测试用例对应的业务系统,执行该目标测试用例,并将输出的执行日志写入日志模块103。如图6所示,用例执行模块1021在验证执行结果异常的情况下,可以将执行结果存储至日志模块103中,还可以调用Mock模块1022获取成功异常执行结果对应的成功执行结果,以便目标测试用例的正常执行。最后,用例执行模块1021可以将执行结果发送至用例管理模块101,接着用例管理模块101可以将执行结果返回至请求发送方。
图6提供了如下获取成功执行结果的方法:Mock模块1022通过日志模块103获取业务系统对应的历史业务日志,然后根据异常执行结果对应的测试参数,对获取的历史业务日志进行检索,获得异常执行结果对应的成功执行结果。还可以采用如下方法获取成功执行结果(图6中未示出):直接根据Mock模块1022中预配置的测试参数与成功执行结果的对应关系,或者根据Mock模块1022中的默认配置,获得对应于目标测试用例的成功执行结果,然后从获得的成功执行结果中提取出异常执行结果对应的成功执行结果。
对比图5和图6得知,若执行结果验证异常,需要利用Mock模块1022读取成功执行结果,然后将成功执行结果返回至用例执行模块1021,以便整个测试流程的完整。还可以看出,执行测试用例产生的执行日志均需要存储在日志模块103中,以便于后续查询追溯。
图7示出了可以应用本发明实施例的测试方法或测试系统的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等,例如可以利用终端设备701、702、703进行测试。终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。服务器705可以是提供各种服务的服务器,例如作为用户利用终端设备701、702、703进行测试的过程中,提供支持的后台管理服务器(仅为示例)。
需要说明的是,本发明实施例所提供的测试方法一般由服务器705执行,相应地,测试系统一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括用例管理模块、接口调用模块、日志模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,用例管理模块还可以被描述为“在可视化界面上,编辑测试用例的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收测试请求,利用测试系统的用例管理模块获取测试请求对应的目标测试用例;利用测试系统的接口调用模块调用目标测试用例对应的被测业务系统,执行目标测试用例,输出目标测试用例的执行日志;利用测试系统的日志模块存储接口调用模块输出的目标测试用例的执行日志。
本发明实施例提供的测试系统包括用例管理模块、接口调用模块和日志模块,可以集成多个类型的测试入口,能够满足不同的业务系统需要不同服务的需求,避免现有技术中单一线性运行某个类型的测试方式,提高测试效率,且可以根据实际需求集成不同类型的测试入口,使得该模块化测试系统具有可扩展性。还有,本发明实施例提供的测试系统可以实现模块化处理系统,因此若测试环节出现问题,能够及时确定出现问题的模块,易于维护。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (17)

1.一种测试系统,其特征在于,所述系统包括:用例管理模块、接口调用模块、日志模块;其中,
所述用例管理模块用于:在可视化界面上,编辑测试用例;
所述接口调用模块用于:根据所述测试用例对应的测试入口类型,调用所述测试用例对应的业务系统,执行所述用例管理模块编辑的所述测试用例,输出所述测试用例的执行日志;
所述日志模块用于:存储所述接口调用模块输出的所述测试用例的执行日志,以及获取业务系统对应的业务日志。
2.根据权利要求1所述的系统,其特征在于,所述用例管理模块用于:
根据类别属性管理所述测试用例;以及,
通过所述可视化界面,按照所述类别属性展示所述测试用例。
3.根据权利要求1所述的系统,其特征在于,所述用例管理模块还用于:在所述测试用例包含多个请求的情况下,通过所述可视化界面编辑所述多个请求的执行顺序。
4.根据权利要求1所述的系统,其特征在于,所述接口调用模块包括:用例执行模块,其中,所述用例执行模块中包含多个测试入口类型对应的执行插件;以及,
所述用例执行模块用于:拉取所述测试用例,确定所述测试用例对应的测试入口类型,利用确定的测试入口类型对应的执行插件,调用所述测试用例对应的业务系统,执行所述测试用例。
5.根据权利要求4所述的系统,其特征在于,所述接口调用模块还包括:Mock模块;以及,
所述Mock模块用于:提供测试参数与成功执行结果的对应关系;
所述用例执行模块还用于:在执行所述测试用例的过程中,验证执行结果;在所述执行结果异常的情况下,调用所述Mock模块,获取异常执行结果对应的成功执行结果,以便所述测试用例的正常执行。
6.根据权利要求5所述的系统,其特征在于,所述Mock模块还用于:通过所述日志模块,获取所调用的业务系统对应的历史业务日志;根据所述异常执行结果对应的测试参数,对获取的历史业务日志进行检索,获得所述成功执行结果。
7.根据权利要求5所述的系统,其特征在于,所述Mock模块还用于:根据预配置的测试参数与成功执行结果的对应关系,或者根据默认配置,获得对应于所述测试用例的成功执行结果。
8.根据权利要求1-7任一所述的系统,其特征在于,所述业务系统中包含日志插件,以便通过所述日志插件获取所述业务日志;以及,
所述业务系统中包含过滤插件,以便通过所述过滤插件从所述业务日志中检索出对应于所述测试用例的数据。
9.一种测试方法,其特征在于,所述方法包括:
接收测试请求,获取所述测试请求对应的目标测试用例;
调用所述目标测试用例对应的被测业务系统,执行所述目标测试用例,输出所述目标测试用例的执行日志;
存储输出的所述目标测试用例的执行日志。
10.根据权利要求9所述的方法,其特征在于,所述获取所述测试请求对应的目标测试用例,包括:
查询是否具有所述目标测试用例;
若是,则获取所述目标测试用例;
若否,则提供可视化界面,以编辑所述目标测试用例。
11.根据权利要求9所述的方法,其特征在于,所述编辑所述目标测试用例,包括:
在所述目标测试用例包含多个请求的情况下,通过所述可视化界面编辑所述目标测试用例包含的多个请求的执行顺序。
12.根据权利要求9所述的方法,其特征在于,所述调用所述目标测试用例对应的被测业务系统,执行所述目标测试用例,包括:
拉取所述目标测试用例,确定所述目标测试用例对应的目标测试入口类型;
利用所述目标测试入口类型对应的执行插件,调用所述被测业务系统,执行所述目标测试用例。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在执行所述目标测试用例的过程中,验证所述目标测试用例对应的目标执行结果;
在所述目标执行结果异常的情况下,获取异常的目标执行结果对应的成功执行结果,以便所述目标测试用例的正常执行。
14.根据权利要求13所述的方法,其特征在于,所述获取异常的目标执行结果对应的成功执行结果,包括:
获取所述被测业务系统对应的历史业务日志;
根据所述异常的目标执行结果对应的测试参数,对所述被测业务系统对应的历史业务日志进行检索,获得所述异常的目标执行结果对应的成功执行结果。
15.根据权利要求13所述的方法,其特征在于,所述获取异常的目标执行结果对应的成功执行结果,包括:
根据预配置的测试参数与成功执行结果的对应关系,或者根据默认配置,获得对应于所述目标测试用例的成功执行结果;
从获得的成功执行结果中,提取出所述异常的目标执行结果对应的成功执行结果。
16.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求9-15中任一所述的方法。
17.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求9-15中任一所述的方法。
CN202110042686.0A 2021-01-13 2021-01-13 测试系统和测试方法 Pending CN113760722A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110042686.0A CN113760722A (zh) 2021-01-13 2021-01-13 测试系统和测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110042686.0A CN113760722A (zh) 2021-01-13 2021-01-13 测试系统和测试方法

Publications (1)

Publication Number Publication Date
CN113760722A true CN113760722A (zh) 2021-12-07

Family

ID=78786311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110042686.0A Pending CN113760722A (zh) 2021-01-13 2021-01-13 测试系统和测试方法

Country Status (1)

Country Link
CN (1) CN113760722A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328248A (zh) * 2021-12-30 2022-04-12 杭州笨马网络技术有限公司 一种软件测试场景覆盖率分析方法、装置、设备及存储介质
CN114416522A (zh) * 2021-12-13 2022-04-29 杭州趣链科技有限公司 区块链系统测试方法、装置、设备及存储介质
CN115840690A (zh) * 2022-06-29 2023-03-24 北京永信至诚科技股份有限公司 接口测试数据的可视化服务方法、系统、设备及存储介质
CN117520210A (zh) * 2024-01-05 2024-02-06 芯瞳半导体技术(山东)有限公司 系统软件测试方法、目标机器及远程测试中控机

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536578A (zh) * 2017-03-06 2018-09-14 阿里巴巴集团控股有限公司 一种测试方法及装置
CN108563567A (zh) * 2018-04-09 2018-09-21 平安普惠企业管理有限公司 自动化测试方法、装置、设备及计算机可读存储介质
CN110347596A (zh) * 2019-07-02 2019-10-18 腾讯科技(深圳)有限公司 一种测试方法、装置、系统、电子设备及介质
CN111198813A (zh) * 2018-11-20 2020-05-26 北京京东尚科信息技术有限公司 一种接口测试方法和装置
CN111221743A (zh) * 2020-03-18 2020-06-02 时时同云科技(成都)有限责任公司 自动化测试方法及系统
WO2020119434A1 (zh) * 2018-12-15 2020-06-18 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
CN111324526A (zh) * 2018-12-14 2020-06-23 北京金山云网络技术有限公司 接口测试系统、方法和服务器
CN111522738A (zh) * 2020-03-30 2020-08-11 拉扎斯网络科技(上海)有限公司 微服务系统的测试方法、装置、存储介质和电子设备
CN111666201A (zh) * 2019-03-08 2020-09-15 北京京东尚科信息技术有限公司 回归测试方法、装置、介质及电子设备
CN111782535A (zh) * 2020-06-30 2020-10-16 京东数字科技控股股份有限公司 测试方法及装置
CN111881037A (zh) * 2020-07-23 2020-11-03 云账户技术(天津)有限公司 测试用例的管理方法、装置和电子设备
CN112115040A (zh) * 2020-06-30 2020-12-22 上海金融期货信息技术有限公司 一种去中心化的自动化测试管理系统和方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536578A (zh) * 2017-03-06 2018-09-14 阿里巴巴集团控股有限公司 一种测试方法及装置
CN108563567A (zh) * 2018-04-09 2018-09-21 平安普惠企业管理有限公司 自动化测试方法、装置、设备及计算机可读存储介质
CN111198813A (zh) * 2018-11-20 2020-05-26 北京京东尚科信息技术有限公司 一种接口测试方法和装置
CN111324526A (zh) * 2018-12-14 2020-06-23 北京金山云网络技术有限公司 接口测试系统、方法和服务器
WO2020119434A1 (zh) * 2018-12-15 2020-06-18 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
CN111666201A (zh) * 2019-03-08 2020-09-15 北京京东尚科信息技术有限公司 回归测试方法、装置、介质及电子设备
CN110347596A (zh) * 2019-07-02 2019-10-18 腾讯科技(深圳)有限公司 一种测试方法、装置、系统、电子设备及介质
CN111221743A (zh) * 2020-03-18 2020-06-02 时时同云科技(成都)有限责任公司 自动化测试方法及系统
CN111522738A (zh) * 2020-03-30 2020-08-11 拉扎斯网络科技(上海)有限公司 微服务系统的测试方法、装置、存储介质和电子设备
CN111782535A (zh) * 2020-06-30 2020-10-16 京东数字科技控股股份有限公司 测试方法及装置
CN112115040A (zh) * 2020-06-30 2020-12-22 上海金融期货信息技术有限公司 一种去中心化的自动化测试管理系统和方法
CN111881037A (zh) * 2020-07-23 2020-11-03 云账户技术(天津)有限公司 测试用例的管理方法、装置和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蔡高扬;马化军;李挥;: "aSIT:面向接口的分布式自动化测试系统", 广东通信技术, no. 04 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416522A (zh) * 2021-12-13 2022-04-29 杭州趣链科技有限公司 区块链系统测试方法、装置、设备及存储介质
CN114328248A (zh) * 2021-12-30 2022-04-12 杭州笨马网络技术有限公司 一种软件测试场景覆盖率分析方法、装置、设备及存储介质
CN115840690A (zh) * 2022-06-29 2023-03-24 北京永信至诚科技股份有限公司 接口测试数据的可视化服务方法、系统、设备及存储介质
CN117520210A (zh) * 2024-01-05 2024-02-06 芯瞳半导体技术(山东)有限公司 系统软件测试方法、目标机器及远程测试中控机
CN117520210B (zh) * 2024-01-05 2024-04-16 芯瞳半导体技术(山东)有限公司 系统软件测试方法、目标机器及远程测试中控机

Similar Documents

Publication Publication Date Title
CN113760722A (zh) 测试系统和测试方法
CN110324169B (zh) 一种接口管理的方法和装置
CN107491382B (zh) 日志输出方法和装置
CN111813685B (zh) 自动化测试方法和装置
CN111427701A (zh) 一种工作流引擎系统和业务处理方法
CN112765102B (zh) 一种文件系统管理方法和装置
CN111666293A (zh) 数据库访问方法和装置
CN110866031B (zh) 数据库访问路径的优化方法、装置、计算设备以及介质
CN112948726A (zh) 一种处理异常信息的方法、装置和系统
CN108959294B (zh) 一种访问搜索引擎的方法和装置
CN113127335A (zh) 一种系统测试的方法和装置
CN115996179A (zh) 业务节点的测试方法、装置、可读介质和电子设备
CN111159207B (zh) 一种信息处理方法和装置
CN113420010A (zh) 数据库的管理方法、装置、电子设备和存储介质
CN111367500A (zh) 数据的处理方法和装置
CN113011858A (zh) 审计项目配置、执行方法和装置
CN113722007A (zh) Vpn分支设备的配置方法、装置及系统
CN112817603A (zh) 应用程序处理方法、装置、电子设备、系统和存储介质
CN112732581A (zh) Sdk检测方法、装置、电子设备、系统和存储介质
CN113495747B (zh) 一种灰度发布方法和装置
CN112783903A (zh) 生成更新日志的方法和装置
CN112579428A (zh) 接口测试的方法、装置、电子设备和存储介质
CN112965747B (zh) 挖掘代码漏洞的方法、装置、设备和计算机可读介质
CN112965946B (zh) 处理文档的方法、装置、设备和计算机可读介质
CN112783665B (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