CN114928566B - 客户端的功能测试方法、装置、存储介质与电子设备 - Google Patents

客户端的功能测试方法、装置、存储介质与电子设备 Download PDF

Info

Publication number
CN114928566B
CN114928566B CN202210528714.4A CN202210528714A CN114928566B CN 114928566 B CN114928566 B CN 114928566B CN 202210528714 A CN202210528714 A CN 202210528714A CN 114928566 B CN114928566 B CN 114928566B
Authority
CN
China
Prior art keywords
module
tested
test
data
protocol
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
Application number
CN202210528714.4A
Other languages
English (en)
Other versions
CN114928566A (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.)
Guangzhou Boguan Information Technology Co Ltd
Original Assignee
Guangzhou Boguan 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 Guangzhou Boguan Information Technology Co Ltd filed Critical Guangzhou Boguan Information Technology Co Ltd
Priority to CN202210528714.4A priority Critical patent/CN114928566B/zh
Publication of CN114928566A publication Critical patent/CN114928566A/zh
Application granted granted Critical
Publication of CN114928566B publication Critical patent/CN114928566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供一种客户端的功能测试方法、装置、存储介质与电子设备,涉及计算机技术领域。该方法包括:从客户端提取待测试功能模块,并基于待测试功能模块所依赖的基础测试模块创建待测试功能模块所对应的功能测试模块;获取待测试功能模块与服务端进行通信的数据协议,并根据待测试功能模块与服务端进行通信的数据协议,确定测试数据;建立待测试功能模块所对应的测试步骤,启动功能测试模块将测试数据依据测试步骤输入待测试功能模块进行测试。本公开通过抽离需要测试的功能模块,创建独立的测试模块,实现功能模块的单独测试,提升了功能模块的开发效率,并有利于后续功能模块的维护和迭代调整。

Description

