淘宝商城(天猫)高级技术专家.3年研发+3年性能测试调优/系统测试+4年团队管理与测试架构、研发系统实践. 新舞台新气象, 深化测试基础架构及研发架构,希望能在某个技术领域成为真正的技术大牛。欢迎荐才http://bbs.51testing.com/viewthread.php?tid=120496&extra=&page=1 .邮件: jianzhao.liangjz@alibaba-inc.com,MSN:liangjianzhao@163.com.微博:http://t.sina.com.cn/1674816524

持续集成开展的必需条件

上一篇 / 下一篇  2009-08-11 22:12:57 / 个人分类:自动化测试框架实现与优化

   根据当下在产品型测试实践梳理的几点想法:

一 人才

a 配管

懂常用持续集成服务器,如cruisecontrol/continuum, buildbot 等原理及安装配置.
另外,需要了解java 编译,c++ makefile,subversion等配置管理知识.

b 研发/QA:  合格的. 最最重要的是有良好的质量意识及实践能力.

c 主管/经理:
 
 他们是有力后盾,当涉及资源及机制时,是一锤定音者.
 
技术

最核心的是良好的单元测试编码, 集成测试编码,系统测试编码, web ui层自动化等不同level的自动化能力.

为了确保单元测试代码有效性,可以考虑:

1) 对单元测试代码做code review
2) 研发交叉编写单元测试代码
3) QA参与单元测试设计 或者编写单元测试代码

研发编码水平,QA测试开发能力都应该在一个较高水位.

三机制

 实践中,这个也是影响面最大的, 没有好的机制粘合,要做好持续集成基本不现实.

在当下,我面临的问题:

1)     源代码规范及makefile规范,  避免硬编码以满足buildbot需求

2)     统一c++单元测试框架. 

3)     统一单元测试输出结果

4)     单元测试代码编写方面做更多摸索( 研发交叉编写单元测试?QA前期介入单元测试设计?...).    涉及到资源计划

5)     集成测试方面的探索, 减少外部依赖

6)      对buildbot /continuum 结果的快速响应以及相关的约定 ( 进入集成测试后,build 失败次数<n 以及每次build修复时间<n小时)

7)     研发提交QA的标准, >50%代码覆盖率应在持续集成后一直保持并且经过有效review

8)     项目退出标准细化 ( 需要保证连续n天0个高优先级bug 并且持续集成连续成功n天以上)

9)...


四 设备

用钱能解决的问题最容易解决.^_^

当同时做持续集成时,需要确保编译,运行测试验证,发送报告时间不要太长.

 


TAG: buildbot continuum cruisecontrol 持续集成 机制 技术

deep 引用 删除 huya   /   2010-05-07 03:27:31
“统一c++单元测试框架”“不同level的自动化能力”
>alibaba测试人员工作范围这么大、这么深?
阿里巴巴一个测试架构师 引用 删除 liangjz   /   2009-08-22 08:39:54
回楼上的,c++ makefile无法做到maven2如此智能.  有部门采用scons比makefile 组织工程更简单,依赖关系更清晰.

持续集成的密度和执行时间的矛盾需要平衡,
可以尝试1 ) 分布式切分执行机  2) 增量式执行部分场景 3) 提高单机的运行速度...
引用 删除 lijian422202   /   2009-08-13 13:57:43
写的很好,支持;
对于1)     源代码规范及makefile规范,  避免硬编码以满足buildbot需求
不知道能否学习maven2的标准,做到配置文件的规范统一以及统一仓库的做法,因为作者是用的C++,不清楚能否实现。
有个问题想请教,就是如何平衡持续集成中功能自动化的时间,如果用例过多势必时间长,这样会影响集成频率,这个是背离了持续集成的宗旨。曾经看过有文章介绍用多个持续集成构键机的方式分别执行单元测试和集成功能测试,但这样又会有另一个弊端:无法将同一版本的单元测试和集成功能关联起来。。
阿里巴巴一个测试架构师 引用 删除 liangjz   /   2009-08-11 22:18:55
机制就是让持续集成build失败次数及修复速度被高度重视,有约束力.
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar