集成Jenkins和TestNG实现自助式自动化测试平台.docx
《集成Jenkins和TestNG实现自助式自动化测试平台.docx》由会员分享,可在线阅读,更多相关《集成Jenkins和TestNG实现自助式自动化测试平台.docx(16页珍藏版)》请在优知文库上搜索。
1、集成Jenkins和TestNG实现自助式自动化测试平台背景介绍在软件业十分成熟的今天,敏捷(Agile)开发在业界日益流行,而面临的挑战也日益增多,不断变化的用户需求、缩短的开发周期、频繁的部署上线、复杂的产品架构和团队组织,如何继续保证软件的质量是一个不能回避的课题。许多企业级规模的项目常常按照功能模块将庞大的团队分为多个独立的Scrum团队。在这种情况下,每个Scrum团队各自负责其所属功能模块的开发和测试。在Scrum团队中各种角色在不同的时间点有针对性不同的测试需求。其次,Build部署以及测试频率大幅增加。测试类型和阶段也更加细化。而现有的自动化测试,常常由独立的自动化测试团队来执
2、行和维护。其他的Scrum团队成员除非十分了解自动化测试包的细节,否则无法按照自身多类型的测试需求来执行自动化脚本。并且有些项目自动化测试包涵盖了成百上千的测试用例,仅仅因为需要验证某个模块或某几个功能点是否成功而执行整个测试包不仅费时且没有必要。本文针对以上涉及的问题,提出以下的解决方案:利用JenkinS和TestNG搭建“自助式”自动化测试平台,充分利用了JenkinS成熟的平台及其插件,以及TestNG对选择测试用例的内在支持。该平台具有以下优点:基于成熟的测试工具。JenkinS是目前业内最流行的快速持续集成工具之一,其稳定的性能和丰富的扩展性,使得很多的团队都优先选择它作为项目的主
3、要支持工具。TeStNG作为一款强大的Java测试框架,其在Junit,NUnit的基础上做了广泛的增强,从单元测试、功能测试到集成测试,都能提供良好的支持。这两个工具一方面功能稳定,有大量的实际使用案例和文档支持,另一方面由于其属于主流工具,很多团队已经有过相应的经验,可以大大缩短学习曲线和成本。灵活地定制自动化测试。团队成员通过登陆平台Web界面,按照需求任意选择部署在平台上的自动化测试包,目标测试环境,测试集和测试用例。提交定制化的自动化执行请求,执行结束系统自动发邮件通知。不同人员的请求可以实现并行执行。所有的自动化执行历史记录都可以保存在平台上。可以通过Web的方式随时查阅。Jenk
4、ins支持丰富的插件,用户可以按照需求进行选择安装和配置.,以实现生成执行状态表格,自动部署/更新自动化测试包等高级功能。方案设计概述本文将使用一个简化后的“自助式”自动化测试应用场景以介绍本方案的核心设计思想。首先列举出该平台需要满足的各项需求:用户权限管理,用户可以使用自己的帐号进行登陆访问,提交请求。用户根据自身的具体需求,灵活的选择已经部署在平台上的自动化测试包,并且可以对测试环境,测试集和测试用例进行定制化选择。多用户并发请求的执行,彼此之间相互独立,互不干扰请求执行完毕后的email通知执行状态和历史纪录的查询用户体验良好的Web页面访问模式针对以上的需求,我们可以用图1来简要说明
5、该方案的主要功能组件以及彼此之间的联系。图1.平台主要功能组件=1自动化测试平台Web前端:JenkinS平台自身提供一套统一标准的web界面,用户可以根据需求通过其完成各种系统配置,任务提交,查询等工作。用户登录与权限控制:JenkinS平台默认支持若干种用户验证机制,比如LDAP,Jenkinsowndatabase,servletcontainerauthenticate等等,也可以通过其它插件实现更加复杂的验证。本文将采用最简单的JenkinSowndatabase来管理帐户的权限。任务请求定制化模块:一般来说,Jenkins大部分情况下只需要完成预定义执行内容的任务。所以在参数定制化
6、请求方面只具备最基本的支持。为了满足更好的“自助式”的用户体验和需求,实现预定义任务对不同用户需求的灵活响应,我们在还需要借助一款JenkinS插件ExtendedChoiceParameterpluginm的辅助。利用该插件,用户可以在提交请求时在页面上输入多选式参数,这些动态输入将以环境变量的形式传递给执行模块影响最终请求的行为。任务提交与执行模块:JenkinS支持稳定的任务管理机制,管理员可以通过配置使同一个任务支持并发响应多个请求,彼此之间独立且互不干扰。任务状态与历史纪录查询:对于任务请求的状态信息跟踪,JenkinS默认只支持控制台输出的监控,而且每一次请求记录,Jenkins只
7、提供一个数字ID和时间戳进行标识。对于一个多用户的自助式平台这是远远不够的。我们利用插件“HTMLPublisherPlugin”,保存请求生成的html格式的运行报告。这样可以在页面上对任意历史请求的执行纪录和报告进行查询和检索;同时利用aEnvInjectPluginw,rtBuildUserVarsPluginw和aBuildNameSetterPlugin”为每一次请求动态生成包含用户姓名等多方面信息的ID以区分,大大方便信息的管理和测试结果数据的追溯。Emai1提醒:JenkinS默认只支持最基本的emai1通知机制。我们使用插件Emai-extPlUgin”进行扩展,以支持更加强大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集成 Jenkins TestNG 实现 自助式 自动化 测试 平台
