一种自动生成测试用例的方法

文档序号:6623370阅读:751来源:国知局
一种自动生成测试用例的方法
【专利摘要】本发明公开了一种自动生成测试用例的方法,包括:建立测试用例管理平台以控制测试用例的生成;所述测试用例管理平台包括控制层、业务逻辑层和数据访问层;获取用户输入的操作指令;根据用户的操作指令确定测试参数与数据类型;根据所述测试参数和所述数据类型在所述测试用例管理平台上构造测试数据;通过所述数据访问层调用所述测试用例模板库中预设的用例模板,并根据所述用例模板将所述测试数据按照用例设计方法自动渲染以生成测试用例。本发明提供的自动生成测试用例的方法具有自动化程度高、测试用例更全面、规范、准确合理的优点,极大地提高了测试用例的生成效率和质量。
【专利说明】一种自动生成测试用例的方法

【技术领域】
[0001] 本发明涉及软件测试【技术领域】,尤其涉及一种自动生成测试用例的方法。

【背景技术】
[0002] 我国智能电网进入全面建设阶段,基建变电站按智能变电站标准建设。随着智能 变电站在全国范围内的推广,如何更加高效、准确地实现对数字化保护装置保护逻辑的测 试,越来越受到重视。由于被测软件或系统越来越复杂,为保证测试质量,通常需要设计和 编写大量的测试用例。测试用例的编写占据了整个测试工作量中很大的比重,决定着对整 个系统的测试效率与质量。
[0003] 目前的测试用例设计技能要求门槛较高,需要专业设计人员具有较高的技术水平 和丰富的工作经验,才能设计出符合要求的测试用例,满足测试的覆盖度,因此测试用例的 质量对人的依赖性非常高,测试用例质量因不同的人编写而各有高低。而经过长期的实践 证明,被测系统内的各个功能模块之间,或者被测系统与被测系统之间,往往因为功能相 似、测试用例设计方法相似和测试用例结构相似,而出现了大量的非常相似的测试用例,因 此相当大部分的测试用例属于重复编写,为自动化设计和生成测试用例提供了可能。


【发明内容】

[0004] 本发明所要解决的技术问题是,提供一种自动生成测试用例的方法,提高测试用 例设计和编写的效率,提高测试用例的设计质量。
[0005] 为解决以上技术问题,本发明实施例提供一种自动生成测试用例的方法,包括:
[0006] 建立测试用例管理平台以控制测试用例的生成;所述测试用例管理平台包括控制 层、业务逻辑层和数据访问层;
[0007] 获取用户输入的操作指令;
[0008] 所述控制层通过发出控制代码监测页面跳转逻辑关系,收集用户请求数据,转发 用户请求,以及根据用户的操作指令控制所述测试用例管理平台跳转至指定的显示页面;
[0009] 所述业务逻辑层根据所述控制层所监测得到的页面跳转逻辑关系,将用户的操作 指令转化为业务逻辑;
[0010] 所述数据访问层包括测试用例数据库和测试用例模板库,根据所述业务逻辑与所 述测试用例数据库进行数据传输与存储,并将控制数据传输与存储的访问控制命令进行独 立封装;
[0011] 根据用户的操作指令确定测试参数与数据类型;根据所述测试参数和所述数据类 型在所述测试用例管理平台上构造测试数据;
[0012] 通过所述数据访问层调用所述测试用例模板库中预设的用例模板,并根据所述用 例模板将所述测试数据按照用例设计方法自动渲染以生成测试用例。
[0013] 在一种可实现方式中,所述用例设计方法为等价类划分法。
[0014] 在又一种可实现方式中,所述用例设计方法为边界值分析法。
[0015] 在又一种可实现方式中,所述用例设计方法为正交试验设计法。
[0016] 进一步地,所述测试用例管理平台还包括测试数据生成工具;
[0017] 通过所述测试数据生成工具对测试数据的数据类型进行定义与修改,并根据用户 的操作指令录入、修改或删除测试数据。
[0018] 进一步地,所述的自动生成测试用例的方法,还包括:通过所述测试数据生成工具 建立数据组,对所述数据组的用例设计方法以及关联状态进行设置。
[0019] 再进一步地,所述的自动生成测试用例的方法,还包括:建立关键字与测试用例功 能点的关联关系,形成功能点列表文件;
[0020] 将所述功能点列表文件导入所述测试用例管理平台,根据用户所输入的关键字选 中所述测试用例模板库中预设的用例模板,并根据所述功能点列表文件自动生成测试用 例。
[0021] 优选地,所述测试用例管理平台设有多种用户权限;
[0022] 在所述测试用例管理平台上导入所述功能点列表文件之前,判断当前操作用户是 否具备基于关键字的用例设计权限;若当前用户为具备基于关键字的用例设计权限的用 户,则在根据所述功能点列表文件自动生成测试用例。
[0023] 本发明提供的自动生成测试用例的方法,通过建立测试用例管理平台以控制测试 用例的生成,并将测试用例管理平台划分为控制层、业务逻辑层和数据访问层,通过控制层 监测页面跳转逻辑关系,收集用户请求数据,转发用户请求,以及根据用户的操作指令控制 所述测试用例管理平台跳转至指定的显示页面,通过业务逻辑层将用户的操作指令转化为 业务逻辑;通过数据访问层根据所述业务逻辑与测试用例数据库进行数据传输与存储,并 将控制数据传输与存储的访问控制命令进行独立封装;因而本发明可以根据用户的操作指 令确定测试参数与数据类型,在所述测试用例管理平台上构造测试数据,将该测试数据自 动生成为所需要的测试用例。本发明克服了传统的通过手工进行的测试用例所存在的编写 效率低下和质量难以得到保障的缺陷,采用自动化生成技术,提高测试用例的生成效率和 质量。

