CN111459819A - 软件测试方法及装置、电子设备、计算机可读介质 - Google Patents

软件测试方法及装置、电子设备、计算机可读介质 Download PDF

Info

Publication number
CN111459819A
CN111459819A CN202010244310.3A CN202010244310A CN111459819A CN 111459819 A CN111459819 A CN 111459819A CN 202010244310 A CN202010244310 A CN 202010244310A CN 111459819 A CN111459819 A CN 111459819A
Authority
CN
China
Prior art keywords
message
message body
address value
proxy server
middleware
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.)
Granted
Application number
CN202010244310.3A
Other languages
English (en)
Other versions
CN111459819B (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010244310.3A priority Critical patent/CN111459819B/zh
Publication of CN111459819A publication Critical patent/CN111459819A/zh
Application granted granted Critical
Publication of CN111459819B publication Critical patent/CN111459819B/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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种软件测试方法,包括:按照消息中间件的约束规则生成消息体;其中,所述消息体包含有消息中间件的IP地址值;在所述消息体配置中添加推送地址值;其中,所述推送地址值为所述消息体的消费地址;将所述消息体的配置文件中消息中间件的IP地址值修改为代理服务器的IP地址值;将修改后的所述消息体发送至所述代理服务器,由所述代理服务器推送所述消息体。该软件测试方法代码侵入程度低,能够在消息体的结构不变的情况下实现快速转发。本公开还提供了一种软件测试方法及装置、电子设备、计算机可读介质。

Description

软件测试方法及装置、电子设备、计算机可读介质
技术领域
本公开实施例涉及计算机技术领域,特别涉及软件测试方法及装置、电子设备、计算机可读介质。
背景技术
软件在开发之后,需要模拟上线后单位时间内多个消息访问,以检验软件是否满足性能需求。人工搭建测试环境是常用的一种检验方式,然而,人工搭建测试环境需要花费大量的时间和财力,而且测试效率低下。同时,由于软件架构越来越复杂,各业务模块之间的通信频繁且复杂,软件开发人员更加倾向使用消息中间件方式进行测试。
消息中间件不仅可应用于测试环境,还可应用于生产环境,即生产和测试采用同样的消息中间件完成。但是,由于测试环境复杂,存在消息堵塞甚至无法推送的情况。如果每个被测业务使用一个消息中间件,则消息中间件管理平台需要维护多个推送地址,不同的推送地址会造成测试依赖,容易造成测试阻塞。如果申请多个消息中间件资源,必然造成资源浪费,并且测试资源性能不足时仍然会出现数据堵塞的情况。如果修改消息中间件的代码,以去掉异步依赖,直接改为推送至第三方接口,则每次测试需要改动代码,增加了人力和财力投入。更重要的是,异步改同步不能体现异步等待特性,测试不能有效覆盖原有业务场景。
公开内容
本公开实施例提供一种软件测试方法及装置、电子设备、计算机可读介质。
第一方面,本公开实施例提供一种软件测试方法,其包括:
按照消息中间件的约束规则生成消息体;其中,所述消息体包含有消息中间件的IP地址值;
在所述消息体的配置文件中添加标识字段和推送地址值;其中,所述推送地址值为所述消息体的消费地址;
将所述消息体的配置文件中消息中间件的IP地址值修改为所述代理服务器的IP地址值;
将修改后的所述消息体发送至代理服务器,由所述代理服务器推送所述消息体。
在一些实施例中,在所述消息体的配置文件中添加推送地址值之前,还包括:
判断是否使用代理服务器发送所述消息体;若是,则在所述消息体的配置文件中添加推送地址值。
在一些实施例中,在将修改后所述消息体发送至所述代理服务器,由所述代理服务器推送所述消息体之后,还包括:
接收所述代理服务器返回的反馈消息;其中,所述反馈消息是所述消息体被所述代理服务器成功地推送至消费者后返回的消息。
第二方面,本公开实施例提供一种软件测试方法,其包括:
获取消息体;其中,所述消息体是消息生产者按照消息中间件的约束规则生成的,所述消息体包含有推送地址值和代理服务器的IP地址值;
解析所述消息体,获得所述推送地址值;
按照消息中间件的格式重新组装所述消息体;
将重新组装后的所述消息体推送至所述推送地址值对应的消费者。
在一些实施例中,所述将重新组装后的所述消息体推送至所述推送地址值对应的消费者之后,还包括:
判断重新组装后的所述消息体是否成功推送至所述推送地址值对应的消费者;若是,则向所述消息生产者返回推送成功的反馈消息;若否,则继续执行所述将重新组装后的所述消息体推送至所述推送地址值对应的消费者。
第三方面,本公开实施例提供一种软件测试的装置,其包括:
消息体生成模块,用于按照消息中间件的约束规则生成消息体;其中,所述消息体包含有消息中间件的IP地址值;
添加模块,用于在所述消息体的配置文件中添加推送地址值;其中,所述推送地址值为所述消息体的消费地址;
修改模块,用于将所述消息体的配置文件中消息中间件的IP地址值修改为代理服务器的IP地址值;
第一发送模块,用于将修改IP地址值后的所述消息体发送至所述代理服务器。
在一些实施例中,还包括:
第一判断模块,用于判断所述消息体是否使用代理服务器发送所述消息体;并且,在使用所述代理服务器推送所述消息体时,将携带判断结果的信号发送至所述添加模块;在不使用所述代理服务器发送所述消息体时,将携带判断结果的信号发送至所述第一发送模块;
所述第一发送模块,还用于将所述消息体发送至消息中间件。
在一些实施例中,还包括:
第一接收模块,用于接收所述代理服务器返回的反馈消息;其中,所述反馈消息是所述消息体被所述代理服务器成功地推送至所述推送地址值对应的消费者后,返回的消息。
第四方面,本公开实施例提供一种软件测试的装置,其包括:
获取模块,用于获取消息体;其中,所述消息体是消息生产者按照消息中间件的约束规则生成的,所述消息体包含有推送地址值和代理服务器的IP地址值;
解析模块,用于解析所述消息体,获得所述推送地址值;
重组模块,用于按照消息中间件的格式重新组装所述消息体;
第二发送模块,用于将重新组装后的所述消息体发送至所述推送地址值对应的消费者。
在一些实施例中,还包括:
第二判断模块,用于判断重新组装后的所述消息体是否成功推送至所述推送地址值对应的消费者;并且,在重新组装后的所述消息体未成功推送至所述推送地址值对应的消费者时,向所述第二发送模块返回重发指令;在重新组装后的所述消息体成功推送至所述推送地址值对应的消费者时,将推送成功信号发送至所述第二发送模块;
所述第二发送模块,还用于向所述消息生产者返回推送成功的反馈消息。
第五方面,本公开实施例提供一种电子设备,其包括:
一个或多个处理器;
存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器上述任意一种软件测试方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
第六方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任意一种软件测试方法。
本公开实施例提供的软件测试方法,按照消息中间件的约束规则生成消息体,然后,在所述消息体的配置文件中添加标识字段和推送地址值,并将所述消息体的配置文件中消息中间件的IP地址值修改为代理服务器的IP地址值;最后,将修改后的所述消息体发送至所述代理服务器。该软件测试方法对消息中间件的代码侵入程度低,代理服务器发送的消息体的结构仍然与消息中间件发送的消息体的结构相同,从而实现了在消息体的结构不变的情况下快速转发的目的。因此,该软件测试方法能够节省消息中间件的测试资源,提高系统的资源利用率,从而提高研发效率,降低测试成本。
附图说明
附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种软件测试方法的流程图;
图2为本公开实施例提供的另一种软件测试方法的流程图;
图3为本公开实施例提供的又一种软件测试方法的流程图;
图4为本公开实施例提供的再一种软件测试方法的流程图;
图5为本公开实施例提供的一种软件测试装置的原理框图;
图6为本公开实施例提供的另一种软件测试装置的原理框图;
图7为本公开实施例提供的又一种软件测试装置的原理框图;
图8为本公开实施例提供的再一种软件测试装置的原理框图;
图9为本公开实施例提供的一种电子设备的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的软件测试方法及装置、电子设备、计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
本公开实施例提供的软件测试方法,消息生产者利用了消息中间件的约束规则生成消息体,使得通过代理服务器发送的消息体与消息中间件发送的消息体的结构保持不变。消息生产者通过代理服务器将消息体发送至消费者,解除了软件测试对消息中间件的依赖,节约了消息中间件的资源,从而提高测试资源的利用率,同时提高测试效率,从而提高研发效率。
第一方面,本公开实施例提供一种软件测试方法。该软件测试方法应用于消息生产者,消息生产者按照消息中间件的约束规则生成的消息体,然后通过代理服务器发送至消费者。
图1为本公开实施例的软件测试方法的流程图。参照图1,软件测试方法包括:
步骤11,按照消息中间件的约束规则生成消息体。
其中,消息体是消息生产者在对测试软件进行测试时生成的测试请求。
在本公开实施例中,消息生产者是按照消息中间件的约束条件生成消息体,换言之,消息生产者产生的消息体完全是按照消息中间件的形式产生,在消息体的配置文件中包含有消息中间件的IP地址值和测试内容。
步骤12,在消息体的配置文件中添加推送地址值。
其中,消息体的配置文件可以为消息体接口等配置文件。推送地址值为消息体的消费地址(PushUrlVal),代理服务器可依据该推送地址值将消息体推送至消息消费者。
在一些实施例中,在消息体的配置文件中还可以添加标识字段,即在消息体的配置文件中同时添加标识字段和推送地址值。其中,标识字段(PushToQ)用于表示代理服务器的地址,生产者可以依据标识字段将消息体发送至代理服务器。
在一些实施例中,在消息体接口中添加标识字段和推送地址值,同样能够将消息体发送至代理服务器,并进行后续的操作。
在本公开实施例中,消息生产者只需要在消息体的配置文件中添加单行代码,将配置文件级别的代码入侵程度降至最低,从而获得与消息中间件相同的测试效率。
将消息体的配置文件中消息中间件的IP地址值修改为代理服务器的IP地址值。
消息生产者是按照消息中间件的约束条件生产消息体,因此,消息体的配置文件中推送的IP地址是消息中间件的IP地址值。当消息生产者通过代理服务器推送消息体时,需要将消息中间件的IP地址值修改为代理服务器的IP地址值。
将修改后的消息体发送至代理服务器,由代理服务器推送消息体。
消息体依据代理服务器的IP地址值将消息体推送至代理服务器,由代理服务器推送消息体。
本公开实施例提供的软件测试方法,对消息中间件的代码侵入程度低,代理服务器发送的消息体的结构仍然与消息中间件发送的消息体的结构相同,从而实现了在消息体的结构不变的情况下快速转发的目的。因此,该软件测试方法能够节省消息中间件的测试资源,提高系统的资源利用率,从而提高研发效率,降低测试成本。
图2为本公开实施例的软件测试方法的流程图。参照图1,软件测试方法包括:
步骤201,按照消息中间件的约束规则生成消息体。
其中,消息体是消息生产者在对测试软件进行测试时生成的测试请求。
在本公开实施例中,消息生产者是按照消息中间件的约束条件生成消息体,换言之,消息生产者产生的消息体完全是按照消息中间件的形式产生,在消息体的配置文件中包含有消息中间件的IP地址值和测试内容。
202,判断消息体是否使用代理服务器推送消息体;若是,则执行步骤203;若否,执行步骤206。
在一些实施例中,消息生产者自己判断消息体的推送方式,即,由消息生产者判断消息体是通过代理服务器推送至消费者,还是通过消息中间件推送至消费者。其中,消费者是指消费测试数据的消费对象,例如,设备的指令或信令等。在另一些实施例中,由系统自动判断消息体采用代理服务器还是消息中间推送。
在一些实施例中,当消息生产者希望通过消息中间件推送时,直接执行步骤206,即直接通过消息中间件推送消息体。
步骤206,利用消息中间件发送消息体。
消息生产者通过消息中间件将消息体推送至消费者。
在一些实施例中,当消息生产者希望通过代理服务器推送消息体时,直接执行步骤203。
步骤203,在消息体的配置文件中添加推送地址值。
其中,推送地址值为消息体的消费地址,代理服务器可依据该推送地址值将消息体推送至消息消费者。
在一些实施例中,在消息体的配置文件中还可以添加标识字段,即在消息体的配置文件中同时添加标识字段和推送地址值。其中,标识字段(PushToQ)用于表示代理服务器的地址,生产者可以通过标识字段将消息体发送至代理服务器。
在本公开实施例中,消息生产者只需要在消息体的配置文件中添加单行代码,即,将配置文件级别的代码入侵程度降至最低,从而获得与消息中间件相同的测试效率。
步骤204,将消息体的配置文件中消息中间件的IP地址值修改为代理服务器的IP地址值。
消息生产者是按照消息中间件的约束条件生产消息体,因此,消息体的配置文件中推送的IP地址是消息中间件的IP地址值。当消息生产者通过代理服务器推送消息体时,需要将消息中间件的IP地址值修改为代理服务器的IP地址值。
步骤205,将修改后的消息体发送至代理服务器,由代理服务器推送消息体。
消息体依据代理服务器的IP地址值将消息体推送至代理服务器。代理服务器收到消息体后,解析消息体,获得标识字段(PushToQ)和推送地址值(PushUrlVal)。然后按照消息中间件的约束条件(配置格式)重新组装消息体,再将重新组装后的消息体推送至推送地址值对应的消费者地址里。
在一些实施例中,在步骤205之后,还包括:接收代理服务器返回的反馈消息。
其中,反馈消息是消息体被代理服务器成功地推送至消费者后返回的消息。其中,消费者是指消息体的配置文件中推送地址值所对应的消费者。
本公开实施例提供的软件测试方法,消息生产者按照消息中间件的约定条件生成消息体,当通过代理服务器推送消息体时,只需要在消息体的配置文件中添加推送地址值,代码侵入程度低,代理服务器发送的消息体的结构仍然与消息中间件发送的消息体的结构相同,从而实现了在消息体的结构不变的情况下快速转发的目的。因此,该软件测试方法能够节省消息中间件的测试资源,提高系统的资源利用率,从而提高研发效率,降低测试成本。
另外,本公开实施例提供的软件测试方法既可实现同步依赖,又可实现异步依赖,能够体现同步等待特性和异步等待特性,覆盖了不同业务场景。
第二方面,本公开实施例提供一种软件测试方法。该软件测试方法应用于代理服务器,消息生产者按照消息中间件的约束规则生成的消息体,然后通过代理服务器发送至消费者。
图3为本公开实施例的软件测试方法的流程图。参照图3,软件测试方法包括:
步骤31,获取消息体。
其中,在消息体的配置文件中包含有推送地址值、代理服务器的IP地址值和测试内容。在一些实施例中,在消息体的配置文件中还包含有标识字段,生产者可以依据标识字段将消息体发送至代理服务器。
在步骤31中,消息体是消息生产者在对测试软件进行测试时生成的测试请求。而且,消息生产者是按照消息中间件的约束条件生成消息体,换言之,消息生产者产生的消息体完全是按照消息中间件的形式产生。
在一些实施例中,当消息生产者通过代理服务器推送消息体时,消息生产者在消息体的配置文件中添加标识字段和推送地址值,并将消息中间件的IP地址值修改为代理服务器的IP地址值。
其中,标识字段(PushToQ)用于表示消息体采用代理服务器推送。推送地址值为消息体的消费地址(PushUrlVal),代理服务器可依据该推送地址值将消息体推送至消息消费者。
在本公开实施例中,消息生产者只在消息体的配置文件中添加单行代码,将配置文件级别的代码入侵程度降至最低,从而获得与消息中间件相同的测试效率。
步骤32,解析消息体,获得推送地址值。
在步骤32中,代理服务器解析消息体,获得推送地址值。代理服务器通过标识字段可知该消息体是通过代理服务器推送至消费者。
当消息体的配置文件中包含标识字段和推送地址值时,代理服务器解析消息体,获得标识字段和推送地址值。
步骤33,按照消息中间件的格式重新组装消息体。
在步骤33中,代理服务器仍然是按照消息中间件的约束条件重新组装消息体,并将消费者的应用程序接口(Application Programming Interface,简称API)添加入消息体,以实现消息体向消息消费者推动。
步骤34,将重新组装后的消息体推送至推送地址值对应的消费者。
在步骤34中,代理服务器将重新组装后的消息体按照推送地址值推送至消费者地址里。当消费者收到消息体后,按照正常方式处理消息体,完成数据消费动作。
在一些实施例中,如图4所示,软件测试方法包括:
步骤41,获取消息体。
步骤42,解析消息体,获得推送地址值。
在一些实施例中,当消息体的配置文件中包含有标识字段时,解析消息体可以获得标识字段和推送地址值。
步骤43,按照消息中间件的格式重新组装消息体。
步骤44,将重新组装后的消息体推送至推送地址值对应的消费者。
其中,步骤41至步骤44与本公开实施例步骤31至步骤34相同,在此不再赘述。
步骤45,判断重新组装后的消息体是否成功推送至推送地址值对应的消费者;若是,执行步骤46;若否,则继续执行步骤44。
步骤46,向消息生产者返回推送成功的反馈消息。
在一些实施例中,消费者收到消息体后,向代理服务器返回收到消息体的反馈消息,代理服务器收到该反馈消息后,向消息生产者返回推送成功的反馈消息。
本公开实施例提供的软件测试方法,消息生产者按照消息中间件的约定条件生成消息体,当通过代理服务器推送消息体时,只需要在消息体的配置文件中添加推送地址值,代码侵入程度低,代理服务器发送的消息体的结构仍然与消息中间件发送的消息体的结构相同,从而实现了在消息体的结构不变的情况下快速转发的目的。因此,该软件测试方法能够节省消息中间件的测试资源,提高系统的资源利用率,从而提高研发效率,降低测试成本。
第三方面,本公开实施例提供一种软件测试装置。该软件测试装置应用于消息生产者,消息生产者按照消息中间件的约束规则生成的消息体,然后通过代理服务器发送至消费者。
图5为本公开实施例的软件测试装置的原理框图。参照图5,软件测试的装置,其包括:
消息体生成模块51,用于按照消息中间件的约束规则生成消息体。
其中,消息生产者是按照消息中间件的约束条件生成消息体,换言之,消息生产者产生的消息体完全是按照消息中间件的形式产生,在消息体的配置文件中包含有消息中间件的IP地址值和测试内容。
添加模块52,用于在消息体的配置文件中添加推送地址值。
其中,消息体的配置文件可以为消息体接口等配置文件。推送地址值为消息体的消费地址(PushUrlVal),代理服务器可依据该推送地址值将消息体推送至消息消费者。
在一些实施例中,在消息体的配置文件中还可以添加标识字段,即在消息体的配置文件中同时添加标识字段和推送地址值。其中,标识字段(PushToQ)用于表示代理服务器的地址,生产者可以依据标识字段将消息体发送至代理服务器。
在一些实施例中,在消息体接口中添加标识字段和推送地址值,同样能够将消息体发送至代理服务器,并进行后续的操作。
在本公开实施例中,消息生产者只需要在消息体的配置文件中添加单行代码,将配置文件级别的代码入侵程度降至最低,从而获得与消息中间件相同的测试效率。
修改模块53,用于将消息体的配置文件中消息中间件的IP地址值修改为代理服务器的IP地址值。
消息生产者是按照消息中间件的约束条件生产消息体,因此,消息体的配置文件中推送的IP地址是消息中间件的IP地址值。当消息生产者通过代理服务器推送消息体时,修改模块53将消息中间件的IP地址值修改为代理服务器的IP地址值。
第一发送模块54,用于将修改IP地址值后的消息体发送至代理服务器。
在本公开实施例中,第一发送模块54依据代理服务器的IP地址值将消息体推送至代理服务器,由代理服务器推送消息体。
图6为本公开实施例的软件测试装置的原理框图。参照图6,软件测试的装置,其包括:消息体生成模块61、添加模块62、修改模块63、第一发送模块64和第一判断模块65。其中,消息体生成模块61、添加模块62、修改模块63、第一发送模块64的作用和连接方式与消息体生成模块51、添加模块52、修改模块53、第一发送模块54基本相同,下面仅对不同部分做详细描述。
第一判断模块65,用于判断消息体是否使用代理服务器发送消息体;并且,在使用代理服务器发送消息体时,将携带判断结果的信号发送至添加模块62;在不使用代理服务器发送消息体时,将携带判断结果的信号发送至第一发送模块64.
第一发送模块64,还用于将消息体发送至消息中间件。
在一些实施例中,软件测试装置还包括第一接收模块66,用于接收代理服务器返回的反馈消息;其中,反馈消息是消息体被代理服务器成功地推送至推送地址值对应的消费者后,返回的消息。
第四方面,本公开实施例提供一种软件测试装置。该软件测试装置应用于代理服务器,消息生产者按照消息中间件的约束规则生成的消息体,然后通过代理服务器发送至消费者。
图7为本公开实施例的软件测试装置的原理框图。参照图7,软件测试装置包括:
获取模块71,用于获取消息体。
其中,消息体是消息生产者按照消息中间件的约束规则生成消息体,消息体包含有标识字段、推送地址值和代理服务器的IP地址值。
消息体是消息生产者在对测试软件进行测试时生成的测试请求。而且,消息生产者是按照消息中间件的约束条件生成消息体,换言之,消息生产者产生的消息体完全是按照消息中间件的形式产生。
在一些实施例中,当消息生产者通过代理服务器推送消息体时,消息生产者在消息体的配置文件中添加标识字段和推送地址值,并将消息中间件的IP地址值修改为代理服务器的IP地址值。
其中,标识字段(PushToQ)用于表示代理服务器的地址。推送地址值为消息体的消费地址(PushUrlVal),代理服务器可依据该推送地址值将消息体推送至消息消费者。
在本公开实施例中,消息生产者只在消息体的配置文件中添加单行代码,将配置文件级别的代码入侵程度降至最低,从而获得与消息中间件相同的测试效率。
解析模块72,用于解析消息体,获得标识字段和推送地址值。
在本公开实施例中,解析模块72解析消息体,获得标识字段和推送地址值。代理服务器通过标识字段可知该消息体是通过代理服务器推送至消费者。
重组模块73,用于按照消息中间件的格式重新组装消息体。
在本公开实施例中,重组模块73仍然是按照消息中间件的约束条件重新组装消息体,并将消费者的应用程序接口(Application Programming Interface,简称API)添加入消息体,以实现消息体向消息消费者推动。
第二发送模块74,用于将重新组装后的消息体发送至推送地址值对应的消费者。
在本公开实施例中,第二发送模块74将重新组装后的消息体按照推送地址值推送至消费者地址里。当消费者收到消息体后,按照正常方式处理消息体,完成数据消费动作。
图8为本公开实施例的软件测试装置的原理框图。参照图8,软件测试的装置,其包括:获取模块81、解析模块82、重组模块83、第二发送模块84和第二判断模块85。其中,获取模块81、解析模块82、重组模块83、第二发送模块84的作用和连接方式与获取模块71、解析模块72、重组模块73、第二发送模块74基本相同,下面仅对不同部分做详细描述。
第二判断模块85,用于判断重新组装后的消息体是否成功推送至推送地址值对应的消费者;并且,在重新组装后的消息体未成功推送至推送地址值对应的消费者时,向第二发送模块返回重发指令;在重新组装后的消息体成功推送至推送地址值对应的消费者时,将推送成功信号发送至第二发送模块。
第二发送模块84,还用于向消息生产者返回推送成功的反馈消息。
本公开实施例提供的软件测试装置,消息生产者按照消息中间件的约定条件生成消息体,当通过代理服务器推送消息体时,只需要在消息体的配置文件中添加推送地址值,代码侵入程度低,代理服务器发送的消息体的结构仍然与消息中间件发送的消息体的结构相同,从而实现了在消息体的结构不变的情况下快速转发的目的。因此,该软件测试方法能够节省消息中间件的测试资源,提高系统的资源利用率,从而提高研发效率,降低测试成本。
第五方面,参照图9,本公开实施例提供一种电子设备,其包括:
一个或多个处理器901;
存储器902,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一项的软件测试方法;
一个或多个I/O接口903,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器901为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器902为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)903连接在处理器901与存储器902间,能实现处理器901与存储器902的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器901、存储器902和I/O接口903通过总线相互连接,进而与计算设备的其它组件连接。
第六方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种软件测试方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

