一种测试用例的生成方法和系统技术方案

技术编号:15437140 阅读:94 留言:0更新日期:2017-05-25 19:19
本发明专利技术公开了一种测试用例的生成方法,包括:基于网页绘制业务流程图;根据所述业务流程图及预设算法生成测试用例。由于绘制业务流程图是基于网页的,因此上述过程可以通过浏览器实现,从而无需安装客户端;同时,所绘制的业务流程图将测试用例的设计过程图形化,使测试用例设计快速,避免人工疏忽导致的分支遗漏;同时,上述过程可以直接在浏览器中单独运行,同时也可以集成到测试用例管理系统中运行,使用方式灵活,通过上述方法自动生成测试用例,从而轻松的生成测试用例,提高了工作的效率和测试用例质量,降低了成本。

Method and system for generating test case

The invention discloses a method for generating a test case, comprising: drawing a business flow chart based on a web page; generating a test case according to the business flow diagram and a preset algorithm. The business process mapping is based on the page, so the process can be realized through the browser, so there is no need to install the client; at the same time, the business flow chart drawn will test the design process of the graphic, so that test cases designed to be fast, to avoid the omission of artificial negligence by the branch; at the same time, the process can be directly in the browser in a separate operation, but also can be integrated into the operation of test case management system, flexible use, automatic generation of test cases by the method of test case generation easily, to improve the efficiency and quality of test case work, reduce the cost.

