CN114610605A - 测试方法、装置、终端设备和存储介质 - Google Patents
测试方法、装置、终端设备和存储介质 Download PDFInfo
- Publication number
- CN114610605A CN114610605A CN202210178021.7A CN202210178021A CN114610605A CN 114610605 A CN114610605 A CN 114610605A CN 202210178021 A CN202210178021 A CN 202210178021A CN 114610605 A CN114610605 A CN 114610605A
- Authority
- CN
- China
- Prior art keywords
- test
- case
- service
- test case
- tested
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 900
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000010998 test method Methods 0.000 title claims abstract description 12
- 230000006870 function Effects 0.000 claims abstract description 266
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000002159 abnormal effect Effects 0.000 claims description 123
- 238000004590 computer program Methods 0.000 claims description 21
- 230000001419 dependent effect Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 38
- 238000007726 management method Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000006855 networking Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种测试方法、装置、终端设备和存储介质,包括:获取包括至少一个待测试的业务功能和对应的测试参数的测试请求;根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例;当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据时,从执行完成的用例集中查找功能接口依赖的目标测试返回数据;根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包;将业务指令包发送至对应的业务服务器,以指示业务服务器对对应的、待测试的业务功能进行测试;可以实现一键生成多个测试用例,提高测试用例生成效率。
Description
技术领域
本发明涉及视联网技术领域,特别是涉及一种测试方法、装置、终端设备和存储介质。
背景技术
视联网是能够实现高清视频实时传输的实时网络,将众多互联网应用推向高清视频化、高清面对面。
由于视联网的特殊性,市面上的自动化测试系统无法满足视联网业务自动化测试要求;相关技术中,测试人员在进行视联网业务测试时,都是人工进行测试,通过手动逐条创建测试用例以及给每条测试用例写入固定参数,当环境发生变化时,需逐条修改和删减测试用例,存在测试效率低下、灵活性低等问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种测试方法、装置、终端设备和存储介质。
第一个方面,本发明实施例提供一种测试方法,所述方法包括:
获取测试请求,所述测试请求包括至少一个待测试的业务功能和所述待测试的业务功能对应的测试参数;
根据所述待测试的业务功能对应的测试参数,生成所述待测试的业务功能对应的至少两个测试用例;
当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到所述功能接口依赖的目标测试返回数据时,根据所述当前执行的测试用例和所述目标测试返回数据,生成所述当前执行的测试用例对应的业务指令包;
将所述业务指令包发送至对应的业务服务器,所述业务指令包用于指示所述业务服务器对对应的、待测试的业务功能进行测试。
第二个方面,本发明实施例提供一种测试装置,所述装置包括:
启动测试模块,用于获取测试请求,所述测试请求包括至少一个待测试的业务功能和所述待测试的业务功能对应的测试参数;
生成用例模块,用于根据所述待测试的业务功能对应的测试参数,生成所述待测试的业务功能对应的至少两个测试用例;
生成指令模块,用于当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到所述功能接口依赖的目标测试返回数据时,根据所述当前执行的测试用例和所述目标测试返回数据,生成所述当前执行的测试用例对应的业务指令包;
发送指令模块,用于将所述业务指令包发送至对应的业务服务器,所述业务指令包用于指示所述业务服务器对对应的、待测试的业务功能进行测试。
第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的测试方法。
第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的测试方法。
本发明实施例包括以下优点:
本发明实施例提供的测试方法、装置、终端设备和存储介质,通过获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数;根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例;当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到功能接口依赖的目标测试返回数据时,根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包;将业务指令包发送至对应的业务服务器,由业务服务器根据业务指令包的指示对对应的业务功能进行测试;本发明实施例可以实现一键生成多个测试用例,提高测试用例生成的效率;同时,在执行测试用例时,当对应的功能接口依赖其他功能接口的测试返回数据时,可以自动从已执行完成的用例集中查找该测试用例所依赖的测试返回数据,以生成对应的业务指令包,可以有效提高执行测试用例的灵活性和处理结果的准确性。
附图说明
图1是本发明的一种测试方法实施例的步骤流程图;
图2是本发明的自动化测试系统与视联网产品连接的示意图;
图3是本发明的另一种数据处理方法的步骤流程图;
图4是本发明的一种测试方法实施例的设计方案示意图;
图5是本发明的一种数据处理装置实施例的结构框图;
图6是本发明的一种终端设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化、高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
由于视联网的特殊性,市面上的自动化测试系统无法满足视联网业务自动化测试要求;相关技术中,测试人员在进行视联网业务测试时,都是人工进行测试,存在测试效率低下、测试场景不全面导致的处理结果不准确等问题。
鉴于此,提出了本申请实施例的核心构思之一,遵循视联网的协议,获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数;根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例;当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据时,从执行完成的用例集中查找功能接口依赖的测试返回数据,即目标测试返回数据;根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包;将业务指令包发送至对应的业务服务器,以指示业务服务器根据业务指令包对对应的、待测试的业务功能进行测试;本发明实施例可以实现一键生成多个测试用例,提高测试用例生成的效率;同时,在执行测试用例时,当对应的功能接口依赖其他功能接口的测试返回数据时,可以自动从已执行完成的用例集中查找该测试用例所依赖的测试返回数据,以生成对应的业务指令包,可以有效提高执行测试用例的灵活性和处理结果的准确性。
参照图1,示出了本发明的一种测试方法实施例的步骤流程图,该方法用于测试视联网产品的业务功能,视联网产品可以包括部署在视联网中的终端设备(启明、极光等)、核心服务器、会管服务器、网管服务器等。本实施例的执行主体为自动化测试系统(或称测试装置),如图2所示,自动化测试系统可与视联网产品进行TCP连接和通信;示例性地,自动化测试系统可以部署在X86服务器中。
该方法具体可以包括如下步骤:
步骤101,获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数。
测试请求用于指示自动化测试系统生成测试用例。该获取测试请求的过程可以包括生成测试请求、接收测试请求等,即自动化测试系统可以接收用户确认的待测试的业务功能以及对应的测试参数,自动生成测试请求;也可以接收与其通信连接的其他设备发送的测试请求。其中,测试参数是生成业务功能对应的测试参数所需的参数,测试参数与待测试的业务功能相关,尤其是不同业务模块下的业务功能对应的测试参数一般不同。
步骤102,根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例。
自动化测试系统在获取到测试请求后,当待测试的业务功能有多个时,针对每个待测试的业务功能,可以根据测试请求中的待测试的业务功能和对应的测试参数,生成待测试的业务功能对应的至少两个测试用例,集合所有待测试的业务功能对应的测试用例可以得到测试用例集。
步骤103,当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到功能接口依赖的目标测试返回数据时,根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包。
自动化测试系统根据测试用例对应的待测试的功能,可以确定测试用例对应的功能接口。功能接口用于封装业务指令包。功能接口依赖其他功能接口的测试返回数据是指该功能接口在封装业务指令包时,需要使用其他功能接口对应的测试用例测试后返回的值。为便于区分,将当前执行的测试用例对应的功能接口依赖的其他功能接口定义为目标功能接口。而目标功能接口对应的测试用例测试后返回的值记为目标测试返回数据,在本实施例中,可以从执行完成的用例集中查找。
在获取到目标测试返回数据后,自动化测试系统中与当前执行的测试用例对应的功能接口根据当前执行的测试用例中的用例参数和目标测试返回数据,封装当前执行的测试用例对应的业务指令包。
步骤104,将业务指令包发送至对应的业务服务器,业务指令包用于指示业务服务器对对应的、待测试的业务功能进行测试。
在生成业务指令包后,将业务指令包发送至对应的业务服务器,由业务服务器对业务指令包进行处理,以对业务指令包对应的、待测试的业务功能进行测试。本发明实施例提供的测试方法,通过获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数;根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例;当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到功能接口依赖目标测试返回数据时,根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包;将业务指令包发送至对应的业务服务器,以指示业务服务器根据业务指令包对对应的、待测试的业务功能进行测试并;本发明实施例可以实现一键生成多个测试用例,提高测试用例生成的效率;同时,在执行测试用例时,当对应的功能接口依赖其他功能接口的测试返回数据时,可以自动从已执行完成的用例集中查找该测试用例所依赖的测试返回数据,以生成对应的业务指令包,可以有效提高执行测试用例的灵活性和处理结果的准确性。
本发明另一实施例对上述实施例提供的测试方法做进一步补充说明。
如图3所示,示出了本发明的另一种测试方法实施例的步骤流程图,该测试方法包括如下步骤:
步骤301,获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数。
测试请求用于指示自动化测试系统生成测试用例。该获取测试请求的过程可以包括生成测试请求、接收测试请求等,即自动化测试系统可以接收用户确认的待测试的业务功能以及对应的测试参数,自动生成测试请求;也可以接收与其通信连接的其他设备发送的测试请求。测试参数是生成业务功能对应的测试参数所需的参数,测试参数与待测试的业务功能相关,尤其是不同业务模块下的业务功能对应的测试参数一般不同。
在一示例中,自动化测试系统可以接收用户确认的待测试的业务功能以及对应的测试参数,自动生成测试请求。具体地,用户可以在自动化测试系统中创建测试任务,确定需要测试的业务功能,并输入对应的测试参数,自动化测试系统根据接收的待测试的业务功能及对应的测试参数,自动生成测试请求。该示例中,获取测试请求的过程可以包括:
接收创建测试任务指令;
展示业务功能列表;业务功能列表包括多个业务功能;
响应于针对业务功能列表中至少一个业务功能的选择操作,确定待测试的业务功能;
接收待测试的业务功能对应的测试参数,生成测试请求,并获取测试请求。
本示例中,自动化测试系统可以预先生成包含其可以测试的所有业务功能的功能库,以及功能库中每个业务功能对应的异常用例生成规则库(也称异常规则库)。具体地,用户可以将记录各个业务功能的全功能测试场景的文件发送到自动化测试系统中,由自动化测试系统自动将该文件中记录的信息进行编码,得到代码化的功能库和异常规则库。
为了方便理解,下面列举一个具体示例对全功能测试场景的文件进行说明,参见表1。
表1
表1为本发明实施例的各个业务功能的全功能测试场景表.其中,功能库中的每一个功能(也称业务功能)相当于一个功能接口。
在运行自动化测试系统的终端设备的屏幕上可以显示自动化测试系统对应的图形用户界面,该图形用户界面中包括创建测试任务控件,当用户触发该创建测试任务控件时,自动化测试系统相应地接收到创建测试任务指令,此时,可以在图形用户界面中展示业务功能列表,该业务功能列表包括多个业务功能。可选地,多个业务功能可以按照业务模块进行分类展示。继续以上述表1所示的示例为例,当业务功能包括注册用户、登录用户、登出用户、创建会议、开始会议时,可以将注册用户、登录用户、登出用户归类到用户管理模块下,将创建会议、开始会议归类到会议管理模块下。
当用户选择业务功能列表中的一个或多个业务功能后,即可确定待测试的业务功能;由于不同的待测试的业务功能一般需要不同的测试参数以生成对应的测试用例,因此,在确定待测试的业务功能后,可以在图形用户界面中弹出参数输入界面,用于接收生成待测试的业务功能对应的测试用例需要的测试参数。当用户在参数输入界面输入相应的测试参数后,可以点击确认按钮,自动化测试系统即可生成测试请求并获取该测试请求。
需要说明的是,用户在选择待测试的业务功能时,当业务功能按照业务模块进行分类时,用户选择了某个业务模块,即可以确定用户选择该业务模块下的所有业务功能作为待测试的业务功能。例如,当用户选择用户管理模块时,则确定待测试的业务功能为用户管理模块下的所有业务功能,即待测试的业务功能包括注册用户、登录用户、登出用户。当然用户也可以单独选择需要测试的功能模块。例如,用户可以选择用户管理模块下的注册用户和登录用户作为待测试的业务功能。
还需要说明的是,用户在选择待测试的业务功能时,可以选择多个业务模块。例如,用户可以选择用户管理模块和会议管理模块,此时,待测试的业务功能为用户管理模块下的所有业务功能以及会议管理模块下的所有业务功能。再如,用户可以选择用户管理模块下的注册用户以及会议管理模块,此时,待测试的业务功能为注册用户和会议管理模块下的所有业务功能。
其中,测试参数与待测试的业务功能相关,一般地,对于同一个业务模块下的业务功能对应的测试参数输入界面可以相同,也就是说,当存在多个属于同一个业务模块下的待测试的业务功能时,可以只输入一次测试参数,自动化测试系统在生成对应业务功能的测试用例时,可以自动选择所需的测试参数作为测试用例的用例参数。例如,当待测试的业务功能是用户管理模块下的业务功能时,测试参数可以包括业务服务器地址、root(根用户)账号及密码、需要注册的用户名、用户角色、用户密码、测试场景(可以用0表示正常测试,用1表示异常测试)、异常用例数(若测试参数中包含测试场景,当测试场景为1时异常用例数有效)等,输入的测试参数示例参见表2。
表2
表2为用户管理模块下的业务功能对应的测试参数输入表。
再如,当待测试的业务功能是会议管理模块下的业务功能时,测试参数可以包括业务服务器地址、端口、会议名称、参会终端范围、会议开始时间、会议结束时间、测试场景(可以用0表示正常测试,用1表示异常测试)、异常用例数等,输入的测试参数示例参见表3。
表3
表3为会议管理模块下的业务功能对应的测试参数输入表。
在另一示例中,自动化测试系统可以接收与其通信连接的其他设备发送的测试请求。具体地,用户可以通过其他设备选择需要测试的业务功能(即待测试的业务功能),并填写对应的测试参数,生成测试请求后发送至自动化测试系统。在其他设备生成测试请求的过程可以与前文通过自动化测试系统生成测试请求的过程类似。
步骤302,根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例。
自动化测试系统在获取到测试请求后,可以根据测试请求中的待测试的业务功能和对应的测试参数,生成待测试的业务功能对应的至少两个测试用例。当待测试的业务功能有多个时,针对每个待测试的业务功能,可以根据测试请求中的待测试的业务功能和对应的测试参数,生成待测试的业务功能对应的至少两个测试用例,得到测试用例集,可以认为,测试用例集是所有待测试的业务功能对应的测试用例的集合,并将得到的测试用例集存储在自动化测试系统中。
具体地,待测试的业务功能对应的至少两个测试用例包括至少一个正常测试用例和至少一个异常测试用例。其中,正常测试用例是正常测试场景对应的用例,而正常测试场景是采用正向思维测试业务功能是否满足正常需求。异常测试用例是异常测试场景对应的用例,而异常测试场景是与正常测试场景相对,是采用逆向思维测试业务功能是否还满足非正常需求。可以理解,正常测试用例用于测试对应的功能接口是否可以执行正常的任务,异常测试用例用于测试对应的功能接口是否可以拦截异常的任务。在本申请实施例中,只有当正常测试用例对应的测试返回数据指示为通过、且异常测试用例对应的测试返回数据为不通过时,才可以确定待测试的业务功能是正常的,因此可以确保待测试的业务功能的测试结果的准确性。
在本实施例中,测试参数中包含异常用例数。若测试参数中还包含测试场景,此时测试场景应对应异常测试;即当测试参数中同时包括测试场景和异常用例数时,只有当测试场景对应异常测试时,异常用例数才有效。若测试参数中没有包含测试场景,而测试参数中包含的异常用例数为0,则表示不需要生成异常测试用例;若测试参数中没有包含测试场景,而测试参数中包含的异常用例数不为0,则表示需要生成异常测试用例。
针对每个待测试的业务功能,生成对应的测试用例的过程,可以包括:
确定待测试的业务功能对应的正常测试场景和异常规则库;异常规则库包括多个异常测试场景;
根据正常测试场景生成待测试的业务功能对应的正常测试用例;
根据异常用例数,从异常规则库中获取对应数量的异常测试场景;
根据异常测试场景生成待测试的业务功能对应的异常测试用例。
在本示例中,可以根据待测试的业务功能,确定其对应的正常测试场景,结合测试参数,可以生成待测试的业务功能对应的正常测试用例。同时,根据待测试的业务功能,可以确定其对应的异常规则库,异常规则库包括该待测试的业务功能对应的多个异常测试场景;然后根据异常用例数,从异常测试规则库中随机获取对应数量的异常测试场景,最后,基于异常测试场景可以生成异常测试用例。
其中,在基于异常测试场景生成异常测试用例的过程中,可以结合正常测试用例中的测试参数,根据异常测试场景中的异常项来修改正常测试用例中与异常项对应的测试参数,以得到异常测试用例。例如,当待测试的业务功能为登录用户的功能,且异常测试场景中的异常项为登录用户名项未注册时,可以通过将正常测试用例中的用户名项的用户名参数,修改为未注册的用户名,即可得到异常测试用例。
上述根据异常用例数,从异常规则库中获取对应数量的异常测试场景的过程,还包括:
当异常用例数大于异常规则库中的异常测试场景数量时,获取异常规则库中的所有异常测试场景。
需要说明的是,当一个待测试的业务功能对应的测试参数中不包含异常用例数(异常用例数为0或异常用例数为空),或者测试参数中的测试场景对应正常测试时,在生成该待测试的业务功能对应的测试用例时,只生成正常测试用例。
其中,测试用例(包括正常测试用例和异常测试用例)中的用例信息可以包括:用例名称、用例参数(根据业务功能而定)、用例类型(可以用0表示正常测试用例,用1表示异常测试用例)、结果信息(记录测试用例执行成功后,由业务服务器返回来的响应信息)、执行结果(用来记录测试用例执行成功或者失败)、关联功能(测试用例对应的功能库中的业务功能)。
示例性地,请参照表1和表2,当用户选择用户管理模块时,即表示待测试的业务功能是用户管理模块下的所有业务功能,自动化测试系统会根据表2中的测试参数,自动为每个业务功能生成对应的测试用例。当生成注册用户的功能(F1)对应的测试用例时,由于表2中的测试参数包含异常用例数,因此,可以根据表1获取注册用户的功能对应的正常测试场景和异常规则库,异常规则库包括A1、A2、A3等多个异常测试场景。根据正常测试场景生成一个正常测试用例,根据异常用例数为2,可以从异常规则库中随机获取两个异常测试场景,假设获取的异常测试场景为A2(用户名称重复)和A3(密码长度小于6个字符),可以生成如表4所示的测试用例。
表4
表4为一示例中,根据表2所示的测试参数,生成注册用户对应的测试用例表。
如表4所示,用例名称为“注册用户”的测试用例即为正常测试用例,用例名称为“注册用户-用户名称重复”、“用户注册-密码长度小于6个字符”,的测试用例即为异常测试用例。
同理,当生成登录用户的功能(F2)对应的测试用例时,由于表2中的测试参数包含异常用例数,因此,可以根据表1获取登录用户的功能对应的正常测试场景和异常规则库,异常规则库包括B1、B2等多个异常测试场景。根据正常测试场景生成一个正常测试用例,根据异常用例数为2,可以从异常规则库中随机获取两个异常测试场景,假设获取的异常测试场景为B1(登录的用户名未注册)和B2(重复登录),可以生成如下表5所示的测试用例。
表5
表5为一示例中,根据表2所示的测试参数,生成登录用户对应的测试用例表。
如表5所示,用例名称为“登录用户”的测试用例即为正常测试用例,用例名称为“登录用户-用户名未注册”、“登录用户-重复登录”,的测试用例即为异常测试用例。
同理,可以生成用户管理模块下的其他功能对应的测试用例,不再赘述。
示例性地,请参照表1和表3,当用户选择会议管理模块时,即表示待测试的业务功能是会议管理模块下的所有业务功能,自动化测试系统会根据表3中的测试参数,自动为每个业务功能生成对应的测试用例。当生成创建会议的功能(F4)对应的测试用例时,由于表3中的测试参数包含异常用例数,因此,可以根据表1获取创建会议的功能对应的正常测试场景和异常规则库,异常规则库包括D1、D2、D3等多个异常测试场景。根据正常测试场景生成一个正常测试用例,根据异常用例数为1,可以从异常规则库中随机获取1个异常测试场景,假设获取的异常测试场景为D2(会议主席重复),可以生成如下表6所示的测试用例。
表6
表6为一示例中,根据表3所示的测试参数,生成创建会议对应的测试用例表。
如表6所示,用例名称为“创建会议”的测试用例即为正常测试用例,用例名称为“创建会议-会议主席重复”的测试用例即为异常测试用例。
同理,当生成开始会议的功能(F5)对应的测试用例时,由于表3中的测试参数包含异常用例数,因此,可以根据表1获取开始会议的功能对应的正常测试场景和异常规则库,异常规则库包括E1、E2等多个异常测试场景。根据正常测试场景生成一个正常测试用例,根据异常用例数为1,可以从异常规则库中随机获取1个异常测试场景,假设获取的异常测试场景为E1(开始未创建的会议),可以生成如下表7所示的测试用例。
表7
表7为一示例中,根据表3所示的测试参数,生成开始会议对应的测试用例表。
如表7所示,用例名称为“开始会议”的测试用例即为正常测试用例,用例名称为“开始会议-开始未创建的会议”的测试用例即为异常测试用例。
同理,可以生成会议管理模块下的其他功能对应的测试用例,不再赘述。
在生成所有待测试的业务功能对应的测试用例后,可以得到由所有的测试用例集合形成的测试用例集。可选地,在得到测试用例集后,还可以可视化展示测试用例集,并接收用户针对测试用例集中测试用例顺序的调整操作,调整测试用例集中的测试用例的测试顺序。
步骤303,判断当前执行的测试用例对应的功能接口是否依赖其他功能接口的测试返回数据。
自动化测试系统在执行测试用例时,需要确定当前执行的测试用例需要调用的功能接口。具体地,可以通过解析当前执行的测试用例,确定当前执行的测试用例对应的待测试的业务功能,进而根据待测试的业务功能确定对应的功能接口。
功能接口依赖其他功能接口的测试返回数据,是指该功能接口在封装业务指令包时,需要使用其他功能接口对应的测试用例测试后返回的值。例如,创建会议的功能接口在封装业务指令包时,由于创建会议的用户必须成功登录才可以创建会议,因此需要使用登录用户的功能接口对应的测试用例测试后返回的值。再如,支付功能接口在封装业务指令包时,由于支付之前必须存在订单才可以支付,因此需要使用创建订单的功能接口对应的测试用例测试后返回的值。
在一示例中,可以预先将依赖测试返回数据的功能接口,以及该功能接口依赖的其他功能接口的关联关系,保存到关联数据库中,根据关联数据库中是否保存当前执行的测试用例对应的功能接口,来判断当前执行的测试用例对应的功能接口是否依赖其他功能接口的测试返回数据;
若关联数据库中保存当前执行的测试用例对应的功能接口,则确定当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据;
若关联数据库中没有保存当前执行的测试用例对应的功能接口,则确定当前执行的测试用例对应的功能接口不依赖其他功能接口的测试返回数据。
在另一示例中,可以将依赖测试返回数据的功能接口对应的测试用例中设置关联参数,关联参数可以是该功能接口依赖的其他功能接口,也可以是该测试用例依赖的其他功能接口对应的具体测试用例。根据当前执行的测试用例中是否包含关联参数,判断当前执行的测试用例对应的功能接口是否依赖其他功能接口的测试返回数据;
若当前执行的测试用例中包含关联参数,则确定当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据;
若当前执行的测试用例中不包含关联参数,则确定当前执行的测试用例对应的功能接口不依赖其他功能接口的测试返回数据。
步骤304,当当前执行的测试用例对应的功能接口不依赖其他功能接口的测试返回数据时,根据当前执行的测试用例生成对应的业务指令包。
功能接口用于封装业务指令包。功能接口不依赖其他功能接口的测试返回数据是指该功能接口在封装业务指令包时,不需要使用其他功能接口返回的值。可以直接根据测试用例中的用例参数生成对应的业务指令包。
示例性地,当自动化测试系统执行表4所示的测试用例时,可以逐条获取表4中测试用例的用例参数,同时可以确定测试用例需调用的功能接口为F1(注册用户),将获取到的用例参数作为参数传给功能接口F1,功能接口F1可以根据接收到的参数,封装注册用户指令包。
示例性地,当自动化测试系统执行表5所示的测试用例时,可以逐条获取表5中测试用例的用例参数,同时可以确定测试用例需调用的功能接口为F2(登录用户),将获取到的用例参数作为参数传给功能接口F2,功能接口F2可以根据接收到的参数,封装登录用户指令包。
步骤305,当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据时,从执行完成的用例集中查找功能接口依赖的目标测试返回数据。
功能接口用于封装业务指令包。功能接口依赖其他功能接口的测试返回数据是指该功能接口在封装业务指令包时,需要使用其他功能接口返回的值。为便于区分,将当前执行的测试用例对应的功能接口依赖的其他功能接口定义为目标功能接口。而目标功能接口返回的值可以从执行完成的用例集中查找。
具体地,上述从执行完成的用例集中查找功能接口依赖的目标测试返回数据的过程,可以包括:
确定当前执行的测试用例对应的功能接口依赖的目标功能接口;
从执行完成的用例集中查找目标功能接口对应的、已通过的正常测试用例;
从已通过的正常测试用例中获取功能接口依赖的目标测试返回数据。
业务服务器在接收到业务指令后,可以根据业务指令的指示,对对应的待测试的业务功能进行测试,并且,在测试完成后,会向自动化测试系统返回相应的测试返回数据。自动化测试系统接收业务服务器返回的测试返回数据,并将测试返回数据添加到对应的测试用例中。本示例中,功能接口依赖的目标测试返回数据可以认为是目标功能接口的正常测试用例执行通过后,业务服务器返回的值,因此,需要先确定当前执行的测试用例对应的功能接口依赖的目标功能接口,然后从执行完成的用例集中查找目标功能接口对应的、执行通过的正常测试用例,最后,从执行通过的正常测试用例中获取功能接口依赖的上层数据,一般获取执行通过的正常测试用例中的结果信息项中存储的值。
示例性地,当自动化测试系统执行表6所示的测试用例时,可以逐条获取表6中测试用例的用例参数,同时可以确定测试用例需调用的功能接口为F4(创建会议),由于用户在创建会议之前,需要成功登录,因此,可以确定功能接口F4依赖其他功能接口的测试返回数据,即功能接口F4需要依赖功能接口F2(登录用户)返回的值。具体地,从已执行完成的用例集中查找功能接口F2对应的测试用例,进而从功能接口F2对应的测试用例中查找正常测试用例,显然,若查找得到,则说明用户登录成功,可以创建会议,因此,可以从该已执行通过的正常测试用例中获取用户登录成功对应的用户ID,该用户ID可以理解为用户登录成功时与业务服务器建立的连接,该用户ID记录在已执行正常测试用例的结果信息中,将用户ID与测试用例中的用例参数一同作为参数传递给功能接口F4,可以理解为该用户ID申请创建会议,功能接口F4根据用例参数和用户ID封装创建会议指令包。
示例性地,当自动化测试系统执行表7所示的测试用例时,可以逐条获取表7中测试用例的用例参数,同时可以确定测试用例需调用的功能接口为F5(开始会议),由于用户在开始会议之前,需要创建会议,因此,可以确定功能接口F5依赖其他功能接口的测试返回数据,即功能接口F5需要依赖功能接口F4(创建会议)返回的值。具体地,从已执行完成的用例集中查找功能接口F4对应的测试用例,进而从功能接口F4对应的测试用例中查找正常测试用例,显然,若查找得到,则说明会议创建成功,可以开始会议,因此,可以从该已执行正常测试用例中获取会议ID,该会议ID记录在已执行正常测试用例的结果信息中,进一步地,由于功能接口F4依赖功能接口F2,因此,还需要获取功能接口F2返回的值,得到用户ID,具体过程可以参见上一示例的描述;在获取到会议ID和用户ID后,将会议ID和用户ID连同测试用例中的用例参数一同作为参数传递给功能接口F5,功能接口F5根据用例参数、会议ID以及用户ID封装创建会议指令包。
进一步地,测试参数包括业务服务器地址,也即自动化测试系统可以对多个不同的业务服务器进行自动化测试,生成不同业务服务器对应的测试用例,上述从执行完成的用例集中查找目标功能接口对应的、已通过的正常测试用例,包括:
根据当前执行的测试用例对应的当前业务服务器地址,从执行完成的用例集中,查找目标功能接口对应的、业务服务器地址为当前业务服务器地址的、已通过的正常测试用例。
在本实施例中,为了确保可以正确获取到当前执行的测试用例的功能接口依赖的目标测试返回数据,可以结合当前执行的测试用例对应的当前业务服务器地址来进行筛选,从已执行通过的正常测试用例中,查找到业务服务器地址为当前业务服务器地址、且与目标功能接口对应的测试用例,再从查找到的测试用例中获取其结果信息中存储的值。
在本申请一可选实施例中,用户也可以指定当前执行的测试用例对应的关联测试用例,即测试参数中包括的关联参数具体为关联测试用例,该关联测试用例的结果信息中存储的值即为当前执行的测试用例对应的功能接口依赖的目标测试返回数据;因此,上述当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据时,从执行完成的用例集表中查找功能接口依赖的目标测试返回数据,还可以包括:
当当前执行的测试用例具有关联测试用例时,从执行完成的用例集中查找该关联测试用例;
若查找得到,则从关联测试用例中获取功能接口依赖的目标测试返回数据;
若查找不到,则确定当前执行的测试用例对应的功能接口依赖的目标功能接口;
从执行完成的用例集中查找目标功能接口对应的、已执行通过的正常测试用例;
从已执行通过的正常测试用例中获取功能接口依赖的目标测试返回数据。
在本实施例中,在获取当前执行的测试用例的功能接口依赖的目标测试返回数据的过程中,可以先判断当前执行的测试用例是否有指定关联测试用例,若指定了关联测试用例,则先从已执行完成的用例集中查找关联测试用例,不仅可以提高获取目标测试返回数据的效率,还可以确保获取到的数据符合用户测试需求;若查找不到,为了保证测试能够正常进行,则执行根据当前执行的测试用例对应的功能接口依赖的目标功能接口,从执行完成的用例集中查找目标功能接口对应的、已执行通过的正常测试用例,从已执行通过的正常测试用例中获取功能接口依赖的目标测试返回数据;其中,已执行通过的正常测试用例的业务服务器地址与当前执行的测试用例的服务器地址相同。
步骤306,若查找得到,则根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包。
在获取到上层数据后,功能接口根据当前执行的测试用例中的用例参数和目标测试返回数据,封装当前执行的测试用例对应的、用于测试的业务指令包。
进一步地,为了实现对多个不同通信协议的服务器进行交叉测试,在生成业务指令包时,还需要确定当前执行的测试用例对应的当前业务服务器的通信协议,按照对应的通信协议封装当前执行的测试用例对应的业务指令包。
步骤307,若查找不到,则终止测试;或者,跳过当前执行的测试用例,并开始执行下一条测试用例,将开始执行的下一条测试用例更新为当前执行的测试用例;返回步骤303。
在本实施例中,若查找不到目标测试返回数据,说明目标功能接口对应的正常测试用例没有执行或没有执行通过,在一示例中,可以直接终止测试任务。在另一示例中,也可以跳过当前执行的测试用例,执行下一条测试用例,此时,下一条测试用例即为当前执行的测试用例,而跳过执行的测试用例可以放置到测试用例集的最后,以避免因测试用例的顺序设置不妥当造成测试用例无法执行的情况发生。
步骤308,将业务指令包发送至对应的业务服务器,业务指令包用于指示业务服务器对对应的、待测试的业务功能进行测试。
在生成业务指令包后,将业务指令包发送至对应的业务服务器,由业务服务器对业务指令包进行处理,即业务服务器对业务指令包对应的、待测试的业务功能进行测试。
具体地,自动化测试系统的功能接口可以根据测试用例中的业务服务器地址与业务服务器建立连接,并把封装得到的业务指令包发送值业务服务器,业务服务器接收业务指令包后开始执行业务指令包对应的业务。
步骤309,接收业务服务器返回的处理结果;当处理结果包括测试返回数据时,将测试返回数据添加到对应的测试用例中。
业务服务器在业务执行完成后,向自动化测试系统返回相应的处理结果。具体地,处理结果可以包括执行成功或执行失败,当执行成功时,还可以返回执行成功的值,即测试返回数据。
示例性地,在执行注册用户的业务功能对应的测试用例时,通过测试用例中的业务服务器地址和root账号,与业务服务器建立tcp root连接,并把封装号的注册用户指令包通过建立的连接发送给业务服务器,并等待业务服务器返回的处理结果。
示例性地,在执行登录用户的业务功能对应的测试用例时,通过测试用例中的业务服务器地址与业务服务器建立tcp连接,并把封装的登录用户指令包通过建立的连接发送给业务服务器,并等待业务服务器返回的处理结果。
示例性地,在执行创建会议的业务功能对应的测试用例时,通过业务服务器地址和用户ID从自动化测试系统获取用户建立的tcp连接,并把封装的创建会议指令包通过该连接发送给业务服务器,并等待业务服务器返回的处理结果。
示例性地,在执行开始会议的业务功能对应的测试用例时,通过业务服务器地址、用户ID和会议ID从自动化测试系统获取用户建立的tcp连接,并把封装的开始会议指令包通过该连接发送给业务服务器,并等待业务服务器返回的处理结果。
步骤310,当处理结果为执行失败时,记录执行失败的原因。
处理结果可以是执行成功或执行失败。本实施例中,当处理结果为执行失败时,还需要记录执行失败的原因。
具体地,在测试用例中还可以包括异常信息,当处理结果为执行失败时,将执行失败的原因记录到异常信息栏中。当测试任务结束后,可以可视化展示各个测试用例,以方便用户查看。可选地,可以只展示执行失败的测试用例,以方便用户查看执行失败的原因。
示例性地,在业务服务器针对注册用户指令包返回的结果信息中,若result(结果)为0,表示创建用户成功,将对应测试用例的执行结果修改为“成功”;若result不为0,则表示创建用户失败,将对应测试用例的执行结果修改为“失败”,同时在测试用例中的“异常信息”中添加业务服务器返回结果中的error_msg(错误信息)值。
示例性地,在业务服务器针对登录用户指令包返回的结果信息中,若result为0,表示用户登录成功,将对应测试用例的执行结果修改为“成功”,同时获取业务服务器返回信息中的用户ID,将用户ID添加到测试用例的“结果信息”中保存,并且自动化测试系统还可以通过键值对的方式保存该连接对象,即保存业务服务器地址和用户ID作为键值对的键,保存连接对象作为键值对的值;该连接对象可以理解为用户登录建立的连接。
若result不为0,则表示用户登录失败,将对应测试用例的执行结果修改为“失败”,同时在测试用例中的“异常信息”中添加业务服务器返回结果中的error_msg(错误信息)值。
示例性地,在业务服务器针对创建会议指令包返回的结果信息中,若result为0,表示创建会议成功,将对应测试用例的执行结果修改为“成功”,同时获取业务服务器返回信息中的用户ID和会议ID,将用户ID和会议ID添加到测试用例的“结果信息”中保存。若result不为0,则表示创建会议失败,将对应测试用例的执行结果修改为“失败”,同时在测试用例中的“异常信息”中添加业务服务器返回结果中的error_msg(错误信息)值。
示例性地,在业务服务器针对开始会议指令包返回的结果信息中,若result为0,表示开始会议成功,将对应测试用例的执行结果修改为“成功”,同时获取业务服务器返回信息中的用户ID和会议ID,将用户ID和会议ID添加到测试用例的“结果信息”中保存。若result不为0,则表示开始会议失败,将对应测试用例的执行结果修改为“失败”,同时在测试用例中的“异常信息”中添加业务服务器返回结果中的error_msg(错误信息)值。
图4是本发明的测试方法实施例的设计方案示意图,如图4所示,该测试方法的执行涉及自动化测试系统和会管服务器(业务服务器中的一种),其中,自动化测试系统包括用例生成模块、用例流程执行模块以及功能处理模块。
用例生成模块预先创建功能库和功能库中各个功能对应的异常用例生成规则库,用于实现根据用户选择需要一键生成测试用例的功能模块(也称业务模块)生成对应的测试用例。
具体地,用例生成模块接收用户选择需要一键生成测试用例的功能模块,并接收用户输入功能模块需要的关键参数(即测试参数),根据关键参数判断是否生成异常测试用例;若是,则从异常用例生成规则库中随机获取对应的异常用例生成规则,并基于获取的异常用例生成规则生成异常测试用例。若不需要生成异常测试用例,则直接生成正常测试用例。
用例流程执行模块用于执行测试用例,获取测试用例对应的功能接口所需的参数,并根据会管服务器处理结果更新测试用例中的信息。
具体地,当接收到开始执行测试任务的指令后,获取测试任务下的测试用例集(即图中的测试用例列表),并按序解析每条测试用例数据,在执行每条测试用例时,获取测试用例对应的功能接口;判断功能接口是否依赖其他功能接口的测试返回数据(即图中的上层数据),若不需要依赖上层数据,则直接将该测试用例的数据作为参数传给该功能接口。若功能接口依赖上层数据,则从执行完成的用例列表中查找符合该功能接口的测试用例,若查找不到,或符合该功能接口的测试用例执行失败,则结束测试;若查找到,则获取符合条件的测试用例的结果信息中的数据,将该结果信息中的数据和测试用例的数据作为参数传给对应的功能接口。
功能处理模块用于接收用例流程执行模块传递的参数,并根据接收的参数封装业务指令包,然后根据会管服务器地址和用户ID获取自动化测试系统与会管服务器的连接,将业务指令包发送给对应的会管服务器,并等待会管服务器返回的处理结果。
会管服务器接收业务指令报后,开始处理相关业务,并将处理结果返回给功能处理模块。
功能处理模块接收到会管服务器返回的处理结果后,将处理结果返回给用例流程执行模块。
用例流程执行模块接收处理结果后,根据处理结果更新用例执行状态和保存处理结果中的关键数据。并判断测试用例列表中的所有测试用例是否执行完成,若是,则结束测试任务;若否,则返回按序解析每条测试用例数据,获取测试用例对应的功能接口的步骤,即继续执行下一条测试用例。
本发明实施例可以实现一键生成测试用例和执行测试用例,其中测试用例包括正常测试用例和异常测试用例,可以有效提高测试效率,保障视联网业务稳定运行。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明另一实施例提供一种测试装置,用于执行上述实施例提供的测试方法。
参照图5,示出了本发明的一种测试装置实施例的结构框图,该装置可以包括如下模块:
启动测试模块501,用于获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数;
生成用例模块502,用于根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例;
生成指令模块503,用于当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到功能接口依赖的目标测试返回数据时,根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包;
发送指令模块504,用于将业务指令包发送至对应的业务服务器,业务指令包用于指示业务服务器对对应的、待测试的业务功能进行测试。
本发明实施例提供的测试装置,通过获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数;根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例;当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到功能接口依赖的目标测试返回数据时,根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包;将业务指令包发送至对应的业务服务器,以指示业务服务器对对应的、待测试的业务功能进行测试;本发明实施例可以实现一键生成多个测试用例,提高测试用例生成的效率;同时,在执行测试用例时,当对应的功能接口依赖其他功能接口的测试返回数据时,可以自动从已执行完成的用例集中查找该测试用例所依赖的测试返回数据,以生成对应的业务指令包,可以有效提高执行测试用例的灵活性和处理结果的准确性。
本发明又一实施例对上述实施例提供的测试装置做进一步说明。
可选地,待测试的业务功能对应的至少两个测试用例包括正常测试用例和异常测试用例,上述装置还包括:
测试返回数据保存模块,用于接收业务服务器返回的测试返回数据,并将测试返回数据添加到对应的测试用例中;
业务功能测试结果确定模块,用于当正常测试用例对应的测试返回数据指示为通过、且异常测试用例对应的测试返回数据指示为不通过时,确定待测试的业务功能正常。
可选地,测试参数包括异常用例数,生成用例模块502用于:
针对待测试的业务功能,确定待测试的业务功能对应的正常测试场景和异常规则库;异常规则库包括多个异常测试场景;
根据正常测试场景生成待测试的业务功能对应的正常测试用例;
根据异常用例数,从异常规则库中获取对应数量的异常测试场景;
根据异常测试场景生成待测试的业务功能对应的异常测试用例。
可选地,上述装置还包括:
目标功能接口确定模块,用于确定当前执行的测试用例对应的功能接口依赖的目标功能接口;
目标测试用例获取模块,用于从执行完成的用例集中查找目标功能接口对应的、已通过的正常测试用例;
目标测试返回数据获取模块,用于从已通过的正常测试用例中获取功能接口依赖的目标测试返回数据。
可选地,测试参数包括业务服务器地址,目标测试用例获取模块用于:
根据当前执行的测试用例对应的当前业务服务器地址,从执行完成的用例集中,查找目标功能接口对应的、业务服务器地址为当前业务服务器地址的、已通过的正常测试用例。
可选地,上述装置还包括:
第一处理模块,用于当当前执行的测试用例依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找不到功能接口所依赖的目标测试返回数据时,则终止测试;或者,
第二处理模块,用于当当前执行的测试用例依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找不到当前执行的测试用例所依赖的目标测试返回数据时,则跳过当前执行的测试用例,并开始执行下一条测试用例。
可选地,上述装置还包括:
依赖判断模块,用于根据当前执行的测试用例中是否包含关联参数,判断当前执行的测试用例对应的功能接口是否依赖其他功能接口的测试返回数据;
第一判断结果模块,用于若当前执行的测试用例中包含关联参数,则确定当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据;
第二判断结果模块,用于若当前执行的测试用例中不包含关联参数,则确定当前执行的测试用例对应的功能接口不依赖其他功能接口的测试返回数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明再一实施例提供一种终端设备,用于执行上述实施例提供的测试方法。
图6是本发明的一种终端设备的结构示意图,如图6所示,该终端设备包括:至少一个处理器601和存储器602;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的测试方法。
本实施例提供的终端设备,通过获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数;根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例;当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到功能接口依赖的目标测试返回数据时,根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包;将业务指令包发送至对应的业务服务器,由业务服务器根据业务指令包的指示对对应的业务功能进行测试;本发明实施例可以实现一键生成多个测试用例,提高测试用例生成的效率;同时,在执行测试用例时,当对应的功能接口依赖其他功能接口的测试返回数据时,可以自动从已执行完成的用例集中查找该测试用例所依赖的测试返回数据,以生成对应的业务指令包,可以有效提高执行测试用例的灵活性和处理结果的准确性。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的测试方法。
根据本实施例的计算机可读存储介质,通过获取测试请求,测试请求包括至少一个待测试的业务功能和待测试的业务功能对应的测试参数;根据待测试的业务功能对应的测试参数,生成待测试的业务功能对应的至少两个测试用例;当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到功能接口依赖的目标测试返回数据时,根据当前执行的测试用例和目标测试返回数据,生成当前执行的测试用例对应的业务指令包;将业务指令包发送至对应的业务服务器,由业务服务器根据业务指令包的指示对对应的业务功能进行测试;本发明实施例可以实现一键生成多个测试用例,提高测试用例生成的效率;同时,在执行测试用例时,当对应的功能接口依赖其他功能接口的测试返回数据时,可以自动从已执行完成的用例集中查找该测试用例所依赖的测试返回数据,以生成对应的业务指令包,可以有效提高执行测试用例的灵活性和处理结果的准确性。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者电子设备中还存在另外的相同要素。
以上对本发明所提供的一种测试方法和一种测试装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种测试方法,其特征在于,所述方法包括:
获取测试请求,所述测试请求包括至少一个待测试的业务功能和所述待测试的业务功能对应的测试参数;
根据所述待测试的业务功能对应的测试参数,生成所述待测试的业务功能对应的至少两个测试用例;
当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到所述功能接口依赖的目标测试返回数据时,根据所述当前执行的测试用例和所述目标测试返回数据,生成所述当前执行的测试用例对应的业务指令包;
将所述业务指令包发送至对应的业务服务器,所述业务指令包用于指示所述业务服务器对对应的、待测试的业务功能进行测试。
2.根据权利要求1所述的方法,其特征在于,所述待测试的业务功能对应的至少两个测试用例包括正常测试用例和异常测试用例,所述方法还包括:
接收所述业务服务器返回的测试返回数据,并将所述测试返回数据添加到对应的测试用例中;
当所述正常测试用例对应的测试返回数据指示为通过、且所述异常测试用例对应的测试返回数据指示为不通过时,确定所述待测试的业务功能正常。
3.根据权利要求2所述的方法,其特征在于,所述测试参数包括异常用例数,所述根据所述待测试的业务功能对应的测试参数,生成针对所述待测试的业务功能对应的至少两个测试用例,包括:
针对所述待测试的业务功能,确定所述待测试的业务功能对应的正常测试场景和异常规则库;所述异常规则库包括多个异常测试场景;
根据所述正常测试场景生成所述待测试的业务功能对应的正常测试用例;
根据所述异常用例数,从所述异常规则库中获取对应数量的异常测试场景;
根据所述异常测试场景生成所述待测试的业务功能对应的异常测试用例。
4.根据权利要求2所述的方法,其特征在于,在所述从执行完成的用例集中查找到所述功能接口所依赖的目标测试返回数据之前,所述方法包括:
确定所述当前执行的测试用例对应的功能接口依赖的目标功能接口;
从执行完成的用例集中查找所述目标功能接口对应的、已通过的正常测试用例;
从所述已通过的正常测试用例中获取所述功能接口依赖的目标测试返回数据。
5.根据权利要求4所述的方法,其特征在于,所述测试参数包括业务服务器地址,所述从执行完成的用例集中查找所述目标功能接口对应的、已通过的正常测试用例,包括:
根据所述当前执行的测试用例对应的当前业务服务器地址,从执行完成的用例集中,查找所述目标功能接口对应的、业务服务器地址为所述当前业务服务器地址的、已通过的正常测试用例。
6.根据权利要求1或4或5所述的方法,其特征在于,所述方法还包括:
当当前执行的测试用例依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找不到所述功能接口所依赖的目标测试返回数据时,则终止测试;或者,
当当前执行的测试用例依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找不到所述当前执行的测试用例所依赖的目标测试返回数据时,则跳过所述当前执行的测试用例,并开始执行下一条测试用例。
7.根据权利要求1所述的方法,其特征在于,在所述当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到所述功能接口依赖的目标测试返回数据时之前,所述方法还包括:
根据所述当前执行的测试用例中是否包含关联参数,判断所述当前执行的测试用例对应的功能接口是否依赖其他功能接口的测试返回数据;
若所述当前执行的测试用例中包含关联参数,则确定所述当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据;
若所述当前执行的测试用例中不包含关联参数,则确定所述当前执行的测试用例对应的功能接口不依赖其他功能接口的测试返回数据。
8.一种测试装置,其特征在于,所述装置包括:
启动测试模块,用于获取测试请求,所述测试请求包括至少一个待测试的业务功能和所述待测试的业务功能对应的测试参数;
生成用例模块,用于根据所述待测试的业务功能对应的测试参数,生成所述待测试的业务功能对应的至少两个测试用例;
生成指令模块,用于当当前执行的测试用例对应的功能接口依赖其他功能接口的测试返回数据,且从执行完成的用例集中查找到所述功能接口依赖的目标测试返回数据时,根据所述当前执行的测试用例和所述目标测试返回数据,生成所述当前执行的测试用例对应的业务指令包;
发送指令模块,用于将所述业务指令包发送至对应的业务服务器,所述业务指令包用于指示所述业务服务器对对应的、待测试的业务功能进行测试。
9.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-7中任一项所述的测试方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-7中任一项所述的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210178021.7A CN114610605A (zh) | 2022-02-24 | 2022-02-24 | 测试方法、装置、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210178021.7A CN114610605A (zh) | 2022-02-24 | 2022-02-24 | 测试方法、装置、终端设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610605A true CN114610605A (zh) | 2022-06-10 |
Family
ID=81859651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210178021.7A Pending CN114610605A (zh) | 2022-02-24 | 2022-02-24 | 测试方法、装置、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610605A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349185A (zh) * | 2023-12-04 | 2024-01-05 | 杭银消费金融股份有限公司 | 一种基于接口强弱依赖分级的系统测试方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205406A1 (en) * | 2000-05-12 | 2004-10-14 | Marappa Kaliappan | Automatic test system for testing remote target applications on a communication network |
US20060117237A1 (en) * | 2004-11-12 | 2006-06-01 | Weller Christopher T | Systems and methods of test case generation with feedback |
CN103249069A (zh) * | 2012-02-14 | 2013-08-14 | 展讯通信(上海)有限公司 | 移动终端的测试方法及测试设备、移动终端的测试系统 |
WO2017054490A1 (zh) * | 2015-09-30 | 2017-04-06 | 中兴通讯股份有限公司 | 一种会话业务测试管理方法和系统及管理端、测试端 |
CN108153670A (zh) * | 2017-11-30 | 2018-06-12 | 北京奇艺世纪科技有限公司 | 一种接口测试方法、装置及电子设备 |
US20190230012A1 (en) * | 2018-01-19 | 2019-07-25 | Verizon Patent And Licensing Inc. | Protocol independent speed testing service |
CN111444096A (zh) * | 2020-03-25 | 2020-07-24 | 北京市信息技术研究所 | 一种接口测试用例生成方法及装置 |
CN111625473A (zh) * | 2020-07-01 | 2020-09-04 | 北京字节跳动网络技术有限公司 | 接口测试用例生成方法、装置、存储介质和电子设备 |
CN112463605A (zh) * | 2020-11-26 | 2021-03-09 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN113127338A (zh) * | 2021-03-22 | 2021-07-16 | 四川锐明智通科技有限公司 | 一种固件测试方法、服务器及计算机可读存储介质 |
CN113377661A (zh) * | 2021-06-23 | 2021-09-10 | 深圳平安智汇企业信息管理有限公司 | 接口测试方法、装置、电子设备及存储介质 |
-
2022
- 2022-02-24 CN CN202210178021.7A patent/CN114610605A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205406A1 (en) * | 2000-05-12 | 2004-10-14 | Marappa Kaliappan | Automatic test system for testing remote target applications on a communication network |
US20060117237A1 (en) * | 2004-11-12 | 2006-06-01 | Weller Christopher T | Systems and methods of test case generation with feedback |
CN103249069A (zh) * | 2012-02-14 | 2013-08-14 | 展讯通信(上海)有限公司 | 移动终端的测试方法及测试设备、移动终端的测试系统 |
WO2017054490A1 (zh) * | 2015-09-30 | 2017-04-06 | 中兴通讯股份有限公司 | 一种会话业务测试管理方法和系统及管理端、测试端 |
CN108153670A (zh) * | 2017-11-30 | 2018-06-12 | 北京奇艺世纪科技有限公司 | 一种接口测试方法、装置及电子设备 |
US20190230012A1 (en) * | 2018-01-19 | 2019-07-25 | Verizon Patent And Licensing Inc. | Protocol independent speed testing service |
CN111444096A (zh) * | 2020-03-25 | 2020-07-24 | 北京市信息技术研究所 | 一种接口测试用例生成方法及装置 |
CN111625473A (zh) * | 2020-07-01 | 2020-09-04 | 北京字节跳动网络技术有限公司 | 接口测试用例生成方法、装置、存储介质和电子设备 |
CN112463605A (zh) * | 2020-11-26 | 2021-03-09 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN113127338A (zh) * | 2021-03-22 | 2021-07-16 | 四川锐明智通科技有限公司 | 一种固件测试方法、服务器及计算机可读存储介质 |
CN113377661A (zh) * | 2021-06-23 | 2021-09-10 | 深圳平安智汇企业信息管理有限公司 | 接口测试方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349185A (zh) * | 2023-12-04 | 2024-01-05 | 杭银消费金融股份有限公司 | 一种基于接口强弱依赖分级的系统测试方法 |
CN117349185B (zh) * | 2023-12-04 | 2024-02-23 | 杭银消费金融股份有限公司 | 一种基于接口强弱依赖分级的系统测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766262B (zh) | 接口数据处理方法、自动化测试方法、装置、设备和介质 | |
CN108737467B (zh) | 一种服务器日志查看方法、装置和系统 | |
US20190303274A1 (en) | Systems and methods for monitoring performance of applications | |
CN111597057B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN112188277B (zh) | 投屏控制方法、装置、电子设备和计算机程序介质 | |
CN109714367B (zh) | 基于互联网的设备接入系统及方法 | |
CN114610605A (zh) | 测试方法、装置、终端设备和存储介质 | |
CN111506496A (zh) | 一种测试数据获取方法、装置、电子设备及存储介质 | |
CN112069149A (zh) | 一种数据库协议解析方法及设备 | |
CN110149219B (zh) | 一种拍摄设备配置方法和装置 | |
CN112040281A (zh) | 参数修改方法、客户端、服务器、电子设备及存储介质 | |
CN114443334A (zh) | 故障信息的复现方法、装置、复现故障设备和存储介质 | |
CN111163284B (zh) | 配置录播主机的方法、装置及设备 | |
CN109547289B (zh) | 一种智能调度访客流量的方法、存储设备及系统 | |
CN114900662A (zh) | 视频流传输质量信息确定方法、系统、设备及介质 | |
CN113596587A (zh) | 弹幕实现的方法、装置、电子设备和可读介质 | |
CN115016995A (zh) | 接口测试方法、计算机设备及计算机存储介质 | |
CN113765745A (zh) | 一种业务性能测试方法、装置、终端设备和存储介质 | |
CN111212253A (zh) | 视频会议中的监控处理方法、装置、电子设备及存储介质 | |
CN112612770A (zh) | 一种分布式文件上传方法及系统 | |
CN111131777A (zh) | 一种视联网监控的查看方法和装置 | |
CN116436904B (zh) | 流媒体数据推流方法、装置、服务器及存储介质 | |
CN111679988B (zh) | 人脸识别系统的测试方法、装置和相关设备 | |
CN111143607B (zh) | 一种信息获取方法和装置 | |
CN116781575A (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 |