CN113900959A - 软件测试方法、装置、设备及存储介质 - Google Patents
软件测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113900959A CN113900959A CN202111367324.5A CN202111367324A CN113900959A CN 113900959 A CN113900959 A CN 113900959A CN 202111367324 A CN202111367324 A CN 202111367324A CN 113900959 A CN113900959 A CN 113900959A
- Authority
- CN
- China
- Prior art keywords
- request data
- execution code
- client
- target
- code structure
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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
技术领域
本申请计算机技术领域,尤其涉及一种软件测试方法、装置、设备及存储介质。
背景技术
随着智能化时代的到来,对应用软件更新迭代的速度要求与日俱增。在对客户端的功能进行更新时,需要对用于实现该功能的执行代码结构进行更新,并对更新后的执行代码结构进行测试,当测试结果符合预期时,才基于该更新后的执行代码结构更新客户端,以实现对客户端的更新。基于此,如何提高软件测试的测试效率以缩短客户端迭代更新的时间是当前的研究热点。
发明内容
本申请实施例提供一种软件测试方法、装置、设备及存储介质,可提高测试效率。
一方面,本申请实施例提供了一种软件测试方法,包括:
获取客户端在预设时间段内所接收到的多条请求数据,以及所述客户端对所述多条请求数据的处理情况;
基于所述处理情况,从所述多条请求数据中确定出所述客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;
获取测试任务,所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试;
从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果。
一方面,本申请实施例提供了一种软件测试装置,其特征在于,所述软件测试装置包括获取单元、处理单元以及输出单元,所述获取单元、所述处理单元以及所述输出单元用于执行上述软件测试方法。
一方面,本申请实施例提供了一种软件测试设备,其特征在于,所述软件测试设备包括输入接口和输出接口,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行上述软件测试方法。
一方面,本申请实施例提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行上述软件测试方法。
一方面,本申请实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;软件测试设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,所述计算机指令被处理器执行时,用于执行上述软件测试方法。
本申请实施例中,软件测试设备在获取到客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况之后,可以基于处理情况,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;软件测试设备在获取到针对该一个或多个执行代码结构中发生更改的目标执行代码结构的测试任务时,可以从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果。在当执行代码结构中的任意执行代码结构发生更改时,可以基于预先建立的执行代码结构与请求数据之间的对应关系,从请求数据集中确定出发生更改的执行代码结构所对应的请求数据,作为目标请求数据,从而基于目标请求数据对发生更改的执行代码结构进行测试,可以避免对从客户端中获取到的多条请求数据的重复处理,可以实现对用于测试的请求数据的快速定位,提高测试效率并节约处理资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种软件测试***的结构示意图;
图2是本申请实施例提供的一种软件测试方法的流程示意图;
图3是本申请实施例提供的一种功能点、执行代码结构以及请求数据之间的对应关系的示意图;
图4是本申请实施例提供的一种软件测试方法的实现方式的示意图;
图5是本申请实施例提供的另一种软件测试方法的流程示意图;
图6是本申请实施例提供的另一种软件测试方法的实现方式的示意图;
图7是本申请实施例提供的一种软件测试装置的结构示意图;
图8是本申请实施例提供的一种软件测试设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高软件测试的测试效率,本申请实施例提供了一种软件测试方案,可以在客户端的执行代码结构中的任意执行代码结构发生更改时,基于预先建立的执行代码结构与请求数据之间的对应关系,确定出发生更改的执行代码结构所对应的请求数据,作为目标请求数据,从而基于目标请求数据对发生更改的执行代码结构进行测试,得到测试结果,其中,请求数据是客户端在预设时间段内所接收到的。
基于上述软件测试方案,本申请实施例提供了一种软件测试***。参见图1,为本申请实施例提供的一种软件测试***的结构示意图。图1所示的软件测试***可以包括客户端101以及软件测试设备102。其中,客户端101可运行在终端设备中,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能车载以及智能可穿戴设备中的任意一种或多种。软件测试设备102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能车载以及智能可穿戴设备等,可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。客户端101以及软件测试设备102之间可以通过有线或无线通信方式进行直接或间接地通信连接,本申请在此不做限制。
在一个实施例中,客户端可以是能提供任意功能***的客户端,例如,可以是能提供电子邮件服务的客户端,也可以是游戏客户端、音乐客户端、视频客户端、电子购物客户端等。进一步的,客户端对应包括一个或多个执行代码结构,客户端的一个或多个执行代码结构用于实现客户端所提供的功能,也就是说,通过运行客户端的一个或多个执行代码结构,可以实现客户端所提供的功能。其中,客户端的一个或多个执行代码结构可以为代码文件、类、方法、代码块、代码分支等。
在一个实施例中,客户端在终端设备中运行时所调用的客户端的一个或多个执行代码结构为存储于终端设备的本地存储中的;进一步的,客户端的一个或多个执行代码结构还可以存储于代码库中,便于技术人员可以对代码库中存储的一个或多个执行代码结构进行更改,而不会对终端设备中存储的执行代码结构进行更改,进而不会实时影响对客户端的使用。进一步的,技术人员更改了代码库中存储的某一执行代码结构之后,需要对代码库中更改后的执行代码结构进行测试,当测试结果符合预期时,则可以基于代码库中更改后的执行代码结构更新客户端。
在一个实施例中,客户端所提供的一个或多个功能可以基于客户端的一个或多个功能点进行描述,客户端的一个或多个功能点中每个功能点中包括用于描述客户端的一个功能的功能描述信息以及用于描述对客户端的一个功能进行测试的测试规则。客户端的一个或多个执行代码结构用于实现客户端的一个或多个功能点所描述的功能,每个功能点所描述的功能由客户端的一个或多个执行代码结构实现;也就是说,客户端的一个功能点可以对应一个或多个执行代码结构。其中,客户端的每个功能点中包括用于描述客户端的一个功能的功能描述信息以及用于描述对客户端的一个功能进行测试的测试规则是技术人员预先进行设定的;可选的,技术人员可以将设定好的客户端的一个或多个功能点存储于功能点仓库中,以使技术人员可以在任意时刻对存储于功能点仓库中的功能点进行修改,例如对功能点中所包括的功能描述信息以及测试规则进行修改。
在一个实施例中,由于客户端的一个或多个执行代码结构用于实现客户端的一个或多个功能点所描述的功能,每个功能点所描述的功能由客户端的一个或多个执行代码结构实现;也就是说,客户端的一个功能点可以对应一个或多个执行代码结构;那么,可以预先在软件测试设备的存储器中将客户端的功能点和和执行代码结构之间的对应关系进行存储,以使可以基于功能点和执行代码结构之间的对应关系实现快速查找。可选的,可以将客户端的每个功能点和每个执行代码结构之间的对应关系通过每个功能点的功能点标识以及用于实现每个功能点所描述功能的执行代码结构的结构标识进行存储。
在一个实施例中,客户端101可以发送预设时间段内所接收到的多条请求数据至软件测试设备102中,软件测试设备102接收到客户端101发送的多条请求数据之后,可以建立客户端的执行代码结构与请求数据之间的对应关系;在存储于代码库中的客户端的执行代码结构中的任意执行代码结构发生更改时,软件测试设备102可以基于预先建立的执行代码结构与请求数据之间的对应关系,确定出发生更改的执行代码结构所对应的请求数据,作为目标请求数据,从而基于目标请求数据对发生更改的执行代码结构进行测试,得到测试结果。当测试结果符合预期时,软件测试设备102可以基于更改后的执行代码结构对客户端101进行更新。
基于上述软件测试方案以及软件测试***,本申请实施例提供了一种软件测试方法。参见图2,为本申请实施例提供的一种软件测试方法的流程示意图。图2所示的软件测试方法可由软件测试设备执行。图2所示的软件测试方法可包括如下步骤:
S201,获取客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况。
在一个实施例中,客户端可以是能提供任意功能***的客户端。进一步的,客户端对应包括一个或多个执行代码结构,客户端的一个或多个执行代码结构用于实现客户端所提供的功能。其中,客户端的一个或多个执行代码结构可以为代码文件、类、方法、代码块、代码分支等。
在一个实施例中,客户端在终端设备中运行时所调用的客户端的一个或多个执行代码结构为存储于终端设备的本地存储中的;进一步的,客户端的一个或多个执行代码结构还可以存储于代码库中,便于技术人员可以对代码库中存储的一个或多个执行代码结构进行更改,而不会对终端设备中存储的执行代码结构进行更改,进而不会实时影响对客户端的使用。
在一个实施例中,客户端在预设时间段内所接收到的多条请求数据指的是:客户端的用户在预设时间段内请求客户端所提供的功能时,所产生的请求数据。进一步的,客户端可以对用户产生的请求数据进行响应并处理,得到该请求数据对应的处理结果。举例来说,若客户端为电子购物客户端,若用户在预设时间段内在电子购物客户端所提供的商品搜索页面中进行了搜索操作,例如,该用户对“台灯”进行了搜索,则电子购物客户端可以对该用户的此次搜索操作进行响应,查询符合“台灯”这一搜索条件的商品,并在该电子购物客户端所提供的搜索结果页面中对此次搜索得到的商品进行显示,例如,若搜索得到的商品为台灯1、台灯2、台灯3以及台灯4;则该用户用于请求电子购物客户端所提供的搜索功能的请求数据“台灯”,即为一条请求数据,电子购物客户端对此次搜索进行响应所得到的台灯1、台灯2、台灯3以及台灯4即为该请求数据“台灯”对应的处理结果。
在一个实施例中,客户端对多条请求数据的处理情况中包括:多条请求数据中每条请求数据对应的处理结果以及对每条请求数据进行处理过的执行代码结构的信息,例如可以为对每条请求数据进行处理过的执行代码结构的结构标识。举例来说,若客户端对应包括执行代码结构1、执行代码结构2、执行代码结构3、执行代码结构4、执行代码结构5以及执行代码结构6,若客户端通过运行执行代码结构1、执行代码结构2以及执行代码结构3共同实现对请求数据1的处理,则对请求数据1进行处理的执行代码结构为执行代码结构1、执行代码结构2以及执行代码结构3。值得注意的是,软件测试设备所获取的客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况是基于用户授权之后才获取的;也就是说,若一个用户未向软件测试设备开放获取在使用客户端时所产生的请求数据的授权,那么软件测试设备将不会对该用户在使用客户端时所产生的请求数据以及客户端对请求数据的处理情况进行获取,也即客户端不会向软件测试设备发送该客户端在预设时间段内所接收到的该用户的请求数据和该客户端对该用户的请求数据的处理情况。可选的,软件测试设备在获取客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况之前,可以向客户端发送关于获取用户所产生的请求数据,以及客户端对多条请求数据的处理情况的授权协议,当客户端的用户同意该授权协议时,从客户端获取请求数据以及客户端对请求数据的处理情况。
在一个实施例中,预设时间段可以是根据具体需求进行设定的。可选的,软件测试设备可以周期性获取客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况,以对获取的请求数据以及处理情况进行更新,使得后续可以基于更新后的请求数据进行测试。例如,可以设定预设时间段为14:00至16:00,可以将周期时长设置为2小时,周期间隔设置为24小时,则软件测试设备可以获取客户端每天14:00至16:00所接收到的多条请求数据,以及客户端对多条请求数据的处理情况。本申请实施例不对预设时间段的时长、周期时长以及周期间隔进行限定。
S202,基于处理情况,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集。
在一个实施例中,软件测试设备基于处理情况,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,可以包括:基于处理情况,从多条请求数据中确定出经由每个执行代码结构处理过的请求数据;将确定出的经由每个执行代码结构处理过的请求数据,作为每个执行代码结构对应的请求数据。由于客户端对多条请求数据的处理情况中包括对每条请求数据进行处理过的执行代码结构的信息,所以软件测试设备可以根据获取到的处理情况中包括的对每条请求数据进行处理的执行代码结构的信息,从多条请求数据中确定出经由每个执行代码结构处理过的请求数据;进而将确定出的经由每个执行代码结构处理过的请求数据,作为每个执行代码结构对应的请求数据。进一步的,软件测试设备在确定出经由每个执行代码结构处理过的请求数据之后,可以对确定出的经由每个执行代码结构处理过的请求数据进行筛选,去除对任意执行代码结构无效的请求数据,以及去除对任意执行代码结构重复起效的请求数据。
在一个实施例中,软件处理设备可以获取客户端在预设时间段内所接收到的多条请求数据,并在获取了多条请求数据之后,调用在代码库中存储的客户端的一个或多个执行代码结构对获取到的多条用户数据进行处理,得到对多条请求数据的处理情况,进而基于该处理情况,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集。
在一个实施例中,软件测试设备从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据之后,可以对执行代码结构以及请求数据之间的对应关系进行存储。可选的,可以对每个执行代码结构以及每个执行代码结构对应的请求数据进行对应存储,也可以基于每个执行代码结构的结构标识以及每个执行代码结构对应的请求数据进行对应存储。
S203,获取测试任务。
在一个实施例中,测试任务用于指示:对一个或多个执行代码结构中的目标执行代码结构的测试;且目标执行代码结构在获取处理情况之后发生更改。其中,目标执行代码结构为存储于代码库中的目标执行代码结构,即目标执行代码结构在获取处理情况之后发生更改是指存储于代码库中的目标执行代码结构发生更改,并非在终端设备中存储的执行代码结构的更改。
在一个实施例中,软件测试设备可以对代码库中存储的一个或多个执行代码结构进行检测,若检测到代码库中包括的一个或多个执行代码结构中的任意执行代码结构在软件检测设备获取处理情况之后发生更改,则将该任意执行代码结构作为目标执行代码结构,并生成用于指示对该目标执行代码进行测试的测试任务。
S204,从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果。
在一个实施例中,当测试任务用于指示对一个或多个执行代码结构中的目标执行代码结构的测试时,软件测试设备从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果,可以包括:从请求数据集中,将目标执行代码结构对应的请求数据,确定为目标请求数据;基于目标请求数据,以及用于描述目标执行代码结构所实现功能的功能点中所包括的测试规则,生成测试脚本;运行测试脚本,对更改后的目标执行代码结构进行测试,得到测试结果。具体实现中,用于描述目标执行代码结构所实现功能的功能点可以是基于预先在软件测试设备的存储器中进行存储的客户端的功能点和和执行代码结构之间的对应关系进行确定的。可选的,用于描述目标执行代码结构所实现功能的功能点中所包括的测试规则可以在软件测试设备获取处理情况之后被技术人员更改,也可以没有被更改。
举例来说,若功能点仓库中存储的客户端的功能点、代码库中存储的执行代码结构以及请求数据之间的对应关系可以如图3所示,功能点仓库中存储的功能点分别为功能点A、功能点B以及功能点C;功能点A所描述的功能由执行代码结构1与执行代码结构2共同实现,功能点B所描述的功能由执行代码结构3、执行代码结构4以及执行代码结构5共同实现,功能点C所描述的功能由执行代码结构6实现;执行代码结构1对应的请求数据分别为请求数据1、请求数据2以及请求数据3,执行代码结构2对应的请求数据分别为请求数据4、请求数据5以及请求数据6,执行代码结构3对应的请求数据分别为请求数据7以及请求数据8,执行代码结构4对应的请求数据分别为请求数据9以及请求数据10,执行代码结构5对应的请求数据分别为请求数据11、请求数据12以及请求数据13,执行代码结构6对应的请求数据分别为请求数据14以及请求数据15。若执行代码结构1发生了更改,则目标执行代码结构为执行代码结构1;则目标请求数据为执行代码结构1对应的请求数据,包括请求数据1、请求数据2以及请求数据3,测试脚本为基于目标请求数据以及功能点A中所包括的测试规则生成的。
在一个实施例中,当测试任务用于指示对一个或多个执行代码结构中的目标执行代码结构的测试时,若测试结果指示测试任务失败,则输出第一提示信息,第一提示信息用于指示更改后的目标执行代码结构存在缺陷;若测试结果指示测试任务成功,则输出第二提示信息,并基于更改后的目标执行代码结构更新客户端;第二提示信息用于指示更改后的目标执行代码结构不存在缺陷。其中,测试任务失败是指测试结果不符合预期,测试任务成功是指测试结果符合预期。可选的,第一提示信息以及第二提示信息可以是任意格式的提示信息,例如可以是文本格式或音频格式等,本申请实施例不对第一提示信息以及第二提示信息的格式进行限定,也不对第一提示信息以及第二提示信息的具体内容进行限定。其中,当测试结果指示测试任务失败时,软件测试设备可以输出用于指示更改后的目标执行代码结构存在缺陷的第一提示信息,能实现对有缺陷的更改后的目标执行代码结构的快速定位,使得技术人员可以对该有缺陷的更改后的目标执行代码进行修改,节约了技术人员对有缺陷代码的查找时间,可提高软件的测试效率;进一步的,还可以基于存储的功能点与执行代码结构之间的对应关系,对用于描述目标执行代码结构所实现功能的功能点进行快速定位,使得技术人员可以对用于描述该目标执行代码结构所实现功能的功能点进行检查,节约了技术人员的查找时间,可提高软件的测试效率。
在一个实施例中,当测试结果指示测试任务成功时,软件测试设备可以基于更改后的目标执行代码结构更新客户端,对更新后的客户端同样适用本申请实施例提供的软件测试方法,进而可以基于更新后的客户端在预设时间段内所接收到的多条请求数据,以及所述更新后的客户端对多条请求数据的处理情况进行测试,实现了流程闭环,可以实现对客户端的迭代更新。
在一个实施例中,软件测试设备可以包括请求数据获取模块、代码标定模块、功能验证模块以及软件测试模块,软件测试设备在执行本申请实施例提供的软件测试方法相关过程时,可以通过调用上述模块来执行。如图4所示,为本申请实施例提供的一种软件测试方法的实现方式的示意图,软件测试设备可以调用请求数据获取模块来获取客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况;调用代码标定模块基于处理情况以及代码库中存储的一个或多个执行代码结构,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;调用功能验证模块对代码库中存储的一个或多个执行代码结构进行检测,若检测到代码库中包括的一个或多个执行代码结构中的任意执行代码结构在请求数据获取模块获取处理情况之后发生更改,则将该任意执行代码结构作为目标执行代码结构,并生成用于指示对该目标执行代码进行测试的测试任务;调用功能验证模块从请求数据集中确定出与测试任务相匹配的目标请求数据;调用软件测试模块基于目标请求数据执行测试任务,得到测试结果;当测试结果指示测试任务成功时,则基于更改后的目标执行代码结构更新客户端,并输出用于指示更改后的目标执行代码结构不存在缺陷的第二提示信息,以使可以通过调用请求数据获取模块获取更新后的客户端在预设时间段内所接收到的请求数据,实现对客户端的迭代更新;当测试结果指示测试任务失败时,则调用功能验证模块,对更改后的目标执行代码结构进行定位,并输出用于指示更改后的目标执行代码结构存在缺陷的第一提示信息。
本申请实施例中,软件测试设备在获取到客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况之后,可以基于处理情况,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;软件测试设备在获取到针对该一个或多个执行代码结构中发生更改的目标执行代码结构的测试任务时,可以从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果。在当执行代码结构中的任意执行代码结构发生更改时,可以基于预先建立的执行代码结构与请求数据之间的对应关系,从请求数据集中确定出发生更改的执行代码结构所对应的请求数据,作为目标请求数据,从而基于目标请求数据对发生更改的执行代码结构进行测试,可以避免对从客户端中获取到的多条请求数据的重复处理,可以实现对用于测试的请求数据的快速定位,提高测试效率并节约处理资源。
基于上述软件测试方案以及软件测试***,本申请实施例提供了一种软件测试方法。参见图5,为本申请实施例提供的另一种软件测试方法的流程示意图。图5所示的软件测试方法可由软件测试设备执行。图5所示的软件测试方法可包括如下步骤:
S501,获取客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况。
S502,基于处理情况,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集。
其中,步骤S501至步骤S502与上述步骤S201至步骤S202一致,在此不再赘述。
S503,从请求数据集中确定出客户端的一个或多个功能点中每个功能点对应的请求数据。
其中,客户端的每个功能点中包括用于描述客户端的一个功能的功能描述信息以及用于描述对客户端的一个功能进行测试的测试规则;每个功能点所描述的功能由客户端的一个或多个执行代码结构实现;客户端的功能点可存储于功能点仓库中。
具体实现中,软件测试设备从请求数据集中确定出客户端的一个或多个功能点中每个功能点对应的请求数据,可以包括:确定用于实现每个功能点所描述功能的执行代码结构;将确定的执行代码结构所对应的请求数据,作为每个功能点对应的请求数据。具体实现中,软件测试设备可以基于存储的功能点和执行代码结构之间的对应关系,确定用于实现每个功能点所描述功能的执行代码结构;进而将确定的执行代码结构所对应的请求数据,作为每个功能点对应的请求数据。举例来说,若功能点A所描述功能由执行代码结构1和执行代码结构2共同实现,由步骤S502确定出的执行代码结构1对应的请求数据分别为请求数据1、请求数据2以及请求数据3,执行代码结构2对应的请求数据分别为请求数据4、请求数据5以及请求数据6;那么,功能点A对应的请求数据分别为请求数据1、请求数据2、请求数据3、请求数据4、请求数据5以及请求数据6。
S504,获取测试任务。
在一个实施例中,测试任务可以用于表示对一个或多个执行代码结构中的目标执行代码结构的测试,且目标执行代码结构在获取处理情况之后发生更改;那么软件测试设备获取测试任务以及从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果的相关过程,与上述步骤S203至步骤S204一致,在此不再赘述。
在一个实施例中,测试任务可以用于指示:对用于实现一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试。进一步的,目标功能点中所包括的内容可以在软件测试设备获取处理情况之后发生更改,例如目标功能点中所包括的功能描述信息以及测试规则可以被技术人员进行更改。
在一个实施例中,软件测试设备可以对功能点仓库中存储的一个或多个功能点进行检测,若检测到功能点仓库中包括的一个或多个功能点中的任意功能点在软件检测设备获取处理情况之后发生更改,则将该任意功能点作为目标功能点,并生成用于指示对用于实现该目标功能点所描述功能的执行代码结构进行测试的测试任务。
S505,从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果。
在一个实施例中,当测试任务用于指示对用于实现一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试时,软件测试设备从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果,可以包括:从请求数据集中,将目标功能点对应的请求数据,确定为目标请求数据;基于目标请求数据,以及目标功能点中当前所包括的测试规则,生成测试脚本;运行测试脚本,对用于实现目标功能点所描述功能的执行代码结构进行测试,得到测试结果。其中,目标功能点中当前所包括的测试规则指的是获取测试任务时,目标功能点中所包括的测试规则;若目标功能点中当前所包括的测试规则在软件测试设备获取处理情况之后被更改,则目标功能点中当前所包括的测试规则为更改后的测试规则。具体实现中,用于实现目标功能点所描述功能的执行代码结构可以是基于预先在软件测试设备的存储器中进行存储的客户端的功能点和和执行代码结构之间的对应关系进行确定的。可选的,用于实现目标功能点所描述功能的执行代码结构可以在软件测试设备获取处理情况之后被技术人员更改,也可以没有被更改。
举例来说,若功能点仓库中存储的客户端的功能点、代码库中存储的执行代码结构以及请求数据之间的对应关系为如图3所示,功能点仓库中存储的功能点分别为功能点A、功能点B以及功能点C;功能点A所描述的功能由执行代码结构1与执行代码结构2共同实现,功能点B所描述的功能由执行代码结构3、执行代码结构4以及执行代码结构5共同实现,功能点C所描述的功能由执行代码结构6实现;执行代码结构1对应的请求数据分别为请求数据1、请求数据2以及请求数据3,执行代码结构2对应的请求数据分别为请求数据4、请求数据5以及请求数据6,执行代码结构3对应的请求数据分别为请求数据7以及请求数据8,执行代码结构4对应的请求数据分别为请求数据9以及请求数据10,执行代码结构5对应的请求数据分别为请求数据11、请求数据12以及请求数据13,执行代码结构6对应的请求数据分别为请求数据14以及请求数据15。若功能点A中的测试规则发生了更改,则目标功能点为功能点A;则目标请求数据为功能点A对应的请求数据,包括请求数据1、请求数据2以及请求数据3、请求数据4、请求数据5以及请求数据6,测试脚本为基于目标请求数据以及功能点A中所包括的更改后的测试规则生成的;并且基于测试脚本对执行代码结构1和执行代码结构2进行测试。
在一个实施例中,软件测试设备在当测试任务用于指示对用于实现一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试时,若测试结果指示测试任务失败,则输出第三提示信息,第三提示信息用于指示基于目标功能点当前所包括的测试规则对用于实现目标功能点所描述功能的执行代码结构进行测试时的测试结果不符合预期;若测试结果指示测试任务成功,则输出第四提示信息,第四提示信息用于指示基于目标功能点当前所包括的测试规则对用于实现目标功能点所描述功能的执行代码结构进行测试时的测试结果符合预期;进一步的,当测试结果指示测试任务成功,且用于实现目标功能点所描述功能的执行代码结构在获取处理情况之后发生更改,则基于用于实现目标功能点所描述功能的更改后的执行代码结构更新客户端。其中,测试任务失败是指测试结果不符合预期,测试任务成功是指测试结果符合预期。可选的,第三提示信息以及第四提示信息可以是任意格式的提示信息,例如可以是文本格式或音频格式等,本申请实施例不对第三提示信息以及第四提示信息的格式进行限定,也不对第三提示信息以及第四提示信息的具体内容进行限定。其中,当测试结果指示测试任务失败时,软件测试设备可以输出第三提示信息,用于指示基于目标功能点当前所包括的测试规则对用于实现目标功能点所描述功能的执行代码结构进行测试时的测试结果不符合预期,能实现对不符合预期的目标功能点的快速定位,使得技术人员可以对该不符合预期的目标功能点进行修改,节约了技术人员对不符合预期的目标功能点的查找时间,可提高软件的测试效率;进一步的,还可以基于存储的功能点与执行代码结构之间的对应关系,对用于实现该目标功能点所描述功能的执行代码结构进行快速定位,使得技术人员可以对用于实现该目标功能点所描述功能的执行代码结构进行检查,节约了技术人员的查找时间,可提高软件的测试效率。
在一个实施例中,当测试结果指示测试任务成功,且用于实现目标功能点所描述功能的执行代码结构在获取处理情况之后发生更改时,软件测试设备可以基于更改后的执行代码结构更新客户端,对更新后的客户端同样适用本申请实施例提供的软件测试方法,进而可以基于更新后的客户端在预设时间段内所接收到的多条请求数据,以及所述更新后的客户端对多条请求数据的处理情况进行测试,实现了流程闭环,可以实现对客户端的迭代更新。
在一个实施例中,软件测试设备可以包括请求数据获取模块、代码标定模块、功能验证模块以及软件测试模块,还可以包括功能点标定模块以及可配置模型,可配置模型中存储有功能点和执行代码结构之间的对应关系(即可配置模型中存储有各个功能点以及用于实现各个功能点所描述功能的执行代码结构),软件测试设备在执行本申请实施例提供的软件测试方法相关过程时,可以通过调用上述模块来执行。如图6所示,为本申请实施例提供的另一种软件测试方法的实现方式的示意图,软件测试设备可以调用请求数据获取模块来获取客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况;调用代码标定模块基于处理情况以及代码库中存储的一个或多个执行代码结构,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;调用功能点标定模块,基于功能点仓库中存储的一个或多个功能点以及从可配置模型中获取到的功能点与执行代码结构之间的对应关系,从请求数据集中确定出客户端的一个或多个功能点中每个功能点对应的请求数据;调用功能验证模块对代码库中存储的一个或多个执行代码结构进行检测以及对功能点仓库中存储的一个或多个功能点进行检查,若检测到代码库中包括的一个或多个执行代码结构中的任意执行代码结构在请求数据获取模块获取处理情况之后发生更改,则将该任意执行代码结构作为目标执行代码结构,并生成用于指示对该目标执行代码进行测试的测试任务,以及若检测到功能点仓库中包括的一个或多个功能点中的任意功能点在请求数据获取模块获取处理情况之后发生更改,则将该任意功能点作为目标功能点,并生成用于指示对用于实现该目标功能点所描述功能的执行代码结构进行测试的测试任务;调用功能验证模块从请求数据集中确定出与测试任务相匹配的目标请求数据;调用软件测试模块基于目标请求数据执行测试任务,得到测试结果。
若测试任务为用于指示对目标执行代码进行测试的测试任务,那么,当测试结果指示测试任务成功时,则基于更改后的目标执行代码结构更新客户端,并输出用于指示更改后的目标执行代码结构不存在缺陷的第二提示信息,以使可以通过调用请求数据获取模块获取更新后的客户端在预设时间段内所接收到的请求数据,实现对客户端的迭代更新;当测试结果指示测试任务失败时,则调用功能验证模块,对更改后的目标执行代码结构进行定位,并输出用于指示更改后的目标执行代码结构存在缺陷的第一提示信息。若测试任务为用于指示对用于实现目标功能点所描述功能的执行代码结构进行测试的测试任务,那么,当测试结果指示测试任务成功时,则输出第四提示信息,第四提示信息用于指示基于目标功能点当前所包括的测试规则对该执行代码结构进行测试时的测试结果符合预期;进一步的,若该执行代码结构在请求数据获取模块获取处理情况之后发生更改,则基于更改后的执行代码结构更新客户端,以使可以通过调用请求数据获取模块获取更新后的客户端在预设时间段内所接收到的请求数据,实现对客户端的迭代更新;当测试结果指示测试任务失败时,则调用功能验证模块,对目标功能点以及更改后的执行代码结构进行定位,并输出第三提示信息,第三提示信息用于指示基于目标功能点当前所包括的测试规则对该更改后的执行代码结构进行测试时的测试结果不符合预期。
本申请实施例中,软件测试设备在获取到客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况之后,可以基于处理情况,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;以及从请求数据集中确定出客户端的一个或多个功能点中每个功能点对应的请求数据;软件测试设备在获取到针对该一个或多个执行代码结构中发生更改的目标执行代码结构的测试任务,或者在获取到针对该一个或多个功能点中发生更改的目标功能点的测试任务时,可以从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果。在当执行代码结构中的任意执行代码结构发生更改时,可以基于预先建立的执行代码结构与请求数据之间的对应关系,从请求数据集中确定出发生更改的执行代码结构所对应的请求数据,作为目标请求数据,从而基于目标请求数据对发生更改的执行代码结构进行测试;在当功能点中的任意功能点发生更改时,可以基于预先建立的功能点与请求数据之间的对应关系,从请求数据集中确定出发生更改的功能点所对应的请求数据,作为目标请求数据,从而基于目标请求数据对用于实现该发生更改的功能点所描述功能的执行代码结构进行测试;可以避免对从客户端中获取到的多条请求数据的重复处理,可以实现对用于测试的请求数据的快速定位,提高测试效率并节约处理资源。
基于上述软件测试***以及软件测试方法实施例,本申请实施例提供了一种软件测试装置。参见图7,为本申请实施例提供的一种软件测试装置的结构示意图,该软件测试装置可包括获取单元701、处理单元702以及输出单元703。图7所示的软件测试装置可运行如下单元:
获取单元701,用于获取客户端在预设时间段内所接收到的多条请求数据,以及所述客户端对所述多条请求数据的处理情况;
处理单元702,用于基于所述处理情况,从所述多条请求数据中确定出所述客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;
所述获取单元701,还用于获取测试任务,所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试;
所述处理单元702,还用于从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果。
在一个实施例中,所述处理单元702基于所述处理情况,从所述多条请求数据中确定出所述客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据时,具体执行如下操作:
基于所述处理情况,从所述多条请求数据中确定出经由所述每个执行代码结构处理过的请求数据;
将确定出的经由所述每个执行代码结构处理过的请求数据,作为所述每个执行代码结构对应的请求数据。
在一个实施例中,所述客户端的一个或多个执行代码结构用于实现所述客户端的一个或多个功能点所描述的功能;所述客户端的一个或多个功能点中每个功能点中包括用于描述所述客户端的一个功能的功能描述信息以及用于描述对所述客户端的一个功能进行测试的测试规则;所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试,且所述目标执行代码结构在获取所述处理情况之后发生更改;
所述处理单元702从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果时,具体执行如下操作:
从所述请求数据集中,将所述目标执行代码结构对应的请求数据,确定为所述目标请求数据;
基于所述目标请求数据,以及用于描述所述目标执行代码结构所实现功能的功能点中所包括的测试规则,生成测试脚本;
运行所述测试脚本,对更改后的目标执行代码结构进行测试,得到所述测试结果。
在一个实施例中,所述处理单元702,还用于从所述请求数据集中确定出所述客户端的一个或多个功能点中每个功能点对应的请求数据;所述客户端的每个功能点中包括用于描述所述客户端的一个功能的功能描述信息以及用于描述对所述客户端的一个功能进行测试的测试规则;所述每个功能点所描述的功能由所述客户端的一个或多个执行代码结构实现;
所述获取单元701,还用于获取测试任务,所述测试任务用于指示:对用于实现所述一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试。
在一个实施例中,所述处理单元702从所述请求数据集中确定出所述客户端的一个或多个功能点中每个功能点对应的请求数据时,具体执行如下操作:
确定用于实现所述每个功能点所描述功能的执行代码结构;
将确定的执行代码结构所对应的请求数据,作为所述每个功能点对应的请求数据。
在一个实施例中,所述测试任务用于指示:对用于实现所述一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试;
所述处理单元702从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果时,具体执行如下操作:
从所述请求数据集中,将所述目标功能点对应的请求数据,确定为所述目标请求数据;
基于所述目标请求数据,以及所述目标功能点中当前所包括的测试规则,生成测试脚本;
运行所述测试脚本,对用于实现所述目标功能点所描述功能的执行代码结构进行测试,得到所述测试结果。
在一个实施例中,所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试,且所述目标执行代码结构在获取所述处理情况之后发生更改;
若所述测试结果指示所述测试任务失败,则所述输出单元703用于输出第一提示信息,所述第一提示信息用于指示所述更改后的目标执行代码结构存在缺陷;
若所述测试结果指示所述测试任务成功,则所述输出单元703还用于输出第二提示信息,所述处理单元702还用于基于所述更改后的目标执行代码结构更新所述客户端;所述第二提示信息用于指示所述更改后的目标执行代码结构不存在缺陷。
根据本申请的一个实施例,图2以及图5所示的软件测试方法所涉及各个步骤可以是由图7所示的软件测试装置中的各个单元来执行的。例如,图2所示的步骤S201以及步骤S203可由图7所示的软件测试装置中的获取单元701来执行,图2所示的步骤S202以及步骤S204可由图7所示的软件测试装置中的处理单元702来执行。又如,图5所示的步骤S501以及步骤S504可由图7所示的软件测试装置中的获取单元701来执行,图5所示的步骤S502、步骤S503以及步骤S505可由图7所示的软件测试装置中的处理单元702来执行。
根据本申请的另一个实施例,图7所示的软件测试装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于逻辑功能划分的软件测试装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2以及图5所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的软件测试装置,以及来实现本申请实施例软件测试方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,处理单元702在获取单元701获取到客户端在预设时间段内所接收到的多条请求数据,以及客户端对多条请求数据的处理情况之后,可以基于处理情况,从多条请求数据中确定出客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;处理单元702在获取单元701获取到针对该一个或多个执行代码结构中发生更改的目标执行代码结构的测试任务时,可以从请求数据集中确定出与测试任务相匹配的目标请求数据,并基于目标请求数据执行测试任务,得到测试结果。在当执行代码结构中的任意执行代码结构发生更改时,可以基于预先建立的执行代码结构与请求数据之间的对应关系,从请求数据集中确定出发生更改的执行代码结构所对应的请求数据,作为目标请求数据,从而基于目标请求数据对发生更改的执行代码结构进行测试,可以避免对从客户端中获取到的多条请求数据的重复处理,可以实现对用于测试的请求数据的快速定位,提高测试效率并节约处理资源。
基于上述的方法实施例以及装置实施例,本申请还提供了一种软件测试设备。参见图8,为本申请实施例提供的一种软件测试设备的结构示意图。图8所示的软件测试设备可至少包括处理器801、输入接口802、输出接口803以及计算机存储介质804。其中,处理器801、输入接口802、输出接口803以及计算机存储介质804可通过总线或其他方式连接。
计算机存储介质804可以存储在软件测试设备的存储器中,计算机存储介质804用于存储计算机程序,计算机程序包括程序指令,处理器801用于执行计算机存储介质804存储的程序指令。处理器801(或称CPU(Central Processing Unit,中央处理器))是软件测试设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现上述软件测试方法流程或相应功能。
本申请实施例还提供了一种计算机存储介质(Memory),计算机存储介质是软件测试设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作***。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速随机存取存储器(random access memory,RAM)存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器801、输入接口802以及输出接口803加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图2以及图5的软件测试方法实施例中的方法的相应步骤,具体实现中,计算机存储介质中的一条或多条指令由处理器801、输入接口802以及输出接口803加载并执行如下步骤:
输入接口802,用于获取客户端在预设时间段内所接收到的多条请求数据,以及所述客户端对所述多条请求数据的处理情况;
处理器801,用于基于所述处理情况,从所述多条请求数据中确定出所述客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;
所述输入接口802,还用于获取测试任务,所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试;
所述处理器801,还用于从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果。
在一个实施例中,所述处理器801基于所述处理情况,从所述多条请求数据中确定出所述客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据时,具体执行如下操作:
基于所述处理情况,从所述多条请求数据中确定出经由所述每个执行代码结构处理过的请求数据;
将确定出的经由所述每个执行代码结构处理过的请求数据,作为所述每个执行代码结构对应的请求数据。
在一个实施例中,所述客户端的一个或多个执行代码结构用于实现所述客户端的一个或多个功能点所描述的功能;所述客户端的一个或多个功能点中每个功能点中包括用于描述所述客户端的一个功能的功能描述信息以及用于描述对所述客户端的一个功能进行测试的测试规则;所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试,且所述目标执行代码结构在获取所述处理情况之后发生更改;
所述处理器801从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果时,具体执行如下操作:
从所述请求数据集中,将所述目标执行代码结构对应的请求数据,确定为所述目标请求数据;
基于所述目标请求数据,以及用于描述所述目标执行代码结构所实现功能的功能点中所包括的测试规则,生成测试脚本;
运行所述测试脚本,对更改后的目标执行代码结构进行测试,得到所述测试结果。
在一个实施例中,所述处理器801,还用于从所述请求数据集中确定出所述客户端的一个或多个功能点中每个功能点对应的请求数据;所述客户端的每个功能点中包括用于描述所述客户端的一个功能的功能描述信息以及用于描述对所述客户端的一个功能进行测试的测试规则;所述每个功能点所描述的功能由所述客户端的一个或多个执行代码结构实现;
所述输入接口802,还用于获取测试任务,所述测试任务用于指示:对用于实现所述一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试。
在一个实施例中,所述处理器801从所述请求数据集中确定出所述客户端的一个或多个功能点中每个功能点对应的请求数据时,具体执行如下操作:
确定用于实现所述每个功能点所描述功能的执行代码结构;
将确定的执行代码结构所对应的请求数据,作为所述每个功能点对应的请求数据。
在一个实施例中,所述测试任务用于指示:对用于实现所述一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试;
所述处理器801从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果时,包括:
从所述请求数据集中,将所述目标功能点对应的请求数据,确定为所述目标请求数据;
基于所述目标请求数据,以及所述目标功能点中当前所包括的测试规则,生成测试脚本;
运行所述测试脚本,对用于实现所述目标功能点所描述功能的执行代码结构进行测试,得到所述测试结果。
在一个实施例中,所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试,且所述目标执行代码结构在获取所述处理情况之后发生更改;
若所述测试结果指示所述测试任务失败,则所述输出接口803用于输出第一提示信息,所述第一提示信息用于指示所述更改后的目标执行代码结构存在缺陷;
若所述测试结果指示所述测试任务成功,则所述输出接口803用于输出第二提示信息,所述处理器801用于基于所述更改后的目标执行代码结构更新所述客户端;所述第二提示信息用于指示所述更改后的目标执行代码结构不存在缺陷。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。软件测试设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该软件测试设备执行上述如图2或图5所示的方法实施例。其中,计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种软件测试方法,其特征在于,包括:
获取客户端在预设时间段内所接收到的多条请求数据,以及所述客户端对所述多条请求数据的处理情况;
基于所述处理情况,从所述多条请求数据中确定出所述客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,生成包含确定得到的所有请求数据的请求数据集;
获取测试任务,所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试;
从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果。
2.如权利要求1所述的方法,其特征在于,所述基于所述处理情况,从所述多条请求数据中确定出所述客户端的一个或多个执行代码结构中每个执行代码结构对应的请求数据,包括:
基于所述处理情况,从所述多条请求数据中确定出经由所述每个执行代码结构处理过的请求数据;
将确定出的经由所述每个执行代码结构处理过的请求数据,作为所述每个执行代码结构对应的请求数据。
3.如权利要求1所述的方法,其特征在于,所述客户端的一个或多个执行代码结构用于实现所述客户端的一个或多个功能点所描述的功能;所述客户端的一个或多个功能点中每个功能点中包括用于描述所述客户端的一个功能的功能描述信息以及用于描述对所述客户端的一个功能进行测试的测试规则;所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试,且所述目标执行代码结构在获取所述处理情况之后发生更改;
所述从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果,包括:
从所述请求数据集中,将所述目标执行代码结构对应的请求数据,确定为所述目标请求数据;
基于所述目标请求数据,以及用于描述所述目标执行代码结构所实现功能的功能点中所包括的测试规则,生成测试脚本;
运行所述测试脚本,对更改后的目标执行代码结构进行测试,得到所述测试结果。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
从所述请求数据集中确定出所述客户端的一个或多个功能点中每个功能点对应的请求数据;所述客户端的每个功能点中包括用于描述所述客户端的一个功能的功能描述信息以及用于描述对所述客户端的一个功能进行测试的测试规则;所述每个功能点所描述的功能由所述客户端的一个或多个执行代码结构实现;
获取测试任务,所述测试任务用于指示:对用于实现所述一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试。
5.如权利要求4所述的方法,其特征在于,所述从所述请求数据集中确定出所述客户端的一个或多个功能点中每个功能点对应的请求数据,包括:
确定用于实现所述每个功能点所描述功能的执行代码结构;
将确定的执行代码结构所对应的请求数据,作为所述每个功能点对应的请求数据。
6.如权利要求4所述的方法,其特征在于,所述测试任务用于指示:对用于实现所述一个或多个功能点中的目标功能点所描述功能的执行代码结构的测试;
所述从所述请求数据集中确定出与所述测试任务相匹配的目标请求数据,并基于所述目标请求数据执行所述测试任务,得到测试结果,包括:
从所述请求数据集中,将所述目标功能点对应的请求数据,确定为所述目标请求数据;
基于所述目标请求数据,以及所述目标功能点中当前所包括的测试规则,生成测试脚本;
运行所述测试脚本,对用于实现所述目标功能点所描述功能的执行代码结构进行测试,得到所述测试结果。
7.如权利要求1所述的方法,其特征在于,所述测试任务用于指示:对所述一个或多个执行代码结构中的目标执行代码结构的测试,且所述目标执行代码结构在获取所述处理情况之后发生更改;
所述方法还包括:
若所述测试结果指示所述测试任务失败,则输出第一提示信息,所述第一提示信息用于指示所述更改后的目标执行代码结构存在缺陷;
若所述测试结果指示所述测试任务成功,则输出第二提示信息,并基于所述更改后的目标执行代码结构更新所述客户端;所述第二提示信息用于指示所述更改后的目标执行代码结构不存在缺陷。
8.一种软件测试装置,其特征在于,包括:
所述软件测试装置包括获取单元、处理单元以及输出单元,所述获取单元、所述处理单元以及所述输出单元用于执行如权利要求1-7任一项所述的软件测试方法。
9.一种软件测试设备,其特征在于,所述软件测试设备包括输入接口和输出接口,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-7任一项所述的软件测试方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如权利要求1-7任一项所述的软件测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111367324.5A CN113900959A (zh) | 2021-11-17 | 2021-11-17 | 软件测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111367324.5A CN113900959A (zh) | 2021-11-17 | 2021-11-17 | 软件测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113900959A true CN113900959A (zh) | 2022-01-07 |
Family
ID=79194528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111367324.5A Pending CN113900959A (zh) | 2021-11-17 | 2021-11-17 | 软件测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900959A (zh) |
-
2021
- 2021-11-17 CN CN202111367324.5A patent/CN113900959A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111679990B (zh) | 测试数据生成方法、装置、可读介质及电子设备 | |
US9940115B2 (en) | Mobile application deployment for distributed computing environments | |
CN111125057B (zh) | 一种业务请求的处理方法、装置及计算机*** | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN114579107A (zh) | 数据的处理方法、装置、设备及介质 | |
CN114416877A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN110737458A (zh) | 一种代码更新方法和相关装置 | |
CN113626512A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN112650804A (zh) | 大数据接入方法、装置、***及存储介质 | |
CN111488286A (zh) | 一种Android模块独立开发的方法及装置 | |
CN115080114B (zh) | 应用程序的移植处理方法、装置和介质 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN114610446B (zh) | 一种自动注入探针的方法、装置及*** | |
CN115729590A (zh) | 服务部署方法、装置、设备和计算机可读存储介质 | |
CN113900959A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN109814911A (zh) | 用于管理脚本程序的方法、装置、计算机设备及存储介质 | |
CN112667491B (zh) | 虚拟机的功能测试方法及装置 | |
CN114637969A (zh) | 目标对象的鉴权方法及装置 | |
CN110147531B (zh) | 一种相似文本内容的识别方法、装置及存储介质 | |
CN112579118B (zh) | 微服务的配置信息更新方法、装置、***、介质和设备 | |
CN112084440B (zh) | 数据校验方法、装置、电子设备和计算机可读介质 | |
CN113608817B (zh) | 弹框处理方法及*** | |
CN114039970A (zh) | 信息下载方法、装置、电子设备和计算机可读介质 | |
CN115202644A (zh) | 文件处理方法、装置、设备、可读存储介质及程序产品 | |
CN117499270A (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 |