CN114168485A - 测试方法、装置、设备及介质 - Google Patents

测试方法、装置、设备及介质 Download PDF

Info

Publication number
CN114168485A
CN114168485A CN202111592902.5A CN202111592902A CN114168485A CN 114168485 A CN114168485 A CN 114168485A CN 202111592902 A CN202111592902 A CN 202111592902A CN 114168485 A CN114168485 A CN 114168485A
Authority
CN
China
Prior art keywords
test
target
application
interface
online
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
CN202111592902.5A
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 Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network 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 Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202111592902.5A priority Critical patent/CN114168485A/zh
Publication of CN114168485A publication Critical patent/CN114168485A/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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3684Test management for test design, e.g. generating new test cases

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

测试方法、装置、设备及介质
技术领域
本公开涉及计算机应用技术领域,尤其涉及一种测试方法、装置、设备及介质。
背景技术
沙箱环境也称为预生产环境或者仿真环境,沙箱环境作为新版本的测试代码上线之前的最后一道测试关卡,被应用在应用的代码开发中。
相关技术中,为了保证测试的可靠,在沙箱环境中构建通过复制生产环境中的元数据,在沙箱中测试时,按照生产环境中的配置信息来运行来实现测试。
然而,上述沙箱的测试方式中,若是涉及到与外部系统对接的测试,即遇到与其他外部应用交互的测试时,会导致在沙箱中测试时,会对对接的其他外部应用产生测试数据,从而影响到其他外部应用的运行。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种测试方法、装置、设备及介质,在对线上应用进行沙箱测试时,在保证测试准确率的基础上,避免测试时对其他外部应用的线上使用的影响。
本公开实施例提供了一种测试方法,所述方法包括:响应于沙箱环境中对待测试线上应用的测试请求,判断所述待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口;若包含所述目标接口,则确定与所述目标接口对应的目标外部应用,并获取所述目标外部应用的测试环境;响应于对所述目标接口的测试请求,在所述测试环境中调用所述目标外部应用以执行所述测试请求。
本公开实施例还提供了一种测试装置,所述装置包括:判断模块,用于响应于沙箱环境中对待测试线上应用的测试请求,判断所述待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口;确定模块,用于在包含所述目标接口时,确定与所述目标接口对应的目标外部应用,并获取所述目标外部应用的测试环境;调用模块,用于响应于对所述目标接口的测试请求,在所述测试环境中调用所述目标外部应用以执行所述测试请求。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的测试方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的测试方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例提供的测试方案,响应于沙箱环境中对待测试线上应用的测试请求,判断待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接,若包含目标接口,则确定与目标接口对应的目标外部应用,并获取目标外部应用的测试环境,响应于对目标接口的测试请求,在测试环境中调用目标外部应用以执行测试请求。由此,在对线上应用进行沙箱测试时,在保证测试准确率的基础上,避免测试时对其他外部应用的线上使用的影响。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种测试方法的流程示意图;
图2为本公开实施例提供的一种沙箱测试环境下对应的沙箱测试页面示意图;
图3为本公开实施例提供的另一种沙箱测试环境下对应的沙箱测试页面示意图;
图4为本公开实施例提供的另一种沙箱测试环境下对应的沙箱测试页面示意图;
图5为本公开实施例提供的另一种沙箱测试环境下对应的沙箱测试页面示意图;
图6为本公开实施例提供的另一种沙箱测试环境下对应的沙箱测试页面示意图;
图7为本公开实施例提供的一种测试装置的结构示意图;
图8为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
正如以上提到的,基于沙箱测试时,为了仿真真实的线上服务环境,会在沙箱中复制生产环境中的元数据,其中,元数据为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能,其中,生产环境为承载某个线上应用服务运行、数据存储的容器,用于给其他外部应用使用。由此,该沙箱环境作为和生产环境平行的一个容器,拥有和生产环境基本相同的配置信息,该配置信息包括执行源代码等。当涉及到和其他外部应用对应的外部系统交互的功能测试,沙箱环境中的测试会对外部系统造成影响。
例如,某人力资源系统A应用,在其他用户线上提交审批申请时,A应用可以看到其他用户提交的审批报告。如果在沙箱中测试线上应用B时,线上应用B的审批上报接口与A应用通信,若是调用的是生产环境下的A应用,则会将线上应用B在测试时产生的测试审批实例发送到线上的A应用中,这样会导致审批人在A应用中不但可以看到其他用户提交的真实的审批实例,还可以看到测试时线上应用B产生的审批实例。
为了解决上述问题,本公开实施例提供了一种测试方法,下面结合具体的实施例对该方法进行介绍。
图1为本公开实施例提供的一种测试方法的流程示意图,该方法可以由测试装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法包括:
步骤101,响应于沙箱环境中对待测试线上应用的测试请求,判断待测试线上应用的线上应用代码中,是否包含与其他外部应用通信的目标接口。
需要说明的是,沙箱环境中对待测试线上应用的测试请求,可以是通过复制生产环境中的所有元数据后,在沙箱测试页面上显示该待测试线上应用的测试服务界面,该测试服务服务页面与待测试线上应用在其他外部应用显示的服务页面基本相同,功能一一对应。
举例而言,当待测试线上应用为“项目管理应用”,则如图2所示,该应用在线上的应用若是包含“员工管理”、“业务线管理”、“需求管理”、“问题管理”等功能,则沙箱测试环境下对应的沙测试页面上也配置了对应的功能。
从而,在本实施例中,当获取到测试人员对沙箱测试页面上任意一个功能控件的触发操作,则获取到对待测试线上应用的测试请求。
在其他外部应用场景中,该测试请求也可以通过其他方式触发,比如,获取到用户沙箱环境中与待测试线上应用对应的代码的执行指令等,则获取到对应的测试请求等。在本实施例中,可以在沙箱环境中创建待测试线上应用的线上应用代码等。
在获取到测试请求后,为了判断该测试请求是否会影响外部系统的运行等,判断待测试线上应用的线上应用代码是否包含与其他外部应用通信的目标接口,其中,与其他外部应用通信的目标接口用于与其他外部应用通信,向其他外部应用反馈执行数据等。比如,对于审批应用程序来说,向用户界面提交审批文件的接口等属于目标接口。
需要说明的是,在不同的应用场景中,判断所述待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口的方式不同,示例如下:
在本公开的一个实施例中,获取线上应用代码中每个候选接口对应的调用对象,该调用对象包括但不限于链接、应用标识信息等,判断调用对象是否属于其他外部应用,比如,获取属于线上应用的白名单调用对象,判断该调用对象是否属于该白名单对象,若不属于,则判断该调用对象属于其他外部应用,又比如,若是调用对象为应用标识信息,则判断该应用标识信息是否与待测试的线上应用的标识信息一致,若不一致,则判断该调用对象属于其他外部应用,从而,确定调用对象属于其他外部应用的候选接口为目标接口。
在本公开的另一个实施例中,考虑到跨应用调用的接口类型和其他功能接口的接口类型不同,因此,在本实施例中,针对待测试的线上应用预先设置可以跨应用调用的预设接口类型,获取线上应用代码中每个候选接口的接口类型,进而,判断接口类型是否为预设接口类型,其中,确定接口类型为预设接口的候选接口为目标接口。
步骤102,若包含目标接口,则确定与目标接口对应的目标外部应用,并获取目标外部应用的测试环境。
其中,测试环境包括测试运行其上的软应用代码和硬件环境的描述。测试环境是指为了完成目标外部应用的测试工作所必需的计算机硬件、测试代码、网络设备、历史数据的总称。并且,由于测试环境和生产环境的数据隔离,因此,在本公开的实施例中,获取目标外部应用测试环境以便于在满足对目标接口的功能测试的基础上,避免对目标外部应用的生产环境的影响。
在本实施例中,若是包含目标接口,则表明该测试请求可能对其他外部应用反馈数据等,因此,为了避免对其他外部应用造成影响,确定与目标接口对应的目标外部应用,并获取目标外部应用的测试环境,其中,测试环境与生产环境类似,因此,可以基于测试环境下调用其他应用,避免影响生产环境下对其他应用的使用。
步骤103,响应于对目标接口的测试请求,调用测试环境执行测试请求。
在本实施例中,响应于对目标接口的测试请求,则响应于对目标接口的测试请求,在测试环境中调用目标外部应用以执行测试请求,其中,测试环境中包含目标外部应用的测试版本代码,因此,可以在对应的测试环境中执行目标外部应用的测试版本代码以实现对目标外部应用的调用。
继续以外部应用为某人力资源系统A应用为例,如果在沙箱中测试线上应用B时,线上应用B的审批上报接口与A应用通信,本公开实施例中,获取A应用的测试环境,响应于对线上应用B的审批上报接口的测试请求,在A应用的测试环境中调用测试版本的A应用的代码执行审批上报功能,从而,调用的不是生产环境下的A应用而是测试环境下的A应用,不会将线上应用B在测试时产生的测试审批实例发送到线上的A应用中,不会导致审批人在A应用中看到测试时线上应用B产生的审批实例,避免对A应用在生产环境中的运行。
在一些可能的实施例中,当目标外部应用没有执行完毕当前目标接口的测试请求时,接收到了下一个测试请求,则判断该测试请求的请求等级,该请求等级可以由测试人员设置,也可以根据对应的目标接口的接口类型判断,即预先设置不同的接口类型和对应的请求等级的对应关系,基于该对应关系确对应的目标接口对应的请求等级,若是下一个测试请求的请求等级大于预设值,则在测试环境中复制该目标外部应用的测试版本代码,在另一个测试版本代码中同步执行对应的测试请求,由此,实现了对测试请求的并行处理,提升了测试效率。
在另一些可能的实施例中,当在预设时段内对同一个外部应用的不可并行处理的测试请求为多个时,比如,多个测试请求调用的为同一个目标外部应用的同一个接口,为了进一步提升测试效率,根据该预设时段统计对每个目标外部应用的不可并行处理的测试请求的待处理数量,若是待处理数量大于一定值,则在测试环境中复制与目标外部应用对应的测试版本代码,测试版本代码的复制数量与待处理数量有关,进而,基于多个测试版本代码对有关测试请求并行处理,在本实施例中,为了提升测试效率,测试版本代码可以预先复制。
需要说明的是,在不同的应用场景中,在测试环境中调用目标外部应用以执行测试请求的方式不同,示例如下:
在本公开的一个实施例中,如图3所示,在沙箱环境中创建待测试线上应用的线上应用代码,该线上应用代码与生产环境中的配置信息对应,进而,若是在生产环境下待测试线上应用需要和其他外部系统交互,则在沙箱环境中复制该待测试线上应用的线上应用代码后,可以禁止对目标接口的调用,即将该目标接口的值设置为不可用的预设值,从而,目标接口无法调用审查环境下的目标外部应用的调用,在本实施例中,为了提升测试的直观性,可以在沙箱环境的测试界面上显示禁止调用的目标接口的有关提示信息。
当检测到对目标接口的测试请求时,确定该测试请求的调用对象以及对应的目标外部应用的测试环境,调用该测试环境下目标外部应用的测试调用对象执行该测试请求,并获取执行测试请求的执行结果,以便于测试人员根据该执行结果对线上应用代码进行修正或者迭代更新等。
在本公开的另一个实施例中,为了避免针对每个目标接口判断是否与外部系统交互,如图4所示,在沙箱环境中复制线上应用代码获取候选测试应用代码,确定目标接口的线上调用对象,该线上调用对象可以为目标外部应用的功能接口等,在测试环境中确定与线上调用对象对应的测试调用对象,将候选应用代码中的目标接口的线上调用对象替换为测试调用对象以生成目标测试应用代码。
从而,该目标应用测试代码和线上应用代码除了目标接口的调用对象被替换之外,其他代码段相同,因此,可以通过执行目标应用测试代码实现测试,无需逐个对目标接口的调用对象进行替换,提升了测试效率。
在本实施例中,确定目标测试应用代码中与目标接口对应的第一代码段,该第一代码段可以理解为对目标接口的执行代码,运行第一代码段以在测试环境中,调用目标外部应用以执行测试请求。
在本实施例中,为了进一提升测试的直观性,如图5所示,可以在沙箱环境中的后台测试中,显示仅仅支持在生产环境中可运行的目标接口,该目标接口包括但不限于对象调用接口、授权设置接口、报表上报接口等,以便于直观的告知测试用户哪些属于会对外部目标应用的使用造成影响的接口等,其中,在显示目标接口的有关信息时,为了进一步提高测试的方便,还可以显示目标接口的配置信息以及调用对象的详情信息等。
在沙箱测试时,为了进一步提升测试的直观性,如图6所示,除了可以显示线上应用代码对应的所有调用对象外,还可以在后台测试页面上,显示生产环境下的线上测试对象和实际沙箱测试环境对应的测试调用对象的对比界面,该对比界面除了显示目标接口及其对应的调用对象之外,还可以显示非目标接口及其调用对象等,根据场景需要还可以显示目标接口的功能描述信息以及权限规则等其他配置信息,以便于测试人员根据该界面可以直观的获知在测试环境下对应的测试调用对象,为提升测试的准确性提供了技术支撑,比如,参照图6,显示了目标接口1的调用对象由a1替换为了测试环境中的a2等。
进一步的,在本公开的实施例中,在沙箱环境中对应用进行测试的目的是为了优化线上应用代码,因此,在本实施例中,响应于用户对目标测试应用代码的修改请求,获取与修改请求对应的第二代码段,该修改请求可以是测试用户在后台修改的等,由于目标测试应用代码并非是线上服务应用对应的线上应用代码,因此,确定线上应用代码中与第二代码段对应的第三代码段,根据修改请求修改第三代码段以获取修改后的线上应用代码,根据修改后的线上应用代码更新线上环境中的线上应用代码,从而,实现了对线上环境下的线上应用代码,实现了对线上应用的代码的优化。
综上,本公开实施例的测试方法,响应于沙箱环境中对待测试线上应用的测试请求,判断待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接,若包含目标接口,则确定与目标接口对应的目标外部应用,并获取目标外部应用的测试环境,响应于对目标接口的测试请求,在测试环境中调用目标外部应用以执行测试请求。由此,在对线上应用进行沙箱测试时,在保证测试准确率的基础上,避免测试时对其他外部应用的线上使用的影响。
为了实现上述实施例,本公开还提出了一种测试装置。
图7为本公开实施例提供的一种测试装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。如图7所示,该装置包括:判断模块710、确定模块720、调用模块730,其中,
判断模块710,用于响应于沙箱环境中对待测试线上应用的测试请求,判断待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口;
确定模块720,用于在包含目标接口时,确定与目标接口对应的目标外部应用,并获取目标外部应用的测试环境;
调用模块730,用于响应于对目标接口的测试请求,在测试环境中调用目标外部应用以执行测试请求。
本公开实施例所提供的测试装置可执行本公开任意实施例所提供的测试方法,具备执行方法相应的功能模块和有益效果。
为了实现上述实施例,本公开还提出一种计算机程序应用,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述实施例中的测试方法
图8为本公开实施例提供的一种电子设备的结构示意图。
下面具体参考图8,其示出了适于用来实现本公开实施例中的电子设备800的结构示意图。本公开实施例中的电子设备800可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序应用,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的测试方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于沙箱环境中对待测试线上应用的测试请求,判断待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接,若包含目标接口,则确定与目标接口对应的目标外部应用,并获取目标外部应用的测试环境,响应于对目标接口的测试请求,在测试环境中调用目标外部应用以执行测试请求。由此,在对线上应用进行沙箱测试时,在保证测试准确率的基础上,避免测试时对其他外部应用的线上使用的影响。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,本公开提供了一种测试方法,包括:响应于沙箱环境中对待测试线上应用的测试请求,判断所述待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口;
若包含所述目标接口,则确定与所述目标接口对应的目标外部应用,并获取所述目标外部应用的测试环境;
响应于对所述目标接口的测试请求,在所述测试环境中调用所述目标外部应用以执行所述测试请求。
根据本公开的一个或多个实施例,本公开提供的测试方法中,在所述响应于沙箱环境中对待测试线上应用的测试请求之前,还包括:
在所述沙箱环境中创建所述待测试线上应用的线上应用代码。
根据本公开的一个或多个实施例,本公开提供的测试方法中,所述判断所述待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口,包括:
获取所述线上应用代码中每个所述候选接口对应的调用对象;
判断所述调用对象是否属于所述其他外部应用,其中,确定若属于所述其他外部应用的候选接口为所述目标接口。
根据本公开的一个或多个实施例,本公开提供的测试方法中,所述判断所述待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口,包括:
获取所述线上应用代码中每个所述候选接口的接口类型;
判断所述接口类型是否为预设接口类型,其中,确定所述接口类型为所述预设接口的候选接口为所述目标接口。
根据本公开的一个或多个实施例,本公开提供的测试方法中,在所述响应于对所述目标接口的测试请求之前,包括:
在所述沙箱环境中复制所述线上应用代码获取候选测试应用代码;
确定所述目标接口的线上调用对象,并在所述测试环境中确定与所述线上调用对象对应的测试调用对象;
在所述沙箱环境中将所述候选应用代码中的所述目标接口的线上调用对象替换为所述测试调用对象以生成目标测试应用代码。
根据本公开的一个或多个实施例,本公开提供的测试方法中,在所述响应于对所述目标接口的测试请求之前,包括:
在所述沙箱环境中复制所述线上应用代码获取候选测试应用代码;
确定所述目标接口的线上调用对象,并在所述测试环境中确定与所述线上调用对象对应的测试调用对象;
将所述候选应用代码中的所述目标接口的线上调用对象替换为所述测试调用对象以生成目标测试应用代码。
根据本公开的一个或多个实施例,本公开提供的测试方法中,还包括:
响应于用户对所述目标测试应用代码的修改请求,获取与所述修改请求对应的第二代码段;
确定所述线上应用代码中与所述第二代码段对应的第三代码段;
根据所述修改请求修改所述第三代码段以获取修改后的线上应用代码;
根据所述修改后的线上应用代码更新线上环境中的所述线上应用代码。
根据本公开的一个或多个实施例,本公开提供的测试方法中,在所述若包含所述目标接口后,还包括:将所述线上应用代码中所述目标接口的值修改为预设值,
其中,在所述目标接口的值为所述预设值时,所述目标接口禁止对调用生产环境下的所述目标外部应用。
根据本公开的一个或多个实施例,本公开提供了一种测试装置,包括:判断模块,用于响应于沙箱环境中对待测试线上应用的测试请求,判断所述待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口;
确定模块,用于在包含所述目标接口时,确定与所述目标接口对应的目标外部应用,并获取所述目标外部应用的测试环境;
调用模块,用于响应于对所述目标接口的测试请求,在所述测试环境中调用所述目标外部应用以执行所述测试请求。
根据本公开的一个或多个实施例,本公开提供的测试装置中,还包括:
创建模块,用于在所述沙箱环境中创建所述待测试线上应用的线上应用代码。
根据本公开的一个或多个实施例,本公开提供的测试装置中,所述判断模块,具体用于:获取所述线上应用代码中每个所述候选接口对应的调用对象;
判断所述调用对象是否属于所述其他外部应用,其中,确定属于所述其他外部应用的候选接口为所述目标接口。
根据本公开的一个或多个实施例,本公开提供的测试装置中,所述判断模块,具体用于:获取所述线上应用代码中每个所述候选接口的接口类型;
判断所述接口类型是否为预设接口类型,其中,确定所述接口类型为所述预设接口的候选接口为所述目标接口。
根据本公开的一个或多个实施例,本公开提供的测试装置中,还包括:第一获取模块,用于在所述沙箱环境中复制所述线上应用代码以获取候选测试应用代码;
调用对象确定模块,用于确定所述目标接口的线上调用对象,并在所述测试环境中确定与所述线上调用对象对应的测试调用对象;
替换模块,用于在所述沙箱环境中将所述候选应用代码中的所述目标接口的线上调用对象替换为所述测试调用对象,以生成目标测试应用代码。
根据本公开的一个或多个实施例,本公开提供的测试装置中,所述调用模块,具体用于:
确定所述目标测试应用代码中与所述目标接口对应的第一代码段;
运行所述第一代码段以在所述测试环境中,调用所述目标外部应用以执行所述测试请求。
根据本公开的一个或多个实施例,本公开提供的测试装置中,还包括:
第二获取模块,用于确定所述线上应用代码中与所述第二代码段对应的第三代码段;
第三获取模块,用于根据所述修改请求修改所述第三代码段以获取修改后的线上应用代码;
更新模块,用于根据所述修改后的线上应用代码更新线上环境中的所述线上应用代码。
根据本公开的一个或多个实施例,本公开提供的测试装置中,还包括:接口处理模块,用于将所述线上应用代码中所述目标接口的值修改为预设值,
其中,在所述目标接口的值为所述预设值时,所述目标接口禁止对调用生产环境下的所述目标外部应用。根据本公开的一个或多个实施例,本公开提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开提供的任一所述的测试方法。
根据本公开的一个或多个实施例,本公开提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开提供的任一所述的测试方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (11)

