CN106708720A - 一种测试用例的生成方法和系统 - Google Patents

一种测试用例的生成方法和系统 Download PDF

Info

Publication number
CN106708720A
CN106708720A CN201510778428.3A CN201510778428A CN106708720A CN 106708720 A CN106708720 A CN 106708720A CN 201510778428 A CN201510778428 A CN 201510778428A CN 106708720 A CN106708720 A CN 106708720A
Authority
CN
China
Prior art keywords
node
test case
array
state
line
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
Application number
CN201510778428.3A
Other languages
English (en)
Inventor
任星旺
吴旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN201510778428.3A priority Critical patent/CN106708720A/zh
Publication of CN106708720A publication Critical patent/CN106708720A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种测试用例的生成方法和系统
技术领域
本发明属于软件测试技术领域,具体涉及一种测试用例的生成方法和系统。
背景技术
软件测试是鉴定软件的正确性、完整性、安全性和质量的过程,一般包括确定测试策略、设计测试用例、执行测试、提交缺陷、消除缺陷、撰写测试报告等环节。其中,设计合适的测试用例对软件测试的过程起着至关重要的作用。现有技术中,测试用例通常采用文档形式或管理系统模式进行存储,而测试用例的生成,通常是采用测试人员的手动输入。
通过手动输入的方式生成测试用例,涉及到测试用例的测试步骤、测试数据、验证点等多个环节,输入工作繁琐,工作量大,造成人力和物力的浪费。另外,对于流程比较复杂的业务,人工编写测试用例容易遗漏分支,降低测试用例的质量。
发明内容
本发明实施例的目的是提供一种测试用例的生成方法和系统,通过基于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为本发明第三实施例的测试用例生成方法生成的第二JSON串;
图7为本发明第三实施例的测试用例生成方法生成的XML结果示例;
图8为本发明第四实施例的测试用例的生成系统结构示意图。
具体实施方式
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面详细描述本发明的实施方式,通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
图1为本发明第一实施例的测试用例的生成方法流程示意图。
如图1所示,本实施例的测试用例生成方法,包括如下步骤:
步骤S1,基于网页绘制业务流程图。
本步骤中的基于网页绘制业务流程图,即通过页面组件的拖拽和/或重绘,绘制业务流程图。所述页面组件,采用基于可缩放矢量图形(Scalable Vector Graphic, SVG)的可缩放矢量图形和层叠式样表(Cascading Style Sheets, CSS)定义图形样式。所述页面组件的拖拽、重绘采用JavaScript实现。
步骤S2,根据所述业务流程图及预设算法生成测试用例。
本步骤中的预设算法,可以采用深度优先算法,也可以采用改进型的深度优先算法,进行测试用例路径的计算,从而在步骤S1绘制业务流程图的基础上,自动的生成测试用例。
数据持久化方面,采用JavaScript 对象表示(JavaScript Object Notation,JSON)法的数据交换格式实现。JSON是一种轻量级的数据交换格式。JSON可以将生成的测试用例轻松地集成到TestLink等开源测试用例管理工具中,也可以通过对数据的转化生成测试用例文档。
为满足不同的测试用例组织形式,如通过管理系统统一管理测试用例、或文档管理测试用例,本实施例测试用例的生成方法,基于WEB的通过绘制业务流程图自动生成测试用例,可以单独运行,也可以集成到服务环境运行,无需安装客户端,使用方式灵活;并以JSON字符串的形式保存绘制业务流程图的绘制结果,以XML形式保存测试用例生成结果。所绘制的业务流程图将测试用例的设计过程图形化,使测试用例设计快速,避免人工疏忽导致的分支遗漏;通过上述方法自动生成测试用例,从而轻松的生成测试用例,提高了工作的效率和测试用例质量,降低了成本。
图2为本发明第二实施例的测试用例的生成方法流程示意图。
如图2所示,本实施例的测试用例生成方法,包括如下步骤:
步骤S201,基于WEB绘制业务流程图。
这里的基于WEB,是在通过浏览器的页面中进行绘制,通过建立组件,对组件进行拖拽、重绘,绘制业务流程图。将测试用例的设计过程图形化,使测试用例设计快速,避免人工疏忽导致的分支遗漏。页面绘制组件采用SVG标准实现。SVG为可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。组件拖拽、重绘采用JavaScript实现,无需安装客户端。
步骤S202,对所述业务流程图进行处理,数据化对象。
本步骤中的数据化,是对业务流程图的数据化处理,如将图像生成节点数组、连线数组,在此基础上,对由图像得到的数据进行处理,得到测试用例。
步骤S203,深度优先算法计算所有路径。
本骤通过对由图像得到的数据进行处理,寻找业务流程的数据路径,对路径进行分析和计算,得到所绘制流程图的测试用例。这里计算的是所绘制流程图的所有路径,是通过设计的程序自动计算的,不会造成分支遗漏,所得到的测试用例质量高,提供更好的客户体验。
步骤S204,对所述测试用例路径添加测试用例编号和名称。
本步骤中对所生成的测试用例数据的进一步完善,从而可以更好的保存测试用例。
步骤S205,输出并保存完整的测试用例。
本步骤中,数据持久化方面,采用JSON(JavaScript Object Notation)一种轻量级的数据交换格式。可以将生成的测试用例轻松地集成到TestLink等开源测试用例管理工具中,也可以通过对数据的转化生成测试用例文档,因此,本实施例的测试用例生成方法,使用方式灵活,可以适用于各种测试用例组织形式。
图3为本发明第三实施例的测试用例的生成方法流程示意图。
如图3所示,本实施例的测试用例生成方法,包括如下步骤:
步骤S300,通过浏览器以页面组件拖拽的方式绘制业务流程图。
步骤S301,根据所述业务流程图生成序列化的节点和连线数据,构建节点数组、连线数组、栈数组,并初始化节点数组的节点状态与连线数组的连线状态为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,保存所有路径,结束路径计算。
步骤S312,对所述所有路径添加测试用例编号和名称,输出并保存完整的测试用例。
本实施例测试用例的生成方法,基于WEB的通过绘制业务流程图自动生成测试用例,可以单独运行,也可以集成到服务环境运行,无需安装客户端,使用方式灵活;并以JSON字符串的形式保存绘制业务流程图的绘制结果,以XML形式保存测试用例生成结果。所绘制的业务流程图将测试用例的设计过程图形化,使测试用例设计快速,避免人工疏忽导致的分支遗漏;通过上述方法自动生成测试用例,从而轻松的生成测试用例,提高了工作的效率和测试用例质量,降低了成本。
图4为根据本发明第三实施例的测试用例的生成方法所绘制的业务流程图。如图4所示,在页面环境下,绘制的业务流程图包括七个步骤,即七个节点,七个连线。其中,所述“开始”节点即为开始节点,首先将所述开始节点放入栈数组,判断栈数组中是否有节点,此时栈数组中存在节点“开始节点”,判断所述节点不是终点节点,则进一步判断是否有与所述节点相连的相连,此时连线存在,则将所述连线置为当前连线,将所述连线的另一节点置为当前节点,并进一步判断所述连线与所述节点的状态,此时,所述节点和连线的状态均为0,则将所述当前节点加入栈数组,并将所述当前连线的状态加1、所述当前节点的状态加1。并继续判断栈数组中是否存在节点,进行下一个判断的循环。
当“点击登录”节点加入栈数组中后,判断所述栈数组中存在节点,并判断所述节点不是终点节点,则判断出与“点击登录”节点相连的有两条连线,此时,随机查找其中的一条连线,如“成功”连线,则将所述连线置为当前连线,将所述连线的另一节点置为当前节点,并进一步判断所述连线与所述节点的状态。直到最后一下节点“结束”节点加入栈数组后,判断栈数组中存在节点,并判断所述节点为终点节点,则保存路径,栈数组中删除当前节点,节点数组、连线数组删除回退该节点状态。
此时,由于“点击登录”节点相连的“失败”连线尚未遍历,继续进入对当“点击登录”节点的判断,并进入对剩余“失败”连线的判断,继续进行到“结束”节点后,保存路径。
此时,遍历了所有路径,则对所述所有路径添加测试用例编号和名称,输出并保存完整的测试用例。
图5为本发明第三实施例的测试用例生成方法生成的第一JSON串。如图5所示,节点数组包含所有节点信息,包含节点的名称,类型,id等。其中名称为用户绘制的图形中的文字。
图6为本发明第三实施例的测试用例生成方法生成的第二JSON串。如图6所示,连线数组包含连线的起始节点和结束节点,以及连线的名称即连线上的文字。
图7为本发明第三实施例的测试用例生成方法生成的XML结果示例。如图7所示,基本结构为测试用例集包含测试用例,测试用例又有属性:id,类型,和文本信息。其中每一个测试用例对应一条路径。
本实施例的测试用例的生成方法,绘制业务流程图是基于网页的,因此上述过程可以通过浏览器实现,从而无需安装客户端;同时,所绘制的业务流程图将测试用例的设计过程图形化,使测试用例设计快速,避免人工疏忽导致的分支遗漏;同时,上述过程可以直接在浏览器中单独运行,同时也可以集成到测试用例管理系统中运行,使用方式灵活,通过上述方法自动生成测试用例,从而轻松的生成测试用例,提高了工作的效率和测试用例质量,降低了成本。
图8为本发明第四实施例的测试用例的生成系统结构示意图。
如图8所示,本实施例的测试用例生成系统,包括:
图像绘制模块1、测试用例生成模块2;其中,
所述图像绘制模块1用于基于网页绘制业务流程图;
所述测试用例生成模块2用于根据所述业务流程图及预设算法生成测试用例。
所述测试用例生成模块2进一步包括:数据化子模块21、路径计算子模块22、整合子模块23、保存子模块24;其中,
所述数据化子模块21用于对所述业务流程图进行数据化;
所述路径计算子模块22用于计算所有路径,生成测试用例路径;
所述整合子模块23用于对所述测试用例路径添加测试用例编号和名称;
所述保存子模块24用于输出并保存完整的测试用例。
所述图像绘制模块1进一步用于通过页面组件的拖拽和/或重绘,绘制业务流程图。
所述数据化子模块21,进一步用于:根据所述业务流程图生成节点数组与连线数组;
所述路径计算子模块22,进一步用于执行以下步骤:
步骤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,保存所有路径,结束路径计算。本实施例的测试用例的生成系统,绘制业务流程图是基于网页的,因此上述过程可以通过浏览器实现,从而无需安装客户端;同时,所绘制的业务流程图将测试用例的设计过程图形化,使测试用例设计快速,避免人工疏忽导致的分支遗漏;同时,上述过程可以直接在浏览器中单独运行,同时也可以集成到测试用例管理系统中运行,使用方式灵活,通过上述方法自动生成测试用例,从而轻松的生成测试用例,提高了工作的效率和测试用例质量,降低了成本。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

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,将所述当前节点加入栈数组,并将所述节点数组中当前节点的状态加1,所述连线数组中当前连线的状态加1;
步骤S309,保存所述节点的路径;
步骤S310,栈数组删除当前节点,节点数组和连线数组删除回退所述节点状态;
步骤S311,保存所有路径,结束路径计算。
7.一种测试用例的生成系统,其特征在于,所述系统包括:图像绘制模块、测试用例生成模块;其中,
所述图像绘制模块用于基于网页绘制业务流程图;
所述测试用例生成模块用于根据所述业务流程图及预设算法生成测试用例。
8.根据权利要求7所述的测试用例生成系统,其特征在于,所述测试用例生成模块进一步包括:数据化子模块、路径计算子模块、整合子模块、保存子模块;其中,
所述数据化子模块用于对所述业务流程图进行数据化;
所述路径计算子模块用于计算所有路径,生成测试用例路径;
所述整合子模块用于对所述测试用例路径添加测试用例编号和名称;
所述保存子模块用于输出并保存完整的测试用例。
9.根据权利要求7或8所述的测试用例生成系统,其特征在于,所述图像绘制模块进一步用于通过页面组件的拖拽和/或重绘,绘制业务流程图。
10.根据权利要求8所述的测试用例生成系统,其特征在于,
所述数据化子模块,进一步用于:根据所述业务流程图生成序列化的节点和连线数据,构建节点数组、连线数组、栈数组,并初始化节点数组的节点状态与连线数组的连线状态为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,保存所有路径,结束路径计算。
CN201510778428.3A 2015-11-13 2015-11-13 一种测试用例的生成方法和系统 Pending CN106708720A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510778428.3A CN106708720A (zh) 2015-11-13 2015-11-13 一种测试用例的生成方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510778428.3A CN106708720A (zh) 2015-11-13 2015-11-13 一种测试用例的生成方法和系统

