测试用例创建系统及方法技术方案

技术编号:9667659 阅读:63 留言:0更新日期:2014-02-14 05:49
一种测试用例创建系统及方法,该方法包括步骤:定义一组用于检查测试脚本的语法关键字以及一组测试用例模板;根据用户测试需求文件创建一个或多个测试脚本;根据定义的语法关键字解析每一个测试脚本;当测试脚本被解析成功时,根据测试脚本的内容产生多种测试类型的测试用例矩阵;将所有产生的测试用例矩阵合并为一个联合矩阵,并删除联合矩阵中重复部分的测试项目;利用预先定义的测试用例模板为联合矩阵中的每一条测试项目创建一个测试用例,并将所有创建的测试用例存储在存储器中。实施本发明专利技术,能够根据用户测试需求创建一个或多个测试脚本,通过每一个测试脚本自动产生一组满足用户测试需求的测试用例。

【技术实现步骤摘要】

本专利技术涉及一种软件编译器产生系统及方法,特别是关于一种。
技术介绍
软件工程中的测试用例(Software Test Case)是为某特殊目的而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足特定需求,以及确定应用软件或软件系统是否正确工作。测试用例的意义在于当软件系统执行一组有组织的测试用例时,可以确认某项需求是否达到用户需求。具体来讲,一、经过严密计算分析的测试用例,可以最大限度确保需求的正确性;二、除了保证正确性之外,测试用例还能确保需求的完整性。随着信息管理系统日益复杂,编写有体系的测试用例变得越来越困难。其原因包括:第一,系统研发初期需求变更频繁,测试用例难有基准需求作为开发依据。举例来说:假定需求规格说明书有A、B、C共三个版本,其中A、B版明显有需求遗漏,而C版又未定稿,此时测试者无法确定依据哪个版本开发测试用例。第二,系统进入维护期测试用例已形成完整体系,若发生需求变更(例如,新增需求或业务流程发生改变),则大范围修改测试用例难以实施。举例来说:假定目前已有2000个测试用例,且测试用例之间已明确依赖关系;若增加10个功能,则有可能需修改其中的800个测试用例,其工作量繁重可想而知。第二,由于每个测试者背景不同,测试用例的风格也不尽相同。在较大型的项目中可能存在测试用例风格不统一的问题,会导致部分测试者在测试执行上有倾向性。
技术实现思路
鉴于以上内容,有必要提供一种,能够根据用户测试需求创建一个或多个测试脚本,通过每一个测试脚本自动产生一组满足用户测试需求的测试用例。所述的测试用例创建系统安装并运行于计算机中,该计算机包括显示器以及存储器。该测试用例创建系统包括:脚本创建模块,用于定义一组用于检查测试脚本的语法关键字以及一组用于创建测试用例的测试用例模板,以及根据用户测试需求文件创建一个或多个测试脚本;脚本解析模块,用于根据定义的语法关键字解析每一个测试脚本,以及判断每一个测试脚本是否被解析成功;矩阵产生模块,用于当测试脚本被解析成功时根据测试脚本的内容产生多种测试类型的测试用例矩阵,将所有产生的测试用例矩阵合并为一个联合矩阵,以及删除联合矩阵中重复部分的测试项目;测试用例产生模块,用于利用预先定义的测试用例模板为联合矩阵中的每一条测试项目创建一个测试用例,并将所有创建的测试用例存储在存储器中。所述的测试用例创建方法包括步骤:定义一组用于检查测试脚本的语法关键字以及一组用于创建测试用例的测试用例模板;根据用户测试需求文件创建一个或多个测试脚本;根据定义的语法关键字解析每一个测试脚本;判断每一个测试脚本是否被解析成功;当测试脚本被解析成功时,根据测试脚本的内容产生多种测试类型的测试用例矩阵;将所有产生的测试用例矩阵合并为一个联合矩阵,并删除联合矩阵中重复部分的测试项目;利用预先定义的测试用例模板为联合矩阵中的每一条测试项目创建一个测试用例,并将所有创建的测试用例存储在存储器中。相较于现有技术,本专利技术所述的,能够根据用户测试需求创建一个或多个测试脚本,通过每一个测试脚本自动产生一组满足用户测试需求的测试用例。【附图说明】图1是本专利技术测试用例创建系统较佳实施例的架构图。图2是本专利技术测试用例创建方法较佳实施例的流程图。图3是一种测合并后的联合测试用例矩阵的示意图。图4是一种测试用例实际范例的示意图。主要元件符号说明 计算机I测试用例创建系统10脚本创建模块101脚本解析模块102矩阵产生模块103测试用例产生模块104显示器11存储器12处理器13如下【具体实施方式】将结合上述附图进一步说明本专利技术。【具体实施方式】如图1所示,是本专利技术测试用例创建系统10较佳实施例的架构图。在本实施例中,所述的测试用例创建系统10安装并运行于计算机I中,能够根据用户测试需求创建一个或多个测试脚本,通过每一个测试脚本自动产生一组满足用户测试需求的测试用例。其中,每一个测试用例对应各种测试类型,例如:边界值测试、等价类测试、决策表分析(又称因果图分析)、路径分析、数据流分析。在本实施例中,所述的测试用例包括测试用例编号、测试用例描述、相关依赖、测试步骤和预期结果,此外,依据用户实际需要还可以添加扩展信息,例如,编写人、执行人、是否是自动化测试、测试结果、备注等扩展信息。参考图4所示,是一种测试用例的实际范例。所述的计算机I包括,但不仅限于,显示器11、存储器12以及处理器13。该计算机I可以为个人计算机、或者服务器之一种。在本实施例中,所述的测试用例创建系统10包括脚本创建模块101、脚本解析模块102、矩阵产生模块103以及测试用例产生模块104。本专利技术所称的模块系指一种能够被处理器13所执行并且能够完成固定功能的一系列程序指令段,其存储于存储器12中。所述的脚本创建模块101用于定义一组用于检查测试脚本的语法关键字以及一组用于创建测试用例的测试用例模板,以及根据用户测试需求文件创建一个或多个测试脚本。在本实施例中,所述的测试用例模板是一种可扩展的用户自定义模板,亦即,用户可以根据测试需求在测试用例模板中自行添加相应的扩展信息,例如,编写人、执行人、是否是自动化测试、测试结果、备注等扩展信息。所述的测试脚本可以使用一种Python语言进行创建,并采用一种Python语言的Pyparsingr扩展包实现语法解析。所述的脚本解析模块102用于根据定义的语法关键字解析每一个测试脚本,以及判断每一个断测试脚本是否被解析成功。当测试脚本没有被解析成功时,脚本解析模块102在显示器11上显示脚本文件解析错误的信息通知测试者。在本实施例中,所述的语法关键字包括脚本定义、逻辑判断、循环测试、测试步骤、检验规则、检查点、测试场景等。例如,脚本定义为var、defin,逻辑判断为if..else..,循环测试为d0..while..、for..、foreach..,测试步骤为 Steps,检验规则为 Rule、Rules,检查点为 Checkpoit、Check、Checks,测试场景为 Scenario。所述的矩阵产生模块103用于当测试脚本被解析成功时根据测试脚本的内容产生多种测试类型的测试用例矩阵。在本实施例中,所述的测试类型包括,但不仅限于,边界值测试、等价类测试、决策表分析(又称因果图分析)、路径分析、数据流分析。例如,以测试系统登录为例,其属于路径分析类型,其中测试用例矩阵至少可包含四种情形:(I)用户名正确、密码正确一登录成功;(2)用户名正确、密码错误一登录失败,转到提示页;(3)用户名错误、密码正确一登录失败,转到提示页;(4)用户名错误、密码错误一登录失败,转到提示页。所述的矩阵产生模块103还用于将所有产生的测试用例矩阵合并为一个联合矩阵,以及删除联合矩阵中重复部分的测试项目。参考图3所示,是一种测合并后的联合测试用例矩阵的示意图。其中,该联合测试用例矩阵包括测试编号、测试项目以及测试结果。在本实施例中,矩阵产生模块103首先检查联合矩阵中是否包含重复的测试项目,如果联合矩阵中有重复的测试项目,则将联合矩阵中重复部分的测试项目进行删除,进而简化测试项目以便获得确定数量的测试项目。所述的测试用例产生模块104用于利用预先定义的测试用例模板为联合矩阵中的每一条测本文档来自技高网...