1.一种测试方法,其特征在于,包括以下步骤:
响应于沙箱环境中对待测试线上应用的测试请求,判断所述待测试线上应用的线上应用代码中,是否包含与其他外部应用通信的目标接口;
若包含所述目标接口,则确定与所述目标接口对应的目标外部应用,并获取所述目标外部应用的测试环境;
响应于对所述目标接口的测试请求,在所述测试环境中调用所述目标外部应用以执行所述测试请求。
2.如权利要求1所述的方法,其特征在于,在所述响应于沙箱环境中对待测试线上应用的测试请求之前,还包括:
在所述沙箱环境中创建所述待测试线上应用的线上应用代码。
3.如权利要求1所述的方法,其特征在于,所述判断所述待测试线上应用的线上应用代码中,是否包含与其他外部应用通信的目标接口,包括:
获取所述线上应用代码中每个所述候选接口对应的调用对象;
判断所述调用对象是否属于所述其他外部应用,其中,确定属于所述其他外部应用的候选接口为所述目标接口。
4.如权利要求1所述的方法,其特征在于,所述判断所述待测试线上应用的线上应用代码中,是否包含与其他外部应用通信的目标接口,包括:
获取所述线上应用代码中每个所述候选接口的接口类型;
判断所述接口类型是否为预设接口类型,其中,确定所述接口类型为所述预设接口的候选接口为所述目标接口。
5.如权利要求1所述的方法,其特征在于,在所述响应于对所述目标接口的测试请求之前,包括:
在所述沙箱环境中复制所述线上应用代码,以获取候选测试应用代码;
确定所述目标接口的线上调用对象,并在所述测试环境中确定与所述线上调用对象对应的测试调用对象;
在所述沙箱环境中将所述候选应用代码中的所述线上调用对象替换为所述测试调用对象,以生成目标测试应用代码。
6.如权利要求5所述的方法,其特征在于,所述在所述测试环境中调用所述目标外部应用以执行所述测试请求,包括:
确定所述目标测试应用代码中与所述目标接口对应的第一代码段;
运行所述第一代码段,以在所述测试环境中调用所述目标外部应用以执行所述测试请求。
7.如权利要求5或6所述的方法,其特征在于,还包括:
响应于用户对所述目标测试应用代码的修改请求,获取与所述修改请求对应的第二代码段;
确定所述线上应用代码中与所述第二代码段对应的第三代码段;
根据所述修改请求修改所述第三代码段,以获取修改后的线上应用代码;
根据所述修改后的线上应用代码更新线上环境中的所述线上应用代码。
8.如权利要求1所述的方法,其特征在于,在所述若包含所述目标接口后,还包括:将所述线上应用代码中所述目标接口的值修改为预设值,
其中,在所述目标接口的值为所述预设值时,所述目标接口禁止对调用生产环境下的所述目标外部应用。
9.一种测试装置,其特征在于,包括:
判断模块,用于响应于沙箱环境中对待测试线上应用的测试请求,判断所述待测试线上应用的线上应用代码中是否包含与其他外部应用通信的目标接口;
确定模块,用于在包含所述目标接口时,确定与所述目标接口对应的目标外部应用,并获取所述目标外部应用的测试环境;
调用模块,用于响应于对所述目标接口的测试请求,在所述测试环境中调用所述目标外部应用以执行所述测试请求。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-8中任一所述的测试方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-8中任一所述的测试方法。
CN202111592902.5A 2021-12-23 2021-12-23 测试方法、装置、设备及介质 Pending CN114168485A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111592902.5A CN114168485A (zh) 2021-12-23 2021-12-23 测试方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111592902.5A CN114168485A (zh) 2021-12-23 2021-12-23 测试方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114168485A true CN114168485A (zh) 2022-03-11