【专利附图】

【附图说明】
[0024] 图1是本发明提供的自动生成测试用例的方法的一个实施例的步骤流程图。
[0025] 图2是本发明提供的测试用例管理平台的一种数据架构图。
[0026] 图3是本发明提供的在所述测试用例列表界面中添加测试用例的步骤流程图。
[0027] 图4是本发明提供的根据功能点列表文件生成测试用例的一种可实现方式的步 骤流程图。
[0028] 图5是本发明提供的基于因果图用例设计法生成测试用例的步骤流程图。

【具体实施方式】
[0029] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述。
[0030] 参见图1,是本发明提供的自动生成测试用例的方法的一个实施例的步骤流程图。
[0031] 本实施例提供的自动生成测试用例的方法主要包括以下步骤:
[0032] 步骤S101 :建立测试用例管理平台以控制测试用例的生成。所述测试用例管理 平台包括控制层、业务逻辑层和数据访问层。在本实施例中,具体实施时,采用总线型架构 对该测试用例管理平台进行设计,可以消除不同应用之间的技术差异,让不同的应用服务 器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB(Enterprise Service Bus,企业服务总线)提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机 制,支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接 口,提供其它系统使用。
[0033] 步骤S102 :获取用户输入的操作指令。
[0034] 步骤S103 :所述控制层通过发出控制代码监测页面跳转逻辑关系,收集用户请求 数据,转发用户请求,以及根据用户的操作指令控制所述测试用例管理平台跳转至指定的 显示页面(Java Server Pages,简称JSP)。控制层(Command)可以包括服务接口层、展现 层、身份认证授权管理模块、安全控制日志管理模块和ESB (Enterprise Service Bus,企业 服务总线)服务总线等,以连接和控制整个测试用例管理平台的信号,控制测试用例管理 平台的工作状态。此外,展现层还通过连接客户端上的各种浏览器(Internet Explorer) 与用户进行数据通信。
[0035] 步骤S104 :所述业务逻辑层(Service)根据所述控制层所监测得到的页面跳转逻 辑关系,将用户的操作指令转化为业务逻辑。Service层主要关注于页面逻辑,客户的需求 转化为实际的业务逻辑就由Service层来实现,其中权限事务日志等不是纯业务的逻辑交 由AOP (Aspect Oriented Programming,面向切面编程)的专门程序处理,使开发人员关注 点聚焦而不会被繁琐的其它事情所影响效率。
[0036] 步骤S105 :所述数据访问层包括测试用例数据库和测试用例模板库,根据所述业 务逻辑与所述测试用例数据库进行数据传输与存储,并将控制数据传输与存储的访问控制 命令进行独立封装。具体地,数据访问层(Data Access Object,简称DA0)主要生成业务 逻辑中需要与数据库之间进行交互的控制代码,例如,本实施例对SQL (Structured Query Language,结构化查询语言)程序语句、数据存储过程等相应的数据库进行数据存取的部 分控制代码的封装,将数据访问层抽离独立出来可以实现更好的移植性。
[0037] 步骤S106 :根据用户的操作指令确定测试参数与数据类型;根据所述测试参数和 所述数据类型在所述测试用例管理平台上构造测试数据。
[0038] 步骤S107 :通过所述数据访问层调用所述测试用例模板库中预设的用例模板,并 根据所述用例模板将所述测试数据按照用例设计方法自动渲染以生成测试用例。
[0039] 在本实施例中,业务逻辑层主要用于做一些有效性验证的工作,以更好的保证程 序运行的健壮性。如完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字符 串,数据格式是否正确以及数据类型验证;用户权限的合法性判断等;通过以上的诸多判 断以决定是否将操作继续向后传递,尽量保证程序的正常运行。数据访问层的主要功能是 负责数据库的访问,用于实现对数据表的Select (查询),Insert (插入),Update (更新), Delete(删除)等操作。如果要加入0RM(0bject-Relational Mapping,对象关系映射)的 元素,那么就会包括对象和数据表之间的mapping (映射),以及对象实体的持久化。数据访 问层,简单的说,就是通过数据访问层对数据库进行的SQL语句等操作。
[0040] 参看图2,是本发明提供的测试用例管理平台的一种数据架构图。具体地,需要先 建立测试用例模板库201,用于生成测试用例的模板;优选地,所述测试用例管理平台还包 括测试数据生成工具202 ;通过所述测试数据生成工具对测试数据的数据类型进行定义与 修改,并根据用户的操作指令录入、修改或删除测试数据,因此可根据用户预设的规则自动 生成测试数据;此外,需要预先设置测试用例生成规则模块203,即用户需要根据测试场合 的需要,采用相应的用例设计方法,例如等价类划分法。在完成了以上三部分的准备后,汇 总三者的作用可以批量自动生成测试用例,如图2中的测试用例1,测试用例2,……,测试 用例N。所有的测试用例最后汇总到测试用例管理平台204中的测试用例管理端,从而实现 对测试用例及用例数据的统一管理与调度。
[0041] 本实施例通过测试数据生成工具202产生的测试数据可以应用在测试管理平台 204上,经过调用测试用例模板库201中的测试用例模板,根据模块203选择相应的测试用 例设计方法,将测试数据自动化批量生成为多个测试用例,以满足软件测试的需求。进一步 地,本实施例可以通过所述测试数据生成工具建立数据组,对所述数据组的用例设计方法 以及关联状态进行设置。
[0042] 在一种可实现的方式中,所述用例设计方法为等价类划分法。通过等价类划分法, 将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类,然后从每个部分中 选取具有代表性的数据作为测试用例进行合理的分类;测试用例由有效等价类和无效等价 类的代表组成,从而保证测试用例具有完整性和代表性。利用这一方法设计测试用例可以 不考虑程序的内部结构,以用户的实际需求规格说明书为依据,选择适当的典型子集,认真 分析和推敲用户的各项需求并尽可能多地发现错误。
[0043] 在另一种可实现的方式中,所述用例设计方法为边界值分析法。边界值分析在等 价类划分法的基础上作出进一步的改进。边界值分析法不是从某等价类中随便挑一个作为 代表,而是使这个等价类的每个边界都要作为测试条件;其不仅考虑输入条件,还要考虑输 出空间产生的测试情况。根据长期的测试实践经验,大量的软件测试错误是发生在输入或 输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试 用例,可有利于检测出更多的错误。
[0044] 譬如,可以建立数据源表" TPM_B0UNDARY_DATAS0URCE ",并对其的字段信息进行赋 值,如表1所示。
[0045] 表1边界值方法能数据源表TPM_B0UNDARY_DATAS0URCE
[0046]