客户端的功能测试方法、装置、存储介质与电子设备
技术领域
本公开涉及计算机技术领域,尤其涉及一种客户端的功能测试方法、客户端的功能测试装置、计算机可读存储介质与电子设备。
背景技术
在客户端软件开发过程中,通常需要对客户端的功能模块进行测试,以便及时修正程序中存在的潜在错误,从而确保软件功能的正常使用。
相关技术中,对客户端功能模块的测试通常依赖于客户端以及服务端,需要将客户端与服务端对应的功能进行联合调试。但是由于服务端的开发进度与客户端的开发进度可能存在不同步的情况,从而导致测试迟滞,影响开发效率。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供了一种客户端的功能测试方法、客户端的功能测试装置、计算机可读存储介质与电子设备,进而至少在一定程度上解决相关技术中由于服务端与客户端开发进度不同步导致测试迟滞从而影响开发效率的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种客户端的功能测试方法,所述方法包括:从客户端提取待测试功能模块,并基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块;获取所述待测试功能模块与服务端进行通信的数据协议,并根据所述待测试功能模块与服务端进行通信的数据协议,确定测试数据;建立所述待测试功能模块所对应的测试步骤,启动所述功能测试模块将所述测试数据依据所述测试步骤输入所述待测试功能模块进行测试。
在本公开的一种示例性实施例中,所述根据所述待测试功能模块与服务端进行通信的数据协议,确定测试数据,包括:根据所述待测试功能模块与服务端进行通信的数据协议,确定所述待测试功能模块所对应的数据匹配策略;根据所述待测试功能模块所对应的数据匹配策略在测试数据库中进行匹配,得到所述测试数据。
在本公开的一种示例性实施例中,所述测试数据库通过以下方式进行创建:通过解析所述客户端的日志文件,获取所述服务端下发至所述客户端的数据信息;通过遍历所述服务端下发至所述客户端的数据信息中所包含的协议字段以及所述数据信息中所包含的协议字段所对应的数据值,获取所述协议字段以及所述协议所对应的数据值之间的映射关系;根据所述协议字段以及所述协议所对应的数据值之间的映射关系,创建测试数据库。
在本公开的一种示例性实施例中,所述根据所述待测试功能模块与服务端进行通信的数据协议,确定所述待测试功能模块所对应的数据匹配策略,包括:识别所述待测试功能模块与服务端进行通信的数据协议所对应的协议格式;通过拆解所述协议格式,得到所述协议格式所包含的协议字段;识别所述协议格式中各协议字段所对应的字段语义;基于所述协议格式中各协议字段所对应的字段语义,从预设数据匹配策略中选取所述待测试功能模块所对应的数据匹配策略。
在本公开的一种示例性实施例中,所述识别所述待测试功能模块与服务端进行通信的数据协议所对应的协议格式,包括:通过解析wiki页面获取所述待测试功能模块与服务端进行通信的数据协议所对应的协议格式。
在本公开的一种示例性实施例中,所述基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块,包括:初始化所述待测试功能模块所依赖的基础测试模块;将所述基础测试模块定义为一个父类,创建继承于所述父类的功能测试模块,其中所述功能测试模块用以控制所述待测试功能模块的独立运行。
在本公开的一种示例性实施例中,所述基础测试模块包含可视化界面的展示容器,所述功能测试模块通过可视化界面的交互触发按所述测试步骤完成测试。
根据本公开的第二方面,提供一种客户端的功能测试装置,所述装置包括:测试功能提取模块,用于从客户端提取待测试功能模块,并基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块;测试数据确定模块,用于获取所述待测试功能模块与服务端进行通信的数据协议,并根据所述待测试功能模块与服务端进行通信的数据协议,确定测试数据;测试步骤执行模块,用于建立所述待测试功能模块所对应的测试步骤,启动所述功能测试模块将所述测试数据依据所述测试步骤输入所述待测试功能模块进行测试。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述客户端的功能测试方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述客户端的功能测试方法。
本公开的技术方案具有以下有益效果:
上述客户端的功能测试过程中,从客户端提取待测试功能模块,并基于待测试功能模块所依赖的基础测试模块创建待测试功能模块所对应的功能测试模块;获取待测试功能模块与服务端进行通信的数据协议,并根据待测试功能模块与服务端进行通信的数据协议,确定测试数据;建立待测试功能模块所对应的测试步骤,启动功能测试模块将测试数据依据测试步骤输入待测试功能模块进行测试。一方面,通过抽离需要测试的功能模块,并创建独立的测试模块,使得功能模块的测试不必重依赖于整个客户端,能够更加方便快捷地单独对需要测试的功能模块进行测试,且在修改进行测试的功能模块时,不会影响原本的客户端功能,便于后续功能模块的维护和迭代调整。另一方面,基于待测试功能模块与服务端之间通信的数据协议所确定的测试数据,实现客户端功能模块独立于服务端的测试,使得对客户端功能模块的测试不必依赖于服务端的开发进度,以便提升客户端功能模块的开发进度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种客户端的功能测试的系统架构图;
图2示出本示例性实施方式中一种客户端的功能测试方法的流程图;
图3示出本示例性实施方式中一种确定待测试功能模块所对应的数据匹配策略的流程图;
图4示出本示例性实施方式中一种包含有多个协议字段的协议格式的实例图;
图5A示出本示例性实施方式中一种客户端完整游戏直播界面的实例图;
图5B示出本示例性实施方式中一种游戏直播签到功能模块所对应的测试界面的实例图;
图6示出本示例性实施方式中一种待测试功能模块的测试流程图;
图7示出本示例性实施方式中一种客户端的功能测试装置的结构框图;
图8示出本示例性实施方式中一种用于实现上述客户端的功能测试方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
相关技术中,通常需要将客户端与服务端进行联合调试,以测试客户端功能模块是否正常,在软件测试过程中,可能会出现客户端与服务端的开发进度不同步的情况,导致测试工作滞后,进而影响开发效率。此外,相关技术中,客户端功能模块的测试还可能需要依赖于客户端,比如,每次功能模块的修改,都需要重启客户端,且重启后客户端可能需要经过某些特定处理后才能测试该修改后的功能模块,也会在一定程度上降低测试效率。
鉴于上述一个或多个问题,本公开的示例性实施方式提供一种客户端的功能测试方法。图1示出了该客户端的功能测试方法运行环境的系统架构图。该系统架构100可以包括终端110、服务端120以及测试端130。其中,终端110可以是个人计算机、智能手机、智能穿戴设备等可运行客户端的终端设备,客户端的代码可以部署于终端110或即将部署于终端110。服务端120可以是为客户端提供相应服务的后台系统,可与终端110之间进行交互。测试端130用于测试客户端的代码中某个业务功能模块是否能够正常运行,可以是具有数据处理功能的电子设备,如个人计算机、智能手机、智能穿戴设备等与终端110类型相同的终端设备,也可以是用于测试的后台系统,如通过运行容器、虚拟机等模拟客户端运行环境的服务器。
在一种实施方式中,测试端130可以从终端110中提取客户端的待测试功能模块,通过执行本示例性实施方式中的功能测试方法,对该待测试功能模块进行测试。并且,测试端130还可以向终端110返回待测试功能模块的测试结果。
在一种实施方式中,测试端130可以不依赖于终端110与服务端120而单独执行客户端的功能测试方法,例如,将客户端的代码部署在测试端130上,测试端130可以抽取出其中的待测试功能模块,通过执行本示例性实施方式中的功能测试方法来进行测试。并且,测试端130还可以在对待测试功能模块测试通过的情况,将待测试功能模块发送至终端110。
需要说明的是,图1中所示的系统架构只是示例性的展示说明,在实际应用过程中,可以根据现实情况进行相应的调节,例如,将测试端130所执行的方法步骤集成至终端110中单独运行,且不会对终端110中原软件功能的执行造成影响。对此,本公开在此不做具体限定。
本示例性实施方式中一种客户端的功能测试方法,如图2所示,具体包括以下步骤S210至S230:
步骤S210,从客户端提取待测试功能模块,并基于待测试功能模块所依赖的基础测试模块创建待测试功能模块所对应的功能测试模块;
步骤S220,获取待测试功能模块与服务端进行通信的数据协议,并根据待测试功能模块与服务端进行通信的数据协议,确定测试数据;
步骤S230,建立待测试功能模块所对应的测试步骤,启动功能测试模块将测试数据依据测试步骤输入待测试功能模块进行测试。
图2所示的步骤中,通过抽离客户端需要调试的模块,创建独立的基础调试模块,再根据待测试功能模块与服务端之间通信的数据协议自动生成测试数据,最后再建立好测试步骤,以构建出完整且独立的测试流程。一方面,通过抽离需要测试的功能模块,并创建独立的测试模块,使得功能模块的测试不必重依赖于整个客户端,能够更加方便快捷地单独对需要测试的功能模块进行测试,且在修改进行测试的功能模块时,不会影响原本的客户端功能,便于后续功能模块的维护和迭代调整。另一方面,基于待测试功能模块与服务端之间通信的数据协议所确定的测试数据,实现客户端功能模块独立于服务端的测试,使得对客户端功能模块的测试不必依赖于服务端的开发进度,以便提升客户端功能模块的开发进度。
下面分别对图2中的每个步骤进行具体说明。
步骤S210,从客户端提取待测试功能模块,并基于待测试功能模块所依赖的基础测试模块创建待测试功能模块所对应的功能测试模块。
待测试功能模块指的是部署于客户端中的功能模块,可以是一个完整业务功能中的单个功能模块,例如游戏直播业务中的签到功能模块。通过提取待测试功能模块,使得待测试功能模块与客户端原功能代码分开且无耦合,使得后续针对该待测试功能模块的各项操作不会影响到客户端逻辑,以避免客户端其他功能的开发进度受到影响。
基础测试模块指的是预先所编写的依赖测试模块,该基础测试模块的运行可与服务端脱离,无需与服务端进行交互,例如在测试的过程中无需向服务端请求数据、无需向服务端上传数据等,可用于功能测试模块的初始化、测试功能的管理、测试数据的处理等。可选的,该基础测试模块包含可视化界面的展示容器,使得功能测试模块能够通过可视化界面的交互触发按测试步骤完成测试,以便更加直观且方便的进入到对应的功能模块展示界面。
待测试功能模块所对应的功能测试模块可以实现对待测试功能模块的功能测试,并且能够确保待测试功能模块的独立运行,还可以用于测试数据的关联和组装。
在一种可选的实施方式中,步骤S210中基于待测试功能模块所依赖的基础测试模块创建待测试功能模块所对应的功能测试模块,还可以通过以下方式来实现,具体可包括:初始化待测试功能模块所依赖的基础测试模块;将基础测试模块定义为一个父类,创建继承于父类的功能测试模块,其中功能测试模块用以控制待测试功能模块的独立运行。
例如,可由开发人员预先编写基础测试模块的基类test_module,若待测试功能模块为a,则可将test_module作为父类,创建待测试功能模块a对应的功能测试模块a_test_module。
上述过程中,将功能测试模块作为子类继承基础测试模块,能够提升功能测试模块创建的便捷性,增强测试流程的普适性。当待测试功能模块数量较多时,能够大大减少创建功能测试模块的时间成本。
需要说明的是,为了使得待测试功能模块的运行不依赖于客户端,上述在提取待测试功能模块并创建该待测试功能模块所对应功能测试模块之后,便可以将所提取的待测试功能模块添加至所创建的功能测试模块中,以便采用该功能测试模块控制该待测试功能模块独立运行。
步骤S220,获取待测试功能模块与服务端进行通信的数据协议,并根据待测试功能模块与服务端进行通信的数据协议,确定测试数据。
数据协议指的是待测试功能模块与服务端之间特定的数据传输协议。客户端与服务端之间的通信通常是由一条或多条约定的数据协议来进行数据交互的,其具体的通信内容格式都是客户端与服务端预先定义好的,因而可以通过获取待测试功能模块与服务端进行通信的数据协议,自动生成测试数据,进而脱离对服务端的依赖,使得测试的进行不受服务端开发进度的限制。
测试数据指的是用于测试上述待测试功能模块的功能是否正确的测试数据,可以包括从待测试功能模块的功能模块展示界面输入或选取的数据,还可以包括服务端与待测试功能模块之间所需的通信数据。
为了脱离对客户端和服务端的依赖,测试过程中所用到测试数据可从预先建立的测试数据库中选取得到。
在一种可选的实施方式中,上述步骤S220中根据待测试功能模块与服务端进行通信的数据协议,确定测试数据,可通过以下方式来实现,具体包括:根据待测试功能模块与服务端进行通信的数据协议,确定待测试功能模块所对应的数据匹配策略;根据待测试功能模块所对应的数据匹配策略在测试数据库中进行匹配,得到测试数据。
数据匹配策略指的是从测试数据库中匹配具体测试数据的匹配依据,可以根据需要预先设定一组或多组数据匹配策略以供使用,可以根据输入的协议字段语义,确定实际需要使用的协议字段,并返回其字段映射的数据值。数据匹配策略可例如:用户id(Identity document,身份标识)匹配策略、头像匹配策略等。
在一种可选的实施方式中,上述根据待测试功能模块与服务端进行通信的数据协议,确定待测试功能模块所对应的数据匹配策略,可以通过如图3所示的步骤来实现,具体包括以下步骤S310至步骤S340:
步骤S310,识别待测试功能模块与服务端进行通信的数据协议所对应的协议格式;
如图4所示,描述了一种包含有多个协议字段的协议格式,其中sid和cid分别表示协议的主id和子id,协议字段对应的格式为“key”:“type”,其中,“key”表示字段名称,“type”表示字段类型。“type”可以包括:int、str、[]、{}等字段类型,其中int表示整型,str表示字符串,[]表示列表,{}表示字典。需要说明的是,图4中所涉及到的字段类型仅是示例性的说明,在实际应用于过程中,可根据实际情况进行设定,这里不做具体限定。
待测试功能模块与服务端之间进行通信的数据协议所对应的协议格式通常可以用wiki页面或其他方式来记录。其中,wiki页面是一种可供多人协同编辑的页面。
若待测试功能模块与服务端之间进行通信的数据协议所对应的协议格式用wiki页面来记录,在一种可选的实施方式中,上述识别待测试功能模块与服务端进行通信的数据协议所对应的协议格式,可以通过以下方式来实现:通过解析wiki页面获取待测试功能模块与服务端进行通信的数据协议所对应的协议格式。
上述过程中,基于wiki页面便于维护且可多人协同的特性,通过对wiki页面中所记录的协议格式进行解析,识别待测试功能模块与服务端进行通信的数据协议所对应的协议格式,使得测试和开发可同步进行,且互不影响。
步骤S320,通过拆解协议格式,得到协议格式所包含的协议字段;
由于一个协议格式可能包含多个协议字段,因而可以通过对协议格式的拆解,获取到协议格式所包含的各个协议字段“key”:“type”。
步骤S330,识别协议格式中各协议字段所对应的字段语义;
每个协议字段都具有其特定的字段语义,例如图4中的协议字段“broadcast”:int所代表的字段含义为是否进行广播。通过识别各协议字段所对应的字段语义,以便后续能够精准筛选测试数据,能够避免由于测试数据库中测试数据过于繁杂导致筛选出的测试数据无法使用。
步骤S340,基于协议格式中各协议字段所对应的字段语义,从预设数据匹配策略中选取待测试功能模块所对应的数据匹配策略。
数据匹配策略可以为单个协议字段或多个协议字段所形成的匹配策略。上述过程基于协议字段从预设数据匹配策略中筛选与待测试功能模块对应的数据匹配策略,将匹配策略与相应的协议字段建立了映射关系,以便于后续能够精准匹配相应的测试数据。需要说明的是,在长期的测试过程中,可以不断的补充完善预设数据匹配策略,方便下次不同功能测试时直接使用,具体可根据实际情况进行多样化设置,这里不做具体限定。
在一种可选的实施方式中,上述根据待测试功能模块所对应的数据匹配策略在测试数据库中进行匹配,得到测试数据,还可以通过以下方式实现,具体包括:根据待测试功能模块所对应的数据匹配策略,从测试数据库中识别目标协议字段,并获取该目标协议字段的映射数据,进而得到相应的测试数据。
目标协议字段可以是测试数据库中与上述步骤S330中所得到的协议字段完全相同的字段。若测试数据库中不存在与上述步骤S330中所得到的协议字段完全相同的字段,目标协议字段还可以是与上述步骤S330中所得到的协议字段具有关联关系的字段。
下面以用户id匹配策略为例进行说明:
当待测试功能模块与服务端进行通信的数据协议所对应的协议格式所包含的协议字段名称为“uid”时,其字段语义认定为用户id,可确定该待测试功能模块所对应的数据匹配策略为用户id匹配策略,该用户id匹配策略为单个协议字段所形成的策略。此时可以从数据库中查询目标协议字段“uid”,并返回“uid”的映射数据。若从数据库中查询不到目标协议字段,则可以返回一个随机的n位数整型数值,以替代uid的映射数据。
下面以头像匹配策略为例进行说明:
当待测试功能模块与服务端进行通信的数据协议所对应的协议格式所包含的协议字段名称为“portrait”或者“head”时,其语义认定为用户头像,可确定该待测试功能模块所对应的数据匹配策略为头像匹配策略,该头像匹配策略为单个协议字段所形成的策略。此时可以从数据库中查询目标协议字段“portrait”或者“head”,并返回“portrait”或者“head”所对应的头像地址。
当待测试功能模块与服务端进行通信的数据协议所对应的协议格式所包含的协议字段名称为“portrait_url”时,其语义认定为用户头像,可确定该待测试功能模块所对应的数据匹配策略为头像匹配策略。此时可以从测试数据库中查询目标协议字段“portrait_url”,若测试数据库中不存在“portrait_url”所对应的头像地址,则可将与“portrait_url”相关的“portrait”或者“head”作为目标协议字段,查询“portrait”或者“head”所对应的头像地址。
当待测试功能模块与服务端进行通信的数据协议所对应的协议格式所包含的协议字段名称为“portrait”以及“gender”时,其语义认定为男/女用户头像,可确定该待测试功能模块所对应的数据匹配策略为头像匹配策略,该头像匹配策略为多个协议字段所形成的策略。此时可以根据“gender”字段从数据库中返回所对应的男/女头像地址。
需要说明的是,在获取到目标协议字段的映射数据之后,可以将所获取到的映射数据以“key”:“type”的形式形成一条测试数据,将其作为最终所得到的测试数据。
由于常见的测试数据是自己手动去填写设置,其输入数据比较麻烦费时,还需要根据不同的需求需要经常的去改动,而且大部分的数据不能复用,下次使用时需要重新输入。上述过程中,基于数据匹配策略从测试数据库中自动匹配测试数据,可以实现测试数据的复用,进而减少手动操作。
此外,在一种可选的实施方式中,上述过程中所利用到的测试数据库可以通过以下方式进行创建:通过解析客户端的日志文件,获取服务端下发至客户端的数据信息;通过遍历服务端下发至客户端的数据信息中所包含的协议字段以及数据信息中所包含的协议字段所对应的数据值,获取协议字段以及协议所对应的数据值之间的映射关系;根据协议字段以及协议所对应的数据值之间的映射关系,创建测试数据库。
由于客户端的日志文件记录着大量的服务端消息,因而通过解析日志文件,有助于建立丰富且庞大的测试数据库。
继续参考图2。步骤S230,建立待测试功能模块所对应的测试步骤,启动功能测试模块将测试数据依据测试步骤输入待测试功能模块进行测试。
测试步骤指的是待测试功能模块所包含的各子功能所对应的测试方法的执行步骤。
在一种可选的实施方式中,功能测试模块可以通过可视化界面的交互触发按测试步骤完成测试,可视化界面的交互,可例如:在待测试功能模块的可视化界面上对切换控件的点击操作。
需要说明的是,本公开中可视化界面指的是待测试功能模块所对应的测试界面,而并非客户端中所呈现的功能界面。以游戏直播的签到场景为例,图5A提供了一种客户端完整游戏直播界面,图5B提供了一种在当前测试端所呈现的游戏直播签到功能模块所对应的测试界面。
可将待测试功能模块中各子功能所对应的测试方法依次添加至测试步骤队列中,以形成该待测试功能模块对应的测试步骤。此外,上述将测试数据依据测试步骤输入待测试功能模块进行测试时,可以通过以下方式来实现:响应在待测试功能模块的可视化界面上对切换控件的点击操作,触发与切换控件对应的测试步骤,并将测试数据中与该测试步骤对应的一条或多条测试数据输入该待测试功能模块,该测试功能模块做出相应的反馈。如图5B所示的游戏直播签到模块所对应的测试界面,上方为步骤切换控件,点击该控件则可触发对应的测试步骤并进入到下一个测试步骤。
此外,如图6所示,还提供一种待测试功能模块的测试流程,该流程可以不依赖于完整的客户端或服务端而独立实现,具体可包括以下步骤S601至步骤S609:
步骤S601,从客户端提取待测试功能模块;
步骤S602,将基础测试模块定义为一个父类,创建继承于父类的功能测试模块;
步骤S603,获取待测试功能模块与服务端进行通信的数据协议;
步骤S604,通过解析wiki页面获取待测试功能模块与服务端进行通信的数据协议所对应的协议格式;
步骤S605,通过拆解协议格式,得到协议格式所包含的协议字段;
步骤S606,识别协议格式中各协议字段所对应的字段语义;
步骤S607,基于协议格式中各协议字段所对应的字段语义,从预设数据匹配策略中选取待测试功能模块所对应的数据匹配策略;
步骤S608,根据待测试功能模块所对应的数据匹配策略在测试数据库中进行匹配,得到测试数据;
步骤S609,建立待测试功能模块所对应的测试步骤,启动功能测试模块将测试数据依据测试步骤输入待测试功能模块进行测试。
上述图6所示的步骤中,实现对功能模块的独立测试,使得整个测试过程的执行脱离对客户端以及服务端的依赖,进而避免由于服务端和客户端开发进度不同步所导致的测试低效,同时通过建立测试数据库自动匹配测试数据,使得测试数据可复用,能够减少测试数据的手动输入,进而提升测试效率。
本公开的示例性实施方式还提供一种客户端的功能测试装置,如图7所示,该客户端的功能测试装置700可以包括:
测试功能提取模块710,用于从客户端提取待测试功能模块,并基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块;
测试数据确定模块720,用于获取所述待测试功能模块与服务端进行通信的数据协议,并根据所述待测试功能模块与服务端进行通信的数据协议,确定测试数据;
测试步骤执行模块730,用于建立所述待测试功能模块所对应的测试步骤,启动所述功能测试模块将所述测试数据依据所述测试步骤输入所述待测试功能模块进行测试。
在一种可选的实施方式中,测试数据确定模块720,可以包括:匹配策略确定模块,用于根据待测试功能模块与服务端进行通信的数据协议,确定待测试功能模块所对应的数据匹配策略;测试数据匹配模块,用于根据待测试功能模块所对应的数据匹配策略在测试数据库中进行匹配,得到测试数据。
在一种可选的实施方式中,测试数据匹配模块中的测试数据库可以通过以下方式进行创建:通过解析客户端的日志文件,获取服务端下发至客户端的数据信息;通过遍历服务端下发至客户端的数据信息中所包含的协议字段以及数据信息中所包含的协议字段所对应的数据值,获取协议字段以及协议所对应的数据值之间的映射关系;根据协议字段以及协议所对应的数据值之间的映射关系,创建测试数据库。
在一种可选的实施方式中,匹配策略确定模块,可以被配置为:识别待测试功能模块与服务端进行通信的数据协议所对应的协议格式;通过拆解协议格式,得到协议格式所包含的协议字段;识别协议格式中各协议字段所对应的字段语义;基于协议格式中各协议字段所对应的字段语义,从预设数据匹配策略中选取待测试功能模块所对应的数据匹配策略。
在一种可选的实施方式中,匹配策略确定模块中识别待测试功能模块与服务端进行通信的数据协议所对应的协议格式,可以被配置为:通过解析wiki页面获取待测试功能模块与服务端进行通信的数据协议所对应的协议格式。
在一种可选的实施方式中,测试功能提取模块710中基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块,可以被配置为:初始化待测试功能模块所依赖的基础测试模块;将基础测试模块定义为一个父类,创建继承于父类的功能测试模块,其中功能测试模块用以控制待测试功能模块的独立运行。
在一种可选的实施方式中,测试功能提取模块710中基础测试模块包含可视化界面的展示容器,功能测试模块通过可视化界面的交互触发按测试步骤完成测试。
上述客户端的功能测试装置700中各部分的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述客户端的功能测试方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述客户端的功能测试方法的电子设备。下面参照图8来描述根据本公开的这种示例性实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图8所示,电子设备800可以以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830和显示单元840。
存储单元820存储有程序代码,程序代码可以被处理单元810执行,使得处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元810可以执行图2中所示的步骤:从客户端提取待测试功能模块,并基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块;获取所述待测试功能模块与服务端进行通信的数据协议,并根据所述待测试功能模块与服务端进行通信的数据协议,确定测试数据;建立所述待测试功能模块所对应的测试步骤,启动所述功能测试模块将所述测试数据依据所述测试步骤输入所述待测试功能模块进行测试。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(ROM)823。
存储单元820还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。