【技术实现步骤摘要】
一种测试用例的生成方法和系统
本专利技术属于软件测试
,具体涉及一种测试用例的生成方法和系统。
技术介绍
软件测试是鉴定软件的正确性、完整性、安全性和质量的过程,一般包括确定测试策略、设计测试用例、执行测试、提交缺陷、消除缺陷、撰写测试报告等环节。其中,设计合适的测试用例对软件测试的过程起着至关重要的作用。现有技术中,测试用例通常采用文档形式或管理系统模式进行存储,而测试用例的生成,通常是采用测试人员的手动输入。通过手动输入的方式生成测试用例,涉及到测试用例的测试步骤、测试数据、验证点等多个环节,输入工作繁琐,工作量大,造成人力和物力的浪费。另外,对于流程比较复杂的业务,人工编写测试用例容易遗漏分支,降低测试用例的质量。
技术实现思路
本专利技术实施例的目的是提供一种测试用例的生成方法和系统,通过基于WEB方式绘制流程图,通过所绘制的流程图,自动生成测试用例,从而轻松的生成测试用例,达到提高工作的效率、提高测试用例质量、降低成本的目的。根据本专利技术的一个方面,提供了一种测试用例的生成方法,所述方法包括:基于网页绘制业务流程图;根据所述业务流程图及预设算法生成测试用例。上述方案中,所述根据所述业务流程图及预设算法生成测试用例,进一步包括:对所述业务流程图进行数据化;计算所有路径,生成测试用例路径;对所述测试用例路径添加测试用例编号和名称;输出并保存完整的测试用例。上述方案中,所述基于网页绘制业务流程图,进一步包括:通过页面组件的拖拽和/或重绘,绘制业务流程图。上述方案中,所述页面组件采用基于可缩放矢量图形SVG和层叠样式表CSS定义图形样式;所述页面组件的拖拽、重绘采用JavaScript实现;所述保存完整的测试用例采用基于JavaScript对象表示法JSON的数据交换格式实现。上述方案中,所述方法还包括:所述基于网页绘制业务流程图及根据所述业务流程图及预设算法生成测试用例直接在浏览器中运行或集成在测试用例管理系统中运行;根据生成的所述测试用例生成测试用例信息,将所述测试用例信息保存为文档或集成到测试用例管理系统中。上述方案中,所述对所述业务流程图进行数据化,进一步为:根据所述业务流程图生成序列化的节点和连线数据,构建节点数组、连线数组、栈数组,并初始化节点数组的节点状态与连线数组的连线状态为0,初始化栈数组为空;所述深度优先算法计算所有路径,进一步包括:步骤S302,在所述节点数组中寻找开始节点,并将所述开始节点加入栈数组;步骤S303,判断所述栈数组是否有节点,当所述栈数组有节点时,执行步骤S304;当所述栈数组没有节点时,转入步骤S311;步骤S304,判断所述栈数组中的节点是否为终点,当节点是终点节点时,转入步骤S310;当节点不是终点节点时,执行步骤S305;步骤S305,判断是否有与所述栈数组中的节点连接的连线,当没有与所述节点连接的连线时,转入步骤S310;当有连线时,执行步骤S306;步骤S306,将所述连线置为当前连线,将所述连线另一节点置为当前节点,获取所述当前连线的状态和所述当前节点的状态;步骤S307,判断所述当前连线的状态和所述当前节点的状态,当连线状态为0和节点状态为0、或连线状态为0和节点状态为1、或连线状态为1和节点状态为1时,执行步骤S308,否则,转入步骤S310;步骤S308,将所述当前节点加入栈数组,并将所述节点数组中当前节点的状态加1,所述连线数组中当前连线的状态加1;步骤S309,保存所述节点的路径;步骤S310,栈数组删除当前节点,节点数组和连线数组删除回退所述节点状态;步骤S311,保存所有路径,结束路径计算。根据本专利技术的另一个方面,还提供了一种测试用例的生成系统,所述系统包括:图像绘制模块、测试用例生成模块;其中,所述图像绘制模块用于基于网页绘制业务流程图;所述测试用例生成模块用于根据所述业务流程图及预设算法生成测试用例。上述方案中,所述测试用例生成模块进一步包括:数据化子模块、路径计算子模块、整合子模块、保存子模块;其中,所述数据化子模块用于对所述业务流程图进行数据化;所述路径计算子模块用于计算所有路径,生成测试用例路径;所述整合子模块用于对所述测试用例路径添加测试用例编号和名称;所述保存子模块用于输出并保存完整的测试用例。上述方案中,所述图像绘制模块进一步用于通过页面组件的拖拽和/或重绘,绘制业务流程图。上述方案中,所述数据化子模块,进一步用于:根据所述业务流程图生成序列化的节点和连线数据,构建节点数组、连线数组、栈数组,并初始化节点数组的节点状态与连线数组的连线状态为0,初始化栈数组为空;所述路径计算子模块,进一步用于执行以下步骤:步骤S302,在所述节点数组中寻找开始节点,并将所述开始节点加入栈数组;步骤S303,判断所述栈数组是否有节点,当所述栈数组有节点时,执行步骤S304;当所述栈数组没有节点时,转入步骤S311;步骤S304,判断所述栈数组中的节点是否为终点,当节点是终点节点时,转入步骤S310;当节点不是终点节点时,执行步骤S305;步骤S305,判断是否有与所述栈数组中的节点连接的连线,当没有与所述节点连接的连线时,转入步骤S310;当有连线时,执行步骤S306;步骤S306,将所述连线置为当前连线,将所述连线另一节点置为当前节点,获取所述当前连线的状态和所述当前节点的状态;步骤S307,判断所述当前连线的状态和所述当前节点的状态,当连线状态为0和节点状态为0、或连线状态为0和节点状态为1、或连线状态为1和节点状态为1时,执行步骤S308,否则,转入步骤S310;步骤S308,将所述当前节点加入栈数组,并将所述节点数组中当前节点的状态加1,所述连线数组中当前连线的状态加1;步骤S309,保存所述节点的路径;步骤S310,栈数组删除当前节点,节点数组和连线数组删除回退所述节点状态;步骤S311,保存所有路径,结束路径计算。从以上实施例可以看出,本专利技术实施例的一种测试用例的生成方法,包括:基于网页绘制业务流程图;根据所述业务流程图及预设算法生成测试用例。由于绘制业务流程图是基于网页的,因此上述过程可以通过浏览器实现,从而无需安装客户端,使用简单,所见即所得,同时兼容多种主流浏览器,方便推广使用;同时,所绘制的业务流程图将测试用例的设计过程图形化,使测试用例设计快速,避免人工疏忽导致的分支遗漏;同时,上述过程可以直接在浏览器中单独运行,同时也可以集成到测试用例管理系统中运行,使用方式灵活,通过上述方法自动生成测试用例,从而轻松的生成测试用例,提高了工作的效率和测试用例质量,降低了成本。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一实施例的测试用例的生成方法流程示意图;图2为本专利技术第二实施例的测试用例的生成方法流程示意图;图3为本专利技术第三实施例的测试用例的生成方法流程示意图;图4为根据本专利技术第三实施例的测试用例的生成方法所绘制的业务流程图;图5为本专利技术第三实施例的测试用例生成方法生成的第一JSON串;图6为本专利技术第三实施例的本文档来自技高网...
一种测试用例的生成方法和系统