Family

ID=80487974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111592902.5A Pending CN114168485A (zh) 2021-12-23 2021-12-23 测试方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114168485A (zh)

Similar Documents

Publication Publication Date Title
CN110851139B (zh) 用于检查代码的方法、装置和电子设备
CN111581291A (zh) 数据处理方法、装置、电子设备及可读介质
CN111679990B (zh) 测试数据生成方法、装置、可读介质及电子设备
CN112597047A (zh) 测试方法、装置、电子设备和计算机可读介质
CN109491646B (zh) 一种消息录入方法、装置、电子设备及可读介质
CN110704833A (zh) 数据权限配置方法、设备、电子设备及存储介质
CN112214408A (zh) 依赖冲突检测方法、装置、电子设备及计算机可读介质
CN113392018B (zh) 流量分发方法、装置、存储介质及电子设备
CN111506904B (zh) 漏洞在线修复的方法和装置
CN114328215A (zh) 测试数据部署方法、装置、设备、可读存储介质及产品
CN113704079B (zh) 基于Protobuf的接口测试方法和装置
CN114168485A (zh) 测试方法、装置、设备及介质
CN114428925A (zh) 页面渲染方法、装置、电子设备和计算机可读介质
CN110086880B (zh) 创建网络请求的实例的方法和装置
CN111382056B (zh) 一种服务的测试方法、装置,服务器及存储介质
CN113656050A (zh) 用于生成版本号的方法和装置
CN111240657A (zh) 用于生成sdk的方法、装置和电子设备
CN111367555B (zh) 断言的方法、装置、电子设备及计算机可读介质
CN115860573B (zh) 基于检测项的公路工程检测方法、电子设备和可读介质
CN113778464B (zh) 小程序灰度发布方法和装置
CN117669511A (zh) 代码覆盖率报告展示方法、信息处理方法、装置及设备
CN113835796A (zh) 用于处理信息的方法和装置
CN112363949A (zh) 接口测试方法、装置、设备及存储介质
CN114036053A (zh) 测试方法、装置、可读介质和电子设备
CN115373972A (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