Claims (12)

1.一种软件测试方法,其包括:
按照消息中间件的约束规则生成消息体;其中,所述消息体包含有消息中间件的IP地址值;
在所述消息体的配置文件中添加推送地址值;其中,所述推送地址值为所述消息体的消费地址;
将所述消息体的配置文件中消息中间件的IP地址值修改为代理服务器的IP地址值;
将修改后的所述消息体发送至所述代理服务器,由所述代理服务器推送所述消息体。
2.根据权利要求1所述的方法,其中,在所述消息体的配置文件中添加推送地址值之前,还包括:
判断是否使用代理服务器发送所述消息体;若是,则在所述消息体的配置文件中添加推送地址值。
3.根据权利要求1所述的方法,其中,在将修改后所述消息体发送至所述代理服务器,由所述代理服务器推送所述消息体之后,还包括:
接收所述代理服务器返回的反馈消息;其中,所述反馈消息是所述消息体被所述代理服务器成功地推送至消费者后返回的消息。
4.一种软件测试方法,其包括:
获取消息体;其中,所述消息体是消息生产者按照消息中间件的约束规则生成的,所述消息体包含有推送地址值和代理服务器的IP地址值;
解析所述消息体,获得所述推送地址值;
按照消息中间件的格式重新组装所述消息体;
将重新组装后的所述消息体推送至所述推送地址值对应的消费者。
5.根据权利要求4所述的方法,其中,所述将重新组装后的所述消息体推送至所述推送地址值对应的消费者之后,还包括:
判断重新组装后的所述消息体是否成功推送至所述推送地址值对应的消费者;若是,则向所述消息生产者返回推送成功的反馈消息;若否,则继续执行所述将重新组装后的所述消息体推送至所述推送地址值对应的消费者。
6.一种软件测试的装置,其包括:
消息体生成模块,用于按照消息中间件的约束规则生成消息体;其中,所述消息体包含有消息中间件的IP地址值;
添加模块,用于在所述消息体的配置文件中添加推送地址值;其中,所述推送地址值为所述消息体的消费地址;
修改模块,用于将所述消息体的配置文件中消息中间件的IP地址值修改为代理服务器的IP地址值;
第一发送模块,用于将修改IP地址值后的所述消息体发送至所述代理服务器。
7.根据权利要求6所述的装置,其中,还包括:
第一判断模块,用于判断所述消息体是否使用代理服务器发送所述消息体;并且,在使用所述代理服务器推送所述消息体时,将携带判断结果的信号发送至所述添加模块;在不使用所述代理服务器发送所述消息体时,将携带判断结果的信号发送至所述第一发送模块;
所述第一发送模块,还用于将所述消息体发送至消息中间件。
8.根据权利要求6所述的装置,其中,还包括:
第一接收模块,用于接收所述代理服务器返回的反馈消息;其中,所述反馈消息是所述消息体被所述代理服务器成功地推送至所述推送地址值对应的消费者后,返回的消息。
9.一种软件测试的装置,其包括:
获取模块,用于获取消息体;其中,所述消息体是消息生产者按照消息中间件的约束规则生成的,所述消息体包含有推送地址值和代理服务器的IP地址值;
解析模块,用于解析所述消息体,获得所述推送地址值;
重组模块,用于按照消息中间件的格式重新组装所述消息体;
第二发送模块,用于将重新组装后的所述消息体发送至所述推送地址值对应的消费者。
10.根据权利要求9所述的装置,其中,还包括:
第二判断模块,用于判断重新组装后的所述消息体是否成功推送至所述推送地址值对应的消费者;并且,在重新组装后的所述消息体未成功推送至所述推送地址值对应的消费者时,向所述第二发送模块返回重发指令;在重新组装后的所述消息体成功推送至所述推送地址值对应的消费者时,将推送成功信号发送至所述第二发送模块;
所述第二发送模块,还用于向所述消息生产者返回推送成功的反馈消息。
11.一种电子设备,其包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-3或者4-5任意一项所述的方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
12.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-3或者4-5任意一项所述的方法。
CN202010244310.3A 2020-03-31 2020-03-31 软件测试方法及装置、电子设备、计算机可读介质 Active CN111459819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010244310.3A CN111459819B (zh) 2020-03-31 2020-03-31 软件测试方法及装置、电子设备、计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010244310.3A CN111459819B (zh) 2020-03-31 2020-03-31 软件测试方法及装置、电子设备、计算机可读介质

