基于可持续集成环境Jenkins的测试方案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 构建过程自动化 • 提高开发效率
➢ 提升安全感
持续交付&持续部署
➢ 持续交付(Continuous delivery)
• 频繁地将软件的新版本,交付给质 量团队或者用户,以供评审。如果 评审通过,代码就进入生产阶段。
➢ 持续部署(continuous deployment)
• 代码通过评审以后,自动部署到生 产环境
• 单元测试
• 单元, 类和系统测试
• 测试确认 • 计划, 报告和覆盖率结果显示
• 测试管理 • 自动变更侦测, LDRA分析结果保存和回归测试管理
持续集成&LDRA
➢ LDRA的测试自动化
• 持续集成技术
• 静态测试 • 单元测试 • 集成测试 • 系统测试
静态测试 单元测试 集成测试 系统测试
如何持续集成
➢ 倡导团队开发成员必须经常集成他们的工作,甚至每天 都可能发生多次集成。而每次的集成都是通过自动化的 构建来验证,包括自动编译、发布和测试,从而尽快地 发现集成错误,让团队能够更快的开发内聚的软件。
持续集成的原则
➢ 业界普遍认同的持续集成的原则包括:
• 需要版本控制软件保障团队成员提交的代码不会导致集成失 败。常用的版本控制软件有 IBM Rational ClearCase、CVS、 Subversion 等
• Short Cycles是敏捷开发的基础,如何快速得到短周期的迭代。持 续集成工具帮助我们实现了这一需求。
持续集成是什么
➢ 持续集成是一种软件开发实践
• 快速发现错误。 • 防止分支大幅偏离主干。
持续集成的作用
➢ 减小风险
• 自动调用LDRA工具进行测试 • 帮助开发人员快速发现并解决问题
➢ 减少手动过程
• 开发人员必须及时向版本控制库中提交代码,也必须经常性 地从版本控制库中更新代码到本地
持续集成的原则
• 需要有专门的集成服务器来执行集成构建。根据项目的具体 实际,集成构建可以被软件的修改来直接触发,也可以定时 启动,如每半个小时构建一次
• 必须保证构建的成功。如果构建失败,修复构建过程中的错 误是优先级最高的工作。一旦修复,需要手动启动一次构建
• Hudson被收购后,为了摆脱ORACLE的束缚,开源社区重新将其 更名为Jenkins,并继续开源,当前提供了1058 个插件用来支持编 译、测试几乎所有的程序
➢ 开源协议
基于Jenkins的LDRA自动化测试平台
总结
利用持续集成实现LDRA的自动化测试,开发团队可以不断 修复测试发现的缺陷,节省了整个团队修复构建的时间, 免去了不必要的交流成本,大大减少了延迟发布的可能性。
基于可持续集成环境Jenkins 的测试方案
议程
01 持续集成的概念 02 LDRA与持续集成 03 基于Jenkins的LDRA自动化测试平台
议程
01 持续集成的概念 02 LDRA与持续集成 03 基于Jenkins的LDRA自动化测试平台
引言
➢ 持续集成源于极限编程(敏捷开发)
• "Short Cycles that are test-driven and feedback-driven, yielding constant improvement.“ 通过测试和反馈驱动生成的多个短周期的迭代,提供持续的改善。
Biblioteka Baidu
持续集成的目的
"持续集成并不能消除 Bug,而是让它们非常容易 发现和改正。"
议程
01 持续集成的概念 02 LDRA与持续集成 03 基于Jenkins的LDRA自动化测试平台
LDRA介绍
利物浦数据研究协会 成立于1975 提供测试工具和解决方案 软件顿量先驱 顾问,咨询和服务
LDRA工具套件
自动化平台的组成
➢ 一个自动构建过程
• 编译 • 分发 • 部署 • 测试 • ……
➢ 一个代码库
• 版本控制软件(SVN,Clearcase)
➢ 一个持续集成服务器
• 持续集成工具(Jenkins,Bambo)
议程
01 持续集成的概念 02 LDRA与持续集成 03 基于Jenkins的LDRA自动化测试平台
谢谢!
➢ LDRA-基于源代码的测试套件
• 需求工作流程
• 基于需求的开发和验证解决方案,和需求管理工具连接,生成需求追 踪矩阵
• 代码评审
• 编程规则检查 (MISRA, CMM, SIL), 报告定位到源代码
• 质量评审
• 复杂度分析 & 度量评估
• 设计评审
• 接口规格说明检查 & 变量使用异常
LDRA工具套件
什么是Jenkins
➢ Jenkins-持续集成系统
• 基于java语言的开源持续集成工具 • 基于插件化的架构,方便功能的扩展
什么是Jenkins
➢ 背景
• Jenkins的前身是Hudson。之前由SUN公司维护。在ORACLE收 购SUN公司后,由ORACLE捐赠给Eclipse Foundation,现在由 Eclipse Foundation负责维护
相关文档
最新文档