【技术保护点】
一种测试用例创建系统,安装并运行于计算机中,该计算机包括显示器以及存储器,其特征在于,所述的测试用例创建系统包括:脚本创建模块,用于定义一组用于检查测试脚本的语法关键字以及一组用于创建测试用例的测试用例模板,以及根据用户测试需求文件创建一个或多个测试脚本;脚本解析模块,用于根据定义的语法关键字解析每一个测试脚本,以及判断每一个测试脚本是否被解析成功;矩阵产生模块,用于当测试脚本被解析成功时根据测试脚本的内容产生多种测试类型的测试用例矩阵,将所有产生的测试用例矩阵合并为一个联合矩阵,以及删除联合矩阵中重复部分的测试项目;以及测试用例产生模块,用于利用预先定义的测试用例模板为联合矩阵中的每一条测试项目创建一个测试用例,并将所有创建的测试用例存储在存储器中。

【技术特征摘要】
1.一种测试用例创建系统,安装并运行于计算机中,该计算机包括显示器以及存储器,其特征在于,所述的测试用例创建系统包括: 脚本创建模块,用于定义一组用于检查测试脚本的语法关键字以及一组用于创建测试用例的测试用例模板,以及根据用户测试需求文件创建一个或多个测试脚本; 脚本解析模块,用于根据定义的语法关键字解析每一个测试脚本,以及判断每一个测试脚本是否被解析成功; 矩阵产生模块,用于当测试脚本被解析成功时根据测试脚本的内容产生多种测试类型的测试用例矩阵,将所有产生的测试用例矩阵合并为一个联合矩阵,以及删除联合矩阵中重复部分的测试项目;以及 测试用例产生模块,用于利用预先定义的测试用例模板为联合矩阵中的每一条测试项目创建一个测试用例,并将所有创建的测试用例存储在存储器中。2.如权利要求1所述的测试用例创建系统,其特征在于,当测试脚本没有被解析成功时,所述的脚本解析模块还用于在显示器上显示脚本文件解析错误的信息通知测试者。3.如权利要求1所述的测试用例创建系统,其特征在于,所述的测试类型包括边界值测试、等价类测试、决策表分析、路径分析以及数据流分析。4.如权利要求1所述的测试用例创建系统,其特征在于,所述的测试用例包括测试用例编号、测试用例描述、相关依赖、测试步骤、预期结果以及用户自定义的扩展信息。5.如权利要求1所述的测试用例创建系统,其特征在于,所述的语法关键字包括脚本定义、逻辑判断、循环...

【专利技术属性】
技术研发人员:李忠一周颢
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:

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

1