基于RobotFramework自动化测试数据化改造的平台制造技术

技术编号:23604529 阅读:13 留言:0更新日期:2020-03-28 05:40
本发明专利技术公开了基于RobotFramework自动化测试数据化改造的平台,包含系统管理模块、自动化测试管理模块和资源管理模块三个模块:系统管理模块包含用户管理、角色管理、权限管理和测试项目管理。自动化测试管理模块包含测试任务、测试用例、测试执行和缺陷管理。测试资源管理模块包含执行机管理,关键字查询、产品线管理和模板配置。通过平台的集成即可实现自动化测试的服务化,即将单机上运行的自动化测试工具功能通过网络化提供服务。实现自动化测试服务化管理,可以加速自动化测试的普及,降低测试成本;服务化的测试模式还能发挥规模优势,合理配置资源,增强可维护性;服务化可以为管理提供更准确的统计数据,与测试管理平台协同工作,提高管理效率。

The platform of automatic test data transformation based on robot framework

【技术实现步骤摘要】
基于RobotFramework自动化测试数据化改造的平台
本专利涉及自动化测试
,主要是针对自动化测试框架RobotFramework进行数据化改造。
技术介绍
软件测试是用来保证软件产品的完整性、正确性、稳定性和安全性,它是一个不断迭代的验证过程。在软件爆发的时代,软件的开发周期越来越短,需求多而变化快,软件的迭代周期短,这对软件短时间内高质量的发布是一个艰巨的挑战,手工测试已经不能满足时间性的要求,因此对自动化测试提出了需求。在软件的测试过程中,对于功能完备、成熟的软件,其每一轮迭代大部分功能与上一轮相似或者完全相同,测试过程中执行的测试脚本和步骤具有一致性和可重复性。这样的测试很适合做自动化测试,其不仅能够提高提测效率和保障软件质量,而且能够解放一部分劳动力,提高公司资源的利用率。软件的自动化测试经历了以下三个发展阶段:1、脚本录制/回放阶段:该阶段的测试过程就是通过自动化测试工具录制人工操作被测产品的过程,并记录整个过程的数据,从而形成自动化测试脚本,通过回放录制的脚本来重复操作之前的操作,以达到自动化测试的效果。该方法的优点是脚本生成简单,无需手工编写,每个用例对应一个脚本,将脚本按照用例层次管理起来即可。但是界面操作和维护成本太高,页面元素的控件修改之后,维护起来成本非常高。2、数据驱动阶段:该阶段的测试方法就是从数据文件中读取用户输入的数据,然后通过对变量进行参数化,最后将测试数据传输给测试脚本。该方法的优点:测试数据与脚本相互分离,从而可重用性一定程度上提高,使得一个脚本能组成多个测试用例,缺点是仍然是没有测试解决需求变更带来的维护成本,脚本编写技术要求较高。3、关键字驱动阶段:该阶段的测试方法是按照关键字进行分解,从而形成一系列的关键字用于测试。包含被操作对象、操作、参数和返回值四大类。他的优点是数据、脚本实现及对象、关键字三者全部分离,因此受被测对象需求变更影响变更较小,当被测对象变更时只需要更新对应关键字即可。随着数据驱动,关键字驱动等概念的提出,众多的自动化测试开源框架和工具给自动化测试带来前所未有的发展,其中开源的RobotFramework支持关键字驱动模式,易于扩展,支持多种测试库,以此为基础的自动化测试可以较好的满足多数公司对于自动化测试系统的要求,一跃成为业界最受欢迎的自动化测试框架。但对于大型企业来说随着支持的接口和业务的增加,自动化框架越来越庞大,配置越来越复杂,RobotFramework的缺点也开始暴露。1、文件化管理,脚本数据共享不便、统计复杂。2、Ride编辑器界面操作过于复杂,工作效率低,且存在性能缺陷。3、调度执行需配合第三方工具,如Jenkins、SeleniumGrid等,环境配置复杂,效率较低。本方法就是基于RobotFramework框架进行改造优化。将RobotFramework的测试用例使用数据库存储,通过平台的集成即可实现自动化测试的服务化,即将单机上运行的自动化测试工具功能通过网络化提供服务。实现自动化测试服务化管理,可以加速自动化测试的普及,降低测试成本;服务化的测试模式还能发挥规模优势,合理配置资源,增强可维护性;服务化可以为管理提供更准确的统计数据,与测试管理平台协同工作,提高管理效率
技术实现思路
研究自动化测试的国内外发展现状,对比各个框架的优缺点,针对现有框架的不足,利用当下最流行的前后端Javaweb开发技术开发一个通用的、便捷的自动化测试平台。基于RobotFramework自动化测试数据化改造的平台,包含系统管理模块、自动化测试管理模块和资源管理模块三个模块:系统管理模块包含用户管理、角色管理、权限管理和测试项目管理4部分内容。用户管理:包含用户名密码注册等信息;角色管理:角色管理区分管理角色和项目角色,其中管理角色的负责系统管理、公共资源管理,而项目角色必须跟测试任务相关,负责测试流程中的工作节点。权限管理:权限点可以根据需求定义,其颗粒度也可根据需要定制,定义好权限点后,权限点关联相关的资源,再将权限点分配给角色,角色下对应的用户在申请资源的同时,根据权限关系在服务端过滤。项目管理:测试项目外部系统同步或手工创建两种模式,为所有测试流程根源数据。自动化测试管理模块包含测试任务、测试用例、测试执行和缺陷管理4部分内容。测试任务:当前测试任务下测试用例,可根据测试任务-产品的映射关系,从产品用例库中选择。测试任务完成后,系统会自动检测检测,若在此任务中修改且执行成功的用例,会自动更新产品库中的新版本。测试用例:测试人员使用该系统编写测试用例,测试用例支持手工测试与自动化两种展现形式,可将两种类型作为统一对象进行管理。测试执行:测试执行中的测试用例为并发执行,并无执行顺序、执行数据、执行机控制。行过程中,客户端会实时将RF结果文件上传至数据库,平台提供链接直接展示RF结果文本。并且支持生成测试报告。测试资源管理模块包含执行机管理,关键字查询、产品线管理和模板配置4部分内容。执行机管理:使用Jenkins执行机,此功能支持对执行机的修改配置。关键字查询:可以对自动化用例的关键字进行查询,包含系统公共资源关键字和私有资源关键字。模板配置:测试执行jar包模板配置。定义自动化测试关键字驱动的格式,编写关键字映射函数,解析关键字实现自动化测试。对RobotFramework框架进行数据化改造,使用例的存储由文本存储变为数据库存储,提高用例的读取速度,实现用例共享。附图说明图1:关键字驱动思想的应用模块图。图2:系统构架图。图3:系统结构图。具体实施方式以下结合附图和实施例对本专利技术进行详细说明。系统前端设计:前端采用纯Web实现用户界面功能,使用KendoUI+JQuery框架构建,系统使用KendoUI+JQuery的前端框架组合开发用户界面,确保前端开发效率的同时,提供优秀的用户体验。前端系统使用JQuery的Ajax技术与服务层RestfulAPI进行通讯,完成数据的读写操作。业务处理层:使用Springboot框架,Repository、Service、RestController三层结构,最终通过RestController开放RestfulAPI,前端通过Ajax方式访问Restful服务。数据库选择与设计:数据库使用Mysql数据库和Redis数据库。Mysql数据库用来存储所有的表信息,Redis作为内存读取的数据库,用来存储用户信息作为缓存数据库,提高系统性能;并且系统集成Mybatis框架,使数据的读取效率更高。测试任务分发服务:利用遗传算法实现任务的分发调度和执行机的选择。RF改造方案RobotFramework工作原理:RF是一个通用的测试框架,在自动化测试系统中常作为测试执行工具,与被测对象没有业务逻辑上的联系,RF按照测试用例中的测试步骤执行关键字。RF的模块有内置关键字本文档来自技高网
...

