软件测试用例的生成方法、装置、存储介质及终端与流程

文档序号:20838418发布日期:2020-05-22 17:10阅读:141来源:国知局
软件测试用例的生成方法、装置、存储介质及终端与流程

本申请涉及测试领域,尤其涉及一种软件测试用例的生成方法、装置、存储介质及终端。



背景技术:

软件测试是软件质量保证的最重要手段,测试用例是软件测试过程中的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。随着软件技术的发展,软件系统变得更加庞大,测试变得越来繁琐,那么在测试人员编写测试用例所耗费的时间也越来越多,如何提高软件测试用例的生成效率是目前接待解决的问题。



技术实现要素:

本申请实施例提供了的软件测试用例的生成方法、装置、存储介质及终端,可以解决相关技术中人工编写测试用例效率较低的问题。所述技术方案如下:

第一方面,本申请实施例提供了一种软件测试用例的生成方法,所述方法包括:

获取待测软件的测试任务;

根据所述测试任务的属性信息在所述测试任务关联的用例模型库中查询匹配的目标测试用例;

在所述目标测试用例满足期望测试条件时,根据所述目标测试用例对所述带待测软件进行测试得到测试结果信息。

第二方面,本申请实施例提供了一种软件测试用例的生成装置,所述软件测试用例的生成装置包括:

获取单元,用于获取待测软件的测试任务;

查询单元,用于根据所述测试任务的属性信息在所述测试任务关联的用例模型库中查询匹配的目标测试用例;

测试单元,用于在所述目标测试用例满足期望测试条件时,根据所述目标测试用例对所述待测软件进行测试得到测试结果信息。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

终端通过获取测试软件的测试任务,在预存储的与测试任务关联的用例模型库中查询匹配的目标测试用例,在目标测试用例满足期望测试条件时,根据目标测试用例对待测软件进行测试得到测试结果信息,本申请实施例通过用例模型库实现测试用例的重复利用,从而提升测试人员编写测试用例的效率,释放更多时间来完成测试执行工作:解决了相关技术中每次测试都需要重构测试用例导致的占用其大量时间和极度影响其测试进度的问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种网络架构图;

图2是本申请实施例提供的软件测试用例的生成方法的流程示意图;

图3是本申请实施例提供的一种生成装置的结构示意图;

图4是本申请提供的一种生成装置的另一结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。

在相关技术中,测试人员编写软件测试用例往往会存在如下问题:

(1)每个测试人员的资历、测试经验不同,对需求文档的理解,以及考虑的测试场景都不一样。资深的测试人员比一般资质的测试人员编写的测试用例质量相对高些,且考虑的测试场景也是较全面。那么,企业该如何管理和利用质量好的测试用例,才能为刚步入测试领域的测试同事学习和利用,减少由于经验不足,导致编写的测试用例出现场景泄露的问题。

(2)每家企业在研发产品的过程中,往往都会有自己的产品ui交互标准,也就是说,即使不同功能菜单,一般会存在相雷同的交互功能,对于这部分雷同的交互,如果都是由测试人员手工编写测试用例,那么会存在重复编写的问题。

(3)测试人员长期手工编写每个功能的测试用例,积累的测试用例越来越多,对测试人员来说,其维护工作量非常大,且不易利用。另外,测试人员长期手工编写测试用例,占用其大量时间,极度影响其测试进度,从而可能会出现由于测试时间不充足,出现产品质量的问题。

(4)传统的测试用例散落在各个excel文件中,在测试用例执行阶段,未能方便统计哪些用例项已测试通过,哪些用例项测试失败,不便于测试项目进度的跟踪记录。

为解决上述技术问题,本申请实施例提供了一种软件测试用例的生成方法,本申请实施例的方法包括三个过程,参见图1所示,3个过程包括:用例模型库管理、测试用例管理和测试执行管理。

1、用例模型库管理

本模块主要实现用例模型库的管理,其数据主要来源于历史测试用例信息,可通过导入方式,将历史存在的测试用例excel文件导入,程序加工处理生成用例模型库信息,为后续通过工具新增的测试用例,提供用例数据模型的支撑,便于智能匹配生成测试用例。

2、测试用例管理

本模块主要实现根据需求文档描述,新增测试用例任务,并结合程序判断逻辑和用例模型库信息,自动生成测试用例。然后在此基础上,调整完善其测试用例信息,回写到用例模型库信息中。

2.1新建测试用例:手工输入测试用例名称、测试要点、验证点、边界条件。点击“生成”按钮,即快速匹配生成测试用例详细信息。