【技术保护点】
一种测试用例的生成方法,其特征在于,所述方法包括:基于网页绘制业务流程图;根据所述业务流程图及预设算法生成测试用例。

【技术特征摘要】
1.一种测试用例的生成方法,其特征在于,所述方法包括:基于网页绘制业务流程图;根据所述业务流程图及预设算法生成测试用例。2.根据权利要求1所述的测试用例生成方法,其特征在于,所述根据所述业务流程图及预设算法生成测试用例,进一步包括:对所述业务流程图进行数据化;计算所有路径,生成测试用例路径;对所述测试用例路径添加测试用例编号和名称;输出并保存完整的测试用例。3.根据权利要求1或2所述的测试用例生成方法,其特征在于,所述基于网页绘制业务流程图,进一步包括:通过页面组件的拖拽和/或重绘,绘制业务流程图。4.根据权利要求3所述的测试用例生成方法,其特征在于,所述页面组件采用基于可缩放矢量图形SVG和层叠样式表CSS定义图形样式;所述页面组件的拖拽、重绘采用JavaScript实现;所述保存完整的测试用例采用基于JavaScript对象表示法JSON的数据交换格式实现。5.根据权利要求2所述的测试用例生成方法,其特征在于,所述方法还包括:所述基于网页绘制业务流程图及根据所述业务流程图及预设算法生成测试用例直接在浏览器中运行或集成在测试用例管理系统中运行;根据生成的所述测试用例生成测试用例信息,将所述测试用例信息保存为文档或集成到测试用例管理系统中。6.根据权利要求2所述的测试用例生成方法,其特征在于,所述对所述业务流程图进行数据化,进一步为:根据所述业务流程图生成序列化的节点和连线数据,构建节点数组、连线数组、栈数组,并初始化节点数组的节点状态与连线数组的连线状态为0,初始化栈数组为空;所述深度优先算法计算所有路径,进一步包括:步骤S302,在所述节点数组中寻找开始节点,并将所述开始节点加入栈数组;步骤S303,判断所述栈数组是否有节点,当所述栈数组有节点时,执行步骤S304;当所述栈数组没有节点时,转入步骤S311;步骤S304,判断所述栈数组中的节点是否为终点,当节点是终点节点时,转入步骤S310;当节点不是终点节点时,执行步骤S305;步骤S305,判断是否有与所述栈数组中的节点连接的连线,当没有与所述节点连接的连线时,转入步骤S310;当有连线时,执行步骤S306;步骤S306,将所述连线置为当前连线,将所述连线另一节点置为当前节点,获取所述当前连线的状态和所述当前节点的状态;步骤S307,判断所述当前连线的状态和所述当前节点的状态,当连线状态为0和节点状态为0、或连线状态为0和节点状态为1、或连线状态为1和节点状态为1时,执行步骤S308,否则,转入步骤S310;步骤S308,将所述当前节点加入栈数组,并将所述节点数组中当前节点的状态...

【专利技术属性】
技术研发人员:任星旺吴旭
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1