Publications (2)

Publication Number Publication Date
CN111459819A true CN111459819A (zh) 2020-07-28
CN111459819B CN111459819B (zh) 2023-08-29

Family

ID=71683519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010244310.3A Active CN111459819B (zh) 2020-03-31 2020-03-31 软件测试方法及装置、电子设备、计算机可读介质

Country Status (1)

Country Link
CN (1) CN111459819B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363946A (zh) * 2020-11-24 2021-02-12 上海悦易网络信息技术有限公司 一种基于业务系统的消息转发方法及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189580A1 (en) * 2005-02-26 2008-08-07 Teleommunications Technology Association Techno Automated Testing Device and Method of Data Broadcasting Receivers Based on Test Scenario
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN107302476A (zh) * 2017-08-04 2017-10-27 上海爱数信息技术股份有限公司 一种测试异步交互系统的自动化测试方法与系统
CN107590072A (zh) * 2017-08-30 2018-01-16 深圳乐信软件技术有限公司 一种应用开发和测试的方法和装置
CN109743358A (zh) * 2018-12-13 2019-05-10 平安普惠企业管理有限公司 异步消息接口熔断控制方法、装置、计算机设备及存储介质
CN110297766A (zh) * 2019-06-03 2019-10-01 合肥移瑞通信技术有限公司 基于分布式测试节点集群的软件测试方法及软件测试系统
CN110347520A (zh) * 2019-06-28 2019-10-18 北京大米科技有限公司 消息分发的方法、装置、电子设备及介质
CN110377434A (zh) * 2019-07-04 2019-10-25 深圳前海微众银行股份有限公司 一种服务熔断方法、装置及消息中间件

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189580A1 (en) * 2005-02-26 2008-08-07 Teleommunications Technology Association Techno Automated Testing Device and Method of Data Broadcasting Receivers Based on Test Scenario
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN107302476A (zh) * 2017-08-04 2017-10-27 上海爱数信息技术股份有限公司 一种测试异步交互系统的自动化测试方法与系统
CN107590072A (zh) * 2017-08-30 2018-01-16 深圳乐信软件技术有限公司 一种应用开发和测试的方法和装置
CN109743358A (zh) * 2018-12-13 2019-05-10 平安普惠企业管理有限公司 异步消息接口熔断控制方法、装置、计算机设备及存储介质
CN110297766A (zh) * 2019-06-03 2019-10-01 合肥移瑞通信技术有限公司 基于分布式测试节点集群的软件测试方法及软件测试系统
CN110347520A (zh) * 2019-06-28 2019-10-18 北京大米科技有限公司 消息分发的方法、装置、电子设备及介质
CN110377434A (zh) * 2019-07-04 2019-10-25 深圳前海微众银行股份有限公司 一种服务熔断方法、装置及消息中间件

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HENNING M: "A new approach to object-oriented middleware", vol. 08, no. 01, pages 66 - 75 *
乔扬: "基于OCI连接池的TCP/IP轻量级中间件服务器的实现", vol. 35, no. 05, pages 18 - 22 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363946A (zh) * 2020-11-24 2021-02-12 上海悦易网络信息技术有限公司 一种基于业务系统的消息转发方法及设备
CN112363946B (zh) * 2020-11-24 2024-04-16 上海万物新生环保科技集团有限公司 一种基于业务系统的消息转发方法及设备