Publications (1)

Publication Number Publication Date
CN106708720A true CN106708720A (zh) 2017-05-24

Family

ID=58931277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510778428.3A Pending CN106708720A (zh) 2015-11-13 2015-11-13 一种测试用例的生成方法和系统

Country Status (1)

Country Link
CN (1) CN106708720A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107656865A (zh) * 2017-08-15 2018-02-02 黄璐瑶 测试需求确定方法及装置
CN107786869A (zh) * 2017-12-11 2018-03-09 深圳Tcl数字技术有限公司 一种电视设备菜单路径生成方法、装置及存储介质
CN110597727A (zh) * 2019-09-20 2019-12-20 苏州浪潮智能科技有限公司 一种测试用例控制方法及装置
CN110928763A (zh) * 2019-09-29 2020-03-27 京东数字科技控股有限公司 测试方法、装置、存储介质及计算机设备
CN113377683A (zh) * 2021-08-12 2021-09-10 神州数码融信软件有限公司 软件测试用例的生成方法、系统、设备、终端、介质及应用

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788907A (zh) * 2010-01-04 2010-07-28 北京航空航天大学 组合服务精简测试用例的自动生成方法及装置
US20110161936A1 (en) * 2009-12-28 2011-06-30 International Business Machines Method and apparatus for regression testing selection for a framework-based application
CN102135939A (zh) * 2011-03-30 2011-07-27 镇江睿泰信息科技有限公司 一种测试用例执行调度装置及方法
CN103049368A (zh) * 2011-10-11 2013-04-17 神州数码信息系统有限公司 一种基于状态图的软件测试用例设计方法
CN104899136A (zh) * 2015-05-15 2015-09-09 百度在线网络技术(北京)有限公司 一种用于生成测试用例的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161936A1 (en) * 2009-12-28 2011-06-30 International Business Machines Method and apparatus for regression testing selection for a framework-based application
CN101788907A (zh) * 2010-01-04 2010-07-28 北京航空航天大学 组合服务精简测试用例的自动生成方法及装置
CN102135939A (zh) * 2011-03-30 2011-07-27 镇江睿泰信息科技有限公司 一种测试用例执行调度装置及方法
CN103049368A (zh) * 2011-10-11 2013-04-17 神州数码信息系统有限公司 一种基于状态图的软件测试用例设计方法
CN104899136A (zh) * 2015-05-15 2015-09-09 百度在线网络技术(北京)有限公司 一种用于生成测试用例的方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107656865A (zh) * 2017-08-15 2018-02-02 黄璐瑶 测试需求确定方法及装置
CN107786869A (zh) * 2017-12-11 2018-03-09 深圳Tcl数字技术有限公司 一种电视设备菜单路径生成方法、装置及存储介质
CN107786869B (zh) * 2017-12-11 2020-03-17 深圳Tcl数字技术有限公司 一种电视设备菜单路径生成方法、装置及存储介质
CN110597727A (zh) * 2019-09-20 2019-12-20 苏州浪潮智能科技有限公司 一种测试用例控制方法及装置
CN110928763A (zh) * 2019-09-29 2020-03-27 京东数字科技控股有限公司 测试方法、装置、存储介质及计算机设备
CN113377683A (zh) * 2021-08-12 2021-09-10 神州数码融信软件有限公司 软件测试用例的生成方法、系统、设备、终端、介质及应用
CN113377683B (zh) * 2021-08-12 2022-01-28 神州数码融信软件有限公司 软件测试用例的生成方法、系统、设备、终端、介质及应用