Claims (7)

1.一种客户端的功能测试方法,其特征在于,应用于测试端,所述方法包括:
从客户端提取待测试功能模块,并基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块,将所提取的所述待测试功能模块添加至所创建的所述功能测试模块;
获取所述待测试功能模块与服务端进行通信的数据协议;
识别所述待测试功能模块与服务端进行通信的数据协议所对应的协议格式;
通过拆解所述协议格式,得到所述协议格式所包含的协议字段;
识别所述协议格式中各协议字段所对应的字段语义;
基于所述协议格式中各协议字段所对应的字段语义,从预设数据匹配策略中选取所述待测试功能模块所对应的数据匹配策略;
根据所述待测试功能模块所对应的数据匹配策略在测试数据库中进行匹配,得到所述测试数据;
建立所述待测试功能模块所对应的测试步骤,启动所述功能测试模块将所述测试数据依据所述测试步骤输入所述待测试功能模块进行测试;
其中,所述基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块,包括:
初始化所述待测试功能模块所依赖的基础测试模块;
将所述基础测试模块定义为一个父类,创建继承于所述父类的功能测试模块,其中所述功能测试模块用以控制所述待测试功能模块的独立运行。
2.根据权利要求1所述的方法,其特征在于,所述测试数据库通过以下方式进行创建:
通过解析所述客户端的日志文件,获取所述服务端下发至所述客户端的数据信息;
通过遍历所述服务端下发至所述客户端的数据信息中所包含的协议字段以及所述数据信息中所包含的协议字段所对应的数据值,获取所述协议字段以及所述协议所对应的数据值之间的映射关系;
根据所述协议字段以及所述协议所对应的数据值之间的映射关系,创建测试数据库。
3.根据权利要求1所述的方法,其特征在于,所述识别所述待测试功能模块与服务端进行通信的数据协议所对应的协议格式,包括:
通过解析wiki页面获取所述待测试功能模块与服务端进行通信的数据协议所对应的协议格式。
4.根据权利要求1所述的方法,其特征在于,所述基础测试模块包含可视化界面的展示容器,所述功能测试模块通过可视化界面的交互触发按所述测试步骤完成测试。
5.一种客户端的功能测试装置,其特征在于,应用于测试端,所述装置包括:
测试功能提取模块,用于从客户端提取待测试功能模块,并基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块,将所提取的所述待测试功能模块添加至所创建的所述功能测试模块;
测试数据确定模块,用于获取所述待测试功能模块与服务端进行通信的数据协议;识别所述待测试功能模块与服务端进行通信的数据协议所对应的协议格式;通过拆解所述协议格式,得到所述协议格式所包含的协议字段;识别所述协议格式中各协议字段所对应的字段语义;基于所述协议格式中各协议字段所对应的字段语义,从预设数据匹配策略中选取所述待测试功能模块所对应的数据匹配策略;根据所述待测试功能模块所对应的数据匹配策略在测试数据库中进行匹配,得到所述测试数据;
测试步骤执行模块,用于建立所述待测试功能模块所对应的测试步骤,启动所述功能测试模块将所述测试数据依据所述测试步骤输入所述待测试功能模块进行测试;
其中,所述基于所述待测试功能模块所依赖的基础测试模块创建所述待测试功能模块所对应的功能测试模块,包括:
初始化所述待测试功能模块所依赖的基础测试模块;
将所述基础测试模块定义为一个父类,创建继承于所述父类的功能测试模块,其中所述功能测试模块用以控制所述待测试功能模块的独立运行。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至4任一项所述的方法。
CN202210528714.4A 2022-05-16 2022-05-16 客户端的功能测试方法、装置、存储介质与电子设备 Active CN114928566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210528714.4A CN114928566B (zh) 2022-05-16 2022-05-16 客户端的功能测试方法、装置、存储介质与电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210528714.4A CN114928566B (zh) 2022-05-16 2022-05-16 客户端的功能测试方法、装置、存储介质与电子设备

Publications (2)

Publication Number Publication Date
CN114928566A CN114928566A (zh) 2022-08-19
CN114928566B true CN114928566B (zh) 2024-05-10

Family

ID=82809529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210528714.4A Active CN114928566B (zh) 2022-05-16 2022-05-16 客户端的功能测试方法、装置、存储介质与电子设备

Country Status (1)

Country Link
CN (1) CN114928566B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991466B (zh) * 2023-07-27 2024-04-16 深圳市慧聚数字软件运营有限公司 基于电子商务的客户端软件配置方法、装置及服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704296A (zh) * 2018-07-10 2020-01-17 阿里巴巴集团控股有限公司 一种调用方法及装置
CN111917603A (zh) * 2020-07-22 2020-11-10 广州虎牙信息科技有限公司 客户端测试方法、装置、计算机设备及存储介质
CN112631932A (zh) * 2020-12-30 2021-04-09 交控科技股份有限公司 基于接口的自动列车监控系统的子功能独立测试方法
CN112988588A (zh) * 2021-03-26 2021-06-18 广州博冠信息科技有限公司 客户端软件调试方法、装置、存储介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028579A1 (en) * 2001-08-06 2003-02-06 Kulkarni Vinay Vasant Process for component-based application development

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704296A (zh) * 2018-07-10 2020-01-17 阿里巴巴集团控股有限公司 一种调用方法及装置
CN111917603A (zh) * 2020-07-22 2020-11-10 广州虎牙信息科技有限公司 客户端测试方法、装置、计算机设备及存储介质
CN112631932A (zh) * 2020-12-30 2021-04-09 交控科技股份有限公司 基于接口的自动列车监控系统的子功能独立测试方法
CN112988588A (zh) * 2021-03-26 2021-06-18 广州博冠信息科技有限公司 客户端软件调试方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN114928566A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
CN109885311B (zh) 一种应用程序的生成方法及设备
CN109918055B (zh) 一种应用程序的生成方法及设备
CN111241111B (zh) 数据查询方法及装置、数据对比方法及装置、介质及设备
WO2023142451A1 (zh) 工作流生成方法、装置、电子设备
CN113505082B (zh) 应用程序测试方法及装置
CN114928566B (zh) 客户端的功能测试方法、装置、存储介质与电子设备
CN117493158A (zh) 测试方法及其装置、电子设备、存储介质
CN116360735A (zh) 一种表单生成方法、装置、设备和介质
WO2009033424A1 (fr) Procédé et système d'obtention d'information de commandes d'utilisateur et dispositif pour enregistrer les commandes d'utilisateur
CN116737535A (zh) 接口测试方法、装置、计算机设备和存储介质
US11182272B2 (en) Application state monitoring
CN113254315B (zh) 埋点信息的上报方法、埋点方法、装置、介质、电子设备
CN113179183B (zh) 服务开关状态控制装置及方法
CN114090514A (zh) 分布式系统的日志检索方法及装置
CN110327626B (zh) 虚拟服务器创建方法及装置
CN114218166A (zh) 数据处理方法、装置、电子设备及可读存储介质
CN113190462A (zh) 一种动态化的数据调试方法和装置及设备
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN113760703A (zh) 一种Mock数据的生成方法、装置、设备及存储介质
CN113791819A (zh) 接口文档生成方法和装置、存储介质、电子设备
CN115242688B (zh) 一种网络故障检测方法、装置以及介质
CN113706209B (zh) 运营数据处理方法及相关装置
WO2023230797A1 (zh) 一种跨系统测试方法及装置
CN113900895B (zh) 信息处理方法、信息处理装置、存储介质与电子设备
CN108255534A (zh) Pc端应用处理方法、处理装置、电子设备和存储介质

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