Nothing Special   »   [go: up one dir, main page]

CN112241362B - 一种测试方法、装置、服务器及存储介质 - Google Patents

一种测试方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN112241362B
CN112241362B CN201910659734.3A CN201910659734A CN112241362B CN 112241362 B CN112241362 B CN 112241362B CN 201910659734 A CN201910659734 A CN 201910659734A CN 112241362 B CN112241362 B CN 112241362B
Authority
CN
China
Prior art keywords
user operation
test
test case
server
service 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.)
Active
Application number
CN201910659734.3A
Other languages
English (en)
Other versions
CN112241362A (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 CN201910659734.3A priority Critical patent/CN112241362B/zh
Publication of CN112241362A publication Critical patent/CN112241362A/zh
Application granted granted Critical
Publication of CN112241362B publication Critical patent/CN112241362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种测试方法、装置、服务器及存储介质,所述方法包括:获取针对目标应用的用户操作对应的业务数据,若根据用户操作确定出满足预设的测试用例生成条件,则利用业务数据生成用户操作对应的测试用例,运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。通过实施上述方法,可以基于用户的操作生成测试用例进行功能测试,提升针对应用程序进行功能测试的测试效率。

Description

一种测试方法、装置、服务器及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试方法、装置、服务器及存储介质。
背景技术
随着计算机技术的不断发展,越来越多的应用程序应运而生,为了保证应用程序中的功能在终端(手机、电脑、平板电脑等)中正常运行,需要对应用程序进行大量的功能测试操作。
现有的测试方法主要为人工编写脚本对应用程序进行测试,上述方式需要开发人员花费大量的时间进行代码编辑,且对开发人员的技术要求较高,导致测试过程繁琐,测试效率低下。
发明内容
本发明实施例提供了一种测试方法、装置、服务器及存储介质,可以基于用户的操作生成测试用例进行功能测试,提升针对应用程序进行功能测试的测试效率。
第一方面,本发明实施例提供了一种测试方法,所述方法包括:
获取针对目标应用的用户操作对应的业务数据;
若根据所述用户操作确定出满足预设的测试用例生成条件,则利用所述业务数据生成所述用户操作对应的测试用例;
运行所述用户操作对应的测试用例,以对所述用户操作触发的所述目标应用的功能进行测试。
第二方面,本发明实施例提供了一种测试装置,所述装置包括:
获取模块,用于获取针对目标应用的用户操作对应的业务数据;
生成模块,用于若根据所述用户操作确定出满足预设的测试用例生成条件,则利用所述业务数据生成所述用户操作对应的测试用例;
运行模块,用于运行所述用户操作对应的测试用例,以对所述用户操作触发的所述目标应用的功能进行测试。
第三方面,本发明实施例提供了一种测试服务器,包括处理器、输入接口、输出接口和存储器,所述处理器、输入接口、输出接口和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行第一方面所述的方法。
本发明实施例中,测试服务器获取针对目标应用的用户操作对应的业务数据;若根据用户操作确定出满足预设的测试用例生成条件,则测试服务器利用业务数据生成用户操作对应的测试用例;测试服务器运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。通过实施上述方法,可以基于用户的操作生成测试用例进行功能测试,提升针对应用程序进行功能测试的测试效率;并且上述测试方式可以基于功能实际的运行状态进行场景回放,覆盖到开发人员预先无法想到的测试场景,提升了对应用程序进行功能测试的全面性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种测试系统的结构示意图;
图2是本发明实施例提供的一种测试方法的流程示意图;
图3是本发明实施例提供的另一种测试方法的流程示意图;
图4是本发明实施例提供的又一种测试方法的流程示意图;
图5是本发明实施例提供的一种业务数据示意图;
图6是本发明实施例提供的一种耗时对比示意图;
图7是本发明实施例提供的一种开发门槛对比示意图;
图8是本发明实施例提供的一种测试装置的结构示意图;
图9是本发明实施例提供的一种测试服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
应用程序的测试的目的为确保应用程序的质量,使得应用程序按照正确的方式运行。测试的主要工作为发现应用程序中的错位、有效定义和实现应用程序成分由低层到高层的组装过程、验证应用程序是否满足任务书和系统定义文档所规定的技术要求、为应用程序质量模型的建立提供依据等。应用程序的功能测试不仅是要确保功能能够正常实现,还要给开发人员提供信息,以方便其为风险评估做相应的准备。
本发明实施例的相关技术提及,目前的功能测试方案通常采用人工编码的方式对应用程序的功能进行测试,上述方式需要开发人员花费大量的时间进行代码编辑,且对开发人员的技术要求较高,导致测试过程繁琐,测试效率低下。进一步的,开发人员在测试过程中可能无法对应用程序运行过程中所有的运行场景都进行考虑,导致测试无法对应用程序中所有的功能进行全面覆盖。
基于此,本发明实施例提出了一种测试方案,可以基于用户的操作生成测试用例进行功能测试,在提升针对应用程序进行功能测试的覆盖全面性的同时也提升了功能测试的测试效率。
基于上述描述,本发明实施例提供一种测试系统,请参见图1,该测试系统包括:测试服务器101、业务分发服务器102、数据管理服务器103、终端104和业务服务器105,其中,业务分发服务器102与至少一个终端104、业务服务器105和测试服务器101相连接,测试服务器101与业务分发服务器102和数据管理服务器103相连接,终端104可包括但不限于:手机、平板电脑、电脑等,用于与用户进行交互,例如检测用户针对应用程序中功能的选择操作,并根据用户的操作生成相应的请求包发送至业务分发服务器102。业务分发服务器102接收终端104发送的请求包,并将请求包发送至业务服务器105,业务服务器105响应上述请求包,生成响应包并返回响应包至业务分发服务器102,业务分发服务102器将响应包发送至终端104的同时对此次流程中的请求包和响应包进行存储,具体可以将应用程序的名称、用户操作对应的功能的名称、请求包和响应包以日志(log)文件的形式进行存储,形成一个日志文件。当接收到测试服务101发送的数据调用指令时,业务分发服务器102将上述日志文件发送至测试服务器101,测试服务器101获取用于生成测试用例的模板,并调用测试自动化工具(例如QTA)将日志文件导入模板的对应字段中,生成用户操作对应的测试用例,并将测试用例发送至数据管理服务器103,使得数据管理服务器103对测试用例进行存储,测试服务器101可以基于脚本定时调用数据管理服务器103中存储的测试用例,并基于测试用例对应用程序的功能进行测试。
综上可知,图1所示的测试系统可以获取基于用户的操作形成的请求包和响应包,自动生成测试用例进行功能测试,无需开发人员编辑大量的测试代码,提升针对应用程序进行功能测试的测试效率,并且上述测试方式可以基于功能实际的运行状态进行场景回放,覆盖到开发人员预先无法想到的测试场景,提升了对应用程序进行功能测试的全面性。
基于上述测试系统的实施例的描述,本发明实施例提供一种测试方法,该方法可以应用于图1所示的测试系统中,具体可以由图1所示的测试服务器执行。请参见图2,该测试过程可包括以下步骤S201-S203:
S201、测试服务器获取针对目标应用的用户操作对应的业务数据。
本发明实施例中,目标应用可以为任意一种需要进行测试的应用程序,业务数据具体可以包括用户操作所使用到的目标应用的名称、目标应用的功能的名称、终端基于用户操作生成的请求包以及业务服务器基于请求包返回的响应包。具体实现中,业务数据的生成的流程可以为,用户在终端中的目标应用中输入相应的用户操作,终端检测到用户针对目标应用输入的用户操作后,基于用户操作生成对应的请求包,并将该请求包发送至业务分发服务器,业务分发服务器接收到请求包之后,可以基于负载均衡原理将请求包发送至相应的业务服务器,业务服务器基于请求包中的内容进行响应,生成对应的响应包,并将响应包发送至业务分发服务器,业务分发服务器将上述响应包发送至终端。经过上述过程,业务分发服务器可以将用户操作对应的目标应用的名称、功能的名称、请求包以及响应包作为业务数据,并以日志文件的形式进行存储,日志文件中请求包和响应包具体可为16进制的数字。如图5所示,为一种业务数据的示意图,其中,appid表示目标应用的名称,cmd表示用户操作对应的功能的名称,qmfupstream表示请求包,qmfdownsstream表示响应包。
具体实现中,测试服务器可以基于脚本文件定时获取上述日志文件,具体可以按照第一预设频率从业务分发服务器获取业务数据对应的日志文件,进一步的,测试服务器可以对上述日志文件进行解析,以获取目标应用的用户操作对应的业务数据。
S202、若根据所述用户操作确定出满足预设的测试用例生成条件,则测试服务器利用业务数据生成用户操作对应的测试用例。
本发明实施例中,测试服务器获取到针对目标应用的用户操作对应的业务数据之后,将根据用户操作确定是否满足预设的测试用例生成条件,若满足,则测试服务器利用业务数据生成用户操作对应的测试用例。
在一种实现方式中,测试服务器根据用户操作确定是否满足预设的测试用例生成条件的具体方式可以为,测试服务器获取针对目标应用的历史操作记录,查询历史操作记录中是否包括用户操作的标识;若否,则确定满足预设的测试用例生成条件。其中,历史操作记录包括针对目标应用的历史用户操作的标识,用户操作的标识用于体现用户操作对应的目标应用中功能的名称,如图5中“cmd”对应的内容“RadioService.GetSplashScreen”即为一种用户操作的标识。例如,历史操作记录中记录的用户操作标识包括标识A、标识B和标识C,若测试服务器接收到包括标识D的业务数据之后,则确定业务数据满足预设的测试用例生成条件,并利用业务数据生成用户操作对应的测试用例。进一步的,测试服务器基于用户操作对应的业务数据生成测试用例之后,可以将用户操作的标识添加到历史操作记录中,使得历史操作记录中保存的标识得到更新。通过上述方式,测试服务器可以根据用户使用到的新操作生成测试用例,并及时的对该新操作对应的功能进行测试。
在一种实现方式中,测试服务器根据用户操作确定是否满足预设的测试用例生成条件的具体方式可以为,测试服务器查询数据库中是否存在用户操作对应的测试用例;若否,则测试服务器确定业务数据满足预设的测试用例生成条件。具体的,数据库中预先存储了多种已经测试过的参考测试用例,测试服务器可以检测参考测试用例中的参考请求包是否与业务数据中的请求包相同,且参考测试用例中的参考响应包是否与业务数据中的响应包相同,若是,则确定数据库中存在用户操作对应的测试用例。若否,则确定数据库中不存在用户操作对应的测试用例。通过上述方式,测试服务器可以对用户操作对应的功能进行筛选,使得测试用例不重复生成。
在一种实现方式中,测试服务器根据用户操作确定是否满足预设的测试用例生成条件的具体方式可以为,测试服务器检测用户操作对应的业务数据中是否包含完整的信息,即是否包含目标应用的名称、用户操作对应的功能的名称、请求包以及响应包,若是,则测试服务器确定业务数据满足预设的测试用例生成条件。
需要说明的是,测试服务器利用业务数据生成用户操作对应的测试用例的具体方式可以为,测试服务器获取用于生成测试用例的模板;并调用测试自动化工具将业务数据导入模板的对应字段中,以生成用户操作对应的测试用例。其中,用于生成测试用例的模板具体可以为预先编辑好的程序代码,示例如下:
Chn=RDChannel(qqacc)
svc=GetSpalshScreenService(chn)
upstream=qmf_protocal_define_jce.QmfUpsteam()
upstream.load(‘’)
终端获取到业务数据之后,直接将业务数据中的内容导入模板的对应字段中,如业务数据中请求包为:“qmfupstream:005124F”,将上述数据导入至模板中代码中得到代码“upstream.load(‘005124F’)”,测试服务器可以将业务数据导入模板后生成用户操作对应的测试用例。通过实施上述方法,测试服务器可以在接收到业务数据后直接生成相应的测试用例,而无需开发人员针对每一次测试都编辑代码,提升了应用程序测试的测试效率。
S203、测试服务器运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。
本发明实施例中,测试服务器利用业务数据生成用户操作对应的测试用例之后,可以运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。
在一种实现方式中,测试服务器生成测试用例后,将检测自身当前的运行环境是否满足测试用例运行条件,若满足,则测试服务器可以运行上述测试用例,并得到测试结果,其中,测试用例运行条件可以为当前负载量小于预设负载量、当前时间段在预设时间段内、当前测试的用例的数量小于预设数量等,具体可以由研发人员预先设定。
在一种实现方式中,测试服务器生成测试用例后,也可以将用户操作对应的测试用例存储至数据管理服务器中,具体为,测试服务器将用户操作对应的测试用例发送至数据管理服务器,数据管理服务器对测试用例进行接收并存储,其中,数据管理服务器中存储了至少一个测试用例,上述至少一个测试用例为数据管理服务器历史接收到测试服务器发送的测试用例。测试服务器可以基于预先编辑的脚本文件定时从数据管理服务器中提取用户操作对应的测试用例进行测试,具体为,测试服务器按照第二预设频率从数据管理服务器存储的至少一个测试用例中提取用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。
本发明实施例中,测试服务器获取针对目标应用的用户操作对应的业务数据;若测试服务器根据用户操作确定出满足预设的测试用例生成条件,则利用业务数据生成用户操作对应的测试用例;测试服务器运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。通过实施上述方法,可以基于用户的操作生成测试用例进行功能测试,提升针对应用程序进行功能测试的测试效率以及全面性,如图6所示,为手动编写测试用例所需时间与采用本发明实施例提供的方法生成测试用例所需时间的对比示意图,由图6可知,手动编写测试用例需要大量的时间,而采用本发明实施例提供的方法生成用例的时间趋近于0,即可以立即生成测试用例,因此,本发明实施例所述的方法极大的提升针对应用程序进行功能测试的测试效率。如图7所示,为手动编写测试用例的开发门槛与采用本发明实施例提供的方法生成测试用例的开发门槛的对比示意图,由图7可知,手动编写测试用例对开发人员的技术要求较高,而采用本发明实施例提供的方法生成测试用例则对开发人员技术要求较低。
基于上述测试系统和测试方法的实施例的描述,本发明实施例提供另一种测试方法,该方法可以应用于图1所示的测试系统中,具体可以由图1所示的测试服务器执行。请参见图3,该功能测试过程可包括以下步骤S301-S305:
S301、测试服务器获取针对目标应用的用户操作对应的业务数据。
本发明实施例中,目标应用可以为任意一种需要进行测试的应用程序,业务数据可以包括用户操作所使用到的目标应用的名称、目标应用的功能的名称、终端基于用户操作生成的请求包以及业务服务器基于请求包返回的响应包,具体可以由业务分发服务器在与终端和业务服务器之间进行数据交互时根据接收到的请求包和响应包生成。
进一步的,业务分发服务器还可以根据业务数据中目标应用的功能的名称对业务数据进行分类,并统计预设周期内业务数据对应的用户操作的触发次数,即该类型的业务数据的数量,目标应用的功能的名称由用户操作所确定。测试服务器可以向业务分发服务器发送数据获取请求指令,并接收业务分发服务器发送的用户操作对应的业务数据,以及该类型的业务数据对应的用户操作在预设周期内的触发次数。
S302、若根据所述用户操作确定出满足预设的测试用例生成条件,则测试服务器利用业务数据生成用户操作对应的测试用例。
本发明实施例中,测试服务器获取到针对目标应用的用户操作对应的业务数据之后,将根据用户操作确定是否满足预设的测试用例生成条件,若满足,则测试服务器利用业务数据生成用户操作对应的测试用例。
在一种实现方式中,测试服务器根据用户操作确定是否满足预设的测试用例生成条件的具体方式可以为,测试服务器获取针对目标应用的历史操作记录,查询历史操作记录中是否包括用户操作的标识;若否,则确定满足预设的测试用例生成条件。
在一种实现方式中,测试服务器根据用户操作确定是否满足预设的测试用例生成条件的具体方式可以为,测试服务器查询数据库中是否存在用户操作对应的测试用例;若否,则测试服务器确定满足预设的测试用例生成条件。
在一种实现方式中,测试服务器根据用户操作确定是否满足预设的测试用例生成条件的具体方式可以为,测试服务器检测预设周期内业务数据对应的用户操作的触发次数是否大于目标触发次数,若是,则确定满足预设的测试用例生成条件。其中,目标触发次数可以为历史操作记录中记录的最大触发次数,其中,历史操作记录具体记录了业务分发服务器历史上传的业务数据以及业务数据对应的用户操作的历史触发次数。或者,目标触发次数也可以有研发人员预先设定。
S303、测试服务器将用户操作对应的测试用例存储至数据管理服务器中。
本发明实施例中,测试服务器获取到户操作对应的测试用例之后,可以将测试用例发送至与其相连接的数据管理服务器,数据管理服务器对接收到的测试用例进行存储。
S304、测试服务器按照第二预设频率从数据管理服务器存储的至少一个测试用例中提取所述用户操作对应的测试用例。
本发明实施例中,测试服务器将测试用例发送至与其相连接的数据管理服务器之后,可以按照第二预设频率从数据管理服务器存储的至少一个测试用例中提取用户操作对应的测试用例。其中,第二预设频率可以为1小时、1天等,具体可以由研发人员预先设定,通过上述方式,测试服务器可以在需要进行测试时直接从数据管理服务器中获取到对应的测试用例,而无需开发人员进行代码编辑,提升了测试效率。
S305、测试服务器运行用户操作对应的测试用例,以对用户操作触发的所述目标应用的功能进行测试。
本发明实施例中,测试服务器接收到数据管理服务器发送的用户操作对应的测试用例后,可以运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。其中,测试用例的运行次数可以由测试用例对应的用户操作的触发次数确定。在一种实现方式中,测试服务器获取本次用户操作的触发次数,以及历史记录中记录的该用户操作的历史触发次数,并基于本次的触发次数和历史触发次数确定触发次数的变化规律,基于变化规律确定本次测试的测试用例的运行次数。在一种实现方式中,测试用例的运行次数也可以与用户操作的触发次数相同,则可以实现对真实的功能运用场景的回放。或者测试用例的运行次数可以为用户操作的触发次数的N倍,以实现对目标应用的功能的压力检测,其中,N为正整数,具体可以由研发人员预先设定。
需要说明的是,测试服务器运行用户操作对应的测试用例之前,还可以检测自身是否满足用例运行条件,若满足,则测试服务器运行测试用例,其中,用例运行条件可以为当前负载量小于预设负载量、当前时间段在预设时间段内、当前测试的用例的数量小于预设数量等,具体可以由研发人员预先设定。
本发明实施例中,测试服务器获取针对目标应用的用户操作对应的业务数据;若测试服务器根据用户操作确定出满足预设的测试用例生成条件,则利用业务数据生成用户操作对应的测试用例;测试服务器将用户操作对应的测试用例存储至数据管理服务器中,并按照第二预设频率从数据管理服务器存储的至少一个测试用例中提取所述用户操作对应的测试用例,测试服务器运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。通过实施上述方法,可以基于用户的操作生成测试用例进行功能测试,提升针对应用程序进行功能测试的测试效率。
基于上述测试系统及测试方法的实施例的描述,本发明实施例提供又一种测试方法,该方法可以应用于图1所示的测试系统中,具体可以由图1所示终端、业务分发服务器、业务服务器、测试服务器和数据管理服务器交互执行。请参见图4,该方法可包括以下步骤S401-S409:
S401、终端检测到针对目标应用的用户操作,并根据用户操作生成请求包发送至业务分发服务器。
S402、业务分发服务器将请求包发送至业务服务器。
S403、业务服务器根据接收到请求包生成响应包,并将生成的响应包发送至业务分发服务器。
S404、业务分发服务器将响应包发送至终端,并根据请求包和响应包生成针对目标应用的用户操作对应的业务数据。
S405、测试服务器向业务分发服务器发送数据获取请求指令,并获取到针对目标应用的用户操作对应的业务数据。
S406、测试服务器根据用户操作对应的业务数据生成测试用例,并将测试用例发送至数据管理服务器中。
S407、数据管理服务器对用户操作对应的测试用例进行接收,并存储。
S408、测试服务器按照第二预设频率从数据管理服务器存储的至少一个测试用例中提取所述用户操作对应的测试用例。
S409、测试服务器运行用户操作对应的测试用例,以对用户操作触发的所述目标应用的功能进行测试。
通过实施上述方法,可以基于用户的操作生成测试用例进行功能测试,提升针对应用程序进行功能测试的测试效率。
基于上述测试方法实施例的描述,本发明实施例还公开了一种测试装置,该测试装置可以应用于图1所示的测试系统中,具体地该测试装置可运行于图1所示的测试系统中的测试服务器。该测试装置可以是运行于测试服务器中的一个计算机程序(包括程序代码),也可以是包含在测试服务器中的一个实体装置。该测试装置可以执行图2-4所示的方法。请参见图8,该测试装置80包括:获取模块801、生成模块802、运行模块803、查询模块804、确定模块805和存储模块806。
获取模块801,用于获取针对目标应用的用户操作对应的业务数据;
生成模块802,用于若根据所述用户操作确定出满足预设的测试用例生成条件,则利用所述业务数据生成所述用户操作对应的测试用例;
运行模块803,用于运行所述用户操作对应的测试用例,以对所述用户操作触发的所述目标应用的功能进行测试。
在一种实现方式中,所述业务数据包括所述用户操作的标识,所述获取模块801具体用于:
获取模块801,还用于获取针对所述目标应用的历史操作记录,所述历史操作记录包括针对所述目标应用的历史操作的标识;
查询模块804,用于查询所述历史操作记录中是否包括所述用户操作的标识;
确定模块805用于若否,则确定满足预设的测试用例生成条件。
在一种实现方式中,查询模块804,用于查询数据库中是否存在所述用户操作对应的测试用例;
确定模块805用于若否,则确定满足预设的测试用例生成条件。
在一种实现方式中,获取模块801,还用于获取用于生成测试用例的模板;
生成模块802,用于调用测试自动化工具将所述业务数据导入所述模板的对应字段中,以生成所述用户操作对应的测试用例。
在一种实现方式中,获取模块801,具体用于:
按照第一预设频率从业务分发服务器获取所述业务数据对应的日志文件;
解析所述日志文件,以获取所述业务数据。
在一种实现方式中,存储模块806,用于将所述用户操作对应的测试用例存储至数据管理服务器中,所述数据管理服务器中存储了至少一个测试用例;
获取模块801,用于按照第二预设频率从所述数据管理服务器存储的所述至少一个测试用例中提取所述用户操作对应的测试用例。
在一种实现方式中,存储模块806,用于将所述用户操作的标识添加到所述历史操作记录中。
本发明实施例中,获取模块801获取针对目标应用的用户操作对应的业务数据;若根据用户操作确定出满足预设的测试用例生成条件,则生成模块802利用业务数据生成用户操作对应的测试用例;运行模块803运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。通过实施上述方法,可以基于用户的操作生成测试用例进行功能测试,提升针对应用程序进行功能测试的测试效率。
请参见图9,为本发明实施例提供的一种测试服务器的结构示意图。如图9所示,该测试服务器包括:至少一个处理器901,输入设备903,输出设备904,存储器905,至少一个通信总线902。其中,通信总线902用于实现这些组件之间的连接通信。其中,存储器905可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器905可选的还可以是至少一个位于远离前述处理器901的存储装置。其中处理器901可以结合图8所描述的装置,存储器905中存储一组程序代码,且处理器901,输入设备903,输出设备904调用存储器905中存储的程序代码,用于执行以下操作:
输入设备903,用于获取针对目标应用的用户操作对应的业务数据;
处理器901,用于若根据所述用户操作确定出满足预设的测试用例生成条件,则利用所述业务数据生成所述用户操作对应的测试用例;
处理器901,运行所述用户操作对应的测试用例,以对所述用户操作触发的所述目标应用的功能进行测试。
在一种实现方式中,处理器901,具体用于:
获取针对所述目标应用的历史操作记录,所述历史操作记录包括针对所述目标应用的历史操作的标识;
查询所述历史操作记录中是否包括所述用户操作的标识;
若否,则确定满足预设的测试用例生成条件
在一种实现方式中,处理器901,具体用于:
查询数据库中是否存在所述用户操作对应的测试用例;
若否,则确定满足预设的测试用例生成条件。
在一种实现方式中,处理器901,具体用于:
获取用于生成测试用例的模板;
调用测试自动化工具将所述业务数据导入所述模板的对应字段中,以生成所述用户操作对应的测试用例。
在一种实现方式中,处理器901,具体用于:
按照第一预设频率从业务分发服务器获取所述业务数据对应的日志文件;
解析所述日志文件,以获取所述业务数据。
在一种实现方式中,处理器901,具体用于:
将所述用户操作对应的测试用例存储至数据管理服务器中,所述数据管理服务器中存储了至少一个测试用例;
按照第二预设频率从所述数据管理服务器存储的所述至少一个测试用例中提取所述用户操作对应的测试用例。
在一种实现方式中,处理器901,具体用于:
将所述用户操作的标识添加到所述历史操作记录中。
本发明实施例中,输入设备903获取针对目标应用的用户操作对应的业务数据;若根据用户操作确定出满足预设的测试用例生成条件,则处理器901利用业务数据生成用户操作对应的测试用例;处理器901运行用户操作对应的测试用例,以对用户操作触发的目标应用的功能进行测试。通过实施上述方法,可以基于用户的操作生成测试用例进行功能测试,提升针对应用程序进行功能测试的测试效率。
本发明实施例中所述模块,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
应当理解,在本发明实施例中,所称处理器901可以是中央处理模块(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
总线902可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互联(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等,该总线902可以分为地址总线、数据总线、控制总线等,为便于表示,图9仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种测试方法,其特征在于,所述方法包括:
获取针对目标应用的用户操作对应的业务数据;其中,所述业务数据包括所述目标应用的名称、所述目标应用的功能的名称、终端基于所述用户操作生成的请求包以及业务服务器基于所述请求包返回的响应包;
若根据所述用户操作确定出满足预设的测试用例生成条件,则利用所述业务数据生成所述用户操作对应的测试用例;
根据所述用户操作的触发次数确定所述用户操作对应的测试用例的运行次数;
按照所述运行次数运行所述用户操作对应的测试用例,以对所述用户操作触发的所述目标应用的功能进行测试。
2.根据权利要求1所述的方法,其特征在于,所述业务数据包括所述用户操作的标识,所述根据所述用户操作确定出满足预设的测试用例生成条件,包括:
获取针对所述目标应用的历史操作记录,所述历史操作记录包括针对所述目标应用的历史操作的标识;
查询所述历史操作记录中是否包括所述用户操作的标识;
若否,则确定满足预设的测试用例生成条件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述用户操作确定出满足预设的测试用例生成条件,包括:
查询数据库中是否存在所述用户操作对应的测试用例;
若否,则确定满足预设的测试用例生成条件。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述利用所述业务数据生成所述用户操作对应的测试用例,包括:
获取用于生成测试用例的模板;
调用测试自动化工具将所述业务数据导入所述模板的对应字段中,以生成所述用户操作对应的测试用例。
5.根据权利要求1所述的方法,其特征在于,所述获取针对目标应用的用户操作对应的业务数据,包括:
按照第一预设频率从业务分发服务器获取所述业务数据对应的日志文件;
解析所述日志文件,以获取所述业务数据。
6.根据权利要求1所述的方法,其特征在于,所述利用所述业务数据生成所述用户操作对应的测试用例之后,所述按照所述运行次数运行所述用户操作对应的测试用例,以对所述用户操作触发的所述目标应用的功能进行测试之前,所述方法还包括:
将所述用户操作对应的测试用例存储至数据管理服务器中,所述数据管理服务器中存储了至少一个测试用例;
按照第二预设频率从所述数据管理服务器存储的所述至少一个测试用例中提取所述用户操作对应的测试用例。
7.根据权利要求2所述的方法,其特征在于,所述确定满足预设的测试用例生成条件之后,所述方法还包括:
将所述用户操作的标识添加到所述历史操作记录中。
8.一种测试装置,其特征在于,所述装置包括:
获取模块,用于获取针对目标应用的用户操作对应的业务数据;其中,所述业务数据包括所述目标应用的名称、所述目标应用的功能的名称、终端基于所述用户操作生成的请求包以及业务服务器基于所述请求包返回的响应包;
生成模块,用于若根据所述用户操作确定出满足预设的测试用例生成条件,则利用所述业务数据生成所述用户操作对应的测试用例;
运行模块,用于根据所述用户操作的触发次数确定所述用户操作对应的测试用例的运行次数;按照所述运行次数运行所述用户操作对应的测试用例,以对所述用户操作触发的所述目标应用的功能进行测试。
9.一种测试服务器,其特征在于,包括处理器、输入接口、输出接口和存储器,所述处理器、输入接口、输出接口和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN201910659734.3A 2019-07-19 2019-07-19 一种测试方法、装置、服务器及存储介质 Active CN112241362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910659734.3A CN112241362B (zh) 2019-07-19 2019-07-19 一种测试方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910659734.3A CN112241362B (zh) 2019-07-19 2019-07-19 一种测试方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN112241362A CN112241362A (zh) 2021-01-19
CN112241362B true CN112241362B (zh) 2024-11-08

Family

ID=74168038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910659734.3A Active CN112241362B (zh) 2019-07-19 2019-07-19 一种测试方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN112241362B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817851A (zh) * 2021-01-29 2021-05-18 北京嘀嘀无限科技发展有限公司 业务的测试方法、装置、设备、介质及计算机程序产品
CN112925725B (zh) * 2021-04-09 2024-03-15 网易(杭州)网络有限公司 数据测试方法和装置、可读存储介质、电子设备
CN114661608A (zh) * 2022-04-02 2022-06-24 中国民航信息网络股份有限公司 一种测试用例获取方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512046A (zh) * 2016-02-01 2016-04-20 北京理工大学 基于粒子群优化算法的Android自动化测试方法
CN108415831A (zh) * 2018-02-05 2018-08-17 五八有限公司 测试用例生成方法及装置、电子设备和可读存储介质
CN109144842A (zh) * 2017-06-16 2019-01-04 百度在线网络技术(北京)有限公司 用于测试应用的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521608A (zh) * 2009-01-22 2009-09-02 厦门东南融通系统工程有限公司 一种测试用例的版本管理方法
CN107133161B (zh) * 2016-02-26 2021-03-05 中移动信息技术有限公司 一种生成客户端性能测试脚本方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512046A (zh) * 2016-02-01 2016-04-20 北京理工大学 基于粒子群优化算法的Android自动化测试方法
CN109144842A (zh) * 2017-06-16 2019-01-04 百度在线网络技术(北京)有限公司 用于测试应用的方法和装置
CN108415831A (zh) * 2018-02-05 2018-08-17 五八有限公司 测试用例生成方法及装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
CN112241362A (zh) 2021-01-19

Similar Documents

Publication Publication Date Title
CN107193750B (zh) 一种脚本录制方法和装置
CN109828903B (zh) 自动化测试方法、装置、计算机装置及存储介质
CN107122258B (zh) 用于测试接口的状态码校验的方法及设备
CN107229559B (zh) 针对业务系统的测试完整度的检测方法和装置
CN111897724B (zh) 一种适用于云平台的自动化测试方法及装置
CN107436844B (zh) 一种接口用例合集的生成方法及装置
CN107391359B (zh) 一种业务测试方法及装置
CN112241362B (zh) 一种测试方法、装置、服务器及存储介质
CN109857404B (zh) Sdk接口的封装方法及装置、存储介质、电子设备
CN114546738B (zh) 服务器通用测试方法、系统、终端及存储介质
CN106294134A (zh) 代码的崩溃定位方法及装置
CN110727581B (zh) 崩溃定位方法与电子设备
CN109189677B (zh) 一种针对变量数值更新状态的测试方法及装置
CN114328250A (zh) 软件系统自动自检方法、介质和装置
CN108255715B (zh) 一种测试结果处理方法及终端设备
CN115022201B (zh) 一种数据处理功能测试方法、装置、设备及存储介质
CN113608990B (zh) 终端性能检测方法、设备及存储介质
CN108563578A (zh) Sdk兼容性检测方法、装置、设备及可读存储介质
CN110532186B (zh) 利用验证码进行测试的方法、装置、电子设备和存储介质
CN114564206A (zh) 一种数据非空校验方法、装置、设备及可读存储介质
CN113282506A (zh) 测试数据获取方法、装置、设备及计算机可读存储介质
CN113806233A (zh) 程序崩溃信息的获取方法、装置、电子设备及存储介质
CN112631929A (zh) 测试用例生成方法、装置、存储介质及电子设备
CN117667604B (zh) 追踪事件的数据监测方法、装置、电子设备及存储介质
CN117251385B (zh) mock数据的获取方法、装置、终端设备和可读存储介质

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