【技术保护点】
1.基于RobotFramework自动化测试数据化改造的平台,其特征在于:包含系统管理模块、自动化测试管理模块和资源管理模块三个模块:/n系统管理模块包含用户管理、角色管理、权限管理和测试项目管理4部分内容;/n自动化测试管理模块包含测试任务、测试用例、测试执行和缺陷管理4部分内容;/n测试资源管理模块包含执行机管理,关键字查询、产品线管理和模板配置4部分内容。/n

【技术特征摘要】
1.基于RobotFramework自动化测试数据化改造的平台,其特征在于:包含系统管理模块、自动化测试管理模块和资源管理模块三个模块:
系统管理模块包含用户管理、角色管理、权限管理和测试项目管理4部分内容;
自动化测试管理模块包含测试任务、测试用例、测试执行和缺陷管理4部分内容;
测试资源管理模块包含执行机管理,关键字查询、产品线管理和模板配置4部分内容。


2.根据权利要求1所述的基于RobotFramework自动化测试数据化改造的平台,其特征在于:用户管理:包含用户名密码注册等信息;
角色管理:角色管理区分管理角色和项目角色,其中管理角色的负责系统管理、公共资源管理,而项目角色必须跟测试任务相关,负责测试流程中的工作节点;
权限管理:权限点可以根据需求定义,其颗粒度也可根据需要定制,定义好权限点后,权限点关联相关的资源,再将权限点分配给角色,角色下对应的用户在申请资源的同时,根据权限关系在服务端过滤;
项目管理:测试项目外部系统同步或手工创建两种模式,为所有测试流程根源数据。


3.根据权利要求1所述的基于RobotFramework自动化测试数据化改造的...

【专利技术属性】
技术研发人员:安宁张斌徐雪丽邓米克肖创柏
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

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

1