举例说明:测试“保存”按钮功能,功能要求点击保存前,需要判断页面项目是否满足边界条件,如报销人必填,且金额必须大于零。测试用例设计为:测试要点:保存按钮,验证点1:报销人;边界条件:必填;验证点2:金额;边界条件:必须大于零。点击“生成”按钮,匹配用例模型数据库,得出4条测试详情,(1)输入值:报销人和金额都为空,点击“保存”按钮;预期输出值:系统提示“客户名称和金额字段不能为空”;(2)输入值:报销人不为空、金额为空时,点击“保存”按钮;预期输出值:系统提示“金额字段不能为空”;(3)输入值:报销人不为空、金额小于零,点击“保存”按钮;预期输出值:系统提示“金额字段必须大于零”;(4)输入值:报销人不为空、金额等于零,点击“保存”按钮;预期输出值:系统提示“金额字段必须大于零”。

假如用例模型库没有对应的测试要点、验证点,可优先模糊匹配相类似名称的。实在匹配不到,需手工完善其测试用例,并保存丰富到用例模型库中.

2.2调整优化用例:功能调整,对应的测试用例也需要对应的调整。且对于自动生产的测试用例,有些测试验证点无法覆盖真实的业务场景,那么支持手工新增或者修改测试要点,验证点,以及输入值和预期输出值。

2.3测试用例集:提供用例名称、创建人、所属业务系统等查询条件,进行检索其用例信息。其主要作用为测试执行管理提供测试用例支撑。

3、测试执行管理

本功能模块主要实现在系统测试阶段,选择用例集中的测试用例,组建成本轮测试执行任务。测试人员按照测试用例进行开展测试执行工作,对于需优化的测试场景的测试用例,则需手工调整优化测试用例。

测试执行过程中,其每个功能用例表格视图显示,主要含有测试要点、验证点、输入、预期输出、测试执行人、执行时间、执行状态、关联缺陷单号等列。执行状态为枚举值:通过、失败、未执行、受阻、不需要执行。测试人员可根据实际测试情况,标记执行状态。如果执行状态为失败、受阻状态,需要填上关联的缺陷单号,便于统计以及根据测试进度。。

本申请实施例的整个流程是闭合的,也就是结合智能生成软件测试用例工具可以实现测试用例智能生成、到测试执行等整个测试工作的全周期管理。

本申请实施例带来的有益效果如下:

(1)解决重复编写相类似交互的功能测试用例:按照传统的编写用例方式,对于相类似交互的功能,如果由不同的测试人员来完成测试用例的编写,其中某测试人员已编写完测试用例,但是另外测试人员没有很及时得到利用,然后又自己编写了一遍,即出现重复工作的现象。如果使用智能生成测试用例工具来管理,对于在数据库模型中已存在类似的交互测试用例项,工具通过程序自动匹配利用,自动生成新的测试用例,从而避免重复工作的现象。

(2)提升测试人员编写测试用例效率,释放更多时间来完成测试执行工作:按照传统的测试用例编写方式,测试人员长期手工编写测试用例,占用其大量时间,极度影响其测试进度。如果使用智能生成测试用例用具,测试人员根据需求文档新增测试用例,填写每个功能点的测试要点、验证点、边界条件等信息,工具快速匹配测试用例模型库,动态生成其测试用例。测试人员只需根据业务场景调整其用例信息,而不需要从头到尾进行编写工作,这样在一定程度上提高编写用例效率,释放更多时间来完成测试执行工作。

(3)提升测试用例的易维护性:所有的测试用例可依赖工具来调整维护,便于用例的管理。

(4)结合工具管理测试用例,实现测试工作全生命周期管理:传统的测试用例散落在各个excel文件中,在测试用例执行阶段,未能方便统计哪些用例项已测试通过,哪些用例项测试失败,不便于测试项目进度的跟踪记录。如果使用工具,可支持测试工作的全生命周期管理,即支持测试用例模型库到测试用例智能生成、测试执行管理、根据bug优化测试用例、进一步优化测试模型库等闭合操作。

下面将结合附图2,对本申请实施例提供的软件测试用例的生成方法进行详细介绍。

请参见图2,为本申请实施例提供了一种软件测试用例的生成方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:

s201、获取待测软件的测试任务。

其中,待测软件是需要进行功能测试的软件,待测软件可以是本地安装的软件,也可以是云服务器上安装的软件,同时也可以是网页等。待测软件可以实现多个功能,测试任务表示对待测软件中的一个或多个功能进行测试的任务。例如:待测软件是即时通信软件,测试任务是对即时通信软件的注册功能、登录功能进行测试。又例如:待测软件是财务软件,测试任务时对财务软件的报销功能和结算功能进行测试。测试任务关联有属性信息,属性信息包括:业务场景、测试要点、验证点、边界条件中的一种或多种,业务场景表示待测软件使用的软件场景或硬件场景,例如:待测软件所在的操作系统类型,待测软件所在的硬件平台。测试要点表示测试过程的注意事项。验证点表示待测软件中需要验证的项目。边界条件表示输入参数的范围或实际输出参数的范围。

