CN112035335A - 自动化测试的方法、装置、设备、介质 - Google Patents

自动化测试的方法、装置、设备、介质 Download PDF

Info

Publication number
CN112035335A
CN112035335A CN201910475365.2A CN201910475365A CN112035335A CN 112035335 A CN112035335 A CN 112035335A CN 201910475365 A CN201910475365 A CN 201910475365A CN 112035335 A CN112035335 A CN 112035335A
Authority
CN
China
Prior art keywords
test
testing
external
environment
abstract interface
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
CN201910475365.2A
Other languages
English (en)
Other versions
CN112035335B (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 ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance 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 ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910475365.2A priority Critical patent/CN112035335B/zh
Publication of CN112035335A publication Critical patent/CN112035335A/zh
Application granted granted Critical
Publication of CN112035335B publication Critical patent/CN112035335B/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/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

自动化测试的方法、装置、设备、介质
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种自动化测试的方法、装置、设备、存储介质。
背景技术
应用测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
自动化测试是把以人为主体的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试。
但是目前编写自动化测试过程中上下游外部依赖多,构建和维护测试数据困难。上下游外部依赖是指***中的一个对象,需要被测试的部分代码要与这个对象发生交互,但***并不能控制这个对象例如测试数据等。常见的依赖包括***时间、Web服务、文件***、数据库服务、内存等。
发明内容
本发明欲解决的技术问题
现有技术中的自动化测试过程往往需要完整的测试环境和测试数据,单机无法进行完整的自动化测试;并且测试结果无法进行快速反馈;测试变量等测试数据不可控,以及外部测试环境易出现故障,测试环境中存在干扰数据等问题。
本发明正是为了解决上述课题而完成,其目的在于提供一种简单高效的,减少外部依赖的自动化测试的方法、装置、设备、存储介质。
用于解决问题的技术方案
为了解决上述技术问题,本发明实施例提供一种自动化测试的方法,采用了如下所述的技术方案:
所述方法包括,搭建平台步骤,通过配置组合外部依赖的方式,搭建出用于测试的外部依赖模拟平台;
环境实现步骤,在所述外部依赖模拟平台中使用测试工具实现自动化测试的环境;
定义抽象接口步骤,通过为所述外部依赖模拟平台定义统一的抽象接口,将对于外部依赖的调用定义为对于所述抽象接口的调用;
自动化测试步骤,运用模拟程序通过所述抽象接口调用对应的所述测试工具以实现应用的自动化测试。
进一步地,所述测试工具实现自动化测试的环境至少包括以下方式:
A、通过存储所述外部依赖的内存实现;
B、通过使用代码生成工具生成模拟代码实现;
C、通过使用真实线上代码,配置线下测试服务器地址实现;
D、通过自定义配置专用代码实现。
进一步地,所述外部依赖模拟平台中的所述测试工具包括不同的数据库集群和缓存集群。
进一步地,所述自动化测试所需要的环境包括线上生产环境和线下开发测试环境,所述抽象接口也允许所述线上生产环境直接接入。
进一步地,还包括反馈步骤,对所述自动化测试的结果进行反馈。
进一步地,所述外部依赖模拟平台根据自动化测试来控制测试变量和/或配置测试工具。
本发明的另一方面提供了一种自动化测试的装置,其特征在于,包括:
搭建平台模块,通过配置组合外部依赖的方式,搭建出用于测试的外部依赖模拟平台;
环境实现模块,在所述外部依赖模拟平台中使用测试工具实现自动化测试的环境;
定义抽象接口模块,通过为所述外部依赖模拟平台定义统一的抽象接口,将对于外部依赖的调用定义为对于所述抽象接口的调用;
自动化测试模块,运用模拟程序通过所述抽象接口调用对应的所述测试工具以实现应用的自动化测试。
进一步地,还包括反馈模块,对所述自动化测试的结果进行反馈。
本发明的另一方面提供了一种终端设备,包括存储器和处理器,所述存储器中存储有应用程序,所述处理器执行所述应用程序时实现如前述任一项所述的自动化测试的方法的步骤。
本发明的另一方面提供了一种非暂态计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任一项所述的自动化测试的方法的步骤。
发明效果
本发明的自动化测试方法不需要完整的测试环境和测试数据,单机即可进行,并且测试在进程内存中进行,可以获得快速反馈;测试变量等测试数据可以根据情况进行控制,以及不受外部测试环境故障、测试环境中存在干扰数据等问题的影响。
附图说明
图1是本发明可以应用于其中的示例性***架构图;
图2根据本发明的减少外部依赖的自动化测试的方法的一个实施例的流程图;
图3根据本发明的减少外部依赖的自动化测试的方法的一个实施例的示意图;
图4是根据本发明的终端设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明;本发明的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本发明的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本发明方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[***结构]
首先,说明本发明的一个实施例的***的结构。如图1所示,***结构100可以包括终端设备101、102、103,网络104和服务器105。网络104是用以在终端设备101、102、103和服务器105之间提供通信链路的介质。其中,终端设备101为小屏显示器设备,终端设备102和/或103为大屏显示器设备。
在本实施例中,减少外部依赖的自动化测试的方法运行于其上的电子设备(例如图1所示的终端设备101或102或103)可以通过网络104进行各种信息的传输。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本发明实施例所提供的减少外部依赖的自动化测试的方法一般由服务器与终端设备共同执行。在本实施例中,服务器用于与终端设备101、102、103进行信息传输,例如向终端设备101、102、103的提供各种测试工具即各种数据库集群和缓存集群。
在本实施例中,服务器提供的数据库集群是指利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像单数据库***那样,向客户端提供透明的数据服务。服务器提供的缓存集群是指一组相互独立的、通过高速网络互相联通的节点,构成一个组并以单一***的模式加以管理。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[实施例装置]
为了实现本发明实施例中的技术方案,本发明提供了一种减少外部依赖的自动化测试的装置,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中,图2所示的方法将在下面详细描述。
本实施例所述的减少外部依赖的自动化测试的装置包括:搭建平台模块、环境实现模块、定义抽象接口模块、自动化测试模块、反馈模块。
搭建平台模块,用于执行搭建平台步骤S201,通过配置组合外部依赖例如***时间、Web服务、文件***、数据库服务、内存等的方式,搭建出测试需要的外部依赖模拟平台。这里,外部依赖模拟平台是指应用开发过程中的一个类,可以是Java设计语言中最常用的工厂模式(Factory Pattern),当然也可以是其他设计语言中的类似设计模式,凡是在创建对象时不会对客户端暴露创建逻辑并且是通过使用一个共同的接口来指向新创建的对象的模式的类均可以是本发明中的外部依赖模拟平台。
环境实现模块,用于执行环境实现步骤S202,在外部依赖模拟平台中使用测试工具实现自动化测试所需要的环境。这里,外部依赖模拟平台中的所述测试工具包括不同的数据库集群和缓存集群,这里,数据库集群和缓存集群可以是mysql,redis,也可以是其他测试相关的开源库。
1.Ginkgo,面向Behavior的测试开发库。可以有效组织测试代码,提高测试代码复用;
2.factory-go,用于生成测试fixture,减少代码冗余;
3.go-randomdata和kolpa,生成随机的测试数据。
这里,自动化测试所需要的环境包括线上生产环境和线下开发测试环境,所述抽象接口也允许所述线上生产环境直接接入。这里,线上生产环境即用户产生交互的服务端环境,能够最真实的反映程序的运行环境。线下开发测试环境是根据线上生产环境克隆出来作为测试用途的环境,和线上生产环境非常相似,但存在一些细微的差异。
定义抽象接口模块,用于执行定义抽象接口步骤S203,通过为外部依赖模拟平台定义统一的抽象接口,将对于各种外部依赖的调用定义为对于所述抽象接口的调用。例如,对于redis,外部依赖模拟平台进行设计定义统一的redis client的抽象接口interface{},并对goredis增加一层封装类来实现这个接口。
自动化测试模块,用于执行自动化测试步骤S204,运用模拟程序通过抽象接口调用对应的所述测试工具以实现应用的自动化测试。这里,模拟程序是用来复制一个移动设备的内部工作的,用于开发和测试移动应用程序,当然,这里模拟程序也可以是真实的移动终端设备。
反馈模块,用于执行反馈步骤S205,对自动化测试的结果进行快速反馈。这里,由于自动化测试在进程的内存中完成,因此可以获得快速反馈。
[实施例方法]
继续参考图2,示出了根据本发明的减少外部依赖的自动化测试的方法的一个实施例的流程图。所述减少外部依赖的自动化测试的方法,包括以下步骤:
搭建平台步骤S201,通过配置组合外部依赖例如***时间、Web服务、文件***、数据库服务、内存等的方式,搭建出测试需要的外部依赖模拟平台。这里,外部依赖模拟平台是指应用开发过程中的一个类,可以是Java设计语言中最常用的工厂模式(FactoryPattern),当然也可以是其他设计语言中的类似设计模式,凡是在创建对象时不会对客户端暴露创建逻辑并且是通过使用一个共同的接口来指向新创建的对象的模式的类均可以是本发明中的外部依赖模拟平台。
环境实现步骤S202,在外部依赖模拟平台中使用测试工具实现自动化测试所需要的环境。这里,外部依赖模拟平台中的所述测试工具包括不同的数据库集群和缓存集群,这里,数据库集群和缓存集群可以是mysql,redis,也可以是其他测试相关的开源库。
1.Ginkgo,面向Behavior的测试开发库。可以有效组织测试代码,提高测试代码复用;
2.factory-go,用于生成测试fixture,减少代码冗余;
3.go-randomdata和kolpa,生成随机的测试数据。
这里,自动化测试所需要的环境包括线上生产环境和线下开发测试环境,所述抽象接口也允许所述线上生产环境直接接入。这里,线上生产环境即用户产生交互的服务端环境,能够最真实的反映程序的运行环境。线下开发测试环境是根据线上生产环境克隆出来作为测试用途的环境,和线上生产环境非常相似,但存在一些细微的差异。
这里,测试工具实现自动化测试的环境至少包括以下方式:
A、通过存储所述外部依赖的内存实现,该种实现方式的特点是,方便每次测试前快速生成数据和销毁数据,其中的某个外部依赖(mysql/redis)只要实现一次就可以在所有项目中通用;
B、通过使用代码生成工具生成模拟代码实现,该种实现方式的特点是,可以实现按需使用,其中的大部分代码可以通过代码生成工具生成,在测试时只制定外部依赖的输入输出即可;
C、通过使用真实线上代码,配置线下测试服务器地址实现,该种实现方式的特点是,成本比较低,只要进行对应的代码进行简单的配置即可;
D、通过自定义配置专用代码实现,该种实现方式的特点是,可以针对测试对象专用的代码,适配性较高。
定义抽象接口步骤S203,通过为外部依赖模拟平台定义统一的抽象接口,将对于各种外部依赖的调用定义为对于所述抽象接口的调用。例如,对于redis,外部依赖模拟平台进行设计定义统一的redis client的抽象接口interface{},并对goredis增加一层封装类来实现这个接口。
自动化测试步骤S204,运用模拟程序通过抽象接口调用对应的所述测试工具以实现应用的自动化测试。这里,模拟程序是用来复制一个移动设备的内部工作的,用于开发和测试移动应用程序,当然,这里模拟程序也可以是真实的移动终端设备。这里,在自动化测试过程中,外部依赖模拟平台根据自动化测试需要控制测试变量和/或配置测试工具。
这里,自动化测试步骤中,主要包括编写测试用例、执行测试用例、查找最新测试用例、自动发送测试报告、定时执行测试用例等应用测试中常用的流程。
反馈步骤S205,对自动化测试的结果进行快速反馈。这里,由于自动化测试在进程的内存中完成,因此可以获得快速反馈。
[实施例]
下面,参照图3一个实施例的示意图对本发明的减少外部依赖的自动化测试的方法进行详细描述。
如图3所示,外部依赖31为现有技术中自动化测试的各种上下游外部依赖,例如***时间、Web服务、文件***、数据库服务、内存等。
外部依赖模拟平台32为通过配置组合外部依赖的方式,搭建出的测试需要的工厂模式(Factory Pattern)的一个类。其中,工厂模式(Factory Pattern)的类相当于一个框架,在框架下实现自动化测试所需要的线上生产环境和线下开发测试环境。
在工厂模式(Factory Pattern)的类下,针对业务上的不同外部依赖,即构建不同类型的依赖,即构造不同的数据库集群和缓存集群也即测试工具33,不同的数据库集群和缓存集群可以在外部依赖模拟平台32中模拟外部独立的各种依赖,其可以是mysql,redis,也可以是其他测试相关的开源库,例如:
1.Ginkgo,面向Behavior的测试开发库。可以有效组织测试代码,提高测试代码复用;
2.factory-go,用于生成测试fixture,减少代码冗余;
3.go-randomdata和kolpa,生成随机的测试数据。
通过为外部依赖模拟平台32定义统一的抽象接口34,当需要进行自动化测试时,不需要完整的测试环境和测试数据,单机即可通过对于抽象接口32的调用实现对不同的数据库集群和缓存集群也即测试工具33的调用,进行完整的自动化测试。例如,对于redis,外部依赖模拟平台32进行设计定义统一的redis client的抽象接口34interface{}。对于定义的抽象接口34interface{},除了线上生产环境的标准实现外,线下测试开发环境的实现还可以通过:
A、通过存储所述外部依赖的内存实现,该种实现方式的特点是,方便每次测试前快速生成数据和销毁数据,其中的某个外部依赖(mysql/redis)只要实现一次就可以在所有项目中通用;
B、通过使用代码生成工具生成模拟代码实现,该种实现方式的特点是,可以实现按需使用,其中的大部分代码可以通过代码生成工具生成,在测试时只制定外部依赖的输入输出即可;
C、通过使用真实线上代码,配置线下测试服务器地址实现,该种实现方式的特点是,成本比较低,只要进行对应的代码进行简单的配置即可;
D、通过自定义配置专用代码实现,该种实现方式的特点是,可以针对测试对象专用的代码,适配性较高。
在具体实践中,mysql数据库的测试实现可以使用sqlite的内存模式。
redis和etcd的测试实现可以使用内存kv数据库ledisdb进行模拟。
对于RPC服务的测试实现可以使用GoMock生成mock代码进行模拟。
在进行自动化测试时,外部依赖模拟平台32可完全控制测试变量(如流量降级开关中的随机数),无需担心外部测试环境故障、测试环境干扰数据等问题的存在。
并且,由于自动化测试在进程的内存中完成,因此可以获得快速反馈。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非暂态计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为解决上述技术问题,本发明实施例还提供终端设备。具体请参阅图4,图4为本实施例终端设备基本结构框图。
所述终端设备4包括通过***总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的终端设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的终端设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述终端设备可以是手机、平板电脑、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可以与用户通过触摸屏、键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述终端设备4的内部存储单元,例如该终端设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述终端设备4的外部存储设备,例如该终端设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述终端设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述终端设备4的操作***和各类应用软件,例如减少外部依赖的自动化测试的方法的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述终端设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行所述减少外部依赖的自动化测试的方法的程序代码。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述终端设备4与其他电子设备之间建立通信连接。
本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有减少外部依赖的自动化测试的程序,所述减少外部依赖的自动化测试的程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的减少外部依赖的自动化测试的方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,附图中给出了本发明的较佳实施例,但并不限制本发明的专利范围。本发明可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。

Claims (10)

1.一种自动化测试的方法,其特征在于,包括:
搭建平台步骤,通过配置组合外部依赖的方式,搭建出用于测试的外部依赖模拟平台;
环境实现步骤,在所述外部依赖模拟平台中使用测试工具实现自动化测试的环境;
定义抽象接口步骤,通过为所述外部依赖模拟平台定义统一的抽象接口,将对于外部依赖的调用定义为对于所述抽象接口的调用;
自动化测试步骤,运用模拟程序通过所述抽象接口调用对应的所述测试工具以实现应用的自动化测试。
2.如权利要求1所述的自动化测试的方法,其特征在于,所述测试工具实现自动化测试的环境至少包括以下方式:
A、通过存储所述外部依赖的内存实现;
B、通过使用代码生成工具生成模拟代码实现;
C、通过使用真实线上代码,配置线下测试服务器地址实现;
D、通过自定义配置专用代码实现。
3.如权利要求2所述的自动化测试的方法,其特征在于,所述外部依赖模拟平台中的所述测试工具包括不同的数据库集群和缓存集群。
4.如权利要求3所述的自动化测试的方法,其特征在于,所述自动化测试所需要的环境包括线上生产环境和线下开发测试环境,所述抽象接口也允许所述线上生产环境直接接入。
5.如权利要求4所述的自动化测试的方法,其特征在于,还包括反馈步骤,对所述自动化测试的结果进行反馈。
6.如权利要求1-5所述的自动化测试的方法,其特征在于,所述外部依赖模拟平台根据自动化测试来控制测试变量和/或配置测试工具。
7.一种自动化测试的装置,其特征在于,包括:
搭建平台模块,通过配置组合外部依赖的方式,搭建出用于测试的外部依赖模拟平台;
环境实现模块,在所述外部依赖模拟平台中使用测试工具实现自动化测试的环境;
定义抽象接口模块,通过为所述外部依赖模拟平台定义统一的抽象接口,将对于外部依赖的调用定义为对于所述抽象接口的调用;
自动化测试模块,运用模拟程序通过所述抽象接口调用对应的所述测试工具以实现应用的自动化测试。
8.根据权利要求7所述的自动化测试的装置,其特征在于,还包括反馈模块,对所述自动化测试的结果进行反馈。
9.一种终端设备,包括存储器和处理器,所述存储器中存储有应用程序,所述处理器执行所述应用程序时实现如权利要求1至6中任一项所述的自动化测试的方法的步骤。
10.一种非暂态计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的自动化测试的方法的步骤。
CN201910475365.2A 2019-06-03 2019-06-03 自动化测试的方法、装置、设备、介质 Active CN112035335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910475365.2A CN112035335B (zh) 2019-06-03 2019-06-03 自动化测试的方法、装置、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910475365.2A CN112035335B (zh) 2019-06-03 2019-06-03 自动化测试的方法、装置、设备、介质

Publications (2)

Publication Number Publication Date
CN112035335A true CN112035335A (zh) 2020-12-04
CN112035335B CN112035335B (zh) 2024-06-25

Family

ID=73575940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910475365.2A Active CN112035335B (zh) 2019-06-03 2019-06-03 自动化测试的方法、装置、设备、介质

Country Status (1)

Country Link
CN (1) CN112035335B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736980A (zh) * 2012-06-29 2012-10-17 南京大学 一种面向Java程序的随机测试用例生成方法
CN102821144A (zh) * 2012-07-24 2012-12-12 南京邮电大学 一种在云中部署网络服务的方法
US20150052500A1 (en) * 2013-08-15 2015-02-19 Yahoo! Inc. Testing computer-implementable instructions
US20160170860A1 (en) * 2014-12-15 2016-06-16 Thomas Angermayer Dependent object delegation tester
CN105760293A (zh) * 2014-12-19 2016-07-13 博雅网络游戏开发(深圳)有限公司 多语言平台测试的方法和***
CN106201878A (zh) * 2016-07-08 2016-12-07 百度在线网络技术(北京)有限公司 测试程序的执行方法和装置
CN106649085A (zh) * 2016-09-23 2017-05-10 郑州云海信息技术有限公司 一种基于云计算的软件测试***
CN107005444A (zh) * 2014-09-11 2017-08-01 森特理克联网家居有限公司 设备同步和测试
CN107844413A (zh) * 2016-09-21 2018-03-27 阿里巴巴集团控股有限公司 一种测试方法和装置
CN108255717A (zh) * 2018-01-10 2018-07-06 链家网(北京)科技有限公司 接口自动化测试优化方法、***、电子设备和存储介质
CN109766271A (zh) * 2018-12-22 2019-05-17 中国平安人寿保险股份有限公司 混合应用自动化测试方法、装置、电子设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736980A (zh) * 2012-06-29 2012-10-17 南京大学 一种面向Java程序的随机测试用例生成方法
CN102821144A (zh) * 2012-07-24 2012-12-12 南京邮电大学 一种在云中部署网络服务的方法
US20150052500A1 (en) * 2013-08-15 2015-02-19 Yahoo! Inc. Testing computer-implementable instructions
CN107005444A (zh) * 2014-09-11 2017-08-01 森特理克联网家居有限公司 设备同步和测试
US20160170860A1 (en) * 2014-12-15 2016-06-16 Thomas Angermayer Dependent object delegation tester
CN105760293A (zh) * 2014-12-19 2016-07-13 博雅网络游戏开发(深圳)有限公司 多语言平台测试的方法和***
CN106201878A (zh) * 2016-07-08 2016-12-07 百度在线网络技术(北京)有限公司 测试程序的执行方法和装置
CN107844413A (zh) * 2016-09-21 2018-03-27 阿里巴巴集团控股有限公司 一种测试方法和装置
CN106649085A (zh) * 2016-09-23 2017-05-10 郑州云海信息技术有限公司 一种基于云计算的软件测试***
CN108255717A (zh) * 2018-01-10 2018-07-06 链家网(北京)科技有限公司 接口自动化测试优化方法、***、电子设备和存储介质
CN109766271A (zh) * 2018-12-22 2019-05-17 中国平安人寿保险股份有限公司 混合应用自动化测试方法、装置、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孟燕;: "自动化测试技术中Mock框架的建设与应用", 武汉理工大学学报(信息与管理工程版), no. 03 *
杨秀杰;: "在线测试***框架中设计模式的应用研究", 硅谷, no. 11 *

Also Published As

Publication number Publication date
CN112035335B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
CN109542445A (zh) 一种Android插件化开发的方法和装置
CN109446570B (zh) 业务流程展示方法、装置、计算机设备以及存储介质
CN107608901B (zh) 基于Jmeter的测试方法及装置、存储介质、电子设备
CN102591961A (zh) 一种制作数据图表的方法及***
CN113179188B (zh) 服务降级动态实现方法、装置、计算机设备及存储介质
CN108958843A (zh) 基于轻量化脚本的插件构建方法、***、设备及介质
CN104375933A (zh) 一种单元测试方法和装置
CN111045675A (zh) 一种基于Flutter的页面生成方法、装置、设备和存储介质
CN103176899A (zh) 手机模拟器及在宿主机上模拟手机功能的方法
CN113010827A (zh) 页面渲染方法、装置、电子设备以及存储介质
CN110059011A (zh) 接口测试方法、装置、介质及电子设备
CN113268260A (zh) 用于web前端的路由方法及装置
CN111782304A (zh) 分页加载数据逻辑控制方法、装置、计算机设备及介质
CN114036439A (zh) 网站搭建方法、装置、介质及电子设备
CN111767209A (zh) 代码测试方法、装置、存储介质以及终端
CN109388435A (zh) 实现app同时多次开启操作的方法和装置
CN112905225A (zh) 创建持续集成工具构建任务的方法和装置
CN111159301A (zh) 一种基于智能合约的数据创建方法、装置、设备及存储介质
CN112988588B (zh) 客户端软件调试方法、装置、存储介质及电子设备
CN108153745B (zh) 一种应用数据调用方法及应用开发***
CN107749814A (zh) 设备的运行状态数据更新方法、装置及终端
US20230171179A1 (en) Method for testing pressure, electronic device and storage medium
CN112035335B (zh) 自动化测试的方法、装置、设备、介质
CN116431200A (zh) 应用数据配置信息的配置方法、装置、设备及存储介质
CN114745313A (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
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant