CN110309051B - 管理测试用例的方法、系统、设备及存储介质 - Google Patents
管理测试用例的方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN110309051B CN110309051B CN201910427461.XA CN201910427461A CN110309051B CN 110309051 B CN110309051 B CN 110309051B CN 201910427461 A CN201910427461 A CN 201910427461A CN 110309051 B CN110309051 B CN 110309051B
- Authority
- CN
- China
- Prior art keywords
- test
- cases
- strategy
- case
- terminal
- 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
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/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
-
- 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/3692—Test management for test results analysis
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
技术领域
本申请涉及应用测试领域,尤其涉及一种管理测试用例的方法、系统、设备及存储介质。
背景技术
目前,在对手机端测试时,一般都是由测试工程师在个人计算机(personalcomputer,PC)端编写测试用例,然后再用手机来完成测试。但是,这种测试方式存在下述缺陷:
1、执行用例的过程需要PC端做测试结果的标记,不够便捷,测试用例无法重复利用;
2、产品的需求变更或者开发的代码变更,测试用例就会失效,需要重新在PC端编写测试用例;
3、类似的功能模块,需要测试人员编写新的测试用例,不能循环重复利用已有的测试用例。
发明内容
本申请提供了一种管理测试用例的方法、系统、设备及存储介质,能够解决现有技术中应用测试中测试用例复用性较差的问题。
第一方面,本申请提供一种管理测试用例的方法,所述方法包括:
服务器编辑多个测试用例和至少一个测试策略,所述测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预置条件、用例编号和预期结果;所述测试策略包括执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件;
所述服务器根据所述多个测试用例生成应用对应的测试脚本,创建所述测试用例与测试脚本之间的关联关系;
所述服务器向所述终端发送所述多个测试用例和所述至少一个测试策略;
所述终端根据至少一个所述测试策略执行多个所述测试用例,通过安装的应用查看所述至少一个测试策略的完成进度和所述至少一个测试用例的执行状态,统计并展示各所述测试用例的执行状态;
所述服务器根据所述关联关系确定至少一个所述测试用例在所述终端上执行后,执行与所述终端当前执行的测试用例关联的测试脚本,得到多个测试结果,向所述终端发送所述多个测试结果;
所述终端从所述服务器接收所述多个测试结果,当确定所述多个测试结果中存在不符合测试标准的异常测试结果后,确定与异常测试结果对应的异常测试用例;
所述终端修改所述异常测试用例中的测试步骤,或者,修改所述测试脚本的测试结果,所述测试结果包括通过、失败或阻塞中的一项。
在一些可能的设计中,所述关联关系是指当所述测试用例在终端上被执行时,触发所述服务器上安装的测试脚本启动;
触发所述服务器上安装的测试脚本启动的触发机制基于客户机/服务器C/S结构实现。
在一些可能的设计中,所述测试脚本用于进行自动化测试,所述测试脚本包括操作序列数据以及用于调用所述操作序列数据单元功能脚本的单元功能脚本代码,所述操作序列数据由用户对待测应用程序进行测试时所执行的全部操作步骤中的部分连续的操作步骤对应的操作数据构成;
所述方法还包括:
所述服务器在测试脚本目录中,预先进行同步配置;
所述服务器根据所述同步配置同步测试脚本和测试用例,在进行所述同步配置之后,建立sync.yml文件来保存所述同步配置。
在一些可能的设计中,所述方法还包括:
所述服务器使用代码封装所述多个测试用例;
所述服务器将测试用例中对应的规范化模块转化成机器语言,以将测试用例映射到测试脚本,最终生成所述测试脚本。
在一些可能的设计中,所述终端根据至少一个所述测试策略执行多个所述测试用例,包括:
所述终端执行至少一个所述测试策略时,根据测试策略中执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件,调用或启动多个所述测试用例;
其中,所述测试策略包括执行多个测试用例的策略,所述测试策略的完成进度是指所述测试策略中已执行的测试用例总数占所述测试策略中测试用例总数的比例;
所述测试用例的执行状态包括:通过、排队、阻塞、跳过、失败、警告、关闭、在检查中、已分配和指派、已解决的、结束、不可再生的、可复制的、被拒的、或者不适用的测试用例中的一项。
在一些可能的设计中,所述多个测试用例包括至少一个共用测试用例,共用测试用例是指被多个测试策略执行的测试用例;
所述多个测试策略包括第一测试策略和第二测试策略,所述第一测试策略和所述第二测试策略在执行时均执行所述共用测试用例。
在一些可能的设计中,所述终端修改所述异常测试用例中的测试步骤,或者,修改所述测试脚本的测试结果,包括:
所述终端通过所述应用对测试用例进行增加、删除、修改和查询中的至少一项操作;
或者,所述终端通过所述应用对测试策略进行增加、删除、修改和查询中的至少一项操作;
所述终端在通过所述应用对测试策略进行增加、删除、修改和查询中的至少一项操作之后,所述终端根据至少一个所述测试策略执行多个所述测试用例,所述方法还包括:
当更新所述测试策略后,确定待加入更新的测试策略中的目标测试用例,所述目标测试用例为至少一个新增到所述测试策略或更新的测试用例;
创建所述目标测试用例与所述测试脚本之间的关联关系,以更新测试用例与测试脚本之间的关联关系;
根据更新的测试策略调用并执行对应的测试用例。
第二方面,本申请提供一种用于管理测试用例的系统,具有实现对应于上述第一方面提供的管理测试用例的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种可能的设计中,所述系统包括服务器和终端:
所述服务器,用于编辑多个测试用例和至少一个测试策略,所述测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预置条件、用例编号和预期结果;所述测试策略包括执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件;
所述服务器还用于根据所述多个测试用例生成应用对应的测试脚本,创建所述测试用例与测试脚本之间的关联关系;向所述终端发送所述多个测试用例和所述至少一个测试策略;
所述终端,用于根据至少一个所述测试策略执行多个所述测试用例,通过安装的应用查看所述至少一个测试策略的完成进度和所述至少一个测试用例的执行状态,统计并展示各所述测试用例的执行状态;
所述服务器还用于根据所述关联关系确定至少一个所述测试用例在所述终端上执行后,执行与所述终端当前执行的测试用例关联的测试脚本,得到多个测试结果,向所述终端发送所述多个测试结果;
所述终端从所述服务器接收所述多个测试结果,当确定所述多个测试结果中存在不符合测试标准的异常测试结果后,确定与异常测试结果对应的异常测试用例;
所述终端还用于修改所述异常测试用例中的测试步骤,或者,修改所述测试脚本的测试结果,所述测试结果包括通过、失败或阻塞中的一项。
在一种可能的设计中,所述关联关系是指当所述测试用例在终端上被执行时,触发所述服务器上安装的测试脚本启动;
触发所述服务器上安装的测试脚本启动的触发机制基于客户机/服务器C/S结构实现。
在一些可能的设计中,所述测试脚本用于进行自动化测试,所述测试脚本包括操作序列数据以及用于调用所述操作序列数据单元功能脚本的单元功能脚本代码,所述操作序列数据由用户对待测应用程序进行测试时所执行的全部操作步骤中的部分连续的操作步骤对应的操作数据构成;
所述服务器还用于:
在测试脚本目录中,预先进行同步配置;
根据所述同步配置同步测试脚本和测试用例,在进行所述同步配置之后,建立sync.yml文件来保存所述同步配置。
在一些可能的设计中,所述服务器还用于:
使用代码封装所述多个测试用例;
将测试用例中对应的规范化模块转化成机器语言,以将测试用例映射到测试脚本,最终生成所述测试脚本。
在一些可能的设计中,所述终端具体用于:
执行至少一个所述测试策略时,根据测试策略中执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件,调用或启动多个所述测试用例;
其中,所述测试策略包括执行多个测试用例的策略,所述测试策略的完成进度是指所述测试策略中已执行的测试用例总数占所述测试策略中测试用例总数的比例;
所述测试用例的执行状态包括:通过、排队、阻塞、跳过、失败、警告、关闭、在检查中、已分配和指派、已解决的、结束、不可再生的、可复制的、被拒的、或者不适用的测试用例中的一项。
在一些可能的设计中,所述多个测试用例包括至少一个共用测试用例,共用测试用例是指被多个测试策略执行的测试用例;
所述多个测试策略包括第一测试策略和第二测试策略,所述第一测试策略和所述第二测试策略在执行时均执行所述共用测试用例。
在一些可能的设计中,所述终端具体用于:
通过所述应用对测试用例进行增加、删除、修改和查询中的至少一项操作;
或者,通过所述应用对测试策略进行增加、删除、修改和查询中的至少一项操作;
所述终端还用于:
当更新所述测试策略后,确定待加入更新的测试策略中的目标测试用例,所述目标测试用例为至少一个新增到所述测试策略或更新的测试用例;
创建所述目标测试用例与所述测试脚本之间的关联关系,以更新测试用例与测试脚本之间的关联关系;
根据更新的测试策略调用并执行对应的测试用例。
本申请又一方面提供了一种计算机设备,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述第一方面由服务器或者终端执行所述的方法。
本申请又一方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面由服务器或者终端执行所述的方法。
相较于现有技术,本申请提供的方案中,由于服务器创建测试用例与测试脚本之间的关联关系,因此,在终端执行测试用例后,服务器可以根据关联关系确定至少一个测试用例在终端上被执行,然后执行与终端当前执行的测试用例关联的测试脚本,能够动态适应更新的测试策略的执行,使得服务端能够及时的执行对应的测试脚本,能够服务器与终端的测试结果实时的同步显示,便于服务端的管理和维护工作。此外,终端还能随时随地的查看测试计划和测试用例,以及实时统计展示测试用例的执行情况以及修改测试结果,能够随时随地在终端更新测试用例的执行情况。可见,本申请能够为测试人员提供便捷的管理测试用例的方式,测试人员不局限于服务器端,可以随时随地的在终端的应用上创建测试计划。
附图说明
图1为本申请实施例中一种管理测试用例的方法的一种流程示意图;
图2为本申请实施例中测试用例与测试策略之间的一种关系示意图;
图3为本申请实施例用于管理测试用例的系统的一种结构示意图;
图4为本申请实施例中计算机设备的一种结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。
本申请提供一种管理测试用例的方法、系统、设备及存储介质,可用于终端侧的客户端测试,例如针对小程序的测试。
为解决上述技术问题,本申请主要提供以下技术方案:
利用手机端的小程序进行测试用例的编辑操作(例如增加、删除、修改、查询等基本操作)、将多个测试用例作为多个测试策略的共用测试用例、在服务器端创建测试用例与测试脚本之间的关联关系以及根据关联关系确定至少一个测试用例在手机端上执行后,执行与手机端当前执行的测试用例关联的测试脚本。测试人员在服务器端完成编写测试用例和测试计划的操作,在手机端的小程序可以查看测试计划和测试用例,实时统计展示测试用例的执行情况以及修改测试结果。结合测试用例和自动化测试脚本,在手机端的小程序上展示已经支持自动化的测试用例,点击执行该测试用例,以触发服务器的自动化测试脚本,自动化测试脚本执行完成后,手机端的小程序可以查看测试结果。可见,本申请能够在手机端执行功能测试,可以随时随地在手机端更新测试用例的执行情况。
请参照图1,以下介绍本申请实施例中的一种管理测试用例的方法,所述方法包括:
101、服务器编辑多个测试用例和至少一个测试策略。
其中,所述测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,即为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。所述测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预置条件、用例编号和预期结果等。
所述测试用例包括手工测试用例和自动化测试用例,手工测试用例(Testcase,TC)包含一个测试逻辑和一组测试参数。测试者根据测试用例确定应用软件或者软件系统是否能够正确工作。通常情况下,TC存储在用例管理系统(简称TC系统)中,TC系统可以用于管理TC,通常使用网页(Web)技术开发。自动化测试用例(Test-automation script),简称测试脚本,能够借助计算机完成应用软件或者软件系统的自动化测试,通常以文件方式存储在文件系统中,每种编程语言均有其特定的测试脚本。
所述测试策略包括执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件。
102、所述服务器根据所述多个测试用例生成应用对应的测试脚本,创建所述测试用例与测试脚本之间的关联关系,向所述终端发送所述多个测试用例和所述至少一个测试策略。
一些实施方式中,所述关联关系可以指当所述测试用例在终端上被执行时,触发服务端安装的测试脚本启动。所述关联关系可用表格、向量或矩阵等方式呈现,本申请不对此作限定。
一些实施方式中,触发所述服务器上安装的测试脚本启动的触发机制可基于客户机/服务器(Client/Server,C/S)结构实现。C/S结构包括Client程序和Server程序,Client程序部署在终端上,Server程序部署在服务器上。Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户。Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。
其中,所述测试脚本是为了进行自动化测试而编写的脚本,所述测试脚本包括操作序列数据以及用于调用所述操作序列数据单元功能脚本的单元功能脚本代码,所述操作序列数据由用户对待测应用程序进行测试时所执行的全部操作步骤中的部分连续的操作步骤对应的操作数据构成。
一些实施方式中,所述方法还包括:
在测试脚本目录中,预先进行同步配置;
根据所述同步配置同步测试脚本和测试用例,在进行所述同步配置之后,建立sync.yml文件来保存所述同步配置。
可见,通过同步配置能够实现测试脚本与测试用例之间的一致性。
一些实施方式中,所述方法还包括:
使用代码封装所述多个测试用例;
将测试用例中对应的规范化模块转化成机器语言,以将测试用例映射到测试脚本,最终生成所述测试脚本。
103、所述终端根据至少一个所述测试策略执行多个所述测试用例,通过安装的应用查看所述至少一个测试策略的完成进度和所述至少一个测试用例的执行状态,统计并展示各所述测试用例的执行状态。
一些实施方式中,所述终端根据至少一个所述测试策略执行多个所述测试用例,包括:
执行至少一个所述测试策略时,根据测试策略中执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件,调用或启动多个所述测试用例。
其中,所述测试策略包括执行多个测试用例的策略,所述测试策略的完成进度是指所述测试策略中已执行的测试用例总数占所述测试策略中测试用例总数的比例。例如,测试策略中包括20个测试用例,当前已执行12个测试用例,那么,可以确定该测试策略的完成进度为12/20=0.6。
所述终端上安装的应用可以是植入终端的小程序。
所述测试用例的执行状态包括:通过、排队、阻塞、跳过、失败、警告、关闭、在检查中、已分配和指派、已解决的、结束、不可再生的、可复制的、被拒的、或者不适用的测试用例中的一项。
104、所述服务器根据所述关联关系确定至少一个所述测试用例在所述终端上执行后,执行与所述终端当前执行的测试用例关联的测试脚本,得到多个测试结果,向所述终端发送所述多个测试结果。
由于所述服务器配置了测试用例与测试脚本之间的关联关系,所以,当终端执行测试用例后,就可以触发服务器执行自动化测试脚本的操作。可见,通过结合测试用例和自动化测试脚本,能够实现在终端端的应用上和服务器上同步显示测试用例的测试结果。
105、所述终端从所述服务器接收所述多个测试结果,当确定所述多个测试结果中存在不符合测试标准的异常测试结果后,确定与异常测试结果对应的异常测试用例。
例如,测试用例1是用于测试“单独遍历各查询条件,测试按各查询条件是否都能够查询出相应的值”,如果与该测试用例1对应的测试结果是“失败”,则表示该测试用例1测试异常。
106、所述终端修改所述异常测试用例中的测试步骤,或者,修改所述测试脚本的测试结果。
其中,所述测试结果包括通过、失败或阻塞中的一项。
与现有机制相比,本申请实施例中,由于服务器创建测试用例与测试脚本之间的关联关系,因此,在终端执行测试用例后,服务器可以根据关联关系确定至少一个测试用例在终端上被执行,然后执行与终端当前执行的测试用例关联的测试脚本,能够动态适应更新的测试策略的执行,使得服务端能够及时的执行对应的测试脚本,能够服务器与终端的测试结果实时的同步显示,便于服务端的管理和维护工作。此外,终端还能随时随地的查看测试计划和测试用例,以及实时统计展示测试用例的执行情况以及修改测试结果,能够随时随地在终端更新测试用例的执行情况。可见,本申请能够为测试人员提供便捷的管理测试用例的方式,测试人员不局限于服务器端,可以随时随地的在终端的应用上创建测试计划,例如通过终端上的应用就可以直接修改测试用例的测试步骤或者测试结果。
可选的,在本申请的一些实施例中,为了提高测试用例的复用率和减少代码成本,还可以复用测试用例。具体来说,所述多个测试用例包括至少一个共用测试用例,共用测试用例是指被多个测试策略执行的测试用例。
其中,所述多个测试策略包括第一测试策略和第二测试策略,所述第一测试策略和所述第二测试策略在执行时均执行所述共用测试用例。本申请不对共用测试用例的数量、共用测试用例被调用的次数、以及共用测试用例在多少个测试策略中执行作限定。可见,通过这种将多个测试用例作为多个测试策略的共用测试用例的方式,能够循环复用已有的测试用例,也便于测试用例的管理。
例如图2所示,共用测试用例有测试用例1和测试用例2,测试用例1用于搜索或查询,测试用例2用于数据文件的导入;多个测试策略包括测试策略1和测试策略2,测试策略1和测试策略2除了执行其他测试用例之外,都执行测试用例1和测试用例2。
可选的,在本申请的一些实施例中,所述终端还可以通过所述应用对测试用例进行增加、删除、修改和查询等操作,也可以通过所述应用对测试策略进行增加、删除、修改和查询等操作。
相应的,一些实施方式中,上市终端在通过所述应用对测试策略进行增加、删除、修改和查询等操作之后,所述终端根据至少一个所述测试策略执行多个所述测试用例,包括下述步骤:
(1)当更新测试策略后,确定待加入更新的测试策略中的目标测试用例。
其中,所述目标测试用例为至少一个测试用例,可以是新增到所述测试策略或更新的测试用例,例如,初始的测试策略1预定义了执行测试用例1、测试用例2、测试用例3和测试用例4的策略,对该测试策略更新后,更新的测试策略定义了执行测试用例1、测试用例a、测试用例b和测试用例4的策略。可见,更新的测试策略将测试用例2和测试用例3更新为测试用例a和行测试用例b。
(2)创建所述目标测试用例与所述测试脚本之间的关联关系,以更新测试用例与测试脚本之间的关联关系。
可见,通过更新测试用例与测试脚本之间的关联关系,能够动态适应更新的测试策略的执行,使得服务端能够及时的执行对应的测试脚本,便于服务端的管理和维护工作。
(3)根据更新的测试策略调用并执行对应的测试用例。
例如,在步骤(1)中,更新的测试策略将测试用例2和测试用例3更新为测试用例a和行测试用例b,测试用例a和行测试用例b即为目标测试用例。故在执行更新的测试策略时,调用并执行测试用例1、测试用例a、测试用例b和测试用例4即可。
由此可见,一方面中,通过本方案能够在终端侧对测试策略进行修改,而不用服务端去针对每一个测试策略重新修改测试用例,能够循环复用已有的测试用例,减少代码开发成本。另一方面中,通过在终端侧对异常测试用例进行修改,能够提高修改效率,减少操作流程。
上述图1至图2中任一所对应的实施例或实施方式中所提及的技术特征也同样适用于本申请中的图3和图4所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种管理测试用例的方法进行说明,以下对执行上述管理测试用例的方法的系统进行描述。
如图3所示的一种用于管理测试用例的系统30的结构示意图,其可应用于终端侧的客户端测试。本申请实施例中的用于管理测试用例的系统装置能够实现对应于上述图1所对应的实施例中所执行的管理测试用例的方法中的步骤。用于管理测试用例的系统30实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述用于管理测试用例的系统可包括终端301和服务器302。终端301可为手机、平板电脑、个人数字助理等便携设备,服务器智能设备也可称为服务端。
一些实施方式中,所述服务器302可用于编辑多个测试用例和至少一个测试策略,所述测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预置条件、用例编号和预期结果;所述测试策略包括执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件;
所述服务器302还用于根据所述多个测试用例生成应用对应的测试脚本,创建所述测试用例与测试脚本之间的关联关系;向所述终端发送所述多个测试用例和所述至少一个测试策略;
所述终端301可用于根据至少一个所述测试策略执行多个所述测试用例,通过安装的应用查看所述至少一个测试策略的完成进度和所述至少一个测试用例的执行状态,统计并展示各所述测试用例的执行状态;
所述服务器302还用于根据所述关联关系确定至少一个所述测试用例在所述终端301上执行后,执行与所述终端301当前执行的测试用例关联的测试脚本,得到多个测试结果,向所述终端301发送所述多个测试结果;
所述终端301从所述服务器302接收所述多个测试结果,当确定所述多个测试结果中存在不符合测试标准的异常测试结果后,确定与异常测试结果对应的异常测试用例;
所述终端301还用于修改所述异常测试用例中的测试步骤,或者,修改所述测试脚本的测试结果,所述测试结果包括通过、失败或阻塞中的一项。
与现有机制相比,本申请实施例中,由于服务器302创建测试用例与测试脚本之间的关联关系,因此,在终端301执行测试用例后,服务器302可以根据关联关系确定至少一个测试用例在终端上被执行,然后执行与终端301当前执行的测试用例关联的测试脚本,能够动态适应更新的测试策略的执行,使得服务器302能够及时的执行对应的测试脚本,能够服务器302与终端301的测试结果实时的同步显示,便于服务端的管理和维护工作。此外,终端还能随时随地的查看测试计划和测试用例,以及实时统计展示测试用例的执行情况以及修改测试结果,能够随时随地在终端301更新测试用例的执行情况。可见,本申请能够为测试人员提供便捷的管理测试用例的方式,测试人员不局限于服务器端,可以随时随地的在终端的应用上创建测试计划。
一些实施方式中,所述关联关系是指当所述测试用例在终端301上被执行时,触发所述服务器302上安装的测试脚本启动;
触发所述服务器302上安装的测试脚本启动的触发机制基于客户机/服务器C/S结构实现。
一些实施方式中,所述测试脚本用于进行自动化测试,所述测试脚本包括操作序列数据以及用于调用所述操作序列数据单元功能脚本的单元功能脚本代码,所述操作序列数据由用户对待测应用程序进行测试时所执行的全部操作步骤中的部分连续的操作步骤对应的操作数据构成;
所述服务器302还用于:
在测试脚本目录中,预先进行同步配置;
根据所述同步配置同步测试脚本和测试用例,在进行所述同步配置之后,建立sync.yml文件来保存所述同步配置。
一些实施方式中,所述服务器302还用于:
使用代码封装所述多个测试用例;
将测试用例中对应的规范化模块转化成机器语言,以将测试用例映射到测试脚本,最终生成所述测试脚本。
一些实施方式中,所述终端301具体用于:
执行至少一个所述测试策略时,根据测试策略中执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件,调用或启动多个所述测试用例;
其中,所述测试策略包括执行多个测试用例的策略,所述测试策略的完成进度是指所述测试策略中已执行的测试用例总数占所述测试策略中测试用例总数的比例;
所述测试用例的执行状态包括:通过、排队、阻塞、跳过、失败、警告、关闭、在检查中、已分配和指派、已解决的、结束、不可再生的、可复制的、被拒的、或者不适用的测试用例中的一项。
一些实施方式中,所述多个测试用例包括至少一个共用测试用例,共用测试用例是指被多个测试策略执行的测试用例;
所述多个测试策略包括第一测试策略和第二测试策略,所述第一测试策略和所述第二测试策略在执行时均执行所述共用测试用例。
一些实施方式中,所述终端301具体用于:
通过所述应用对测试用例进行增加、删除、修改和查询等操作;
或者,通过所述应用对测试策略进行增加、删除、修改和查询等操作;
所述终端301还用于:
当更新所述测试策略后,确定待加入更新的测试策略中的目标测试用例,所述目标测试用例为至少一个新增到所述测试策略或更新的测试用例;
创建所述目标测试用例与所述测试脚本之间的关联关系,以更新测试用例与测试脚本之间的关联关系;
根据更新的测试策略调用并执行对应的测试用例。
上面从模块化功能实体的角度分别介绍了本申请实施例中的系统30,以下从硬件角度介绍一种计算机设备,如图4所示,其包括:处理器、存储器、收发器(也可以是输入输出单元,图4中未标识出)以及存储在所述存储器中并可在所述处理器上运行的计算机程序。例如,该计算机程序可以为图1所对应的实施例中管理测试用例的方法对应的程序。例如,当计算机设备实现如图3所示的系统30的功能时,所述处理器执行所述计算机程序时实现上述图3所对应的实施例中由系统30执行的管理测试用例的方法中的各步骤;或者,所述处理器执行所述计算机程序时实现上述图3所对应的实施例的系统30中各模块的功能。又例如,该计算机程序可以为图1所对应的实施例中管理测试用例的方法对应的程序。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述收发器也可以用接收器和发送器代替,可以为相同或者不同的物理实体。为相同的物理实体时,可以统称为收发器。该收发器可以为输入输出单元。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本申请的保护之内。
Claims (9)
1.一种管理测试用例的方法,其特征在于,所述方法包括:
服务器编辑多个测试用例和至少一个测试策略,所述测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预置条件、用例编号和预期结果;所述测试策略包括执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件;
所述服务器根据所述多个测试用例生成应用对应的测试脚本,创建所述测试用例与测试脚本之间的关联关系;
所述服务器向终端发送所述多个测试用例和所述至少一个测试策略;
所述终端根据至少一个所述测试策略执行多个所述测试用例,通过安装的应用查看所述至少一个测试策略的完成进度和所述至少一个测试用例的执行状态,统计并展示各所述测试用例的执行状态;其中,所述终端根据至少一个所述测试策略执行多个所述测试用例,包括:所述终端执行至少一个所述测试策略时,根据测试策略中执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件,调用或启动多个所述测试用例;其中,所述测试策略包括执行多个测试用例的策略,所述测试策略的完成进度是指所述测试策略中已执行的测试用例总数占所述测试策略中测试用例总数的比例;所述测试用例的执行状态包括:通过、排队、阻塞、跳过、失败、警告、关闭、在检查中、已分配和指派、已解决的、结束、不可再生的、可复制的、被拒的、或者不适用的测试用例中的一项;
所述服务器根据所述关联关系确定至少一个所述测试用例在所述终端上执行后,执行与所述终端当前执行的测试用例关联的测试脚本,得到多个测试结果,向所述终端发送所述多个测试结果;
所述终端从所述服务器接收所述多个测试结果,当确定所述多个测试结果中存在不符合测试标准的异常测试结果后,确定与异常测试结果对应的异常测试用例;
所述终端修改所述异常测试用例中的测试步骤,或者,修改所述测试脚本的测试结果,所述测试结果包括通过、失败或阻塞中的一项。
2.根据权利要求1所述的方法,其特征在于,所述关联关系是指当所述测试用例在终端上被执行时,触发所述服务器上安装的测试脚本启动;
触发所述服务器上安装的测试脚本启动的触发机制基于客户机/服务器C/S结构实现。
3.根据权利要求2所述的方法,其特征在于,所述测试脚本用于进行自动化测试,所述测试脚本包括操作序列数据以及用于调用所述操作序列数据单元功能脚本的单元功能脚本代码,所述操作序列数据由用户对待测应用程序进行测试时所执行的全部操作步骤中的部分连续的操作步骤对应的操作数据构成;
所述方法还包括:
所述服务器在测试脚本目录中,预先进行同步配置;
所述服务器根据所述同步配置同步测试脚本和测试用例,在进行所述同步配置之后,建立sync.yml文件来保存所述同步配置。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述服务器使用代码封装所述多个测试用例;
所述服务器将测试用例中对应的规范化模块转化成机器语言,以将测试用例映射到测试脚本,最终生成所述测试脚本。
5.根据权利要求1所述的方法,其特征在于,所述多个测试用例包括至少一个共用测试用例,共用测试用例是指被多个测试策略执行的测试用例;
所述多个测试策略包括第一测试策略和第二测试策略,所述第一测试策略和所述第二测试策略在执行时均执行所述共用测试用例。
6.根据权利要求5所述的方法,其特征在于,所述终端修改所述异常测试用例中的测试步骤,或者,修改所述测试脚本的测试结果,包括:
所述终端通过所述应用对测试用例进行增加、删除、修改和查询中的至少一项操作;
或者,所述终端通过所述应用对测试策略进行增加、删除、修改和查询中的至少一项操作;
所述终端在通过所述应用对测试策略进行增加、删除、修改和查询中的至少一项操作之后,所述终端根据至少一个所述测试策略执行多个所述测试用例,所述方法还包括:
当更新所述测试策略后,确定待加入更新的测试策略中的目标测试用例,所述目标测试用例为至少一个新增到所述测试策略或更新的测试用例;
创建所述目标测试用例与所述测试脚本之间的关联关系,以更新测试用例与测试脚本之间的关联关系;
根据更新的测试策略调用并执行对应的测试用例。
7.一种用于管理测试用例的系统,其特征在于,所述系统包括服务器和终端:
所述服务器,用于编辑多个测试用例和至少一个测试策略,所述测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预置条件、用例编号和预期结果;所述测试策略包括执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件;
所述服务器还用于根据所述多个测试用例生成应用对应的测试脚本,创建所述测试用例与测试脚本之间的关联关系;向所述终端发送所述多个测试用例和所述至少一个测试策略;
所述终端,用于根据至少一个所述测试策略执行多个所述测试用例,通过安装的应用查看所述至少一个测试策略的完成进度和所述至少一个测试用例的执行状态,统计并展示各所述测试用例的执行状态;其中,所述终端根据至少一个所述测试策略执行多个所述测试用例,包括:所述终端执行至少一个所述测试策略时,根据测试策略中执行测试用例的时长、执行测试用例的类型和数量、执行测试用例的时序、以及执行各测试用例的触发条件,调用或启动多个所述测试用例;其中,所述测试策略包括执行多个测试用例的策略,所述测试策略的完成进度是指所述测试策略中已执行的测试用例总数占所述测试策略中测试用例总数的比例;所述测试用例的执行状态包括:通过、排队、阻塞、跳过、失败、警告、关闭、在检查中、已分配和指派、已解决的、结束、不可再生的、可复制的、被拒的、或者不适用的测试用例中的一项;
所述服务器还用于根据所述关联关系确定至少一个所述测试用例在所述终端上执行后,执行与所述终端当前执行的测试用例关联的测试脚本,得到多个测试结果,向所述终端发送所述多个测试结果;
所述终端从所述服务器接收所述多个测试结果,当确定所述多个测试结果中存在不符合测试标准的异常测试结果后,确定与异常测试结果对应的异常测试用例;
所述终端还用于修改所述异常测试用例中的测试步骤,或者,修改所述测试脚本的测试结果,所述测试结果包括通过、失败或阻塞中的一项。
8.一种计算机设备,其特征在于,所述设备包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1-6中任一项所述的管理测试用例的方法。
9.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的管理测试用例的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910427461.XA CN110309051B (zh) | 2019-05-22 | 2019-05-22 | 管理测试用例的方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910427461.XA CN110309051B (zh) | 2019-05-22 | 2019-05-22 | 管理测试用例的方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309051A CN110309051A (zh) | 2019-10-08 |
CN110309051B true CN110309051B (zh) | 2022-09-30 |
Family
ID=68074961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910427461.XA Active CN110309051B (zh) | 2019-05-22 | 2019-05-22 | 管理测试用例的方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309051B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159050A (zh) * | 2019-12-30 | 2020-05-15 | 深圳Tcl新技术有限公司 | 智能锁测试方法、装置及计算机可读存储介质 |
CN111881038B (zh) * | 2020-07-23 | 2022-11-15 | 云账户技术(天津)有限公司 | 测试用例的管理方法、装置和电子设备 |
CN112015658A (zh) * | 2020-09-02 | 2020-12-01 | 卡斯柯信号(北京)有限公司 | 一种用于软件集成测试用例的生成方法及装置 |
CN112256555A (zh) * | 2020-09-11 | 2021-01-22 | 上海汇付数据服务有限公司 | 自动化测试用例管理系统及测试用例执行状态转换方法 |
CN112231219A (zh) * | 2020-10-22 | 2021-01-15 | 中国平安人寿保险股份有限公司 | 自动化测试监控方法、装置、设备及存储介质 |
CN112231235B (zh) * | 2020-12-10 | 2021-03-30 | 广东睿江云计算股份有限公司 | 基于多方协作的测试用例编写及测试方法及其系统 |
CN112527655B (zh) * | 2020-12-16 | 2024-06-25 | 平安银行股份有限公司 | 软件版本质量异常检测方法、装置、电子设备及存储介质 |
CN112835796B (zh) * | 2021-02-01 | 2024-06-14 | 中汽数据(天津)有限公司 | 一种模糊测试方法、装置及计算机可读存储介质 |
CN112905466B (zh) * | 2021-02-10 | 2024-06-07 | 中国工商银行股份有限公司 | 动态可修复案例的软件测试方法及装置 |
CN114138677B (zh) * | 2021-12-24 | 2024-07-02 | 北京华大九天科技股份有限公司 | 测试方法及装置、测试系统、电子设备 |
CN114625664A (zh) * | 2022-03-24 | 2022-06-14 | 上海英恒电子有限公司 | 一种自动化测试方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541735A (zh) * | 2011-12-28 | 2012-07-04 | 云海创想信息技术(天津)有限公司 | 软件自动化测试方法 |
CN103530231A (zh) * | 2013-10-12 | 2014-01-22 | 北京京东尚科信息技术有限公司 | 一种基于业务流程控制的应用程序测试方法及系统 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313564B2 (en) * | 2002-12-03 | 2007-12-25 | Symbioware, Inc. | Web-interactive software testing management method and computer system including an integrated test case authoring tool |
US9361211B2 (en) * | 2014-03-07 | 2016-06-07 | Ca, Inc. | Automated generation of test cases for regression testing |
-
2019
- 2019-05-22 CN CN201910427461.XA patent/CN110309051B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541735A (zh) * | 2011-12-28 | 2012-07-04 | 云海创想信息技术(天津)有限公司 | 软件自动化测试方法 |
CN103530231A (zh) * | 2013-10-12 | 2014-01-22 | 北京京东尚科信息技术有限公司 | 一种基于业务流程控制的应用程序测试方法及系统 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110309051A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309051B (zh) | 管理测试用例的方法、系统、设备及存储介质 | |
CN108459962B (zh) | 代码规范性检测方法、装置、终端设备及存储介质 | |
US20160292068A1 (en) | Code coverage rate determination method and system | |
CN105094783A (zh) | 安卓应用稳定性测试的方法及装置 | |
CN111414172A (zh) | 应用软件自动部署发布系统及方法 | |
CN108920370B (zh) | 兼容性问题检测方法、装置及设备 | |
CN104834602B (zh) | 一种程序发布方法、装置和程序发布系统 | |
CN109726107A (zh) | 测试方法、装置、设备及存储介质 | |
CN100511156C (zh) | 强制性地终止输入/输出操作阻止的线程的设备和方法 | |
CN111522728A (zh) | 自动化测试用例的生成方法、电子设备及可读存储介质 | |
CN110928777B (zh) | 测试用例的处理方法、装置、设备及存储介质 | |
CN110554962A (zh) | 回归测试的流程覆盖方法、服务器及计算机可读存储介质 | |
CN110956269A (zh) | 数据模型的生成方法、装置、设备以及计算机存储介质 | |
CN111737140A (zh) | 接口自动化测试方法、装置、设备及计算机可读存储介质 | |
CN112256581A (zh) | 高仿真证券业交易类系统的日志回放测试方法及装置 | |
CN112559348B (zh) | 基于jacoco的测试分析方法、系统、设备以及介质 | |
CN111324540A (zh) | 一种接口测试方法及装置 | |
CN112069073A (zh) | 测试用例的管理方法、终端和存储介质 | |
CN107357721B (zh) | 测试系统的方法及装置 | |
CN108123810A (zh) | 一种错误话单处理方法及装置 | |
CN114996127A (zh) | 固态硬盘固件模块智能化测试方法及系统 | |
CN111767218B (zh) | 一种用于持续集成的自动化测试方法、设备及存储介质 | |
CN111552608A (zh) | 一种驱动内存监控方法及系统 | |
CN112416995B (zh) | 一种数据统计方法、装置、计算机设备及存储介质 | |
CN114637688A (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 |