s202、根据测试任务的属性信息在测试任务关联的用例模型库中查询匹配的目标测试用例。

其中,用例模型库中包括多个测试用例,用例模型库和测试任务有关,不同的测试任务关联有不同的用例模型库,终端根据将测试任务的属性信息作为索引在用例模型中进行查询,若查询到匹配的目标测试用例,目标测试用例的数量为一个或多个。

在一种可能的实施方式中,在所述测试任务关联的用例模型库中未查询到目标测试用例时,生成模板测试用例;

对所述模板测试用例进行编辑得到第二测试用例;

将所述第二测试用例加入到所述用例模型库中。

其中,模板测试用例是预先设置的只包括基本信息的测试用例,用户对该模板测试用例进行编辑得到符合要求的第二测试用例,然后将第二测试用例导入到用例模型库中。

应理解,在使用测试任务的属性信息在用例模型库中进行精确查询未查询到匹配的结果时,可以使用模糊查询的方式在用例模型库中查询匹配的结果,模糊查询仍未查询到匹配的结果时,再由用户通过人工编辑的方式编辑目标测试用例。

s203、在目标测试用例满足期望测试条件时,根据目标测试用例对待测软件进行测试得到测试结果信息。

其中,终端预存储或预配置有期望测试条件,期望测试条件表示测试用例的格式要求、项目要求和时序要求等,即终端判断目标测试用例是否符合要求、项目要求和时序要求,在满足时,根据目标测试用例对待测软件进行测试得到测试结果信息。所述测试结果信息包括:测试要点、验证点、输入参数、预期输出参数、实际输出参数、测试执行人、执行时间、执行状态和关联缺陷单号中的一种或多种;其中,所述执行状态包括通过、失败、未执行和受阻。

举例来说,测试任务为测试“保存”按钮功能,功能要求点击“保存”按钮前,需要判断页面项目是否满足边界条件,如报销人必填,且金额必须大于零。测试用例设计为:测试要点:保存按钮,验证点1:报销人;边界条件:必填;验证点2:金额;边界条件:必须大于零。点击“生成”按钮,匹配用例模型数据库,得出4条测试详情,(1)输入值:报销人和金额都为空,点击“保存”按钮;预期输出值:系统提示“客户名称和金额字段不能为空”;(2)输入值:报销人不为空、金额为空时,点击“保存”按钮;预期输出值:系统提示“金额字段不能为空”;(3)输入值:报销人不为空、金额小于零,点击“保存”按钮;预期输出值:系统提示“金额字段必须大于零”;(4)输入值:报销人不为空、金额等于零,点击“保存”按钮;预期输出值:系统提示“金额字段必须大于零”。

在一种可能的实施方式中,所述方法还包括:

在所述执行状态为失败或受阻时,根据所述关联缺陷单号统计所述待测软件的测试进度信息。

其中,关联缺陷单号表示测试任务发生失败或受阻时的原因的需要,测试进度信息表示测试任务的测试进度。

在一种可能的实施方式中,所述方法还包括:

在所述测试任务关联的用例模型库中未查询到目标测试用例时,生成模板测试用例;

对所述模板测试用例进行编辑得到第二测试用例;

将所述第二测试用例加入到所述用例模型库中。

在一种可能的实施方式中,所述方法还包括:

获取包括历史测试用例的excel文件;

从所述excel文件提取出一个或多个历史测试用例,以及将提取的历史测试用例导入到所述用例模型库中。

本申请实施例的方案在执行时,终端通过获取测试软件的测试任务,在预存储的与测试任务关联的用例模型库中查询匹配的目标测试用例,在目标测试用例满足期望测试条件时,根据目标测试用例对待测软件进行测试得到测试结果信息,本申请实施例通过用例模型库实现测试用例的重复利用,从而提升测试人员编写测试用例的效率,释放更多时间来完成测试执行工作:解决了相关技术中每次测试都需要重构测试用例导致的占用其大量时间和极度影响其测试进度的问题。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图3,其示出了本申请一个示例性实施例提供的软件测试用例的生成装置的结构示意图。以下简称生成生成装置3,生成装置3可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。生成装置3包括:获取单元301、查询单元302和测试单元303。

获取单元301,用于获取待测软件的测试任务;

查询单元302,用于根据所述测试任务的属性信息在所述测试任务关联的用例模型库中查询匹配的目标测试用例;

测试单元303,用于在所述目标测试用例满足期望测试条件时,根据所述目标测试用例对所述待测软件进行测试得到测试结果信息。

