持续集成调研报告(2)
2014-02-24 17:39
176 查看
一. 利用CI可以缓解项目中的多少风险?
1. 项目中大部分缺陷是在什么时候发现的,是在开发周期的早期还是晚期?
2. 如何确定软件项目的品质?是否可以测量?
3. 项目中的哪些过程是可以手工的?哪些过程可以自动化,哪些应该自动化?
4. 在版本控制库中,是否有重建数据库和数据的全部脚本?是否可以在构建过程中重建数据库和测试数据?
5. 在每次对软件进行变更时,是否都能执行回归?是否能够运行不同类型的回归测试,包括功能测试、集成测试、负载测试和性能测试?
6. 是否能确定哪些源代码没有对应的测试?是否使用测试覆盖率工具?
7. 软件中重复代码的百分比是多少?是否需要设法减少这个百分比?
8. 是否要检查源代码遵守了规定的软件框架?
9. 如何通知构建版本或部署的版本可以接受测试了?
10. 能否看到软件当前的图示?如何向新人介绍软件的框架?
二.任务安排
1. 搭建CI环境。
2. 实现基本CI功能(全部自动化)
l 持续构建任务驱动(用户驱动,顶起执行,轮询变更,事件驱动)
l 单元测试案例自动化执行
l 代码审查(测试代码覆盖率)
l 反馈
3. 高级功能实现自动化(全部自动化)
l 自动化数据库集成
l 持续执行自动化测试(单元测试,组件测试,系统测试,功能测试)
l 持续审查
l 持续部署
l 持续反馈并生成系统可用性文档
4. 持续集成的优化(随着系统的复杂度,和代码量的剧增,持续集成的效率会降低,对持续集成的过程的优化,或者自动化程度的安排需要进一步探讨与解决)
持续集成的最基础的功能是版本控制。
部分内容参考《持续集成软件质量改进和风险降低之道》《持续集成在软件项目管理中的作用》《基于jenkins的持续集成使用指南》等书籍或文章。
1. 项目中大部分缺陷是在什么时候发现的,是在开发周期的早期还是晚期?
2. 如何确定软件项目的品质?是否可以测量?
3. 项目中的哪些过程是可以手工的?哪些过程可以自动化,哪些应该自动化?
4. 在版本控制库中,是否有重建数据库和数据的全部脚本?是否可以在构建过程中重建数据库和测试数据?
5. 在每次对软件进行变更时,是否都能执行回归?是否能够运行不同类型的回归测试,包括功能测试、集成测试、负载测试和性能测试?
6. 是否能确定哪些源代码没有对应的测试?是否使用测试覆盖率工具?
7. 软件中重复代码的百分比是多少?是否需要设法减少这个百分比?
8. 是否要检查源代码遵守了规定的软件框架?
9. 如何通知构建版本或部署的版本可以接受测试了?
10. 能否看到软件当前的图示?如何向新人介绍软件的框架?
二.任务安排
1. 搭建CI环境。
2. 实现基本CI功能(全部自动化)
l 持续构建任务驱动(用户驱动,顶起执行,轮询变更,事件驱动)
l 单元测试案例自动化执行
l 代码审查(测试代码覆盖率)
l 反馈
3. 高级功能实现自动化(全部自动化)
l 自动化数据库集成
l 持续执行自动化测试(单元测试,组件测试,系统测试,功能测试)
l 持续审查
l 持续部署
l 持续反馈并生成系统可用性文档
4. 持续集成的优化(随着系统的复杂度,和代码量的剧增,持续集成的效率会降低,对持续集成的过程的优化,或者自动化程度的安排需要进一步探讨与解决)
持续集成的最基础的功能是版本控制。
部分内容参考《持续集成软件质量改进和风险降低之道》《持续集成在软件项目管理中的作用》《基于jenkins的持续集成使用指南》等书籍或文章。
相关文章推荐
- php ucfirst();函数
- java中将String类型的数据转成Blob类型
- Oracle 游标使用全解
- vs2010静态链接Qt
- sql 查询语言
- 互联网人士每天该看的网站
- java中break和continue的使用与区别
- activeMQ总结
- 内存详解(vmmap)
- Java类加载器及其委托机制
- 数字图像处理—图像分割—并行边界—利用边缘灰度不连续性(边缘)(边缘与导数)(边界闭合)
- TabListener中onTabUnselected中的ft没有执行问题
- sqlite3-Android自带数据库
- JS的第一节课
- STM8S103F的TIM2无法进入中断
- java播放声音
- window7防火墙无法进行设置
- Ubuntu 12.10 Server VNC文件配置
- hadoop 中FIFO任务分配流程简化描述
- Oracle Database Server Messages(一)