CN108282377B - 一种测试物流业务数据的处理方法、装置及服务器 - Google Patents
一种测试物流业务数据的处理方法、装置及服务器 Download PDFInfo
- Publication number
- CN108282377B CN108282377B CN201710006967.4A CN201710006967A CN108282377B CN 108282377 B CN108282377 B CN 108282377B CN 201710006967 A CN201710006967 A CN 201710006967A CN 108282377 B CN108282377 B CN 108282377B
- Authority
- CN
- China
- Prior art keywords
- message
- test
- service
- logistics
- logistics service
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种测试物流业务数据的处理方法、装置及服务器。所述方法包括:根据接收的物流业务信息生成测试报文,所述物流业务信息包括业务内容、测试节点;将所述测试报文发送至目标对象;将更新后的业务内容的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比;根据所述对比的结果确认生成的所述测试报文是否通过测试。利用本申请各个实施例,可以模拟各种不同特性的物流公司回传的包裹信息,自动生成测试节点所需物流业务的测试报文,并自动进行测试结果的校验,有效节约人力和时间成本,提高测试的效率和可靠性。
Description
技术领域
本申请属于计算机数据处理技术领域,尤其涉及一种测试物流业务数据的处理方法、装置及服务器。
背景技术
随着计算机和互联网的迅速发展,线上购物已经成为越来越多用户的主要消费方式。其中丰富多样的产品、越发快捷便利的物流更是受到消费者的喜爱,这也成为众多在线购物服务商竞争的市场焦点之一。
目前许多在线购物服务商拥有自己的在线沟通平台和物流业务。通常的,为了更好的服务消费者,服务商通常除提供自有物流外,往往还要接入多个友商物流,与不同的物流公司进行信息交互。目前在线购物平台接入物流公司的业务时,需要在提供在线购物平台的业务服务器和物流公司一侧的终端设备(如物流公司的服务器、手持终端等)之间进行业务数据的测试、调整等,保障业务服务器能正确处理并在前端展示给消费者正确的物流信息。
现有技术中测试方案主要是通过人工方式实施完成,包括:1、人工构建测试数据。包括作业服务器的作业人员通过人工的方式构建要接入的物流公司的测试数据,或者物流公司作业人员人工复制现有的报文框架,然后再从数据库中找到需要变更的字段值,替换掉报文中这些字段,组成完整的报文后发送给在线购物平台的作业人员,然后由作业人员对业务服务器进行测试;2、人工检查核对测试结果。例如通常在一次测试之后,需要人工校验在线购物平台的数据库中的订单状态,以及网页页面是否正确显示订单状态等,测试在业务服务器对物流的报文是否正确做出了响应。
然而,目前随着互联网的迅速发展,在线购物平台常常需要对接多个物流公司,而各个物流公司业务测试的独立性较强,各个物流公司对应的测试中通常只维护自己的测试数据,数据共性较差,使得在线购物平台的业务服务器需要兼容逻辑不通的物流业务,增加处理压力。实际的物流公司具体的物流业务之间常常存在许多共性数据,这就造成了测试资源重复浪费的情况。另外,当新接入一个物流公司时,业务服务器往往又要需要重新学习业务逻辑,再次人工的为新接入的物流公司编写测试数据和测试代码,以及在测试过程中,还需要大量的人工校验。因此,现有的这种通过人工构造物流测试数据、人工校验物流业务报文测试结果的方式这不仅费时费力、兼容和扩展性差,大大降低了测试效率,还容易因人工编写和校验测试数据的操作引入人工错误,影响测试可靠性。
发明内容
本申请目的在于提供一种测试物流业务数据的处理方法、装置及服务器,可以模拟各种不同特性的物流公司回传的包裹信息,自动生成测试节点的报文,并自动进行测试结果的校验,有效节约人力和时间成本,提高测试的效率和可靠性。
本申请提供的一种测试物流业务数据的处理方法、装置及服务器是这样实现的:
一种测试物流业务数据的处理方法,所述方法包括:
根据接收的物流业务信息生成测试报文,所述物流业务信息包括业务内容、测试节点;
将所述测试报文发送至目标对象,以使所述目标对象根据所述测试报文更新所述业务内容的业务状态信息;
将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比;
根据所述对比的结果确认生成的所述测试报文是否通过测试。
一种测试物流业务数据的处理装置,所述装置包括:
报文生成模块,用于根据接收的物流业务信息生成测试报文,所述物流业务信息包括业务内容、测试节点;
报文回传模块,用于将所述测试报文发送至目标对象,以使所述目标对象根据所述测试报文更新所述业务内容的业务状态信息;
对比模块,用于将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比;
结果确定模块,用于根据所述对比的结果确认生成的所述测试报文是否通过测试。
一种服务器,包括:
I/O接口,耦合于目标对象,用于向所述目标对象发送生成的测试报文和接收所述目标对象根据所述测试报文返回的更新后的业务内容的业务状态信息;
处理器,用于根据接收的物流业务信息生成测试报文,所述物流业务信息包括业务内容、测试节点;还用于将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比,以及根据所述对比的结果确认生成的所述测试报文是否通过测试。
本申请提供的一种测试物流业务数据的处理方法、装置及服务器,可以预先构建包括不同状态的报文池,所述的报文池可以包括预先设置的多个不同测试节点、不同业务内容的报文结构类。在确定了需要测试的物流业务信息后,可以调用这些报文结构类自动生成相应的测试报文。所述的测试报文可以自动的发送到目标对象,如在线购物平台的业务服务器。然后可以获取所述目标对象更新后得到业务状态,并与设置的预期目标状态相比较,自动检测并输出测试结果,大量减少人工编造测试数据的主观干扰和人工编码错误,减少人力和测试数据构建时间,并可以提高测试结果的可靠性。本申请利用报文池预先存储的报文结构模拟各个物流节点来自动生成业务的测试报文,大大降低作业人员构建数据的工作量和提高测试结果的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请所述一种测试物流业务数据的处理方法一种实施例的方法流程图;
图2是利用本申请提供的一种测试物流业务数据的处理方法进行物流订单详情测试的一个实施场景示意图;
图3是本申请所述一种测试物流业务数据的处理方法一种实施例的方法流程图另一种实施例;
图4利用本申请实施方案中生成业务节点的测试报文的一个具体实施流程示意图;
图5是本申请一个实施例场景中新增物流业务时的报文池示意图;
图6本申请所述一种测试物流业务数据的处理装置一种实施例的模块结构示意图;
图7是本申请提供的一种报文生成模块一种实施例的模块结构示意图;
图8是本申请所述一种测试物流业务数据的处理装置一种实施例的模块结构示意图;
图9是本申请提供的一种服务器的实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1是本申请所述一种测试物流业务数据的处理方法一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤、模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理的实施环境)。
具体的一种实施应用场景如图1所述,本申请提供的一种测试物流业务数据的处理方法的一种实施例可以包括:
S1:根据接收的物流业务信息生成测试报文,所述物流业务信息包括业务内容、测试节点。
当需要生成测试报文进行物流业务的数据测试时,可以根据接收到的物流业务信息生成测试报文。所述的物流业务信息在本申请中可以至少包括业务内容、测试节点这两个维度的信息,这样可以根据物流业务的业务内容以及测试节点确定需要生成的测试报文。一般的,物流业务中运送的货物可以被称为包裹,这样在具体的一个应用场景中,包裹的具体物流业务的业务内容可以包括但不限于:包裹的交易订单号、仓储订单号、包裹的地理位置、包裹重量、包裹中的产品个数,以及业务定制的包裹信息等。所述的测试节点通常为包裹所处的物流节点,如仓库、揽件、运输干线中、派送等。
本申请一个实施例的具体应用场景中,买家在在线购物平台(可以是在线购物网站或移动终端APP等,本申请需要测试的目标对象中的一种)中下单付款,然后卖家发货后,会下发订单号给对应的物流公司。物流公司接收到订单后,开始与在线购物平台进行物流业务信息的交互。两者具体的交互的信息通常与包裹所在的测试节点相关,一般的,不同的测试节点所需要的物流信息内容往往是不相同的。
物流业务数据处理中,不同业务的需要回传的报文内结构和内容通常是不一样的,同一业务在不同的测试节点所表示的物流段也不同,需要回传的报文结构和报文内容通常也是不同的。因此,在本申请实施例中用户可以选择需要测试的业务内容和测试节点,然后可以至少根据具体的业务内容和测试节点两个维度的物流业务信息生成包裹在所述测试节点的测试报文。如一个物流业务数据的示例中,包裹的测试节点在“普通仓库”,则可以生成如下的测试报文:
当然,如果需要获取测试包裹在派送状态下的报文处理情况,则可以生成如下业务节点为“落地配”的测试报文:
通过上述可以看出,不同测试节点所回传的报文结构和报文内容是不相同的,如上述示例中,业务节点“普通仓库”不需要回传运单号,但需要回传包裹重量等作业信息,并且业务节点“普通仓库”和“落地配”中的报文结构中字段的含义也可以是不相同的,例如,订单号。不同业务测试节点的测试报文可以通常需要不同的报文结构,如测试报文的字段、格式、布局、埋点指令等。但在同一个测试节点,甚至不同测试节点中,实际应用中有很多物流业务是存在相同的共性数据,整体使用的报文结构相同或基本相同,本申请利用这些报文结构结和具体的传入的业务内容即可生成的测试报文。因此,本申请中可以将这些不同测试报文使用的相同报文结构定义为报文结构类。
所述报文结构类可以采用某种计算机语言构建生成,包括了用来生成固定格式的报文的程序代码,例如可以利用JAVA语言生成所述报文结构类。具体的例如可以包括设计一个报文结构的父类,这个父类中定义了某个测试节点中所需生成(或预期后续可能需要生成)的报文结构类的公共方法/结构,如“仓储”测试节点的父类。然后可以根据测试节点具体的不同业务派生出多个子类,这些子类可以继承该父类报文结构,并根据业务的需求进行进一步设计子类内部的报文结构。比如仓储中进口业务这一部分的报文可以对应一个子类,这个子类为基于父类的报文结构类的基础上派生出的另一个报文结构类,例如上述子类可以比父类的报文结构类多一个标记包裹为“进口”的字段和一个标记包裹进口的来源国的字段“import from:”。定义好了报文的报文结构类后,在使用报文结构类时,本申请实施例可以根据传入的参数字段(包括测试节点和业务内容,如“订单号+业务类型+业务节点+物流状态”数据格式的传入数据)可以具体定位到某个匹配的报文结构类,然后可以利用该报文结构类生成测试报文。所述传入的参数字段具体的传入方式可以通过直接设置参数字段的字符,如接收的测试人员输入的“订单号+业务类型+业务节点+物流状态”数据结构的一串数据字符,也可以包括通过操作界面分别选择相应的参数字段,如测试人员可以通过下拉菜单选择“物流状态”为“配送中”。
具体的一个示例中,如业务节点为“普通仓储”测试报文的一个报文结构类的设计结构可以如下所示:
这样,测试人员可以通过输入包括"num=12342322"和"weight=12"的传入参数即可生成如下所示的测试报文:
本申请提供的一种测试物流业务数据的处理方法的另一种实施例中,可以预先构建包括针对多个测试节点、多种业务场景进行测试的报文结构类的报文池。本申请实施例中可以设置一个报文结构类为一种测试报文的结构(如报文结构类型、层次构架、参数种类等),一个报文结构类可以根据传入的具体的物流业务信息生成不同场景下的测试报文(如不同物流公司在相同测试节点的相同或相似业务内容)。当然,报文池中的报文结构类可以有标记该报文结构类所属物流业务中具体的某个测试节点的标签信息。如某个报文结构类标签为class.stor.wuxi.001,则可以表示该报文结构类属于“仓库”的测试节点。所属报文结构类还可以标记有在所属测试节点中具体的物流业务的标签信息,如可以进一步细分为用于生成“仓库”物流节点中“大家电”物流业务所需回传的报文的报文结构类、用于生成“生鲜”物流业务所需回传的报文的报文结构类等。所述的报文池可以为存储用于生成测试报文的报文结构类的数据存储单元,可以是专门的数据库/表,可以使用标签或类名区别不用的报文结构类。这样,在获取物流业务信息后,可以根据业务内容和测试节点直接使用报文池中相匹配的报文结构类生成测试报文。因此,本申请提供的所述方法的具体一种实施例中,所述根据物流业务信息生成节点测试报文可以包括:
S101:在预先构建的报文池中获取与所述物流业务信息中的测试节点和业务内容相匹配的报文结构类;
S102:根据匹配出的报文结构类生成测试报文。
上述实施例中,所述的获取与所述物流业务信息中的测试节点和业务内容相匹配的报文结构类,具体的可以包括按照预设的匹配要求从报文池中选出报文结构类。例如一个示例中,当所述物流业务信息中的测试节点为“仓库”时,则可以确定需要查找报文池中所属测试节点为“仓库”的报文结构类。然后可以根据业务内容确定报文结构类的方法/结构/字段等信息,结合上述确定的测试节点,从测试节点为“仓库”的报文结构类中匹配出符合物流业务信息的业务内容的报文结构类。例如当报文池中的某个报文结构类“class.stor.wuxi.002”所属的测试节点与所述物流业务信息中的测试节点相同,都为“仓库”的测试节点,并且该报文结构类“class.stor.wuxi.002”所对应的业务内容与所述物流业务信息中的业务内容相匹配(如业务内容相似度高,经过字段比对后,确定两者报文所需的报文结构和字段信息都相同,如都包括包裹订单号orderid、包裹重量weight、物流状态content等)。报文结构类“class.stor.wuxi.002”为预先设置的接入的无锡物流公司A的报文结构类,所需测试的为新接入的杭州物流公司B的物流业务,基于上述匹配的结果,此时可以使用报文结构类“class.stor.wuxi.002”来生成杭州物流公司B在“仓储”测试报文。
所述的报文池可以由测试人员预先根据具体的物流测试业务和测试节点配置生成。本申请的一个具体实施例中,可以采用物流业务和测试节点两个维度来覆盖测试需要的场景,以满足不同测试场景下的测试需求。当然,所述的报文池可以被设置成可以添加、修改、删除其中的报文结构类,这样可以使报文结构类更加灵活、可扩展的生成不同包裹状态的测试报文。本申请具体的一种实施例中,所述报文池可以采用包括下述方式构建生成:
S111:预先配置模拟测试对象的属性信息,根据所述属性信息划分测试节点;
S112:设置所述测试节点中的物流业务,构建所述物流业务对应的报文结构类,所述报文结构类可以用于根据接收到的物流业务信息生成相应的测试报文;
S113:基于所述报文结构类构建生成报文池。
本申请实施例的报文池中可以预先存储针对不同测试节点、不同物流业务的报文结构类,能够实现模拟各种不同特性的物流公司的业务服务器回传的包裹信息。对物流业务数据的测试方来说,相当于提供一个支持全面物流业务(报文池中可以包含设计的所有可能的物流业务)的模拟测试对象,如可以既是仓库、又是干线、又是落地配的模拟物流公司。这样可以预先配置模拟测试对象不同的属性信息,用于表示包裹所处的不同节点,如仓库、中转仓、干线、落地配等。由于不同属性信息的节点负责的物流段不同,因此他们需要回传的包裹信息格式和内容通常也不相同,所以本实施例可以根据模拟的物理场景需求构建不同测试节点中相应的物流业务的报文结构类,利用这些预先配置、构建的报文结构类可以生成相应物流业务的测试报文。例如在干线测试节点中,物流业务可以包括包裹在起始点大区仓库装配的报文结构类、正在向目的大区仓库运输中的报文结构类、已到达目的大区正在分拣的报文结构类。在实际存储时可以将属于相同测试节点的报文结构类放在一起,作为报文池中的一个测试节点。这些生成的不同测试节点的报文结构类存储后可以构建生成报文池。
具体的一个示例中,在配置模拟测试对象的属性信息时,可以模拟实际物流的各个节点划分多个测试节点,如仓库、中转仓、干线、落地配四个测试节点。通常划分的每个测试节点所负责的具体的物流内容也不相同,所需回传的报文格式和内容往往也是不相同的。因此,可以在划分的测试节点中进一步设置用于生成不同物流业务的报文的报文结构类,如用于生成“仓库”物流节点中“大家电”物流业务所需回传的报文的报文结构类、用于生成“仓库”物流节点中“生鲜”物流业务所需回传的报文的报文结构类等。每个模拟的物流测试节点可以包括预先设计构建的一个或多个物流业务的报文结构类,所有的测试节点的报文结构类集合到一起可以组成本申请实施例所述的报文池。
本实施例在构建的报文池中的报文结构类时,可以利用不同物流公司之间物流业务的数据共性,预先配置需要生成应用场景下的测试报文的报文结构类,组建成报文池。这样,在实际作业操作时,作业人员可以输入测试节点和业务内容,然后即可快速匹配出适当的报文结构类,并由匹配出的报文结构类自动构建生成相应的测试报文,可以大量减少甚至无需作业人员再次为新接入的物流公司编写测试数据和测试代码。并且,当物流业务要新增或修改时,利用本申请实施例方案可以无需更改后台代码,可以通过直接使用或修改报文池中已经存在的报文结构类,使得报文池中数据的扩展性更为灵活、便捷,有效提高测试效率。
本申请实施例可以根据包括业务内容、测试节点的物流业务信息自动生成相应的测试报文。
S2:将所述测试报文发送至目标对象,以使所述目标对象根据所述测试报文更新所述业务内容的业务状态信息。
生成相应测试节点的对应于业务内容的测试报文后,可以将该测试报文发送至目标对象。本实施例中所述的目标对象可以包括根据接收的报文做出响应行为的处理单元或设备、装置。如所述目标对象可以为向交易双方展示包裹物流状态信息的业务服务器,如前端实时展示物流业务状态信息的服务端。本实施例应用场景中,可以将生成的测试报文发送至在线购物平台的业务服务器,这样,进一步的,所述业务服务器可以根据模拟测试对象发送来的测试报文相应的更新包裹的业务状态信息。例如所述的业务状态信息可以为包裹的订单状态信息,然后可以根据测试报文中包裹所在的测试节点和包裹业务内容修改数据库中对应包裹的订单状态,以更新包裹的订单状态信息。当然,所述业务服务器也可以将更新后的订单状态信息返回给模拟测试对象。
S3:将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比。
在物流业务的业务状态信息被更新后,模拟测试对象可以获取该更新后的业务状态信息。然后将更新后的业务状态信息与预先设置的物流业务对应测试节点中的目标状态信息进行对比。本申请的一种实施例中,可以预先设置物流业务在不同的测试节点有不同的目标状态信息。
本实施例中可以预先设置物流业务在相应测试节点的目标状态信息,所述目标状态信息可以包括预设的所述业务内容在相应的测试节点所要达到的状态信息。例如在与包裹所处地点的状态信息中,可以设置所述目标状态信息包括“包裹已到达XX大区分拨中心”。具体的目标状态信息可以根据实际需要测试的业务场景预先进行关键字段信息的设置。获取更新后的业务状态信息后,可以与所述目标状态信息进行对比。如上述实施场景中,在接收到在业务服务器所返回的更新后的订单状态后,可以根据预先保存的测试节点与预设订单状态的对应关系,获取包裹在测试节点所对应的预设订单状态,并将更新后的订单状态与该测试节点所对应的预设订单状态进行对比。对比的方式可以包括全字段匹配、预定字段匹配、状态标识符比对等,具体可以由作业人员进行自定义设置。
需要理解的是,测试节点与预设订单状态的对应关系中,不同的测试节点所对应的预设订单状态可以是不同的。
例如,对于测试节点为“生鲜仓库”,如果确定物流业务的包裹需要进行冷链配送,则测试节点“生鲜仓库”一个物流业务C1的预设订单状态(目标状态信息)中类型字段的取值为“冷链配送”。假设从业务服务器获取到该物流业务C1的订单状态(目标对象中更新后的业务状态信息)中类型字段对应的字段值为“生鲜配送”,与“冷链配送”不同,则对比结果可以为业务状态信息与目标状态信息不相同。
在本实施场景中,在线购物平台的业务服务器在接收到测试报文后,可以对接收到的测试报文进行分析,以确定该测试报文所对应的测试节点。然后可以修改数据库中对应的测试节点的订单状态,以生成更新后的订单状态。进一步的,所述业务服务器可以将对应的更新后的订单状态返回给模拟测试对象,即本实施应用场景中要测试的模拟物流公司的处理终端。
本实施例可以获取所述业务内容在所述目标对象中更新后的业务状态信息,然后可以将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比。
S4:根据所述对比的结果确认生成的所述测试报文是否通过测试。
在将更新后的业务状态信息与所述目标状态信息进行对比后,可以根据所述对比的结果确认上述生成的测试报文是否通过本次测试。具体的,若上述比对的结果为业务状态信息与目标状态信息不相同,则可以确定所述测试报文没有通过测试,否则所述测试报文通过测试。如上述实施场景中,业务服务器获取到该物流业务C1的订单状态中类型字段对应的字段值为“生鲜配送”,与目标状态信息中类型字段的字段值“冷链配送”不同,表示在测试节点中订单信息并没有达到该业务节点所要求达到的订单状态,则可以确定得到此次物流业务测试的测试报文没有通过测试。所述的测试结果可以包括上述对比的结果信息,其他的实施方式中还可以包括对基于所述结果信息进行添加、修改、转换等生成的测试结果。
在上述实施场景中,如果更新后的订单状态与该业务节点所对应的预设订单状态一致,则确定更新后的订单状态与该业务节点所要求达到的订单状态相同,此时,可确定在线购物平台的业务服务器正确处理了该物流业务信息对应的报文。当然,在测试所述业务服务器对模拟出的测试对象(上述实施例场景中的所要接入的物流公司的终端设备)返回报文的处理过程中,如果确定更新后的订单状态与业务节点所要到的订单状态不一致时,测试人员可以得知所述业务服务器未正确处理该物流业务信息的测试报文。
图2是利用本申请提供的一种测试物流业务数据的处理方法进行物流订单详情测试的一个实施场景示意图。在图2中,接收到模拟用户下单生成的物流业务信息后可以解析获取订单号,确定测试的业务内容和测试节点。可以利用报文生成器调用报文池中报文结构类生成测试报文,然后可以利用报文回传器将测试报文发送给在线购物平台的业务服务器。所述业务服务器根据回传的测试报文更新数据库中订单的业务状态信息。所述的报文生成器和报文回传器为设置的实现相应功能的组件模块。然后,可以进行数据库的对比,查看该订单更新后的业务状态信息是否与预期的业务状态信息一致,进而根据对比结果确定该订单的测试结果。例如在“仓库”测试节点中,一个订单号NO_001的订单在业务服务器更新前的业务状态信息为“待揽件”,设置的目标状态信息为“已装配,待发”。假如业务服务器根据生成的测试报文的处理进行业务状态更新后,最新的业务状态信息为“已出库”,与预设的目标状态信息不一致,则可以自动确定出“订单号NO_0001的物流状态为:已出库,与目标状态信息‘已装配,待发’不一致”的物流业务数据的测试结果。
本申请提供的一种测试物流业务数据的处理方法,可以预先构建包括不同状态的报文池,所述的报文池可以包括预先设置的多个不同测试节点、不同业务的报文结构类。在确定了需要测试的物流业务信息后,可以调用这些报文结构类自动生成相应的测试报文。所述的测试报文可以自动的发送到在线购物平台的业务服务器,然后所述业务服务器可以更新业务状态,并与设置的预期目标状态相比较,自动检测测试结果,大量减少人工编造测试数据的干扰,减少人力和测试数据构建时间,并可以提高数据的可靠性。本申请利用报文池预先存储的报文结构类来模拟各个物流节点的物流业务,自动生成业务的测试报文,大大降低作业人员构建数据的工作量和提高测试结果的可靠性。
前述中得到物流状态测试结果后,可以将该物流状态测试结果反馈给在线购物平台的业务服务器,业务服务器可以基于所述物流状态测试结果在前端向用户展示测试报文的测试结果。图3是本申请所述一种测试物流业务数据的处理方法一种实施例的方法流程图另一种实施例中,如图3所示,所述方法的另一种实施例中,还可以包括:
S5:将所述物流状态测试结果返回至所述目标对象,以使所述目标对象展示是否正确处理了所述测试报文的输出结果。
本实施例中可以将物流测试结果返回给目标对象(如前端实时展示物流业务状态信息的服务端)。所述的物流状态测试结果也可以包括设置添加其他信息或进行其他处理后的测试结果信息,这样测试人员根据返回的物流状态测试结果可以进行相应的草。例如,可以将错误的字段值进行标红,并且根据该业测试点的目标状态信息可以确定出如何修改错误的字段值,即可以给出正确的字段值。由此,使得测试人员可以根据字段值对数据库中对应字段的字段值进行修改,避免了由人工数据库中的字段值进行对比的步骤,减少在测试过程中人工对报文结果进行查询、判断的处理过程,提高了测试效率和测试结果的可靠性。
本申请的一个实施例利用上述设计报文池及报文结构类来处理测试物流业务数据,使得后续业务扩展更加容易、灵活。具体的一个实例中,当新增业务时,如果新业务的物流公司属性应被其他业务用到,如同样是仓库或中转仓,以及需要使用的报文结构、字段与报文池中已经存在报文结构类相同,则测试人员可以不需要新增代码,可以只需要简单的引用其他相同节点和业务使用的报文结构类来生成包裹的测试报文即可。因此,本申请所述一种测试物流业务数据的处理方法的另一种实施例中,所述报文池还被设置成,包括:当新增物流业务时,采用下述方式设置所述新增物流业务的报文结构类:
S100:根据新增物流业务所匹配的模拟测试对象的属性信息确定所述新增物流业务所属的测试节点;以及,
当确定所述报文池中存在与所述新增物流业务匹配度达到第一预设要求的第一报文结构类时,使用所述第一报文结构类作为所述新增物流业务在所述测试节点的报文结构类。
所述的第一匹配要求通常可以包括设置所述新增物流业务所需的报文结构与报文池中已存在业务的某个报文结构类的报文结构相同,或者设计为包括可忽略不计(或在允许范围内)的修改时的匹配条件。具体的一个示例中,例如,需要在报文池中添加物流公司A的新增物流业务“出口,已派送”的测试节点的报文结构类时,可以根据获“出口,已派送”的测试节点具体的业务信息在报文池中查询是否存在有与“出口,已派送”相匹配的报文结构。当根据与其他业务的业务节点的报文结构进行比较,可确定报文池中已经存在一个报文结构类“出口,已派送”,则可以直接使用该报文结构类作为新增物流业务的报文结构类。
另一种实施例,若报文池中没有所述第一报文结构类,则所述报文池还被设置成,可以包括:
S200:当所述报文池中不存在所述第一报文结构类时,则获取所述报文池中与所述新增物流业务的匹配度达到第二预设要求的第二报文结构类;并在所述第二报文结构类中设置所述新增物流业务的报文逻辑,生成报文池中所述新增物流业务在所述测试节点的第三报文结构类。
若所述报文池中没有匹配度达到第一预设要求的第一报文结构类时,一种实施方式中可以退而求其次获取匹配度达到第二预设要求的第二报文结构类。本实施例的一个实施方式中所述第二预设要求可以设置为匹配度要求低于所述第一预设要求,如当第一预设要求设置为报文结构类完全相同或者匹配度达到98%时,所述第二预设要求可以相应的设置为98%或者90%。然后,可以根据新增物流业务具体的业务内容信息对第二报文结构类进行简单的编辑修改即可作为新增物流业务在所述测试节点的报文结构类,用于生成新增物流业务的测试报文。
具体的一个示例中,例如,需要在报文池中新增“出口,已派送”的测试节点的报文结构类时,可以根据获“出口,已派送”的测试节点具体的业务信息在报文池中查询是否存在有与“出口,已派送”相匹配的报文结构类。当与其他业务的报文结构进行比较后,没有匹配到报文结构相同的报文结构类,但查找到“出口,已派送”的报文结构与一个已经存在的进口物流业务所对应的“已派送”的报文结构相似度很高,符合匹配要求,因此可以作为新增物流业务的报文结构类。此时,可获取进口所对应的“已派送”的报文生成函数。由于出口所对应的根据出口“已派送”的报文结构中还包括“关税字段”。在获取到进口所对应的“已派送”的报文生成函数后,可根据出口所对应的“已派送”的报文结构对进口所对应的“已派送”的报文生成函数进行修改,以生成可以生成出口所对应的“已派送”的报文生成函数,即在进口所对应的“已派送”的报文生成函数添加关于“关税字段”的相关内容,以生成出口所对应的“已派送”的报文生成函数。最后,可以根据出口所对应的“已派送”的报文生成函数和在保存的该“交易单号”的出口业务所对应的“已派送”的数据生成出口所对应的“已派送”的测试报文。由此,结合业务之间的共性,即结合其他业务的资源自动生成了对应业务的业务节点的报文,合理利用了业务之间的共性以及其他业务的资源,减少处理过程中的人工操作,可提高生成报文的效率,进而可提高测试效率以及可靠性。
本实施例在构建的报文池中的报文结构类时,可以结合业务之间的共性,在新增相同业务时可以使用已经存在的报文结构类类的资源,或新增相似业务时可以利用已经存在的报文结构类的资源自动生成对应业务的报文结构类。这样可以合理利用业务之间的共性以及业务资源,减少甚至无需人工重新构建新业务的报文结构类,有效的提高生成测试报文的效率和节约测试资源、降低人力和时间成本。
当然,如果报文池中既没有与新增物流业务符合完全匹配的第一结构类,也没有符合第二匹配要求的第二报文结构类,则本申请提供的另一种实施例中,可以直接在报文池中增加一个新的报文结构类。这样,当物流业务测试处理中需要使用到该新增的报文结构类时则可以直接加载调用。具体的,本申请所述方法的另一种实施例中,当所述报文池还可以被设置成,包括:
当所述报文池中不存在所述第二报文结构类时,则在所述新增物流业务所属的测试节点中构建所述新增物流业务的第四报文结构类。
图4是利用本申请实施方案中生成业务节点的测试报文的一个具体实施流程示意图。如图4所示,本实施例中根据接口的物流信息生成测试报文具体的一种实施过程具体可以包括:
S121:确定业务节点所需的报文结构;
S122:判断报文池中的业务中是否存在与业务节点相同的报文结构;
S123:若存在与业务节点相同的报文结构,则获取对应的报文结构的第一报文生成函数,并根据第一报文生成函数生成业务节点的报文;
S124:若不存在与业务节点相同的报文结构,则进一步判断其他业务中是否存在与业务节点相似度符合预设要求的报文结构;
S125:若存在,则获取与业务节点的报文结构相似度最高的报文结构,并将与业务节点的报文结构相似度最高的相似报文结构;
S126:获取相似报文结构的第二报文生成函数,并根据业务节点的报文结构对第二报文生成函数进行更新,以生成第三报文生成函数。
S127:根据第三报文生成函数生成业务节点的测试报文。
图5是本申请一个实施例场景中新增物流业务时的报文池示意图。图5中,当新增的业务2与报文池中已经存在的业务1的报文结构相同时,可以无需新增业务2的代码逻辑,可以只需要引用报文池中已经存在的包裹状态1的报文即可实现快速、便捷的增强新业务的报文结构,快速生成测试报文。由上具体的一个实施过程示例及图5示例可以得知,本实施例结合物流业务之间的共性,即结合报文池中其他物流业务的资源自动生成了对应物流业务在测试节点的测试报文,合理利用了物流业务之间的共性以及其他物流业务的资源,减少处理过程中的人工操作,可提高生成报文的效率,进而可提高测试效率以及可靠性。进一步,如图5所示,上述示例还可以包括:
S128:若报文池中的业务中不存在与业务节点相似的报文结构,则根据业务节点所需的报文结构构建第四报文生成函数,并根据第四报文生成函数生成业务节点的测试报文。
如果比较后确定其他业务中不存在与业务节点相似的报文结构,则可以根据业务节点的报文结构构建该业务节点所对应的报文生成函数,并根据构建的报文生成函数和从数据库中获得对应订单号的业务节点所对应的数据,以生成该业务节点的报文。
本申请上述实施例提供的一种测试物流业务数据的处理方法,可以预先构建包裹不同状态的报文池,所述的报文池可以包括预先设置的多个不同测试节点、不同业务的报文结构类。在确定了需要测试的物流业务信息后,可以调用这些报文结构类自动生成相应的测试报文。所述的测试报文可以自动的发送到在线购物平台的目标对象,如在线购物平台的业务服务器。然后所述目标对象可以更新业务状态,并与设置的预期目标状态相比较,自动检测测试结果,大量减少人工编造测试数据的干扰,减少人力和测试数据构建时间,并可以提高测试结果的可靠性。本申请利用报文池预先存储的报文结构模拟各个物流节点来自动生成业务的测试报文,大大降低作业人员构建数据的工作量和提高测试结果的可靠性。
基于上述所述的一种测试物流业务数据的处理方法,本申请还提供一种测试物流业务数据的处理装置。图6是本申请所述一种测试物流业务数据的处理装置一种实施例的模块结构示意图,如图6所示,所述装置可以包括:
报文生成模块101,可以用于根据接收的物流业务信息生成测试报文,所述物流业务信息包括业务内容、测试节点;
报文回传模块102,可以用于将所述测试报文发送至目标对象,以使所述目标对象根据所述测试报文更新所述业务内容的业务状态信息;
对比模块103,可以用于将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比;
结果确定模块104,可以用于根据所述对比的结果确认生成的所述测试报文是否通过测试。
本申请提供的一种测试物流业务数据的处理装置,可以预先构建包裹不同状态的报文池,所述的报文池可以包括预先设置的多个不同测试节点、不同业务的报文结构类。在确定了需要测试的物流业务信息后,可以调用这些报文结构类自动生成相应的测试报文。所述的测试报文可以自动的发送到在线购物平台,然后所述在线购物平台可以更新业务状态,并与设置的预期目标状态相比较,自动检测测试结果,大量减少人工编造测试数据的干扰,减少人力和测试数据构建时间,并可以提高数据的可靠性。本申请利用报文池预先存储的报文结构模拟各个物流节点来自动生成业务的测试报文,大大降低作业人员构建数据的工作量和提高测试结果的可靠性。
图7是本申请提供的一种报文生成模块一种实施例的模块结构示意图。如图7所示,本申请提供的一种测试物流业务数据的处理方法的另一种实施例中,可以预先构建包括针对多个测试节点、多种业务场景的报文池,这样,在获取物流业务信息后,可以根据业务内容和测试节点直接使用向匹配的报文结构类生成测试报文。因此,本申请提供的一种测试物流业务数据的处理装置的另一种实施例中,所述报文生成模块101可以包括:
报文池模块1011,可以用于存储预先构建的测试节点中的物流业务的报文结构类:
匹配处理模块1012,可以用于在所述报文池模块中获取与所述物流业务信息中的测试节点和业务内容相匹配的报文结构类,并根据匹配出的报文结构类生成测试报文。
本申请提供的一个实施例中,可以采用具体的物流业务和测试节点两个维度来覆盖测试需要的场景,以满足不同测试场景下的测试需求。当然,所述的报文池可以被设置成可以添加、修改、删除其中的报文结构类,这样可以使报文生成器更加灵活、可扩展的生成不同包裹状态的测试报文。本申请提供的一种测试物流业务数据的处理装置的另一种实施例中,所述报文池模块1011可以采用下述方式构建生成:
所述报文池模块采用下述方式构建生成:
预先配置模拟测试对象的属性信息,根据所述属性信息划分测试节点;
设置所述测试节点中的物流业务,构建所述物流业务对应的报文结构类,所述报文结构类用于根据接收到的物流业务信息生成相应的测试报文;
基于所述报文结构类构建生成报文池。
本申请提供的一种测试物流业务数据的处理装置的另一种实施例中,所述报文池被设置成,所述报文池可以被设置成,包括:当新增物流业务时,采用下述方式设置所述报文池中新增物流业务的报文结构类:
根据新增物流业务所匹配的所述模拟测试对象的属性信息确定所述新增物流业务所属的测试节点;
当确定所述报文池中存在与所述新增物流业务相匹配的第一报文结构类时,使用所述第一报文结构类作为所述新增物流业务在所述测试节点的报文结构类。
本实施例结合物流业务之间的共性,即结合报文池中其他物流业务的资源自动生成了对应物流业务在测试节点的测试报文,合理利用了物流业务之间的共性以及其他物流业务的资源,减少处理过程中的人工操作,可提高生成报文的效率,进而可提高测试效率以及可靠性。
本申请提供的一种测试物流业务数据的处理装置的另一种实施例中,所述报文池还可以被设置成,包括:
当所述报文池中不存在所述第一报文结构类时,则获取所述报文池中与所述新增业务的匹配度达到预设要求的第二报文结构类;并在所述第二报文结构类中设置所述新增业务的报文逻辑,生成报文池中所述新增业务在所述测试节点的第三报文结构类。
若所述报文池中没有匹配度达到第一预设要求的第一报文结构类时,一种实施方式中可以获取匹配度达到第二预设要求的第二报文结构类。本实施例的一个实施方式中所述第二预设要求可以设置为匹配度要求低于所述第一预设要求,如当第一预设要求设置为报文结构类完全相同或者匹配度达到98%时,所述第二预设要求可以相应的设置为98%或者90%。然后,可以根据新增物流业务具体的业务内容信息对第二报文结构类进行简单的编辑修改即可作为新增物流业务在所述测试节点的报文结构类,用于生成新增物流业务的测试报文。
当然,如前述方式所述,本申请提供的一种测试物流业务数据的处理装置的另一种实施例中,所述报文池还可以被设置成,包括:
当所述报文池中不存在所述第二报文结构类时,则在所述新增物流业务所属的测试节点中构建所述新增物流业务的第四报文结构类。
前述中得到物流状态测试结果后,可以将该物流状态测试结果反馈给在线购物平台,由在线购物平台基于所述物流状态测试结果向用户展示测试报文的测试结果。图8是本申请所述一种测试物流业务数据的处理装置一种实施例的模块结构示意图,如图8所示,本申请提供的一种测试物流业务数据的处理装置的另一种实施例中,所述装置还可以包括:
结果回传模块105,可以用于将所述物流状态测试结果返回至所述目标对象,以使所述目标对象展示是否正确处理了所述测试报文的输出结果。
本申请提供的一种测试物流业务数据的处理装置,可以预先构建包裹不同状态的报文池,所述的报文池可以包括预先设置的多个不同测试节点、不同业务的报文结构类。在获取需要测试的物流业务信息后,可以调用这些报文结构类自动生成相应的测试报文。这样,用户在选择了自己的业务和包裹节点后,可以自动得到一段唯一对应的报文。本申请利用报文池中已经存在的报文结构模拟各个物流节点自动生成业务的测试报文,大大降低测试人员构建数据的工作量。报文结构代码公用性强,相同的物流业务信息可以使用共同的报文结构,报文结构统一、易扩展,有效的节约测试资源,提高测试效率。所述的测试报文可以自动的发送到在线购物平台的目标对象中,然后所述在线购物平台的业务服务器可以更新业务状态,并与设置的预期目标状态相比较,自动校验,这样可以减少测试过程中人工报文编辑和测试结果对比等的作业量,节省人力资源,提高测试效率和可靠性。
下述是利用本申请方法或装置的一个实施应用场景实例说明。在本实施场景中,需要测试配送***的信息显示是否正确。因此,可以配置生成一个生鲜商品的包裹在“B仓储”节点的业务状态信息,以此确定配送***是否能正确显示物流信息。
具体而言,将期望显示的目标状态信息预先设置为“您的宝贝已到达B大区,正在分拣配,配送方式为生鲜配送,下一站为城市C”。
根据传入的订单号、物流地点、配送方式以及商品的一些信息等生成目标状态信息。则此时确定出的测试节点为“仓储”,业务内容可以包括“订单号”、“包裹重量”、“配送方式”。
基于上述的业务内容和测试节点两个维度的物流业务信息,进一步的可以从报文池中匹配现有的报文结构类中是否有测试节点为“仓储”并且业务内容部分同样被设计为“订单号”、“包裹重量”、“配送方式”的报文结构类。若经过业务内容和测试节点两个维度的匹配后,匹配到报文结构类“class.stor.wuxi.002”为预先设置的接入的无锡物流公司A的报文结构类,该报文结构类的结构设计伪代码如下所示:
经过设计的报文类匹配规则匹配处理后,可以确定使用报文结构类“class.stor.wuxi.002”来生成生鲜商品的包裹在“B仓储”节点的测试报文。将需要测试的订单号“123”、重量“1”kg、“生鲜配送”这些参数传入并选择“B仓储”便可以自动生成该生鲜商品的包裹的测试报文Test_Msg。
然后可以将测试报文Test_Msg发送至实时展示包裹物流状态的后台服务器,后台服务器可根据所述接收到测试报文Test_Msg相应的更新订单号“123”的业务状态信息为“您的宝贝已到达B大区,正在分拣配,配送方式为生鲜配送,下一站为城市C”。进一步的,可以将上述业务状态信息与设置的目标状态信息进行对比(如达到区域的关键字段对比、配送方式的关键字段对比等)。对比结果为该生鲜商品的包裹在后台服务器显示的业务状态信息与预期的目标状态信息相同,则可以确定上述测试报文Test_Msg通过测试。由此,可确定配送***正确处理了该测试报文,并得到了正确的信息显示。
本申请上述所述的方法或装置,可以用于物流业务测试处理的服务器中,实现自动、快速、高效、可靠的生成测试报文、输出测试结果。利用本申请所述方法或装置实施方案的服务器可以模拟包含多个物流节点的业务节点,并设置不同业务节点的报文中业务信息和报文结构相同或相似性较高的报文可以使用共同的报文生成类,使得生成的测试报文结构统一、易扩展,有效的节约测试资源,提高测试效率。并且还可以自动将报文处理后的业务状态与设置的预期目标状态相比较,自动校验,这样可以减少测试过程中的人工报文编辑和测试结果对比等,提高测试效率和可靠性。具体的,本申请提供的一种服务器的一种实施例中,可以包括:
I/O接口,耦合于目标对象,用于向所述目标对象发送生成的测试报文和接收所述目标对象根据所述测试报文返回的更新后的业务内容的业务状态信息;
处理器,用于根据接收的物流业务信息生成测试报文,所述物流业务信息包括业务内容、测试节点;还用于将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比,以及根据所述对比的结果确认生成的所述测试报文是否通过测试。
本申请所述服务器的另一种实施例中,所述服务器还可以设置有报文资源存储器,可以用于存储预先根据物流业务测试需求和实施场景构建生成的报文结构类,可以包括模拟的不同物流公司在不同物流节点所回传过来的报文。具体的,另一种实施方式中,所述服务器还可以包括:
报文资源存储器,用于存储预先构建的测试节点中的物流业务的报文结构类,所述报文结构类用于根据接收到的物流业务信息生成相应的测试报文;
相应的,所述处理器根据接收的物流业务信息生成测试报文,包括:
获取报文资源存储器与所述物流业务信息中的测试节点和业务内容相匹配的报文结构类,并根据匹配出的报文结构类生成测试报文。
所述的报文资源存储器可以是前述方法中报文池的具体存储介质单元,如图9所述,图9是本申请提供的一种服务器的实施例的结构示意图,虚线部分表示其他的实施例中可以添加的单元/模块。在本实施例中,所述的服务器可以包括报文资源存储器,本申请不排除其他的实施方式中,所述的报文资源存储器可以为单独构架与所述服务器之外的存储单元,如专门的存储报文结构类的数据库或其他服务器的上的存储器,本申请的所述的服务器可以通过数据通信接口与报文资源存储器进行数据交互,读取报文结构类或写人新的/修改报文结构类数据。
尽管本申请内容中提到各种报文类的构建设置、报文格式及字段的定义、报文回传、结果验证等之类的信息交互方式、数据格式定义、数据类的定义等的描述,但是,本申请并不局限于必须是符合行业通信标准、标准编程设计语言规定或实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据定义、存储、判断、处理方式等获取的实施例,仍然可以属于本申请的可选实施方案范围之内。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (16)
1.一种测试物流业务数据的处理方法,其特征在于,所述方法包括:
预先构建报文池,所述报文池中包括:预先设置的多个不同测试节点、不同业务内容的报文结构类;
根据接收的物流业务信息从所述报文池中调用报文结构类,自动生成测试报文,所述物流业务信息包括业务内容、测试节点,其中,不同测试节点所回传的报文结构和报文内容是不相同的;
将所述测试报文发送至目标对象,以使所述目标对象根据所述测试报文更新所述业务内容的业务状态信息;
将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比;
根据所述对比的结果确认生成的所述测试报文是否通过测试。
2.如权利要求1所述的一种测试物流业务数据的处理方法,其特征在于,所述根据物流业务信息生成测试报文,包括:
在预先构建的报文池中获取与所述物流业务信息中的测试节点和业务内容相匹配的报文结构类;
根据匹配出的报文结构类生成测试报文。
3.如权利要求2所述的一种测试物流业务数据的处理方法,其特征在于,所述报文池采用包括下述的方式构建生成:
预先配置模拟测试对象的属性信息,根据所述属性信息划分测试节点;
设置所述测试节点中的物流业务,构建所述物流业务对应的报文结构类,所述报文结构类用于根据接收到的物流业务信息生成相应的测试报文;
基于所述报文结构类构建生成报文池。
4.如权利要求3所述的一种测试物流业务数据的处理方法,其特征在于,所述报文池还被设置成,当新增物流业务时,采用下述方式设置所述新增物流业务的报文结构类:
根据新增物流业务所匹配的所述模拟测试对象的属性信息确定所述新增物流业务所属的测试节点;以及,
当确定所述报文池中存在与所述新增物流业务匹配度达到第一预设要求的第一报文结构类时,使用所述第一报文结构类作为所述新增物流业务在所述测试节点的报文结构类。
5.如权利要求4所述的一种测试物流业务数据的处理方法,其特征在于,所述报文池还被设置成,包括:
当所述报文池中不存在所述第一报文结构类时,则获取所述报文池中与所述新增物流业务的匹配度达到第二预设要求的第二报文结构类;并在所述第二报文结构类中设置所述新增物流业务的报文逻辑,生成报文池中所述新增物流业务在所述测试节点的第三报文结构类。
6.如权利要求5所述的一种测试物流业务数据的处理方法,其特征在于,所述报文池还被设置成,包括:
当所述报文池中不存在所述第二报文结构类时,则在所述新增物流业务所属的测试节点中构建所述新增物流业务的第四报文结构类。
7.如权利要求1至6中任意一项所述的一种测试物流业务数据的处理方法,其特征在于,所述方法还包括:
将所述物流状态测试结果返回至所述目标对象,以使所述目标对象展示是否正确处理了所述测试报文的输出结果。
8.一种测试物流业务数据的处理装置,其特征在于,所述装置包括:
报文生成模块,用于预先构建报文池,所述报文池中包括:预先设置的多个不同测试节点、不同业务内容的报文结构类;根据接收的物流业务信息从所述报文池中调用报文结构类,自动生成测试报文,所述物流业务信息包括业务内容、测试节点,其中,不同测试节点所回传的报文结构和报文内容是不相同的;
报文回传模块,用于将所述测试报文发送至目标对象,以使所述目标对象根据所述测试报文更新所述业务内容的业务状态信息;
对比模块,用于将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比;
结果确定模块,用于根据所述对比的结果确认生成的所述测试报文是否通过测试。
9.如权利要求8所述的一种测试物流业务数据的处理装置,其特征在于,所述报文生成模块包括:
报文池模块,用于存储预先构建的测试节点中的物流业务的报文结构类;
匹配处理模块,用于在所述报文池模块中获取与所述物流业务信息中的测试节点和业务内容相匹配的报文结构类,并根据匹配出的报文结构类生成测试报文。
10.如权利要求9所述的一种测试物流业务数据的处理装置,其特征在于,所述报文池模块采用下述方式构建生成:
预先配置模拟测试对象的属性信息,根据所述属性信息划分测试节点;
设置所述测试节点中的物流业务,构建所述物流业务对应的报文结构类,所述报文结构类用于根据接收到的物流业务信息生成相应的测试报文;
基于所述报文结构类构建生成报文池。
11.如权利要求10所述的一种测试物流业务数据的处理装置,其特征在于,所述报文池被设置成,包括:当新增物流业务时,采用下述方式设置所述报文池中新增物流业务的报文结构类:
根据新增物流业务所匹配的所述模拟测试对象的属性信息确定所述新增物流业务所属的测试节点;
当确定所述报文池中存在与所述新增物流业务相匹配的第一报文结构类时,使用所述第一报文结构类作为所述新增物流业务在所述测试节点的报文结构类。
12.如权利要求11所述的一种测试物流业务数据的处理装置,其特征在于,所述报文池还被设置成,包括:
当所述报文池中不存在所述第一报文结构类时,则获取所述报文池中与所述新增业务的匹配度达到预设要求的第二报文结构类;并在所述第二报文结构类中设置所述新增业务的报文逻辑,生成报文池中所述新增业务在所述测试节点的第三报文结构类。
13.如权利要求12所述的一种测试物流业务数据的处理装置,其特征在于,所述报文池还被设置成,包括:
当所述报文池中不存在所述第二报文结构类时,则在所述新增物流业务所属的测试节点中构建所述新增物流业务的第四报文结构类。
14.如权利要求8至13中任意一项所述的一种测试物流业务数据的处理装置,其特征在于,所述装置还包括:
结果回传模块,用于将所述物流状态测试结果返回至所述目标对象,以使所述目标对象展示是否正确处理了所述测试报文的输出结果。
15.一种服务器,其特征在于,包括:
I/O接口,耦合于目标对象,用于向所述目标对象发送生成的测试报文和接收所述目标对象根据所述测试报文返回的更新后的业务内容的业务状态信息;
处理器,用于预先构建报文池,所述报文池中包括:预先设置的多个不同测试节点、不同业务内容的报文结构类;根据接收的物流业务信息从所述报文池中调用报文结构类,自动生成测试报文,所述物流业务信息包括业务内容、测试节点,其中,不同测试节点所回传的报文结构和报文内容是不相同的;还用于将所述更新后的业务状态信息与所述业务内容在所述测试节点的预设的目标状态信息进行对比,以及根据所述对比的结果确认生成的所述测试报文是否通过测试。
16.如权利要求15所述的一种服务器,其特征在于,所述服务器还包括:
报文资源存储器,用于存储预先构建的测试节点中的物流业务的报文结构类,所述报文结构类用于根据接收到的物流业务信息生成相应的测试报文;
相应的,所述处理器根据接收的物流业务信息生成测试报文,包括:
获取报文资源存储器中与所述物流业务信息的测试节点和业务内容相匹配的报文结构类,并根据匹配出的报文结构类生成测试报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710006967.4A CN108282377B (zh) | 2017-01-05 | 2017-01-05 | 一种测试物流业务数据的处理方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710006967.4A CN108282377B (zh) | 2017-01-05 | 2017-01-05 | 一种测试物流业务数据的处理方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108282377A CN108282377A (zh) | 2018-07-13 |
CN108282377B true CN108282377B (zh) | 2021-12-10 |
Family
ID=62800447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710006967.4A Active CN108282377B (zh) | 2017-01-05 | 2017-01-05 | 一种测试物流业务数据的处理方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108282377B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414242B (zh) * | 2019-08-02 | 2021-12-07 | 中国工商银行股份有限公司 | 用于检测业务逻辑漏洞的方法、装置、设备及介质 |
CN111177005B (zh) * | 2019-12-31 | 2024-04-16 | 中国银行股份有限公司 | 业务应用的测试方法、装置、服务器和存储介质 |
CN111641702A (zh) * | 2020-05-26 | 2020-09-08 | 南京领行科技股份有限公司 | 一种心跳报文的管理方法及装置 |
CN111865726B (zh) * | 2020-07-29 | 2022-03-08 | 中国工商银行股份有限公司 | 业务消息测试方法、装置、计算机***和存储介质 |
CN113762847B (zh) * | 2020-10-22 | 2024-06-18 | 北京京东振世信息技术有限公司 | 物流配送信息的处理方法、装置、服务器和存储介质 |
CN114968741B (zh) * | 2022-05-27 | 2024-06-18 | 重庆长安汽车股份有限公司 | 一种基于场景平台化的性能测试方法、***、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880949A (zh) * | 2012-08-27 | 2013-01-16 | 上海鲲达软件科技有限公司 | 与电子商务平台直接对接的物流处理***及方法 |
CN104063772A (zh) * | 2013-03-20 | 2014-09-24 | 阿里巴巴集团控股有限公司 | 一种物流信息可靠性检验方法及装置 |
CN104267711A (zh) * | 2014-11-03 | 2015-01-07 | 四川烟草工业有限责任公司 | 烟草物流***运行状态监测及故障诊断方法 |
CN104346715A (zh) * | 2013-08-05 | 2015-02-11 | 郑州同心创远生物科技有限公司 | 一种物流信息交换方法及物流信息管理*** |
CN105391592A (zh) * | 2015-12-25 | 2016-03-09 | 瑞斯康达科技发展股份有限公司 | 一种分组传送网业务侦测与测量的方法、装置和*** |
CN106127426A (zh) * | 2016-06-16 | 2016-11-16 | 杭州笛佛软件有限公司 | 一种互联网购物平台货品管理方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582391B2 (en) * | 2012-04-18 | 2017-02-28 | W2Bi, Inc. | Logistics of stress testing |
-
2017
- 2017-01-05 CN CN201710006967.4A patent/CN108282377B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880949A (zh) * | 2012-08-27 | 2013-01-16 | 上海鲲达软件科技有限公司 | 与电子商务平台直接对接的物流处理***及方法 |
CN104063772A (zh) * | 2013-03-20 | 2014-09-24 | 阿里巴巴集团控股有限公司 | 一种物流信息可靠性检验方法及装置 |
CN104346715A (zh) * | 2013-08-05 | 2015-02-11 | 郑州同心创远生物科技有限公司 | 一种物流信息交换方法及物流信息管理*** |
CN104267711A (zh) * | 2014-11-03 | 2015-01-07 | 四川烟草工业有限责任公司 | 烟草物流***运行状态监测及故障诊断方法 |
CN105391592A (zh) * | 2015-12-25 | 2016-03-09 | 瑞斯康达科技发展股份有限公司 | 一种分组传送网业务侦测与测量的方法、装置和*** |
CN106127426A (zh) * | 2016-06-16 | 2016-11-16 | 杭州笛佛软件有限公司 | 一种互联网购物平台货品管理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108282377A (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282377B (zh) | 一种测试物流业务数据的处理方法、装置及服务器 | |
CN109857667B (zh) | 接口自动化测试方法、测试装置、测试设备及存储介质 | |
CN111868645B (zh) | 数字双胞胎建模仿真方法、装置和*** | |
CN108334387B (zh) | 动态界面渲染方法及装置 | |
CN105303112B (zh) | 组件调用漏洞的检测方法及装置 | |
CN107896244B (zh) | 一种版本文件的分发方法、客户端及服务器 | |
CN102932332B (zh) | 数据校验***和数据校验方法 | |
CN106406826B (zh) | 联调任务创建、***联调方法及装置 | |
CN102693323B (zh) | 级联样式表解析方法及解析器、网页展示方法及服务器 | |
CN106681903B (zh) | 生成测试用例的方法及装置 | |
CN105931107A (zh) | 一种分享方法和装置 | |
Lee et al. | NESIS: a neutral schema for a web-based simulation model exchange service across heterogeneous simulation software | |
CN112581201A (zh) | 一种面向工业互联制造的移动开放平台及实现方法 | |
CN106775862A (zh) | 应用加载方法及装置 | |
CN109615290A (zh) | 用于获得送达地址的方法、装置、***及介质 | |
CN111104158A (zh) | 一种软件打包的方法、装置、计算机设备及存储介质 | |
CN112433941A (zh) | 一种测试分析方法、装置、设备和存储介质 | |
CN115563002A (zh) | 数据导入方法、装置、存储介质及计算机设备 | |
US8661305B2 (en) | Method and system for test vector generation | |
CN102281260B (zh) | 监控规则的生成方法和服务器 | |
CN102375859B (zh) | 一种信息处理的方法及设备 | |
CN113760736A (zh) | 一种测试方法、装置和*** | |
CN104915812A (zh) | 用于业务处理过程中的仓配路由的方法和装置 | |
CN107357605A (zh) | 运行安装文件的方法和装置 | |
CN109118028B (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 |