Similar Documents

Publication Publication Date Title
CN106708720A (zh) 一种测试用例的生成方法和系统
CN110852065B (zh) 一种文档审核方法、装置、系统、设备及存储介质
JP4339554B2 (ja) 階層データを表示するユーザインタフェースを作成し表示するためのシステムおよび方法
US20180157636A1 (en) Methods and systems for language-agnostic machine learning in natural language processing using feature extraction
CN104391786B (zh) 网页自动化测试系统及其方法
US9256583B2 (en) Conversion of a presentation to Darwin Information Typing Architecture (DITA)
CN108416219A (zh) 一种Android二进制文件漏洞检测方法及系统
US20100063785A1 (en) Visualizing Relationships among Components Using Grouping Information
CN106294107A (zh) 生成网页页面的测试用例的方法和装置
JP2022003512A (ja) 品質評価モデルを構築するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
US20130332812A1 (en) Method and system to generate a process flow diagram
CN106503268B (zh) 数据对比方法、装置和系统
CN110928763A (zh) 测试方法、装置、存储介质及计算机设备
CN102929646A (zh) 应用程序生成方法及装置
JP2008097215A (ja) データ処理装置
CN112558966B (zh) 深度模型可视化数据的处理方法、装置及电子设备
CN106095674A (zh) 一种网站自动化测试方法和装置
CN107220742B (zh) 一种基于系统脆弱性分析的信息系统开发通用支撑方法及平台
WO2005098661A1 (ja) 文書処理装置及び文書処理方法
JP6508327B2 (ja) テキスト可視化システム、テキスト可視化方法、及び、プログラム
EP4227850A1 (en) Program, learning method, and information processing apparatus
CN100587663C (zh) 数据提示装置以及数据提示方法
CN107305522A (zh) 用于对应用程序的重复崩溃进行检测的装置和方法
CN113190582B (zh) 一种数据实时交互式挖掘流建模分析系统
CN104699916B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170524

RJ01 Rejection of invention patent application after publication