Also Published As

Publication number Publication date
CN111459819B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
CN111818136B (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN111597110B (zh) 页面测试方法、装置、电子设备及存储介质
CN110647460B (zh) 一种测试资源管理方法、装置和测试客户端
CN109218393B (zh) 一种推送的实现方法、装置、设备和计算机存储介质
CN110955640A (zh) 跨系统数据文件的处理方法、装置、服务器和存储介质
CN107798064A (zh) 页面处理方法、电子设备及计算机可读存储介质
CN111694639B (zh) 进程容器地址的更新方法、装置和电子设备
CN111966653A (zh) 微服务调用链路数据处理方法、装置、服务器及存储介质
CN105577480A (zh) 一种网络连接性能的监测方法及装置
CN111459819A (zh) 软件测试方法及装置、电子设备、计算机可读介质
CN113742235A (zh) 一种校验代码的方法和装置
CN111124883B (zh) 一种基于树形表格的测试用例库引入方法、系统及设备
CN110162982B (zh) 检测非法权限的方法及装置、存储介质、电子设备
CN110471669B (zh) 一种空指针引用的检测方法及检测装置
CN114143236B (zh) 一种业务系统测试方法、装置、电子设备和可读存储介质
CN114900566A (zh) 数据通信方法、装置、电子设备及介质
CN112711602B (zh) 一种存储过程的运行方法、装置,数据库系统及存储介质
CN114489667A (zh) 脚本生成方法、装置、电子设备及存储介质
CN108920589B (zh) 浏览劫持识别方法、装置、服务器及存储介质
CN115220714A (zh) 应用程序编程接口的开发方法及装置
CN114449052B (zh) 一种数据压缩方法、装置、电子设备及存储介质
CN112181539B (zh) 文件处理方法、装置、设备及介质
CN111163088B (zh) 消息处理方法、系统、装置及电子设备
US11706117B1 (en) Message-based monitoring and action system
CN116107899A (zh) Mock接口管理方法、装置、终端设备及存储介质

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