CN113821443A - 应用程序的功能检测方法、装置、设备及存储介质 - Google Patents

应用程序的功能检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113821443A
CN113821443A CN202111165021.5A CN202111165021A CN113821443A CN 113821443 A CN113821443 A CN 113821443A CN 202111165021 A CN202111165021 A CN 202111165021A CN 113821443 A CN113821443 A CN 113821443A
Authority
CN
China
Prior art keywords
test data
function
interface
functional interface
data
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
CN202111165021.5A
Other languages
English (en)
Other versions
CN113821443B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111165021.5A priority Critical patent/CN113821443B/zh
Publication of CN113821443A publication Critical patent/CN113821443A/zh
Application granted granted Critical
Publication of CN113821443B publication Critical patent/CN113821443B/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
    • 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/3692Test management for test results analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请提供了一种应用程序的功能检测方法、装置、设备及存储介质,属于计算机与互联网技术领域。所述方法包括:获取应用程序待测试的第一功能接口的接口参数;基于接口参数获取第一功能接口对应的测试数据;调用第一功能接口对测试数据进行处理,得到测试数据的处理结果;在处理结果与测试数据的预期结果相匹配的情况下,确定应用程序的第一功能正常。本申请中,实现了应用程序的自动化功能检测,减少应用程序的功能检测时所需的人力消耗,进而降低人力检测时的人为失误,提高功能检测的准确性。

Description