在一个或多个实施例中,生成装置3还包括:

导入单元,用于在所述目标测试用例不满足期望测试条件时,对所述目标测试用例进行编辑得到第一测试用例;

将所述第一测试用例加入到所述用例模型库中。

在一个或多个实施例中,,所述测试任务的属性信息包括:业务场景、测试要点、验证点、边界条件中的一种或多种。

在一个或多个实施例中,,所述测试结果信息包括:测试要点、验证点、输入参数、预期输出参数、实际输出参数、测试执行人、执行时间、执行状态和关联缺陷单号中的一种或多种;其中,所述执行状态包括通过、失败、未执行和受阻。

在一个或多个实施例中,生成装置3还包括:

统计单元,用于在所述执行状态为失败或受阻时,根据所述关联缺陷单号统计所述待测软件的测试进度信息。

在一个或多个实施例中,

导入单元还用于,用于在所述测试任务关联的用例模型库中未查询到目标测试用例时,生成模板测试用例;

对所述模板测试用例进行编辑得到第二测试用例;

将所述第二测试用例加入到所述用例模型库中。

在一个或多个实施例中,导入单元还用于:

获取包括历史测试用例的excel文件;

从所述excel文件提取出一个或多个历史测试用例,以及将提取的历史测试用例导入到所述用例模型库中。

需要说明的是,上述实施例提供的生成装置3在执行软件测试用例的生成方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的软件测试用例的生成方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本申请的生成装置3通过获取测试软件的测试任务,在预存储的与测试任务关联的用例模型库中查询匹配的目标测试用例,在目标测试用例满足期望测试条件时,根据目标测试用例对待测软件进行测试得到测试结果信息,本申请实施例通过用例模型库实现测试用例的重复利用,从而提升测试人员编写测试用例的效率,释放更多时间来完成测试执行工作:解决了相关技术中每次测试都需要重构测试用例导致的占用其大量时间和极度影响其测试进度的问题。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。

本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的软件测试用例的生成方法。

图4为本申请实施例提供的一种软件测试用例的生成装置结构示意图,以下简称生成装置4,本实施例生成装置4为终端。如图4所示,该装置包括:存储器402、处理器401、输入装置403、输出装置404和通信接口。

存储器402可以是独立的物理单元,与处理器401、输入装置403和输出装置404可以通过总线连接。存储器402、处理器401、输入装置403和输出装置404也可以集成在一起,通过硬件实现等。

存储器402用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器401调用该程序,执行以上方法实施例的操作。

输入装置403包括但不限于键盘、鼠标、触摸面板、摄像头和麦克风;输出装置404包括但不限于显示屏。

通信接口用于收发各种类型的消息,通信接口包括但不限于无线接口或有线接口。

可选地,当本实施例的输入、输出装置中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。

处理器可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。

处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

存储器可以包括易失性存储器(volatilememory),例如存取存储器(random-accessmemory,ram);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器还可以包括上述种类的存储器的组合。

其中,处理器401调用存储器402中的程序代码用于执行以下步骤:

获取待测软件的测试任务;

根据所述测试任务的属性信息在所述测试任务关联的用例模型库中查询匹配的目标测试用例;

在所述目标测试用例满足期望测试条件时,根据所述目标测试用例对所述待测软件进行测试得到测试结果信息。

在一个或多个实施例中,处理器401还用于执行:

在所述目标测试用例不满足期望测试条件时,对所述目标测试用例进行编辑得到第一测试用例;

将所述第一测试用例加入到所述用例模型库中。

在一个或多个实施例中,所述测试任务的属性信息包括:业务场景、测试要点、验证点、边界条件中的一种或多种。

在一个或多个实施例中,所述测试结果信息包括:测试要点、验证点、输入参数、预期输出参数、实际输出参数、测试执行人、执行时间、执行状态和关联缺陷单号中的一种或多种;其中,所述执行状态包括通过、失败、未执行和受阻。

在一个或多个实施例中,处理器401还用于执行:

在所述执行状态为失败或受阻时,根据所述关联缺陷单号统计所述待测软件的测试进度信息。

在一个或多个实施例中,处理器401还用于执行:

在所述测试任务关联的用例模型库中未查询到目标测试用例时,生成模板测试用例;

对所述模板测试用例进行编辑得到第二测试用例;

将所述第二测试用例加入到所述用例模型库中。

在一个或多个实施例中,处理器401还用于执行:

获取包括历史测试用例的excel文件;

从所述excel文件提取出一个或多个历史测试用例,以及将提取的历史测试用例导入到所述用例模型库中。

本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序用于执行上述实施例提供的软件测试用例的生成方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的软件测试用例的生成方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1