发明内容
为了解决上述技术问题,本发明第一方面公开了一种测试用例的生成方法,所述方法包括:
在预先构建的测试用例编辑页面绘制目标测试用例的所有测试步骤;
获取所述目标测试用例的每个测试步骤的步骤标识;
基于所述步骤标识,将所述目标测试用例的所有测试步骤存入测试步骤列表;
基于所述测试步骤列表,编辑所述目标测试用例的每个测试步骤的步骤参数;
根据所述目标测试用例的每个测试步骤的步骤属性、以及所述目标测试用例的每个测试步骤的步骤参数,生成所述目标测试用例的测试脚本;
其中,所述目标测试用例的每个测试步骤的步骤属性至少包括每个测试步骤的执行顺序。
作为一种可选的实施方式,在本发明第一方面中,所述在预先构建的测试用例编辑页面绘制目标测试用例的所有测试步骤,包括:
获取目标测试用例包括的至少两个基础测试步骤,以及所述目标测试用例包括的每个基础测试步骤的执行顺序;
在预先构建的测试用例编辑页面绘制所述目标测试用例包括的每个基础测试步骤的步骤节点;
根据绘制出的所述目标测试用例包括的至少两个基础测试步骤的步骤节点、以及所述目标测试用例包括的至少两个基础测试步骤的执行顺序,构建任意两个执行顺序相邻的步骤节点之间的有向连接线,得到所述目标测试用例的所有测试步骤。
作为一种可选的实施方式,在本发明第一方面中,根据绘制出的所述目标测试用例包括的至少两个基础测试步骤的步骤节点、以及所述目标测试用例包括的至少两个基础测试步骤的执行顺序,构建任意两个执行顺序相邻的步骤节点之间的有向连接线,得到所述目标测试用例的所有测试步骤之后,所述方法还包括:
根据所述目标测试用例的测试需求,确定需要新增的目标测试步骤;
根据用户针对所述目标测试步骤的拖拽操作,确定目标测试步骤的插入位置;
从所述目标测试用例已有的所有测试步骤中筛选与所述插入位置相匹配的测试步骤;
根据与所述插入位置相匹配的测试步骤、所述目标测试用例已有的所有测试步骤以及所述插入位置,在所述目标测试用例已有的所有测试步骤的有向连接线的基础上,构建与所述插入位置相匹配的测试步骤和所述目标测试步骤之间的有向连接线,以更新所述目标测试用例的所有测试步骤,其中,更新后的所述目标测试用例的所有测试步骤包括所述目标测试步骤。
作为一种可选的实施方式,在本发明第一方面中,所述根据用户针对所述目标测试步骤的拖拽操作,确定目标测试步骤的插入位置,包括:
根据用户针对所述目标测试步骤的拖拽操作,确定所述拖拽操作的拖拽终点位置;
判断所述拖拽终点位置是否与所述目标测试用例的所有测试步骤中的至少一个有向连接线所在的位置重叠;
当判断结果为是时,则获取所述目标测试用例的所有测试步骤的有向连接线中所在的位置与所述拖拽终点位置存在重叠的重叠有向连接线,并判断所述重叠有向连接线的数量是否为一;
若所述重叠有向连接线的数量为一,则将所述重叠有向连接线所在的位置确定为目标测试步骤的插入位置;
其中,与所述插入位置相匹配的测试步骤包括所述重叠有向连接线所连接的两个测试步骤。
作为一种可选的实施方式,在本发明第一方面中,所述根据与所述插入位置相匹配的测试步骤、所述目标测试用例已有的所有测试步骤以及所述插入位置,在所述目标测试用例已有的所有测试步骤的有向连接线的基础上,构建与所述插入位置相匹配的测试步骤和所述目标测试步骤之间的有向连接线,以更新所述目标测试用例的所有测试步骤,包括:
若所述重叠有向连接线的数量为一,则根据与所述插入位置相匹配的测试步骤、所述目标测试用例已有的所有测试步骤以及所述插入位置,在所述目标测试用例已有的所有测试步骤的有向连接线的基础上,构建所述重叠有向连接线的在先测试步骤至所述目标测试步骤的有向连接线以及所述目标测试步骤至所述重叠有向连接线的在后测试步骤之间的有向连接线。
作为一种可选的实施方式,在本发明第一方面中,所述基于所述测试步骤列表,编辑所述目标测试用例的每个测试步骤的步骤参数,包括:
对于所述目标测试用例的任一测试步骤,根据用户触发的参数设置指令设置该测试步骤的步骤参数;
判断是否存在该测试步骤的关联步骤;
当判断结果为是时,执行对所述关联步骤的参数设置操作。
作为一种可选的实施方式,在本发明第一方面中,所述基于所述测试步骤列表,编辑所述目标测试用例的每个测试步骤的步骤参数之后,所述方法还包括:
判断是否存在不同于所述测试步骤列表且用于设置步骤参数的参数设置面板;
当判断结果为是时,判断所述测试步骤列表与所述参数设置面板是否存在同步关系;
当存在所述同步关系时,将在所述测试步骤列表中设置的步骤参数同步至所述参数设置面板中。
本发明第二方面公开了一种测试用例的生成装置,所述装置包括:
绘制模块,用于在预先构建的测试用例编辑页面绘制目标测试用例的所有测试步骤;
获取模块,用于获取所述目标测试用例的每个测试步骤的步骤标识;
存储模块,用于基于所述步骤标识,将所述目标测试用例的所有测试步骤存入测试步骤列表;
编辑模块,用于基于所述测试步骤列表,编辑所述目标测试用例的每个测试步骤的步骤参数;
生成模块,用于根据所述目标测试用例的每个测试步骤的步骤属性、以及所述目标测试用例的每个测试步骤的步骤参数,生成所述目标测试用例的测试脚本;
其中,所述目标测试用例的每个测试步骤的步骤属性至少包括每个测试步骤的执行顺序。
作为一种可选的实施方式,在本发明第二方面中,所述绘制模块,包括:
获取子模块,用于获取目标测试用例包括的至少两个基础测试步骤,以及所述目标测试用例包括的每个基础测试步骤的执行顺序;
第一绘制子模块,用于在预先构建的测试用例编辑页面绘制所述目标测试用例包括的每个基础测试步骤的步骤节点;
第二绘制子模块,用于根据绘制出的所述目标测试用例包括的至少两个基础测试步骤的步骤节点、以及所述目标测试用例包括的至少两个基础测试步骤的执行顺序,构建任意两个执行顺序相邻的步骤节点之间的有向连接线,得到所述目标测试用例的所有测试步骤。
作为一种可选的实施方式,在本发明第二方面中,所述绘制模块还包括:
确定子模块,用于根据所述目标测试用例的测试需求,确定需要新增的目标测试步骤;
位置确定子模块,用于根据用户针对所述目标测试步骤的拖拽操作,确定目标测试步骤的插入位置;
筛选子模块,用于从所述目标测试用例已有的所有测试步骤中筛选与所述插入位置相匹配的测试步骤;
更新子模块,用于根据与所述插入位置相匹配的测试步骤、所述目标测试用例已有的所有测试步骤以及所述插入位置,在所述目标测试用例已有的所有测试步骤的有向连接线的基础上,构建与所述插入位置相匹配的测试步骤和所述目标测试步骤之间的有向连接线,以更新所述目标测试用例的所有测试步骤,其中,更新后的所述目标测试用例的所有测试步骤包括所述目标测试步骤。
作为一种可选的实施方式,在本发明第二方面中,所述位置确定子模块,包括:
拖拽子模块,用于根据用户针对所述目标测试步骤的拖拽操作,确定所述拖拽操作的拖拽终点位置;
第一判断子模块,用于判断所述拖拽终点位置是否与所述目标测试用例的所有测试步骤中的至少一个有向连接线所在的位置重叠;
第二判断子模块,用于当所述第一判断子模块的判断结果为是时,则获取所述目标测试用例的所有测试步骤的有向连接线中所在的位置与所述拖拽终点位置存在重叠的重叠有向连接线,并判断所述重叠有向连接线的数量是否为一;
插入子模块,用于若所述第二判断子模块判断出所述重叠有向连接线的数量为一,则将所述重叠有向连接线所在的位置确定为目标测试步骤的插入位置;其中,与所述插入位置相匹配的测试步骤包括所述重叠有向连接线所连接的两个测试步骤。
作为一种可选的实施方式,在本发明第二方面中,所述更新子模块根据与所述插入位置相匹配的测试步骤、所述目标测试用例已有的所有测试步骤以及所述插入位置,在所述目标测试用例已有的所有测试步骤的有向连接线的基础上,构建与所述插入位置相匹配的测试步骤和所述目标测试步骤之间的有向连接线,以更新所述目标测试用例的所有测试步骤,具体内容包括:
若所述重叠有向连接线的数量为一,则根据与所述插入位置相匹配的测试步骤、所述目标测试用例已有的所有测试步骤以及所述插入位置,在所述目标测试用例已有的所有测试步骤的有向连接线的基础上,构建所述重叠有向连接线的在先测试步骤至所述目标测试步骤的有向连接线以及所述目标测试步骤至所述重叠有向连接线的在后测试步骤之间的有向连接线。
作为一种可选的实施方式,在本发明第二方面中,所述编辑模块基于所述测试步骤列表,编辑所述目标测试用例的每个测试步骤的步骤参数的具体内容包括:
对于所述目标测试用例的任一测试步骤,根据用户触发的参数设置指令设置该测试步骤的步骤参数;判断是否存在该测试步骤的关联步骤;当判断结果为是时,执行对所述关联步骤的参数设置操作。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
同步模块,用于所述编辑模块基于所述测试步骤列表,编辑所述目标测试用例的每个测试步骤的步骤参数之后,判断是否存在不同于所述测试步骤列表且用于设置步骤参数的参数设置面板;当判断结果为是时,判断所述测试步骤列表与所述参数设置面板是否存在同步关系;当存在所述同步关系时,将在所述测试步骤列表中设置的步骤参数同步至所述参数设置面板中。
本发明第三方面公开了另一种测试用例的生成装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面所述的测试用例的生成方法。
本发明第四方面公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被调用时,用于执行本发明第一方面所述的测试用例的生成方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,通过在测试用例编辑页面绘制目标测试用例的所有测试步骤,并通过包含每个测试步骤的测试步骤列表实现步骤参数的编辑,在此基础上,根据每个测试步骤的执行顺序以及每个测试步骤的步骤参数,自动的生成目标测试用例的测试脚本。可见,实施本发明能够通过可视化的操作实现测试用例的绘制,仅需测试人员对测试流程进行编辑,可以根据测试步骤执行顺序自动生成测试用例的测试脚本,避免了非常繁琐的编码过程,降低了对测试人员专业技能的要求,提高了工作效率,实现了简单、高效的生成测试用例。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种测试用例的生成方法及装置,能够通过可视化的操作实现测试用例的绘制,仅需测试人员对测试流程进行编辑,可以根据测试步骤执行顺序自动生成测试用例的测试脚本,避免了非常繁琐的编码过程,降低了对测试人员专业技能的要求,提高了工作效率,实现了简单、高效的生成测试用例。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种测试用例的生成方法的流程示意图。其中,图1所描述的测试用例的生成方法可以应用于计算机终端,也可以应用于服务器,本发明实施例不做限定。如图1所示,该测试用例的生成方法可以包括以下操作:
S1、在预先构建的测试用例编辑页面绘制目标测试用例的所有测试步骤。
本发明实施例中,测试人员首先登录自动化测试用例编制系统,进入测试用例建模方法。自动化测试用例编制系统中存储有预先构建测试用例编辑页面,测试人员可以基于预先构建的测试用例编辑页面,绘制想要生成的测试用例的所有测试步骤。在一个可选的实施例中,如图2所示,测试人员登陆后,点击首页菜单栏中的"测试建模">"测试用例建模",进入测试用例建模模块。预先构建的测试用例编辑页面如图3所示,测试用例编辑页面中的用例设计分为四大区域:分别是工具箱、用例绘制面板、步骤参数设置面板、测试步骤列表以及测试脚本展示面板,其中测试用例列表以及测试脚本展示位于同一个区域,使用选项卡模式切换该区域呈现的内容。
S2、获取目标测试用例的每个测试步骤的步骤标识。
本发明实施例中,测试人员在测试用例编辑页面绘制目标测试用例的所有测试步骤时,自动化测试用例编制系统自动获取并统计目标测试用例的每个测试步骤,并为每个测试步骤按照测试步骤的执行顺序设置相应的步骤标识。
S3、基于步骤标识,将目标测试用例的所有测试步骤存入测试步骤列表。
本发明实施例中,自动化测试用例编制系统根据获取的目标测试用例的每个测试步骤的步骤标识,以及步骤标识与测试步骤的对应关系,将目标测试用例中的所有测试步骤存入测试步骤列表。在一个可选的实施例中,测试步骤列表包括步骤标识字段(序号)、步骤名称字段、步骤说明字段、参数名称字段、参数值字段、注释字段等。自动化测试用例编制系统将测试人员绘制的目标测试用例包含的测试步骤及其对应的属性值填充至测试步骤列表中。如图3所示,存有目标测试用例的所有测试步骤的测试步骤列表在测试步骤列表以及测试脚本展示面板中呈现给测试人员。
S4、基于测试步骤列表,编辑目标测试用例的每个测试步骤的步骤参数。
本发明实施例中,测试人员根据构建好的测试步骤列表,对目标测试用例中的每个测试步骤的步骤参数进行编辑。
S5、根据目标测试用例的每个测试步骤的步骤属性、以及目标测试用例的每个测试步骤的步骤参数,生成目标测试用例的测试脚本;其中,目标测试用例的每个测试步骤的步骤属性至少包括每个测试步骤的执行顺序。
本发明实施例中,自动化测试用例编制系统根据测试人员在用例绘制面板绘制出的所有测试步骤及其相应的执行顺序,与每个测试步骤的步骤参数,自动生成自动化测试工具RIDE所使用的测试脚本信息,并在测试步骤列表以及测试脚本展示面板中呈现给测试人员,示例性的,如图13所示。
可见,通过实施图1所描述的一种测试用例的生成方法,通过在测试用例编辑页面绘制目标测试用例的所有测试步骤,并通过包含每个测试步骤的测试步骤列表实现步骤参数的编辑,在此基础上,根据每个测试步骤的执行顺序以及每个测试步骤的步骤参数,自动的生成目标测试用例的测试脚本。能够通过可视化的操作实现测试用例的绘制,仅需测试人员对测试流程进行编辑,可以根据测试步骤执行顺序自动生成测试用例的测试脚本,避免了非常繁琐的编码过程,降低了对测试人员专业技能的要求,提高了工作效率,实现了简单、高效的生成测试用例。
本发明实施例中,可选的,参阅图4,图4是本发明实施例公开的一种测试用例的生成方法中步骤S1的流程示意图。步骤S1,具体包括:
S11、获取目标测试用例包括的至少两个基础测试步骤,以及目标测试用例包括的每个基础测试步骤的执行顺序。
在该可选的实施例中,自动化测试用例编制系统获取目标测试用例包括的基础测试步骤,该获取的方法可以基于需求文档分析得到,也可以根据测试人员在测试用例编辑页面中选定的基础测试步骤得到,本发明对此不作限定。
S12、在预先构建的测试用例编辑页面绘制目标测试用例包括的每个基础测试步骤的步骤节点。
在该可选的实施例中,自动化测试用例编制系统根据获取的基础测试步骤,构建相应的基础测试步骤节点。示例性的,如图3所示,当前目标测试用例包括的基础测试步骤有开始节点、第一应用页获取焦点节点、进入列表页面节点、退出框架节点、第二应用页获取焦点节点、费用报销单编辑页面节点、结束节点等,其中开始节点为进入应用节点,结束节点为关浏览器并杀进程节点。
S13、根据绘制出的目标测试用例包括的至少两个基础测试步骤的步骤节点、以及目标测试用例包括的至少两个基础测试步骤的执行顺序,构建任意两个执行顺序相邻的步骤节点之间的有向连接线,得到目标测试用例的所有测试步骤。
在该可选的实施例中,构建执行顺序相邻的两个步骤节点间的有向连接线,其中有向连接线的方向为执行顺序在前的步骤节点指向执行顺序在后的步骤节点的方向。示例性的,如图3所示,构建了开始节点指向第一应用页获取焦点节点的有向连接线,以及第一应用页获取焦点节点指向进入列表页面节点的有向连接线等等,生成了当前目标测试用例的所有测试步骤。其中得到的目标测试用例的所有测试步骤既包括基本测试步骤,也包括基本测试步骤间的链接关系。
可见,该可选的实施例,能够快速的构建测试用例多个测试步骤间的步骤流程逻辑,方便测试人员设计。
本发明实施例中,进一步可选的,参阅图4,步骤S13之后还包括:
S14、根据目标测试用例的测试需求,确定需要新增的目标测试步骤。
在该可选的实施例中,构建出初步的目标测试用例的所有测试步骤之后,如果在实测过程中提出新的测试需求时,可以采用本可选的实施例进行目标测试用例的所有测试步骤的更新。需要新增的目标测试步骤可以是已有两个测试步骤间插入的需要新增的目标测试步骤,也可以是起始步骤前/结束步骤后需要新增的目标测试步骤。另外,与步骤S11类似的,自动化测试用例编制系统可以根据需求文档分析得到新增的目标测试步骤,也可以根据测试人员在测试用例编辑页面中选定的新增的目标测试步骤得到,本发明对此不作限定。
S15、根据用户针对目标测试步骤的拖拽操作,确定目标测试步骤的插入位置。
在该可选的实施例中,进一步可选的,参阅图5,图5是本发明实施例公开的一种测试用例的生成方法中步骤S15的流程示意图。步骤S15、根据用户针对目标测试步骤的拖拽操作,确定目标测试步骤的插入位置,具体包括:
S151、根据用户针对目标测试步骤的拖拽操作,确定拖拽操作的拖拽终点位置。
示例性的,参阅图6,图6是本发明实施公开的用户针对目标测试步骤的拖拽操作示意图。图6中,获取值节点为目标测试步骤,测试人员在测试用例绘制面板中拖拽获取值节点,具体的,测试人员通过鼠标点击“获取值”步骤不放,在测试用例绘制面板中拖动“获取值”步骤,测试人员松开鼠标,将“获取值”步骤在测试人员松开鼠标时所处的位置确定为拖拽操作的拖拽终点位置。
S152、判断拖拽终点位置是否与目标测试用例的所有测试步骤中的至少一个有向连接线所在的位置重叠。
用户在测试用例编辑页面内拖动步骤节点时,拖拽终点位置可能出现的情况包括:与已构建好的目标测试用例的所有测试步骤中的一个有向连接线所在的位置重叠,与已构建好的目标测试用例的所有测试步骤中的多个有向连接线所在的位置重叠,与已构建好的目标测试用例的所有测试步骤中的所有有向连接线所在的位置重叠均不重叠。此时需要判断拖拽终点位置与有向连接线所在的位置之间的重叠关系,以确定新增的目标测试步骤准确的插入位置。
若判断出拖拽终点位置与目标测试用例的所有测试步骤中的任一有向连接线所在的位置均不重叠,则执行步骤S153;S153、向用户发送是否创建有向连接线的提示。
当拖拽终点位置与已构建好的目标测试用例的所有测试步骤中的所有有向连接线所在的位置重叠均不重叠时,用户的意图可能包括:在起始步骤前/结束步骤后新增该目标测试步骤,以及拖拽误操作,此时,自动化测试用例编制系统可以向用户发送是否创建有向连接线的提示。
若判断出拖拽终点位置与目标测试用例的测试步骤流程中的至少一个有向连接线所在的位置重叠,则执行步骤S154;S154、获取目标测试用例的所有测试步骤的有向连接线中所在的位置与拖拽终点位置存在重叠的重叠有向连接线,并进一步执行步骤S155。S155判断重叠有向连接线的数量是否为一。
若重叠有向连接线的数量不为一,则执行步骤S156;S156、向用户发送选择关联有向连接线的提示。
示例性的,参阅图7,图7是本发明实施公开的提示窗口示意图。图7中,目标测试步骤“确认数据存在于数据库中”的拖拽终点位置与两条有向连接线所在的位置重叠,即与“退出框架”与“应用页获取焦点”间的有向连接线所在的位置、“保存后的校验”与“关浏览器并杀进程”间的有向连接线所在的位置均重叠。此时通过提示框向用户发送选择关联有向连接线的提示,并根据用户的选择确定目标测试步骤准确的插入位置。
若重叠有向连接线的数量为一,则执行步骤S157;S157、将重叠有向连接线所在的位置确定为目标测试步骤的插入位置。
在该可选的实施例中,步骤S15之后,该方法还包括:
S16、从目标测试用例已有的所有测试步骤中筛选与插入位置相匹配的测试步骤。
基于步骤S15可以确定出目标测试步骤准确的插入位置,进一步从目标测试用例已有的所有测试步骤中筛选与插入位置相匹配的测试步骤。与所述插入位置相匹配的测试步骤包括所述重叠有向连接线所连接的两个测试步骤。
S17、根据与插入位置相匹配的测试步骤、目标测试用例已有的所有测试步骤以及插入位置,在目标测试用例已有的所有测试步骤的有向连接线的基础上,构建与插入位置相匹配的测试步骤和目标测试步骤之间的有向连接线,以更新目标测试用例的所有测试步骤,其中,更新后的目标测试用例的所有测试步骤包括目标测试步骤。
在该可选的实施例中,进一步可选的,步骤S17,具体包括:
若重叠有向连接线的数量为一,则根据与插入位置相匹配的测试步骤、目标测试用例已有的所有测试步骤以及插入位置,在目标测试用例已有的所有测试步骤的有向连接线的基础上,构建重叠有向连接线的在先测试步骤至目标测试步骤的有向连接线以及目标测试步骤至重叠有向连接线的在后测试步骤之间的有向连接线。即将重叠有向连接线从中间断开成两段,再连接在先测试步骤与目标测试步骤,以及目标测试步骤与在后测试步骤,方向与重叠有向链接线的方向一致。
若重叠有向连接线的数量不为一,用户根据提示信息选取了重叠有向连接线,则将重叠有向连接线从中间断开成两段,再连接在先测试步骤与目标测试步骤,以及目标测试步骤与在后测试步骤,方向与重叠有向链接线的方向一致。
若拖拽终点位置与已构建好的目标测试用例的所有测试步骤中的所有有向连接线所在的位置重叠均不重叠时,自动化测试用例编制系统可以向用户发送是否创建有向连接线的提示。当用户选择创建新的有向连接线时,自动化测试用例编制系统根据当前已构建好的目标测试用例的所有测试步骤,分析出已构建好的目标测试用例的所有测试步骤中与目标测试步骤关联关联最密切的关联步骤,并将关联节点作为新的有向连接线的链接节点。进一步的,根据所有测试步骤的执行顺序及链接关系确定关联步骤与目标测试步骤间的执行顺序,从而确定出新有向连接线的方向。
在该可选的实施例中,进一步可选的,参阅图8、图9,其中图8是本发明实施例公开的节点操作功能示意图;图9是本发明实施例公开的回退/还原操作功能示意图。该方法还包括:
删除步骤节点,其中包括:
批量删除:使用ctrl+点击鼠标左键选择步骤节点(如果要取消已选中的步骤,再次点击鼠标左键),选择好后,按delete键或右击鼠标弹出菜单浮动框,点击“删除”菜单项。
单个删除:点击鼠标左键选择步骤节点,按delete键或右击鼠标弹出菜单浮动框,点击“删除”菜单项。
清除所有步骤节点:选择任意一个步骤节点,右击鼠标弹出菜单浮动框,点击“删除所有”菜单项。
删除连接线:鼠标移动连接线上,按delete键或右击鼠标,弹出提示框是否要删除连线,是则删除,反之则放弃本次操作。
复制步骤节点,其中包括:
批量复制:使用ctrl+点击鼠标左键选择步骤节点(如果要取消已选中的步骤,再次点击鼠标左键),选择好后,按ctrl+c快捷键或者右击鼠标弹出菜单浮动框,点击“复制”菜单项复制步骤节点,粘贴前直接按ctrl+v快捷键或者右击鼠标弹出菜单浮动框,点击“粘贴”菜单项进行粘贴,复制的步骤默认生成位置是在原步骤右下角,如果想把复制的步骤放置到指定的位置上,可以使用鼠标在指定位置点击一下,然后按ctrl+v快捷键或者右击鼠标弹出菜单浮动框,点击“粘贴”菜单项进行粘贴即可。
单个复制:点击鼠标左键选择步骤节点,右击鼠标弹出菜单浮动框,点击“复制”菜单项。粘贴方式跟批量复制一样,在此不再重述了。
该方法还包括:回退/还原操作。
回退:如果用户对当前修改的步骤不满意(保存之前),可以点击回退按钮,撤回刚刚添加的步骤。
还原:用户回退之后(保存之前),如果想恢复刚刚修改的步骤,可以点击还原按钮,绘制面板将会还原刚回退的步骤。
可见,实施本实施例所描述的测试用例的生成方法,能够通过可视化的操作实现目标测试用例的所有测试步骤的修改,避免在目标测试用例有变动时需要人工修改测试用例代码,降低了测试用例修改难度,提高了测试用例的创建效率。
本发明实施例中,可选的,步骤S4,基于测试步骤列表,编辑目标测试用例的每个测试步骤的步骤参数,具体包括:
对于目标测试用例的任一测试步骤,根据用户触发的参数设置指令设置该测试步骤的步骤参数;判断是否存在该测试步骤的关联步骤;当判断结果为是时,执行对关联步骤的参数设置操作。
本发明实施例中,进一步可选的,步骤S4之后还包括:
判断是否存在不同于测试步骤列表且用于设置步骤参数的参数设置面板;当判断结果为是时,判断测试步骤列表与参数设置面板是否存在同步关系;当存在同步关系时,将在测试步骤列表中设置的步骤参数同步至参数设置面板中。
示例性的,将绘制面板中的所有测试步骤按卡片形式呈现出来,卡片顺序按流程图顺序排序,如果未连接线的测试步骤则排到最后。每个测试步骤对应一个编辑列表,可对测试步骤参数进行编辑,但对于不同的测试步骤类型,测试步骤对应的参数编辑列表展示数据以及编辑方式有所不同。测试步骤类型包括:基本测试步骤和组合测试步骤。
对于基本测试步骤,参阅图10,图10是本发明公开的一种参数编辑示意图:基本测试步骤列表呈现自身的参数信息,如果在基本测试步骤列表中修改步骤参数值,右侧参数设置面板对应的参数也会实时更改,保持展示层数据一致性。
对于组合测试步骤,参阅图11,图11是本发明公开的另一种参数编辑示意图:组合测试步骤列表呈现的是引用测试步骤参数信息,对于固定组合测试步骤,引用的步骤集是固定的。而动态组合测试步骤引用的步骤是动态生成的,生成方式是通过动态测试步骤自身属性值请求后台获得的。
对于引用测试步骤参数值赋方式有两种:1、直接在输入框中输入值;2、点击输入框右侧图标,弹出选择测试建模数字字典页面,选择数字字典值赋值(赋值格式:${value});操作方式图12所示,图12是本发明公开的一种参数值赋方式示意图。
可见,通过实施本实施例所描述的测试用例的生成方法,可以针对不同类型的测试步骤实现参数编辑,降低了对测试人员专业技能的要求,提高了工作效率。
实施例二
请参阅图14,图14是本发明实施例公开的一种测试用例的生成装置的结构示意图。其中,图14所描述的测试用例的生成装置可以应用于计算机终端,也可以应用于服务器,本发明实施例不做限定。如图14所示,测试用例的生成装置包括:绘制模块141、获取模块142、存储模块143、编辑模块144、生成模块145。
绘制模块141,用于在预先构建的测试用例编辑页面绘制目标测试用例的所有测试步骤。
本发明实施例中,测试人员首先登录自动化测试用例编制系统,进入测试用例建模方法。自动化测试用例编制系统中存储有预先构建测试用例编辑页面,测试人员可以基于预先构建的测试用例编辑页面,绘制想要生成的测试用例的所有测试步骤。在一个可选的实施例中,如图2所示,测试人员登陆后,点击首页菜单栏中的"测试建模">"测试用例建模",进入测试用例建模模块。预先构建的测试用例编辑页面如图3所示,测试用例编辑页面中的用例设计分为四大区域:分别是工具箱、用例绘制面板、步骤参数设置面板、测试步骤列表以及测试脚本展示面板,其中测试用例列表以及测试脚本展示位于同一个区域,使用选项卡模式切换该区域呈现的内容。
获取模块142,用于获取目标测试用例的每个测试步骤的步骤标识。
本发明实施例中,测试人员在测试用例编辑页面绘制目标测试用例的所有测试步骤时,自动化测试用例编制系统自动获取并统计目标测试用例的每个测试步骤,并为每个测试步骤按照测试步骤的执行顺序设置相应的步骤标识。
存储模块143,用于基于步骤标识,将目标测试用例的所有测试步骤存入测试步骤列表。
本发明实施例中,自动化测试用例编制系统根据获取的目标测试用例的每个测试步骤的步骤标识,以及步骤标识与测试步骤的对应关系,将目标测试用例中的所有测试步骤存入测试步骤列表。在一个可选的实施例中,测试步骤列表包括步骤标识字段(序号)、步骤名称字段、步骤说明字段、参数名称字段、参数值字段、注释字段等。自动化测试用例编制系统将测试人员绘制的目标测试用例包含的测试步骤及其对应的属性值填充至测试步骤列表中。如图3所示,存有目标测试用例的所有测试步骤的测试步骤列表在测试步骤列表以及测试脚本展示面板中呈现给测试人员。
编辑模块144,用于基于测试步骤列表,编辑目标测试用例的每个测试步骤的步骤参数。
本发明实施例中,测试人员根据构建好的测试步骤列表,对目标测试用例中的每个测试步骤的步骤参数进行编辑。
生成模块145,用于根据目标测试用例的每个测试步骤的步骤属性、以及目标测试用例的每个测试步骤的步骤参数,生成目标测试用例的测试脚本;其中,目标测试用例的每个测试步骤的步骤属性至少包括每个测试步骤的执行顺序。
本发明实施例中,自动化测试用例编制系统根据测试人员在用例绘制面板绘制出的所有测试步骤及其相应的执行顺序,与每个测试步骤的步骤参数,自动生成自动化测试工具RIDE所使用的测试脚本信息,并在测试步骤列表以及测试脚本展示面板中呈现给测试人员,示例性的,如图13所示。
可见,通过实施图14所描述的一种测试用例的生成装置,通过在测试用例编辑页面绘制目标测试用例的所有测试步骤,并通过包含每个测试步骤的测试步骤列表实现步骤参数的编辑,在此基础上,根据每个测试步骤的执行顺序以及每个测试步骤的步骤参数,自动的生成目标测试用例的测试脚本。能够通过可视化的操作实现测试用例的绘制,仅需测试人员对测试流程进行编辑,可以根据测试步骤执行顺序自动生成测试用例的测试脚本,避免了非常繁琐的编码过程,降低了对测试人员专业技能的要求,提高了工作效率,实现了简单、高效的生成测试用例。
本发明实施例中,可选的,参阅图15,图15是本发明实施例公开的另一种测试用例的生成装置的结构示意图。绘制模块141,包括:获取子模块1411、第一绘制子模块1412、第二绘制子模块1413,其中:
获取子模块1411,用于获取目标测试用例包括的至少两个基础测试步骤,以及目标测试用例包括的每个基础测试步骤的执行顺序。
在该可选的实施例中,自动化测试用例编制系统获取目标测试用例包括的基础测试步骤,该获取的方法可以基于需求文档分析得到,也可以根据测试人员在测试用例编辑页面中选定的基础测试步骤得到,本发明对此不作限定。
第一绘制子模块1412,用于在预先构建的测试用例编辑页面绘制目标测试用例包括的每个基础测试步骤的步骤节点。
在该可选的实施例中,自动化测试用例编制系统根据获取的基础测试步骤,构建相应的基础测试步骤节点。示例性的,如图3所示,当前目标测试用例包括的基础测试步骤有开始节点、第一应用页获取焦点节点、进入列表页面节点、退出框架节点、第二应用页获取焦点节点、费用报销单编辑页面节点、结束节点等,其中开始节点为进入应用节点,结束节点为关浏览器并杀进程节点。
第二绘制子模块1413,用于根据绘制出的目标测试用例包括的至少两个基础测试步骤的步骤节点、以及目标测试用例包括的至少两个基础测试步骤的执行顺序,构建任意两个执行顺序相邻的步骤节点之间的有向连接线,得到目标测试用例的所有测试步骤。
在该可选的实施例中,构建执行顺序相邻的两个步骤节点间的有向连接线,其中有向连接线的方向为执行顺序在前的步骤节点指向执行顺序在后的步骤节点的方向。示例性的,如图3所示,构建了开始节点指向第一应用页获取焦点节点的有向连接线,以及第一应用页获取焦点节点指向进入列表页面节点的有向连接线等等,生成了当前目标测试用例的所有测试步骤。其中得到的目标测试用例的所有测试步骤既包括基本测试步骤,也包括基本测试步骤间的链接关系。
可见,该可选的实施例,能够快速的构建测试用例多个测试步骤间的步骤流程逻辑,方便测试人员设计。
本发明实施例中,进一步可选的,参阅图16,图16是本发明实施例公开的又一种测试用例的生成装置的结构示意图。装置还包括更新模块146,更新模块146具体包括:确定子模块1461、位置确定子模块1462、筛选子模块1463、更新子模块1464,其中:
确定子模块1461,用于根据所述目标测试用例的测试需求,确定需要新增的目标测试步骤。
在该可选的实施例中,构建出初步的目标测试用例的所有测试步骤之后,如果在实测过程中提出新的测试需求时,可以采用本可选的实施例进行目标测试用例的所有测试步骤的更新。需要新增的目标测试步骤可以是已有两个测试步骤间插入的需要新增的目标测试步骤,也可以是起始步骤前/结束步骤后需要新增的目标测试步骤。另外,与步骤S11类似的,自动化测试用例编制系统可以根据需求文档分析得到新增的目标测试步骤,也可以根据测试人员在测试用例编辑页面中选定的新增的目标测试步骤得到,本发明对此不作限定。
位置确定子模块1462,用于根据用户针对所述目标测试步骤的拖拽操作,确定目标测试步骤的插入位置。
在该可选的实施例中,进一步可选的,参阅图17所示,图17是本发明实施例公开的位置确定子模块的结构示意图。位置确定子模块1462,包括:拖拽子模块14621、第一判断子模块14622、第一提示模块14623、第二判断子模块14624、第二提示模块14625、插入子模块14626,其中:
拖拽子模块14621,用于根据用户针对目标测试步骤的拖拽操作,确定拖拽操作的拖拽终点位置。
示例性的,参阅图6,图6是本发明实施公开的用户针对目标测试步骤的拖拽操作示意图。图6中,获取值节点为目标测试步骤,测试人员在测试用例绘制面板中拖拽获取值节点,具体的,测试人员通过鼠标点击“获取值”步骤不放,在测试用例绘制面板中拖动“获取值”步骤,测试人员松开鼠标,将“获取值”步骤在测试人员松开鼠标时所处的位置确定为拖拽操作的拖拽终点位置。
第一判断子模块14622,用于判断拖拽终点位置是否与目标测试用例的所有测试步骤中的至少一个有向连接线所在的位置重叠。
用户在测试用例编辑页面内拖动步骤节点时,拖拽终点位置可能出现的情况包括:与已构建好的目标测试用例的所有测试步骤中的一个有向连接线所在的位置重叠,与已构建好的目标测试用例的所有测试步骤中的多个有向连接线所在的位置重叠,与已构建好的目标测试用例的所有测试步骤中的所有有向连接线所在的位置重叠均不重叠。此时需要判断拖拽终点位置与有向连接线所在的位置之间的重叠关系,以确定新增的目标测试步骤准确的插入位置。
第一提示子模块14623,用于若第一判断子模块14622判断出拖拽终点位置与目标测试用例的所有测试步骤中的任一有向连接线所在的位置均不重叠,则向用户发送是否创建有向连接线的提示。
当拖拽终点位置与已构建好的目标测试用例的所有测试步骤中的所有有向连接线所在的位置重叠均不重叠时,用户的意图可能包括:在起始步骤前/结束步骤后新增该目标测试步骤,以及拖拽误操作,此时,自动化测试用例编制系统可以向用户发送是否创建有向连接线的提示。
第二判断子模块14624,用于若第一判断子模块14622判断出拖拽终点位置与目标测试用例的测试步骤流程中的至少一个有向连接线所在的位置重叠,则获取目标测试用例的所有测试步骤的有向连接线中所在的位置与拖拽终点位置存在重叠的重叠有向连接线,并判断重叠有向连接线的数量是否为一。
第二提示子模块14625,用于若第二判断子模块14624判断出重叠有向连接线的数量不为一,则向用户发送选择关联有向连接线的提示。
示例性的,参阅图7,图7是本发明实施公开的提示窗口示意图。图7中,目标测试步骤“确认数据存在于数据库中”的拖拽终点位置与两条有向连接线所在的位置重叠,即与“退出框架”与“应用页获取焦点”间的有向连接线所在的位置、“保存后的校验”与“关浏览器并杀进程”间的有向连接线所在的位置均重叠。此时通过提示框向用户发送选择关联有向连接线的提示,并根据用户的选择确定目标测试步骤准确的插入位置。
插入子模块14626,用于若第二判断子模块14624判断出重叠有向连接线的数量为一,则将重叠有向连接线所在的位置确定为目标测试步骤的插入位置;其中,与插入位置相匹配的测试步骤包括重叠有向连接线所连接的两个测试步骤。
在该可选的实施例中,该装置还包括:
筛选子模块1463,用于从所述目标测试用例已有的所有测试步骤中筛选与所述插入位置相匹配的测试步骤。
基于位置确定子模块1462可以确定出目标测试步骤准确的插入位置,进一步从目标测试用例已有的所有测试步骤中筛选与插入位置相匹配的测试步骤。与所述插入位置相匹配的测试步骤包括所述重叠有向连接线所连接的两个测试步骤。
更新子模块1464,用于根据与所述插入位置相匹配的测试步骤、所述目标测试用例已有的所有测试步骤以及所述插入位置,在所述目标测试用例已有的所有测试步骤的有向连接线的基础上,构建与所述插入位置相匹配的测试步骤和所述目标测试步骤之间的有向连接线,以更新所述目标测试用例的所有测试步骤,其中,更新后的所述目标测试用例的所有测试步骤包括所述目标测试步骤。
可选的,更新子模块1464根据与所述插入位置相匹配的测试步骤、所述目标测试用例已有的所有测试步骤以及所述插入位置,在所述目标测试用例已有的所有测试步骤的有向连接线的基础上,构建与所述插入位置相匹配的测试步骤和所述目标测试步骤之间的有向连接线,以更新所述目标测试用例的所有测试步骤,的具体方式包括:
若重叠有向连接线的数量为一,则根据与插入位置相匹配的测试步骤、目标测试用例已有的所有测试步骤以及插入位置,在目标测试用例已有的所有测试步骤的有向连接线的基础上,构建重叠有向连接线的在先测试步骤至目标测试步骤的有向连接线以及目标测试步骤至重叠有向连接线的在后测试步骤之间的有向连接线。即将重叠有向连接线从中间断开成两段,再连接在先测试步骤与目标测试步骤,以及目标测试步骤与在后测试步骤,方向与重叠有向链接线的方向一致。
若重叠有向连接线的数量不为一,用户根据提示信息选取了重叠有向连接线,则将重叠有向连接线从中间断开成两段,再连接在先测试步骤与目标测试步骤,以及目标测试步骤与在后测试步骤,方向与重叠有向链接线的方向一致。
若拖拽终点位置与已构建好的目标测试用例的所有测试步骤中的所有有向连接线所在的位置重叠均不重叠时,自动化测试用例编制系统可以向用户发送是否创建有向连接线的提示。当用户选择创建新的有向连接线时,自动化测试用例编制系统根据当前已构建好的目标测试用例的所有测试步骤,分析出已构建好的目标测试用例的所有测试步骤中与目标测试步骤关联关联最密切的关联步骤,并将关联节点作为新的有向连接线的链接节点。进一步的,根据所有测试步骤的执行顺序及链接关系确定关联步骤与目标测试步骤间的执行顺序,从而确定出新有向连接线的方向。
在该可选的实施例中,进一步可选的,参阅图8、图9,其中图8是本发明实施例公开的节点操作功能示意图;图9是本发明实施例公开的回退/还原操作功能示意图。该装置还包括:删除模块、复制模块、回退模块。
删除模块,用于:
批量删除:使用ctrl+点击鼠标左键选择步骤节点(如果要取消已选中的步骤,再次点击鼠标左键),选择好后,按delete键或右击鼠标弹出菜单浮动框,点击“删除”菜单项。
单个删除:点击鼠标左键选择步骤节点,按delete键或右击鼠标弹出菜单浮动框,点击“删除”菜单项。
清除所有步骤节点:选择任意一个步骤节点,右击鼠标弹出菜单浮动框,点击“删除所有”菜单项。
删除连接线:鼠标移动连接线上,按delete键或右击鼠标,弹出提示框是否要删除连线,是则删除,反之则放弃本次操作。
复制模块,用于:
批量复制:使用ctrl+点击鼠标左键选择步骤节点(如果要取消已选中的步骤,再次点击鼠标左键),选择好后,按ctrl+c快捷键或者右击鼠标弹出菜单浮动框,点击“复制”菜单项复制步骤节点,粘贴前直接按ctrl+v快捷键或者右击鼠标弹出菜单浮动框,点击“粘贴”菜单项进行粘贴,复制的步骤默认生成位置是在原步骤右下角,如果想把复制的步骤放置到指定的位置上,可以使用鼠标在指定位置点击一下,然后按ctrl+v快捷键或者右击鼠标弹出菜单浮动框,点击“粘贴”菜单项进行粘贴即可。
单个复制:点击鼠标左键选择步骤节点,右击鼠标弹出菜单浮动框,点击“复制”菜单项。粘贴方式跟批量复制一样,在此不再重述了。
回退模块,用于:
回退:如果用户对当前修改的步骤不满意(保存之前),可以点击回退按钮,撤回刚刚添加的步骤。
还原:用户回退之后(保存之前),如果想恢复刚刚修改的步骤,可以点击还原按钮,绘制面板将会还原刚回退的步骤。
可见,实施本实施例所描述的测试用例的生成装置,能够通过可视化的操作实现目标测试用例的所有测试步骤的修改,避免在目标测试用例有变动时需要人工修改测试用例代码,降低了测试用例修改难度,提高了测试用例的创建效率。
本发明实施例中,可选的,编辑模块144基于测试步骤列表,编辑目标测试用例的每个测试步骤的步骤参数的具体内容包括:
对于目标测试用例的任一测试步骤,根据用户触发的参数设置指令设置该测试步骤的步骤参数;判断是否存在该测试步骤的关联步骤;当判断结果为是时,执行对关联步骤的参数设置操作。
本发明实施例中,进一步可选的,参阅图18,图18是本发明实施例公开的又一种测试用例的生成装置的结构示意图,该装置还包括:
同步模块147,用于编辑模块144基于测试步骤列表,编辑目标测试用例的每个测试步骤的步骤参数之后,判断是否存在不同于测试步骤列表且用于设置步骤参数的参数设置面板;当判断结果为是时,判断测试步骤列表与参数设置面板是否存在同步关系;当存在同步关系时,将在测试步骤列表中设置的步骤参数同步至参数设置面板中。
示例性的,将绘制面板中的所有测试步骤按卡片形式呈现出来,卡片顺序按流程图顺序排序,如果未连接线的测试步骤则排到最后。每个测试步骤对应一个编辑列表,可对测试步骤参数进行编辑,但对于不同的测试步骤类型,测试步骤对应的参数编辑列表展示数据以及编辑方式有所不同。测试步骤类型包括:基本测试步骤和组合测试步骤。
对于基本测试步骤,参阅图10,图10是本发明公开的一种参数编辑示意图:基本测试步骤列表呈现自身的参数信息,如果在基本测试步骤列表中修改步骤参数值,右侧参数设置面板对应的参数也会实时更改,保持展示层数据一致性。
对于组合测试步骤,参阅图11,图11是本发明公开的另一种参数编辑示意图:组合测试步骤列表呈现的是引用测试步骤参数信息,对于固定组合测试步骤,引用的步骤集是固定的。而动态组合测试步骤引用的步骤是动态生成的,生成方式是通过动态测试步骤自身属性值请求后台获得的。
对于引用测试步骤参数值赋方式有两种:1、直接在输入框中输入值;2、点击输入框右侧图标,弹出选择测试建模数字字典页面,选择数字字典值赋值(赋值格式:${value});操作方式图12所示,图12是本发明公开的一种参数值赋方式示意图。
可见,通过实施本实施例所描述的测试用例的生成方法,可以针对不同类型的测试步骤实现参数编辑,降低了对测试人员专业技能的要求,提高了工作效率。
实施例三
请参阅图19,图19是本发明实施例公开的又一种测试用例的生成装置的结构示意图。如图19所示,该测试用例的生成装置可以包括:
存储有可执行程序代码的存储器1901;
与存储器1901耦合的处理器1902;
处理器1902调用存储器1901中存储的可执行程序代码,执行本发明实施例一或本发明实施例二所描述的测试用例的生成方法中的步骤。
实施例四
本发明实施例公开了一种计算机可存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或本发明实施例二所描述的测试用例的生成方法中的步骤。
实施例五
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二中所描述的测试用例的生成方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-OnlyMemory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种测试用例的生成方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。