应用程序的功能检测方法、装置、设备及存储介质
技术领域
本申请涉及计算机与互联网技术领域,特别涉及一种应用程序的功能检测方法、装置、设备及存储介质。
背景技术
目前,在应用程序上线之前,需要对应用程序的各个功能进行检测。
在相关技术中,在应用程序上线之前,由测试人员对应用程序的各个功能分别进行多次检测,以保证应用程序的各种功能的正常运行。
然而,在上述相关技术中,由测试人员对应用程序的各个功能分别进行多次检测,在测试时消耗的人力成本大。
发明内容
本申请实施例提供了一种应用程序的功能检测方法、装置、设备及存储介质,能够降低人力检测时的人为失误,提高功能检测的准确性。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种应用程序的功能检测方法,所述方法包括:
获取应用程序待测试的第一功能接口的接口参数,所述第一功能接口用于实现所述应用程序的第一功能;
基于所述接口参数获取所述第一功能接口对应的测试数据,所述接口参数用于定义所述第一功能接口的输入数据的数据类型;
调用所述第一功能接口对所述测试数据进行处理,得到所述测试数据的处理结果;
在所述处理结果与所述测试数据的预期结果相匹配的情况下,确定所述应用程序的第一功能正常。
根据本申请实施例的一个方面,提供了一种应用程序的功能检测装置,所述装置包括:
参数获取模块,用于获取应用程序待测试的第一功能接口的接口参数,所述第一功能接口用于实现所述应用程序的第一功能;
数据获取模块,用于基于所述接口参数获取所述第一功能接口对应的测试数据,所述接口参数用于定义所述第一功能接口的输入数据的数据类型;
数据处理模块,用于调用所述第一功能接口对所述测试数据进行处理,得到所述测试数据的处理结果;
功能检测模块,用于在所述处理结果与所述测试数据的预期结果相匹配的情况下,确定所述应用程序的第一功能正常。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述应用程序的功能检测方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述应用程序的功能检测方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述应用程序的功能检测方法。
本申请实施例提供的技术方案可以包括如下有益效果:
通过对应用程序的功能接口的测试,以实现对应用程序的功能的检测,实现了应用程序的自动化功能检测,也即,本申请提供了一种针对应用程序的自动化功能检测的方案,避免了相关技术中针对应用程序的手动功能检测造成的人力需求大,减少应用程序的功能检测时所需的人力消耗,进而降低人力检测时的人为失误,提高功能检测的准确性。
而且,与相关技术中的通过脚本自动运行应用程序以实现功能检测相比,本申请中将功能与功能接口相对应,通过对应用程序的功能接口的测试以实现对应用程序的功能的检测,不需要将应用程序从开始运行到结束来进行功能检测,提高应用程序的功能检测效率,减少脚本撰写过程的人力消耗。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的应用程序的功能检测系统的示意图;
图2示例性示出了一种应用程序的功能检测方式的示意图;
图3是本申请一个实施例提供的应用程序的功能检测方法的流程图;
图4示例性示出了一种测试数据的获取方式的示意图;
图5是本申请另一个实施例提供的应用程序的功能检测方法的流程图;
图6至图9示例性示出了用户界面的示意图;
图10示例性示出了一种功能链路的示意图;
图11示例性示出了在游戏直播场景下功能检测方式的示意图;
图12示例性示出了在游戏直播场景下功能链的示意图;
图13示例性示出了在游戏直播场景下测试数据的获取方式的示意图;
图14是本申请一个实施例提供的应用程序的功能检测装置的框图;
图15是本申请另一个实施例提供的应用程序的功能检测装置的框图;
图16是本申请一个实施例提供的计算机设备结构的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的应用程序的功能检测系统的示意图。该应用程序的功能检测系统可以包括:终端10和服务器20。
终端10可以是诸如手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC(Personal Computer,个人计算机)等电子设备。终端10中可以包括应用程序的客户端,该应用程序可以是为用户提供各种功能的任意应用程序,本申请实施例对此不作限定。可选地,该应用程序可以是需要下载安装的应用程序,也可以是即点即用的应用程序,本申请实施例对此不作限定。
服务器20用于为终端10提供后台服务。服务器20可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。可选地,服务器20可以是上述客户端的后台服务器。在示例性实施例中,服务器20为多个终端10提供后台服务。
上述终端10和上述服务器20通过网络30进行互相通信。
在相关技术中,为了保证服务器20能够为终端10提供正确的后台服务,在应用程序或应用程序的某个功能上线之前,需要对该应用程序的各种功能进行检测。其中,应用程序上线是指该应用程序开始面向用户投入使用,应用程序的某个功能上线是指在该应用程序已有的基础上新增或更改的用户能够使用的功能。
上述应用程序可以是任意应用程序,如直播应用程序、视频应用程序、社交应用程序等,本申请实施例对此不作限定。可选地,该应用程序在运行过程中通过调用功能接口来实现对应的功能。其中,不同功能接口对应的功能不同,应用程序所对应的功能接口的数量可以是任意数值,本申请实施例对此不作限定。当然,应用程序所对应的功能接口的功能也可以根据该应用程序进行灵活设置和调整。示例性地,若应用程序为直播应用程序,则该应用程序所对应的功能接口可以包括用于实现直播间创建功能的功能接口、用于实现直播间礼物赠送功能的功能接口、用于实现直播间进入功能的功能接口等;若应用程序为社交应用程序,则该应用程序所对应的功能接口可以包括用于实现社交群创建功能的功能接口、用于实现加入社交群加入功能的功能接口、用于实现社交群加入人员审批功能的功能接口等。
可选地,在本申请实施例中,在对应用程序的功能进行检测之前,确定该应用程序待测试的至少一个功能接口,以及各个功能接口的测试顺序,进而按照该测试顺序对各个功能接口分别进行测试,并记录各个功能接口分别对应的测试结果。示例性地,如图2所示,在对应用程序进行功能检测之前,获取应用程序的功能接口a、功能接口b、功能接口c、功能接口d、功能接口e和功能接口f,进而基于各个功能接口的运行顺序,确定各个功能接口的测试顺序。其中,各个功能接口的测试顺序与各个功能接口的运行顺序保持一致。之后,按照该测试顺序对各个功能接口分别进行测试,并记录各个功能接口的测试结果。其中,该测试结果包括功能正常、功能异常、部分功能异常三种。若测试结果为部分功能异常,则在记录测试结果的同时记录异常功能的标记信息。
需要说明的一点是,针对应用程序的功能检测可以在应用程序的各种功能的实际运行设备上执行,也可以在除实际运行设备之外的其它计算机设备上执行。
在一种可能的实施方式中,针对应用程序的功能检测在应用程序的各种功能的实际运行设备上执行。其中,该实际运行设备是指应用程序在实际运行过程中,功能的实现设备。示例性地,对于安装在手机上的应用程序的功能接口,若调用该功能接口时能够实现本地截图功能,则该功能接口在测试时对应的实际运行设备可以为手机;若调用该功能接口时能够实现后台计算功能,则该功能接口在测试时对应的实际运行设备可以为后台服务器(即上述服务器20)。
在另一种可能的实施方式中,针对应用程序的功能检测在除实际运行设备之外的其它计算机设备上执行。其中,该其它计算机设备可以是手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC(Personal Computer,个人计算机)等,本申请实施例对此不作限定。可选地,该其它计算机设备与功能接口的功能有关。示例性地,对于安装在手机上的应用程序的功能接口,若调用该功能接口时能够实现本地截图功能,则该功能接口在测试时对应的其它计算机设备可以为任意与手机具有相同截图逻辑的设备;若调用该功能接口时能够实现后台计算功能,则该功能接口在测试时对应的其它计算机设备可以为目标服务器,其中,该目标服务器并不是上述服务器20,而是另外的服务器,在这种情况下,功能测试之后需要将该目标服务器上与应用程序相关的计算逻辑等放置在服务器20(即应用程序的后台服务器)。
还需要说明的一点是,针对应用程序的不同功能的检测可以在相同的设备上执行,也可以在不同的设备上执行。
在一种可能的实施方式中,针对应用程序的不同功能的检测可以在相同的设备上执行。可选地,在确定应用程序待测试的各种功能时,将各种功能对应的执行逻辑等相关内容放置在同一设备,便于后续在该设备上的功能检测。示例性地,若安装在手机上的应用程序的功能接口中,既包括能够实现本地功能的A类功能接口,又包括能够实现后台功能的B类功能接口,则可以将A类功能接口对应的各种执行逻辑和B类功能接口对应的各种执行逻辑放置在目标服务器或服务器20上,进而在目标服务器或服务器20上执行针对应用程序的各种功能的检测。
在另一种可能的实施方式中,针对应用程序的不同功能的检测可以在不通的设备上执行。示例性地,若安装在手机上的应用程序的功能接口中,既包括能够实现本地功能的A类功能接口,又包括能够实现后台功能的B类功能接口,则针对A类功能接口的测试可以在手机或任意与手机具有相同截图逻辑的设备上完成,针对B类功能接口的测试可以在目标服务器或服务器20上完成。
下面,结合几个实施例对本申请技术方案进行介绍说明。
请参考图3,其示出了本申请一个实施例提供的应用程序的功能检测方法的流程图。该方法可应用于图1所示的应用程序的功能检测系统中,如各步骤的执行主体可以是服务器20(下文统称为计算机设备)。该方法可以包括以下几个步骤(301~304):
步骤301,获取应用程序待测试的第一功能接口的接口参数。
在本申请实施例中,在对应用程序的第一功能进行检测之前,获取应用程序待测试的第一功能接口的接口参数。其中,上述应用程序可以是任意需要进行功能检测的应用程序,本申请实施例对此不作限定;上述第一功能接口用于实现该应用程序的第一功能,即在应用程序的运行中,通过调用第一功能接口以实现第一功能,该第一功能可以是应用程序能够为应用程序的使用用户提供的任意功能,本申请实施例对此不作限定。
可选地,在本申请实施例中,不同的功能接口对应不同的接口参数,计算机设备在获取接口参数时,先确定应用程序待检测的第一功能接口,进而获取该第一功能接口的接口参数。
可选地,上述应用程序可以对应有一个或多个待测试的功能接口。若该应用程序对应有一个待测试的功能接口,则上述第一功能接口即为该应用程序的唯一待测试的功能接口;若该应用程序对应有多个待测试的功能接口,则上述第一功能接口即为从多个待测试的功能接口中选择确定的功能接口。
可选地,在应用程序对应有多个待测试的功能接口的情况下,上述第一功能接口可以为从多个功能接口中随机选择确定的功能接口,也可以为基于设定规则从多个功能接口中选择确定的功能接口。
在一种可能的实施方式中,上述第一功能接口为从多个功能接口中随机选择确定的功能接口。可选地,计算机设备在对应用程序的功能进行检测之前,先确定该应用程序所对应的多个功能接口,进而从多个功能接口随机选择确定第一功能接口,并获取该第一功能接口的接口参数。在这种情况下,功能检测时功能接口是随机选择确定的,也即各个功能接口之间相互独立,互不干扰,因此,在功能检测时,可以同时对应用程序的多个功能进行检测,即计算机设备可以通过对应用程序的不同功能接口同时进行测试,提高功能接口的测试效率。
在另一种可能的实施方式中,上述第一功能接口为基于设定规则从多个功能接口中选择确定功能接口。可选地,计算机设备在对应用程序的功能进行检测之前,先确定该应用程序所对应的多个功能接口,以及针对该应用程序的功能检测的设定规则,进而,基于该设定规则从多个功能接口中选择确定第一功能接口,并获取该第一功能接口的接口参数。示例性地,上述设定规则包括但不限于以下至少一项:按照功能接口的运行顺序进行测试、先测试重要功能、先测试接口参数简单的功能接口、先测试测试速度快的功能接口等,本申请实施例对此不作限定。
可选地,若上述设定规则为按照功能接口的运行顺序进行测试,则计算机设备在确定第一功能接口时,先确定各个功能接口的运行顺序,进而根据计算机设备所测试的上一个功能接口,结合上述运行顺序,确定待测试的第一功能接口。其中,上述运行顺序用于指示各个功能接口在实际运行中的执行顺序,示例性地,在帮派相关事件中,若功能接口a用于实现帮派的创建、功能接口b用于实现申请加入帮派、功能接口c用于实现拒绝加入帮派的申请,则此时功能接口的运行顺序由先到后可以为:功能接口a、功能接口b、功能接口c。
可选地,若上述设定规则为先测试重要功能,则计算机设备在确定第一功能接口时,先确定应用程序具有的各个功能,进而根据各个功能的重要程序,将用于实现最重要的功能的待测试的功能接口确定为第一功能接口。其中,各个功能的重要程序可以由应用程序的设计人员根据实际情况进行灵活设置和调整,本申请实施例对此不作限定。
可选地,若上述设定规则为先测试接口参数简单的功能接口,则计算机设备在确定第一功能接口时,先确定各个功能接口的接口参数,进而根据各个功能接口的接口参数,将接口参数最简单的待测试的功能接口确定为第一功能接口。其中,接口参数最简单是指接口参数所定义的功能接口的输入数据的数据类型最少。
可选地,若上述设定规则为先测试测试速度快的功能接口,则计算机设备在确定第一功能接口时,先确定各个功能接口的测试速度,进而根据各个功能接口的测试速度,将测试速度最快的待测试的功能接口确定为第一功能接口。其中,功能接口的测试速度是根据功能接口的测试次数、测试数据确定的,功能接口的测试次数越少则测试速度越快,功能接口的测试数据的数据量越少则测试速度越快。
需要说明的一点是,上文是对设定规则的简单介绍,在示例性实施例中,上述设定规则也可以通过包括上述多个条件,如设定规则为:按照功能接口的运行顺序先测试重要功能。
步骤302,基于接口参数获取第一功能接口对应的测试数据。
接口参数用于定义第一功能接口的输入数据的数据类型。示例性地,若上述第一功能接口为用于创建帮派的功能接口,则接口参数所定义的数据类型可以为用户等级、用户帐号;若上述第一功能接口为用于对整数进行求和,则接口参数所定义的数据类型可以为两个整数。
在本申请实施例中,计算机设备在获取上述接口参数之后,基于该接口参数获取第一功能接口对应的测试数据。可选地,计算机设备在获取测试数据时,可以基于接口参数从已有的数据中获取测试数据,也可以基于接口参数生成测试数据。
在一种可能的实施方式中,测试数据是基于接口参数从已有的数据中获取的。可选地,计算机设备获取上述接口参数之后,基于该接口参数所定义的数据类型,从已有的数据中获取符合上述数据类型的数据,并将符合上述数据类型的数据作为第一功能接口对应的测试数据。其中,上述已有的数据可以是从网络环境中收集获取的数据。
在另一种可能的实施方式中,测试数据是基于接口参数生成的。可选地,计算机设备获取上述接口参数之后,基于该接口参数所定义的数据类型,生成符合该数据类型的数据,并将符合数据类型的数据作为第一功能接口对应的测试数据。
需要说明的一点是,在示例性实施例中,为了保证第一功能测试的准确性,针对第一功能接口的测试可以是多次的,在这种情况下,计算机设备在获取上述接口参数之后,需要基于该接口参数获取多组测试数据,进一步地,在对第一功能接口进行测试时,每次测试采用不同的测试数据。可选地,每组测试数据包含的数据不同,但数据类型相同。
步骤303,调用第一功能接口对测试数据进行处理,得到测试数据的处理结果。
在本申请实施例中,计算机设备在获取上述测试数据之后,调用第一功能接口对该测试进行处理,得到测试数据的处理结果。可选地,计算机设备在对测试数据进行处理时,通过第一功能接口将该测试数据传输至对应的位置,进而基于该位置所设置的处理逻辑对该测试数据进行处理,以得到测试的处理结果。可选地,该测试数据的处理结果也通过第一功能接口进行数据传输。
需要说明的一点是,若计算机设备所获取的测试数据为多组测试数据,则计算机设备在对测试数据进行处理时,调用第一功能接口分别对每组测试数据进行处理,以得到各组测试数据分别对应的处理结果。
步骤304,在处理结果与测试数据的预期结果相匹配的情况下,确定应用程序的第一功能正常。
可选地,上述测试数据对应有预期结果,该预期结果用于指示在第一功能正常的情况下,测试数据的正确处理结果。在本申请实施例中,计算机设备在获取上述处理结果之后,将该处理结果与测试数据的预期结果进行比较。在测试数据的处理结果与预期结果相匹配的情况下,确定上述应用程序的第一功能正常。
可选地,计算机设备在对处理结果与预期结果进行比较时,若该处理结果与预期结果之间的差距满足要求的情况下,则确定上述应用程序的第一功能正常。
其中,上述要求可以根据实际情况进行灵活设置和调整。示例性地,若上述第一功能为创建帮派,则测试数据的预期结果可以为“成功创建帮派XX”,在这种情况下,若测试数据的处理结果与预期结果一致,均为“成功创建帮派XX”,则确定第一功能正常,否则,若测试数据的处理结果与预期结果不一致,则确定第一功能异常;若上述第一功能为参与目标活动的人数统计,则测试数据的预期结果可以为“参与人数为X左右10%(X为在预期结果获取时所统计的参与人数)”,在这种情况下,若测试数据的处理结果位于预期结果所指示的范围内,则确定第一功能正常,否则,若测试数据的处理结果位于预期结果所指示的范围外,则确定第一功能异常;若上述第一功能为召集人员参与活动,则测试数据的预期结果可以为“存在参与活动的人员”,在这种情况下,若测试数据的处理结果为“参与活动的人数为5”,则确定处理结果与预期结果之间的差距满足要求,即第一功能正常,否则,若测试数据的处理结果为“参与活动的人数为0”,则确定处理结果与预期结果之间的差距未满足要求,即确定第一功能异常。
综上所述,本申请实施例提供的技术方案,通过对应用程序的功能接口的测试,以实现对应用程序的功能的检测,实现了应用程序的自动化功能检测,也即,本申请提供了一种针对应用程序的自动化功能检测的方案,避免了相关技术中针对应用程序的手动功能检测造成的人力需求大,减少应用程序的功能检测时所需的人力消耗,进而降低人力检测时的人为失误,提高功能检测的准确性。
而且,与相关技术中的通过脚本自动运行应用程序以实现功能检测相比,本申请中将功能与功能接口相对应,通过对应用程序的功能接口的测试以实现对应用程序的功能的检测,不需要将应用程序从开始运行到结束来进行功能检测,提高应用程序的功能检测效率,减少脚本撰写过程的人力消耗。
下面,对测试数据的获取方式进行介绍。
在示例性实施例中,上述步骤302包括以下几个步骤:
1、基于接口参数,确定第一功能接口对应的测试数据所包含的数据类型。
接口参数用于定义第一功能接口的输入数据的数据类型。在本申请实施例中,计算机设备在获取上述接口参数之后,基于该接口参数,确定第一功能接口对应的测试数据所包含的数据类型。
需要说明的一点是,为了保证功能检测的完整性,上述接口参数所定义的数据类型可以是一组数据类型,也可以是多组数据类型。可选地,计算机设备在获取上述接口参数之后,基于该接口参数,确定上述第一功能接口对应的至少一组数据类型;进一步地,计算机设备根据上述至少一组数据类型,确定至少一组测试数据所包含的数据类型。其中,不同组的测试数据所包含的数据类型不同。
在一种可能的实施方式中,第一功能在实现时所需要的数据为固定数据,相应地,第一功能接口的接口参数所定义的数据类型为基于上述固定数据所确定的一组数据类型。示例性地,假设第一功能为创建帮派,且创建帮派时所需的数据为用户帐号、用户等级,则第一功能接口的接口参数所定义的一组数据类型为:用户帐号、用户等级。可选地,在这种情况下,计算机设备在获取上述接口参数之后,基于该接口参数,确定第一功能接口对应的测试数据所包含的一组数据类型。
在另一种可能的实施方式中,第一功能在实现时所需要的数据为非固定数据,相应地,第一功能接口的接口参数所定义的数据类型为基于上述非固定数据所确定的多组数据类型。示例性地,假设第一功能为申请加入帮派,且申请加入帮派时所需的数据为用户帐号+用户等级,或用户帐号+用户登录时长,则第一功能接口的接口参数所定义的一组数据类型为:用户帐号、用户等级,另一组数据类型为用户帐号、用户登录时长。可选地,在这种情况下,计算机设备在获取上述接口参数之后,基于该接口参数,确定第一功能接口对应的至少一组测试数据所包含的数据类型,且每组测试数据所包含的数据类型不同。
2、获取第一功能成功实现时的至少一项约束条件。
在本申请实施例中,计算机设备在获取测试数据之前,获取第一功能成功实现时的至少一项约束条件。
上述约束条件是指针对测试数据的判断条件。可选地,在测试数据满足各项约束条件的情况下,计算机设备在调用第一功能接口对测试数据处理之后,能够实现该第一功能接口对应的第一功能;在测试数据未满足任意一项约束条件的情况下,计算机设备在调用第一功能接口对测试数据处理之后,无法实现该第一功能接口对应的第一功能。需要说明的一点是,这里的约束条件仅仅是判断第一功能能否成功实现的约束条件,第一功能的成功实现无法判断第一功能是否正常。
可选地,不同的功能对应的约束条件不同,应用程序的设计人员可以根据实际情况对各种功能对应的约束条件进行灵活设置和调整。
3、基于至少一项约束条件,以及测试数据所包含的数据类型,生成至少一组测试数据。
在本申请实施例中,计算机设备在获取上述至少一项约束条件之后,基于该至少一项约束条件,以及测试数据所包含的数据类型,生成至少一组测试数据。
可选地,在本申请实施例中,计算机设备在生成上述测试数据时,基于上述至少一项约束条件,以及上述测试数据所包含的数据类型,生成满足各个约束条件的第一测试数据;而且,基于上述至少一项约束条件中的目标约束条件,以及测试数据所包含的数据类型,生成未满足该目标约束条件且满足其它约束条件的第二测试数据。其中,目标约束条件是指上述至少一项约束条件中的任意一项约束条件,其它约束条件是指上述至少一项约束条件中除目标约束条件之外的约束条件。可选地,在本申请实施例中,上述至少一组测试数据中包括上述第一测试数据,以及各个约束条件分别对应的第二测试数据。
需要说明的一点是,若接口参数所定义的数据类型包括多组数据类型,则计算机设备在获取测试数据时,先基于接口参数所定义的多组数据类型,确定多组测试数据分别包含的数据类型,此时,在该多组测试数据中不同测试数据所包含的数据类型不同。之后,对于该多组测试数据中的目标组测试数据,计算机设备根据目标组测试数据所包含的目标数据类型,以及针对该目标数据类型的至少一项约束条件,生成目标组测试数据对应的多组测试数据,此时,对于目标组测试数据对应的多组测试数据,每组测试数据所包含的数据类型相同,且每组测试数据所包含的数据不同。
示例性地,结合参考图4,对测试数据的获取方式进行完整介绍。假设第一功能为申请加入帮派,第一功能接口的接口参数所定义的数据类型包括第一数据类型(用户帐号、用户等级)和第二数据类型(用户帐号、用户登录时长),第一功能的约束条件包括第一约束条件(用户等级大于10级),第二约束条件(用户登录时长超过1天)。之后,计算机设备在生成第一功能的测试数据时,先基于接口参数确定第一测试数据(包含用户帐号+用户等级)和第二测试数据(包含用户帐号+用户登录时长),进一步地,计算机设备基于第一约束条件和第一测试数据确定出第一组测试数据(用户帐号:aa,用户等级:15级)和第二组测试数据(用户帐号:bb,用户等级:8级),而且,计算机设备基于第二约束条件和第二测试数据确定出第三组测试数据(用户帐号:cc,登录时长:7天)和第四组测试数据(用户帐号:dd,登录时长:10h)。
综上,本申请实施例提供的技术方案中,通过接口参数和约束条件自动生成测试数据,与相关技术中的通过脚本自动运行应用程序以实现功能检测相比,本申请不需要在不同的场景中运行应用程序来实现功能测试,不同场景下的测试数据可以自动生成,即使在复杂的场景下,本申请也能够快速进行自动化的功能测试。
请参考图5,其示出了本申请另一个实施例提供的应用程序的功能检测方法的流程图。该方法可应用于图1所示的应用程序的功能检测系统中,如各步骤的执行主体可以是服务器20(下文统称为计算机设备)。该方法可以包括以下几个步骤(501~510):
步骤501,获取应用程序的测试链路。
在本申请实施例中,计算机设备在对应用程序的功能进行检测之前,获取应用程序的测试链路。其中,该测试链路用于指示应用程序的各个功能接口的测试顺序。可选地,该测试链路可以是应用程序的设计人员所确定的,也可以是基于应用程序所具有的功能自动生成的。
可选地,若上述测试链路是基于应用程序所具有的功能自动生成的,则计算机设备可以基于设定规则确定该测试链路。其中,该设定规则可以根据实际情况进行灵活设置和调整,本申请实施例对此不作限定。示例性地,上述设定规则包括但不限于以下至少一项:按照功能接口的运行顺序进行测试、先测试重要功能、先测试接口参数简单的功能接口、先测试测试速度快的功能接口等,本申请实施例对此不作限定。
可选地,若上述设定规则为按照功能接口的运行顺序进行测试,则计算机设备在获取测试链路时,先确定各个功能接口的运行顺序,进而根据该运行顺序,确定各个功能接口的测试顺序,生成上述测试链路。其中,功能接口的测试顺序和功能接口的运行顺序保持一致。
可选地,若上述设定规则为先测试重要功能,则计算机设备在获取测试链路时,先确定应用程序具有的各个功能,进而根据各个功能的重要程序,确定各个功能接口的测试顺序,生成上述测试链路。其中,各个功能的重要程序可以由应用程序的设计人员根据实际情况进行灵活设置和调整,本申请实施例对此不作限定。
可选地,若上述设定规则为先测试接口参数简单的功能接口,则计算机设备在获取测试链路时,先确定各个功能接口的接口参数,进而根据各个功能接口的接口参数,确定各个功能接口的测试顺序,生成上述测试链路。其中,接口参数最简单是指接口参数所定义的功能接口的输入数据的数据类型最少。
可选地,若上述设定规则为先测试测试速度快的功能接口,则计算机设备在获取测试链路时,先确定各个功能接口的测试速度,进而根据各个功能接口的测试速度,确定各个功能接口的测试顺序,生成上述测试链路。其中,功能接口的测试速度是根据功能接口的测试次数、测试数据确定的,功能接口的测试次数越少则测试速度越快,功能接口的测试数据的数据量越少则测试速度越快。
需要说明的一点是,上文是对设定规则的简单介绍,在示例性实施例中,上述设定规则也可以通过包括上述多个条件,如设定规则为:按照功能接口的运行顺序先测试重要功能。
还需要说明的一点是,由于应用程序可能具有多种多样的功能,因此,一个应用程序可能对应有多条测试链路。
步骤502,基于测试链路,确定第一功能接口。
在本申请实施例中,计算机设备在获取上述测试链路之后,基于该测试链路,获取上述第一功能接口。
可选地,计算机设备在获取第一功能接口时,从多个功能接口中确定至少一个未测试的功能接口,进而,基于上述测试顺序,从该至少一个未测试的功能接口中,选择至少一个功能接口确定为第一功能接口。
需要说明的一点是,在上述应用程序未上线时,上述未测试的功能接口可以包括应用程序对应的各种功能接口;在上述应用程序已经上线进行更新时,上述未测试的功能接口包括发生变化的功能接口,其中,该发生变化的功能接口包括但不限于以下至少一项:新增的功能对应的功能接口、接口参数发生变化的功能接口、约束条件发生变化的功能对应的功能接口等。
可选地,在上述应用程序发生更新的情况,计算机设备获取该应用程序的更新数据,并基于该更新数据,对应用程序的功能接口进行更新。其中,对应用程序的功能接口的更新包含但不限于以下至少一项:若更新数据中包括新增功能,在应用程序的测试链路中增加新增功能对应的功能接口;若更新数据中包括已有功能接口的更新参数,基于更新参数对已有功能接口的接口参数进行更新;若更新数据中包括已有功能的更新条件,基于更新条件对已有功能的约束条件进行更新。
步骤503,获取应用程序待测试的第一功能接口的接口参数。
步骤504,基于接口参数获取第一功能接口对应的测试数据。
步骤505,调用第一功能接口对测试数据进行处理,得到测试数据的处理结果。
上述步骤503-505与图3实施例中的步骤301-303相同,具体参见图3实施例,在此不作赘述。
步骤506,获取第一功能成功实现时的至少一项约束条件。
在本申请实施例中,计算机设备在获取上述预期结果之前,获取第一功能成功实现时的至少一项约束条件。其中,上述约束条件是指针对测试数据的判断条件。可选地,在测试数据满足各项约束条件的情况下,计算机设备在调用第一功能接口对测试数据处理之后,能够实现该第一功能接口对应的第一功能;在测试数据未满足任意一项约束条件的情况下,计算机设备在调用第一功能接口对测试数据处理之后,无法实现该第一功能接口对应的第一功能。
步骤507,以至少一项约束条件为基准,确定测试数据的预期结果。
在本申请实施例中,计算机设备在获取上述至少一项约束条件和上述测试数据之后,以该至少一项约束条件为基准,确定测试数据的预期结果。可选地,计算机设备在获取预期结果时,基于上述至少一项约束条件对上述测试数据进行判断,进而确定该测试数据的预期结果。其中,该预期结果可以为针对测试数据的处理结果的预测,也可以为第一功能能否成功实现的预测。示例性地,若第一功能为创建帮派,则上述预期结果可以为“创建帮派XX”,或者,上述预期结果也可以为“成功创建帮派”。
需要说明的一点是,在上述测试数据为多组测试数据的情况下,一组测试数据对应有一个预期结果。
还需要说明的一点是,步骤506和507,可以与步骤505并行执行。也就是说,计算机设备在获取测试数据之后,一方面调用第一功能接口获取测试数据的处理结果,另一方面以约束条件为基准确定测试数据的预期结果。
步骤508,在处理结果与测试数据的预期结果相匹配的情况下,确定应用程序的第一功能正常。
上述步骤508与图3实施例中的步骤304相同,具体参见图3实施例,在此不作赘述。
步骤509,在处理结果与预期结果未匹配的情况下,确定应用程序的第一功能异常。
可选地,在本申请实施例中,计算机设备在对处理结果与预期结果进行比较时,若处理结果与预期结果未匹配,则确定应用程序的第一功能异常。
需要说明的一点是,在上述测试数据为多组测试数据的情况下,需要每一组测试数据的处理结果均与预期结果匹配的情况下,才能够确定应用程序的第一功能正常,否则,在任意一组测试数据的处理结果与预期结果未匹配的情况下,即确定应用程序的第一功能异常。
步骤510,生成用于指示第一功能异常的报警信息。
在本申请实施例中,在上述第一功能异常的情况下,计算机设备生成用于指示第一功能异常的报警信息。可选地,在第一功能异常的情况下,计算机设备确定测试数据未满足的约束条件,以及测试数据已满足的约束条件。其中,约束条件是指第一功能成功实现时所需具备的条件。进一步地,服务器根据测试数据未满足的约束条件,以及测试数据未满足的约束条件,生成上述报警信息。此时,该报警信息能够指示使得第一功能异常的约束条件,后续应用程序的设计人员可以根据该报警信息对第一功能的执行逻辑或约束条件进行调整。
综上所述,本申请实施例提供的技术方案,在确定应用程序的测试链路之后,即可基于该测试链路所指示的测试顺序对应用程序的功能接口进行测试,通过对应用程序的功能接口的测试,以实现对应用程序的功能的检测,实现了应用程序的自动化功能检测,提高功能检测效率。
而且,在第一功能异常的情况下,根据测试数据未满足的约束条件,以及测试数据未满足的约束条件,生成报警信息,报警信息能够指示使得第一功能异常的约束条件,有利于根据该报警信息对应用程序的第一功能进行调整或修复。
下面,结合具体的应用程序,对上述测试链路的获取方式进行介绍。
示例性地,应用程序能够为用户提供帮会创建功能、帮派申请加入功能、帮派管理功能(包括邀请加入功能、申请审批功能、退出帮派功能、移出帮派功能)和活动召集功能等。
关于帮派创建功能,如图6所示,用户通过帮派创建按钮61触发帮派创建事件,进而在帮派设置界面62中设置帮派名字、帮旗、简介和加入条件。
关于帮派申请加入功能,如图7所示,用户界面中显示有各个帮派的名称71、帮主72、帮旗73和加入条件74,用户根据加入条件74确定想要加入的帮派,并通过申请加入按钮75申请加入该帮派。在用户申请加入帮派之后,对应的帮派显示有“审核中”字样。
关于帮派管理功能,如图8所示,用户可以通过邀请加入按钮81来邀请其他用户加入帮派(即邀请加入功能),通过退出帮派按钮82来退出帮派(即退出帮派功能)。而且,对于其他用户主动申请加入帮派的情况,用户可以通过同意按钮83同意该其他用户加入帮派(即申请审批功能),当然,用户还可以通过移除按钮84来将某个用户移出帮派(即移出帮派功能)。
关于活动召集功能,如图9所示,用户可以通过立即召唤按钮91来召唤帮派中的成员参与活动,之后,在用户界面中可以显示响应本次召唤的人数92,且关于响应人数的统计时长93是有限的。当然,对于被召唤的用户,界面中会出现提示信息94,该提示信息用于提示被召唤的用户参与上述活动,进一步地,被召唤的用户通过立即前往按钮95来响应召唤,而且,关于提示信息94的显示时长96也是有限的。其中,上述统计时长93和上述显示时长96可以相同,也可以不同。
示例性地,在上述各种功能的基础上,应用程序的一条测试链路可以如图10所示,该测试链路中包括创建帮派、用户申请加入帮派、帮主同意用户加入帮派、帮主发起活动召唤、被召唤用户响应召唤这几个步骤。其中,各个步骤的检测流程均为上文中提到的功能检测流程,调用对应的功能接口对测试数据进行处理,以测试功能接口是否正常。
下面,请参考图11,以游戏直播应用场景为例,对本申请进行完整介绍,具体步骤如下:
步骤1101,获取针对游戏直播的测试链路。
在本申请实施例能中,计算机设备在对游戏直播的各种功能进行测试之前,获取针对游戏直播的测试链路。其中,该测试链路用于指示游戏直播的各个功能接口的测试顺序。可选地,该测试链路可以是设计人员手动确定的,也可以是基于游戏直播所具有的功能自动生成的。
可选地,若上述测试链路是基于游戏直播所具有的功能自动生成的,则计算机设备可以基于设定规则确定该测试链路。其中,该设定规则可以根据实际情况进行灵活设置和调整,本申请实施例对此不作限定。
示例性地,假设游戏直播所包括的功能有:创建游戏直播间创建功能、邀请用户进入直播间的功能、用户向主播赠送礼物的功能、直播用户答谢赠礼用户的功能,且设定规则为按照功能接口的运行顺序进行测试,则如图12所示,该游戏直播的测试链路中包括创建游戏直播间、邀请用户进入直播间、用户向主播赠送礼物、直播用户答谢赠礼用户这几个步骤。其中,各个步骤的检测流程均为:调用对应的功能接口对测试数据进行处理,以测试功能接口是否正常。
步骤1102,基于测试链路,确定第一功能接口。
在本申请实施例中,计算机设备在获取上述测试链路之后,基于该测试链路,确定第一功能接口。其中,该第一功能接口是指游戏直播未测试的功能对应的功能接口。
示例性地,如图12所示,在测试链路中的各个功能接口均为进行测试的情况下,上述第一功能接口可以为游戏直播间创建功能所对应的游戏直播间创建接口。
步骤1103,获取第一功能接口的接口参数。
接口参数用于定义第一功能接口的输入数据的数据类型。在本申请实施例中,计算机设备在确定上述第一功能接口之后,获取该第一功能的接口参数。可选地,在游戏直播场景中,不同的功能接口对应不同的接口参数。
步骤1104,基于接口参数获取第一功能接口对应的测试数据。
在本申请实施例中,计算机设备在获取上述接口参数之后,基于该接口参数获取第一功能接口对应的测试数据。可选地,计算机设备在获取测试数据时,可以基于接口参数从已有的数据中获取测试数据,也可以基于接口参数生成测试数据。其中,上述已有的数据可以是从网络环境中收集获取的游戏直播相关的数据,如游戏主播的用户帐号、观看游戏直播的用户的用户帐号、游戏主播的直播时长、用户观看游戏直播的时长等。
可选地,在基于接口参数生成测试数据的情况下,计算机设备在生成测试数据时,先基于接口参数所定义的多组数据类型,确定多组测试数据分别包含的数据类型,此时,在该多组测试数据中不同测试数据所包含的数据类型不同。之后,对于该多组测试数据中的目标组测试数据,计算机设备根据目标组测试数据所包含的目标数据类型,以及针对该目标数据类型的至少一项约束条件,生成目标组测试数据对应的多组测试数据,此时,对于目标组测试数据对应的多组测试数据,每组测试数据所包含的数据类型相同,且每组测试数据所包含的数据不同。
示例性地,结合参考图13,假设第一功能为邀请用户进入直播间的功能,第一功能接口的接口参数所定义的数据类型包括第一数据类型(主播帐号、主播等级)和第二数据类型(主播帐号、主播直播次数),第一功能的约束条件包括第一约束条件(主播等级大于5级),第二约束条件(主播直播次数超过5天)。之后,计算机设备在生成第一功能的测试数据时,先基于接口参数确定第一测试数据(包含主播帐号+主播等级)和第二测试数据(包含主播帐号+主播直播次数),进一步地,计算机设备基于第一约束条件和第一测试数据确定出第一组测试数据(主播帐号:a1,用户等级:10级)和第二组测试数据(主播帐号:a2,主播等级:2级),而且,计算机设备基于第二约束条件和第二测试数据确定出第三组测试数据(主播帐号:a3,播直播次数:7)和第四组测试数据(主播帐号:a4,播直播次数:2)。
步骤1105,调用第一功能接口对测试数据进行处理,得到测试数据的处理结果。
在本申请实施例中,计算机设备在获取上述测试数据之后,调用第一功能接口对该测试进行处理,得到测试数据的处理结果。可选地,计算机设备在对测试数据进行处理时,通过第一功能接口将该测试数据传输至对应的位置,进而基于该位置所设置的针对游戏直播场景的处理逻辑对该测试数据进行处理,以得到测试的处理结果。可选地,该测试数据的处理结果也通过第一功能接口进行数据传输。
需要说明的一点是,若计算机设备所获取的测试数据为多组测试数据,则计算机设备在对测试数据进行处理时,调用第一功能接口分别对每组测试数据进行处理,以得到各组测试数据分别对应的处理结果。
步骤1106,根据第一功能成功实现时的至少一项约束条件,确定测试数据的预期结果。
在本申请实施例中,计算机设备在获取上述测试数据之后,获取第一功能成功实现时的至少一项约束条件,并以该至少一项约束条件为基准,确定测试数据的预期结果。其中,上述约束条件是指针对测试数据的判断条件,上述预期结果可以为针对测试数据的处理结果的预测,也可以为第一功能能否成功实现的预测,示例性地,若第一功能为直播间创建功能,则上述预期结果可以为“创建直播间256”,或者,上述预期结果也可以为“成功创建直播间”。
需要说明的一点是,在上述测试数据为多组测试数据的情况下,一组测试数据对应有一个预期结果。
还需要说明的一点是,步骤1106可以与步骤1106并行执行。也就是说,计算机设备在获取测试数据之后,一方面调用第一功能接口获取测试数据的处理结果,另一方面以约束条件为基准确定测试数据的预期结果。
可选地,在本申请实施例中,计算机设备在获取上述处理结果和上述预期结果之后,对处理结果和预期结果进行比较。
步骤1107,在处理结果与测试数据的预期结果相匹配的情况下,确定应用程序的第一功能正常。
步骤1108,在处理结果与预期结果未匹配的情况下,确定应用程序的第一功能异常,并生成用于指示第一功能异常的报警信息。
可选地,在本申请实施例中,计算机设备在对处理结果与预期结果进行比较时,若处理结果与预期结果相匹配,则确定应用程序的第一功能正常;若处理结果与预期结果未匹配,则确定应用程序的第一功能异常。
需要说明的一点是,在上述测试数据为多组测试数据的情况下,需要每一组测试数据的处理结果均与预期结果匹配的情况下,才能够确定应用程序的第一功能正常,否则,在任意一组测试数据的处理结果与预期结果未匹配的情况下,即确定应用程序的第一功能异常。
在本申请实施例中,在上述第一功能异常的情况下,计算机设备生成用于指示第一功能异常的报警信息。可选地,在第一功能异常的情况下,计算机设备确定测试数据未满足的约束条件,以及测试数据已满足的约束条件。其中,约束条件是指第一功能成功实现时所需具备的条件。进一步地,服务器根据测试数据未满足的约束条件,以及测试数据未满足的约束条件,生成上述报警信息。此时,该报警信息能够指示使得第一功能异常的约束条件,后续应用程序的设计人员可以根据该报警信息对第一功能的执行逻辑或约束条件进行调整。
需要说明的一点是,在本申请中,在没有特殊说明的情况下,上述用户并不是特指某个用户,而是对整体用户的统称,示例性地,用户可以指代创建帮派的用户、帮派中的管理员、申请加入帮派的用户、退出帮派的用户等。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图14,其示出了本申请一个实施例提供的应用程序的功能检测装置的框图。该装置具有实现上述应用程序的功能检测方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置1400可以包括:参数获取模块1401、数据获取模块1402、数据处理模块1403和功能检测模块1404。
参数获取模块1401,用于获取应用程序待测试的第一功能接口的接口参数,所述第一功能接口用于实现所述应用程序的第一功能。
数据获取模块1402,用于基于所述接口参数获取所述第一功能接口对应的测试数据,所述接口参数用于定义所述第一功能接口的输入数据的数据类型。
数据处理模块1403,用于调用所述第一功能接口对所述测试数据进行处理,得到所述测试数据的处理结果。
功能检测模块1404,用于在所述处理结果与所述测试数据的预期结果相匹配的情况下,确定所述应用程序的第一功能正常。
在示例性实施例中,所述数据获取模块1420,包括:类型确定单元、条件获取单元和数据生成单元。
类型确定单元,用于基于所述接口参数,确定所述第一功能接口对应的所述测试数据所包含的数据类型。
条件获取单元,用于获取所述第一功能成功实现时的至少一项约束条件。
数据生成单元,用于基于所述至少一项约束条件,以及所述测试数据所包含的数据类型,生成至少一组测试数据。
在示例性实施例中,所述数据生成单元,用于基于所述至少一项约束条件,以及所述测试数据所包含的数据类型,生成满足各个所述约束条件的第一测试数据;基于所述至少一项约束条件中的目标约束条件,以及所述测试数据所包含的数据类型,生成未满足所述目标约束条件且满足其它约束条件的第二测试数据;其中,所述其它约束条件是指所述至少一项约束条件中除所述目标约束条件之外的约束条件;其中,所述至少一组测试数据中包括所述第一测试数据,以及各个所述约束条件分别对应的第二测试数据。
在示例性实施例中,所述类型确定单元,用于基于所述接口参数,确定所述第一功能接口对应的至少一组数据类型;根据所述至少一组数据类型,确定至少一组所述测试数据所包含的数据类型;其中,不同组的测试数据所包含的数据类型不同。
在示例性实施例中,所述功能检测模块1404,用于在所述处理结果与所述预期结果之间的差距满足要求的情况下,确定所述应用程序的第一功能正常。
在示例性实施例中,如图15所示,所述装置1400,还包括:条件获取模块1405和结果获取模块1406。
条件获取模块1405,用于获取所述第一功能成功实现时的至少一项约束条件。
结果获取模块1406,用于以所述至少一项约束条件为基准,确定所述测试数据的预期结果。
在示例性实施例中,如图15所示,所述装置1400,还包括:信息生成模块1407。
所述功能检测模块1404,还用于在所述处理结果与所述预期结果未匹配的情况下,确定所述应用程序的第一功能异常。
信息生成模块1407,用于生成用于指示所述第一功能异常的报警信息。
在示例性实施例中,所述信息生成模块1407,用于在所述第一功能异常的情况下,确定所述测试数据未满足的约束条件,以及所述测试数据已满足的约束条件;其中,所述约束条件是指所述第一功能成功实现时所需具备的条件;根据所述测试数据未满足的约束条件,以及所述测试数据已满足的约束条件,生成所述报警信息。
在示例性实施例中,如图15所示,所述装置1400,还包括:链路获取模块1408和接口确定模块1409。
链路获取模块1408,用于获取所述应用程序的测试链路,所述测试链路用于指示所述应用程序的各个功能接口的测试顺序。
接口确定模块1409,用于基于所述测试链路,确定所述第一功能接口。
在示例性实施例中,所述接口确定模块1409,用于从多个所述功能接口中获取已测试的功能接口;确定在所述已测试的功能接口之后进行测试,且测试顺序与所述已测试的功能接口相邻的至少一个功能接口确定为所述第一功能接口。
在示例性实施例中,如图15所示,所述装置1400,还包括:应用更新模块1410和接口更新模块1411。
应用更新模块1410,用于在所述应用程序发生更新的情况下,获取所述应用程序的更新数据。
接口更新模块1411,用于基于所述更新数据,对所述应用程序的功能接口进行更新。
综上所述,本申请实施例提供的技术方案,通过对应用程序的功能接口的测试,以实现对应用程序的功能的检测,实现了应用程序的自动化功能检测,也即,本申请提供了一种针对应用程序的自动化功能检测的方案,避免了相关技术中针对应用程序的手动功能检测造成的人力需求大,减少应用程序的功能检测时所需的人力消耗,进而降低人力检测时的人为失误,提高功能检测的准确性。
而且,与相关技术中的通过脚本自动运行应用程序以实现功能检测相比,本申请中将功能与功能接口相对应,通过对应用程序的功能接口的测试以实现对应用程序的功能的检测,不需要将应用程序从开始运行到结束来进行功能检测,提高应用程序的功能检测效率,减少脚本撰写过程的人力消耗。
请参考图16,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可用于实现上述应用程序的功能检测方法的功能。具体来讲:
计算机设备1600包括中央处理单元(Central Processing Unit,CPU)1601、包括随机存取存储器(Random Access Memory,RAM)1602和只读存储器(Read Only Memory,ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。计算机设备1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出(Input/Output,I/O)系统1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。大容量存储设备1607及其相关联的计算机可读介质为计算机设备1600提供非易失性存储。也就是说,大容量存储设备1607可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
根据本申请的各种实施例,计算机设备1600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1600可以通过连接在系统总线1605上的网络接口单元1611连接到网络1612,或者说,也可以使用网络接口单元1611来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述应用程序的功能检测方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时以实现上述应用程序的功能检测方法。
可选地,该计算机可读存储介质可以包括:ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述应用程序的功能检测方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限制。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (17)

1.一种应用程序的功能检测方法,其特征在于,所述方法包括:
获取应用程序待测试的第一功能接口的接口参数,所述第一功能接口用于实现所述应用程序的第一功能;
基于所述接口参数获取所述第一功能接口对应的测试数据,所述接口参数用于定义所述第一功能接口的输入数据的数据类型;
调用所述第一功能接口对所述测试数据进行处理,得到所述测试数据的处理结果;
在所述处理结果与所述测试数据的预期结果相匹配的情况下,确定所述应用程序的第一功能正常。
2.根据权利要求1所述的方法,其特征在于,所述基于所述接口参数获取所述第一功能接口对应的测试数据,包括:
基于所述接口参数,确定所述第一功能接口对应的所述测试数据所包含的数据类型;
获取所述第一功能成功实现时的至少一项约束条件;
基于所述至少一项约束条件,以及所述测试数据所包含的数据类型,生成至少一组测试数据。
3.根据权利要求2所述的方法,其特征在于,所述基于所述至少一项约束条件,以及所述测试数据所包含的数据类型,生成至少一组测试数据,包括:
基于所述至少一项约束条件,以及所述测试数据所包含的数据类型,生成满足各个所述约束条件的第一测试数据;
基于所述至少一项约束条件中的目标约束条件,以及所述测试数据所包含的数据类型,生成未满足所述目标约束条件且满足其它约束条件的第二测试数据;其中,所述其它约束条件是指所述至少一项约束条件中除所述目标约束条件之外的约束条件;
其中,所述至少一组测试数据中包括所述第一测试数据,以及各个所述约束条件分别对应的第二测试数据。
4.根据权利要求2所述的方法,其特征在于,所述基于所述接口参数,确定所述第一功能接口对应的所述测试数据所包含的数据类型,包括:
基于所述接口参数,确定所述第一功能接口对应的至少一组数据类型;
根据所述至少一组数据类型,确定至少一组所述测试数据所包含的数据类型;其中,不同组的测试数据所包含的数据类型不同。
5.根据权利要求1所述的方法,其特征在于,所述在所述处理结果与所述测试数据的预期结果相匹配的情况下,确定所述应用程序的第一功能正常,包括:
在所述处理结果与所述预期结果之间的差距满足要求的情况下,确定所述应用程序的第一功能正常。
6.根据权利要求1所述的方法,其特征在于,所述基于所述接口参数获取所述第一功能接口对应的测试数据之后,还包括:
获取所述第一功能成功实现时的至少一项约束条件;
以所述至少一项约束条件为基准,确定所述测试数据的预期结果。
7.根据权利要求1所述的方法,其特征在于,所述调用所述第一功能接口对所述测试数据进行处理,得到所述测试数据的处理结果之后,还包括:
在所述处理结果与所述预期结果未匹配的情况下,确定所述应用程序的第一功能异常;
生成用于指示所述第一功能异常的报警信息。
8.根据权利要求7所述的方法,其特征在于,所述生成用于指示所述第一功能异常的报警信息,包括:
在所述第一功能异常的情况下,确定所述测试数据未满足的约束条件,以及所述测试数据已满足的约束条件;其中,所述约束条件是指所述第一功能成功实现时所需具备的条件;
根据所述测试数据未满足的约束条件,以及所述测试数据已满足的约束条件,生成所述报警信息。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述应用程序的测试链路,所述测试链路用于指示所述应用程序的各个功能接口的测试顺序;
基于所述测试链路,确定所述第一功能接口。
10.根据权利要求9所述的方法,其特征在于,所述基于所述测试链路,确定所述第一功能接口,包括:
从多个所述功能接口中确定至少一个未测试的功能接口;
基于所述测试顺序,从所述至少一个未测试的功能接口中,选择至少一个功能接口确定为所述第一功能接口。
11.根据权利要求9所述的方法,其特征在于,所述基于所述测试链路,确定所述第一功能接口,包括:
从多个所述功能接口中获取已测试的功能接口;
确定在所述已测试的功能接口之后进行测试,且测试顺序与所述已测试的功能接口相邻的至少一个功能接口确定为所述第一功能接口。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述方法还包括:
在所述应用程序发生更新的情况下,获取所述应用程序的更新数据;
基于所述更新数据,对所述应用程序的功能接口进行更新。
13.根据权利要求12所述的方法,其特征在于,所述基于所述更新数据,对所述应用程序的功能接口进行更新,包括以下至少一项:
若所述更新数据中包括新增功能,在所述应用程序的测试链路中增加所述新增功能对应的功能接口;
若所述更新数据中包括已有功能接口的更新参数,基于所述更新参数对所述已有功能接口的接口参数进行更新;
若所述更新数据中包括已有功能的更新条件,基于所述更新条件对所述已有功能的约束条件进行更新。
14.一种应用程序的功能检测装置,其特征在于,所述装置包括:
参数获取模块,用于获取应用程序待测试的第一功能接口的接口参数,所述第一功能接口用于实现所述应用程序的第一功能;
数据获取模块,用于基于所述接口参数获取所述第一功能接口对应的测试数据,所述接口参数用于定义所述第一功能接口的输入数据的数据类型;
数据处理模块,用于调用所述第一功能接口对所述测试数据进行处理,得到所述测试数据的处理结果;
功能检测模块,用于在所述处理结果与所述测试数据的预期结果相匹配的情况下,确定所述应用程序的第一功能正常。
15.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至13任一项所述的应用程序的功能检测方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至13任一项所述的应用程序的功能检测方法。
17.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现如权利要求1至13任一项所述的应用程序的功能检测方法。
CN202111165021.5A 2021-09-30 2021-09-30 应用程序的功能检测方法、装置、设备及存储介质 Active CN113821443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111165021.5A CN113821443B (zh) 2021-09-30 2021-09-30 应用程序的功能检测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111165021.5A CN113821443B (zh) 2021-09-30 2021-09-30 应用程序的功能检测方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113821443A true CN113821443A (zh) 2021-12-21
CN113821443B CN113821443B (zh) 2023-06-16

Family

ID=78920041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111165021.5A Active CN113821443B (zh) 2021-09-30 2021-09-30 应用程序的功能检测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113821443B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695267A (zh) * 2022-10-28 2023-02-03 北京鼎泰智源科技有限公司 一种面向数据接口的测试和验证方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180335828A1 (en) * 2017-05-19 2018-11-22 Qualcomm Incorporated Systems and methods for reducing memory power consumption via device-specific customization of ddr interface parameters
CN109032956A (zh) * 2018-09-11 2018-12-18 郑州云海信息技术有限公司 一种接口测试方法及装置
CN111045921A (zh) * 2019-10-12 2020-04-21 平安普惠企业管理有限公司 自动化接口测试方法、装置、计算机设备及存储介质
CN111737137A (zh) * 2020-06-24 2020-10-02 重庆紫光华山智安科技有限公司 接口测试数据生成方法、装置、主机及存储介质
CN111813701A (zh) * 2020-09-09 2020-10-23 平安国际智慧城市科技股份有限公司 基于http的接口测试方法、装置、计算机设备及存储介质
CN112115057A (zh) * 2020-09-24 2020-12-22 京东数字科技控股股份有限公司 应用程序页面搭建流程的自动测试方法、装置及设备
CN113126955A (zh) * 2019-12-30 2021-07-16 深圳市华胜软件技术有限公司 一种随机数据生成方法、装置、智能终端及存储介质
CN113220588A (zh) * 2021-06-02 2021-08-06 北京锐安科技有限公司 一种数据处理的自动化测试方法、装置、设备及存储介质
CN113342678A (zh) * 2021-06-29 2021-09-03 北京锐安科技有限公司 一种接口自动化测试方法、装置、电子设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180335828A1 (en) * 2017-05-19 2018-11-22 Qualcomm Incorporated Systems and methods for reducing memory power consumption via device-specific customization of ddr interface parameters
CN109032956A (zh) * 2018-09-11 2018-12-18 郑州云海信息技术有限公司 一种接口测试方法及装置
CN111045921A (zh) * 2019-10-12 2020-04-21 平安普惠企业管理有限公司 自动化接口测试方法、装置、计算机设备及存储介质
CN113126955A (zh) * 2019-12-30 2021-07-16 深圳市华胜软件技术有限公司 一种随机数据生成方法、装置、智能终端及存储介质
CN111737137A (zh) * 2020-06-24 2020-10-02 重庆紫光华山智安科技有限公司 接口测试数据生成方法、装置、主机及存储介质
CN111813701A (zh) * 2020-09-09 2020-10-23 平安国际智慧城市科技股份有限公司 基于http的接口测试方法、装置、计算机设备及存储介质
CN112115057A (zh) * 2020-09-24 2020-12-22 京东数字科技控股股份有限公司 应用程序页面搭建流程的自动测试方法、装置及设备
CN113220588A (zh) * 2021-06-02 2021-08-06 北京锐安科技有限公司 一种数据处理的自动化测试方法、装置、设备及存储介质
CN113342678A (zh) * 2021-06-29 2021-09-03 北京锐安科技有限公司 一种接口自动化测试方法、装置、电子设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RUI LI等: "The implementation of user interface autogenerate for spacecraft automatic tests based on ontology", 2015 12TH INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS AND KNOWLEDGE DISCOVERY (FSKD), pages 2676 - 2681 *
尹子越: "Web应用自动化测试系统执行服务的设计和实现", 中国优秀硕士学位论文全文数据库 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695267A (zh) * 2022-10-28 2023-02-03 北京鼎泰智源科技有限公司 一种面向数据接口的测试和验证方法及装置
CN115695267B (zh) * 2022-10-28 2024-05-03 北京鼎泰智源科技有限公司 一种面向数据接口的测试和验证方法及装置

Also Published As

Publication number Publication date
CN113821443B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN107885656B (zh) 产品算法自动化测试方法及应用服务器
CN108900382B (zh) 测试方法及其装置
CN112187585A (zh) 网络协议测试方法及装置
CN110569159A (zh) 挡板生成方法、装置、设备及计算机存储介质
CN111694644A (zh) 基于机器人操作系统的消息处理方法、装置及计算机设备
CN111611140A (zh) 埋点数据的上报验证方法、装置、电子设备及存储介质
CN111679968A (zh) 接口调用异常的检测方法、装置、计算机设备及存储介质
CN113821443B (zh) 应用程序的功能检测方法、装置、设备及存储介质
CN108847948B (zh) 活动群的创建方法及装置、介质和计算设备
CN111340574B (zh) 风险用户的识别方法、装置和电子设备
KR102183836B1 (ko) 인공지능 학습 데이터 생성을 위한 크라우드소싱 기반 프로젝트의 작업 예상 소요시간에 기반한 자동 견적 산출 방법
CN115712571A (zh) 一种交互服务测试、装置、计算机设备及存储介质
CN115795920A (zh) 基于多应力耦合加速模型的产品可靠性评价方法和装置
CN113836013A (zh) 一种埋点测试方法、装置、计算机设备和计算机可读存储介质
CN111405297B (zh) 活动榜单结算方法、装置及存储介质
CN114513686A (zh) 视频信息的确定方法、装置以及存储介质
CN107958142B (zh) 用户帐号生成方法及装置
US9990274B2 (en) Testing integrated business systems
CN112416735A (zh) 一种应用程序检测方法、装置及终端设备、存储介质
CN113342795B (zh) 应用程序中数据核对方法、装置、电子设备及存储介质
CN116594914B (zh) 测试数据的生成方法、装置、设备及存储介质
CN114390303B (zh) 数据处理方法、装置、服务器、存储介质及程序产品
CN117724951A (zh) 功能接口的测试数据获取方法、装置、设备及存储介质
CN116450248A (zh) 基于组件的数据处理方法、装置、计算机设备及存储介质
CN116501585A (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