【权利要求】
1. 一种自动生成测试用例的方法,其特征在于,包括: 建立测试用例管理平台以控制测试用例的生成;所述测试用例管理平台包括控制层、 业务逻辑层和数据访问层; 获取用户输入的操作指令; 所述控制层通过发出控制代码监测页面跳转逻辑关系,收集用户请求数据,转发用户 请求,以及根据用户的操作指令控制所述测试用例管理平台跳转至指定的显示页面; 所述业务逻辑层根据所述控制层所监测得到的页面跳转逻辑关系,将用户的操作指令 转化为业务逻辑; 所述数据访问层包括测试用例数据库和测试用例模板库,根据所述业务逻辑与所述测 试用例数据库进行数据传输与存储,并将控制数据传输与存储的访问控制命令进行独立封 装; 根据用户的操作指令确定测试参数与数据类型;根据所述测试参数和所述数据类型在 所述测试用例管理平台上构造测试数据; 通过所述数据访问层调用所述测试用例模板库中预设的用例模板,并根据所述用例模 板将所述测试数据按照用例设计方法自动渲染以生成测试用例。
2. 如权利要求1所述的自动生成测试用例的方法,其特征在于,所述用例设计方法为 等价类划分法。
3. 如权利要求1所述的自动生成测试用例的方法,其特征在于,所述用例设计方法为 边界值分析法。
4. 如权利要求1所述的自动生成测试用例的方法,其特征在于,所述用例设计方法为 正交试验设计法。
5. 如权利要求1?4任一项所述的自动生成测试用例的方法,其特征在于,所述测试用 例管理平台还包括测试数据生成工具; 通过所述测试数据生成工具对测试数据的数据类型进行定义与修改,并根据用户的操 作指令录入、修改或删除测试数据。
6. 如权利要求5所述的自动生成测试用例的方法,其特征在于,还包括:通过所述测试 数据生成工具建立数据组,对所述数据组的用例设计方法以及关联状态进行设置。
7. 如权利要求5所述的自动生成测试用例的方法,其特征在于,还包括:建立关键字与 测试用例功能点的关联关系,形成功能点列表文件; 将所述功能点列表文件导入所述测试用例管理平台,根据用户所输入的关键字选中所 述测试用例模板库中预设的用例模板,并根据所述功能点列表文件自动生成测试用例。
8. 如权利要求7所述的自动生成测试用例的方法,其特征在于,所述测试用例管理平 台设有多种用户权限; 在所述测试用例管理平台上导入所述功能点列表文件之前,判断当前操作用户是否具 备基于关键字的用例设计权限;若当前用户为具备基于关键字的用例设计权限的用户,则 在根据所述功能点列表文件自动生成测试用例。
【文档编号】G06F11/36GK104123227SQ201410397663
【公开日】2014年10月29日 申请日期:2014年8月13日 优先权日:2014年8月13日
【发明者】魏理豪, 钱扬, 梁哲恒, 龙震岳, 张金波 申请人:广东电网公司信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1