每日构建和冒烟测试
上一篇 / 下一篇 2012-07-06 11:37:30 / 个人分类:测试经验
3st'al9G.OY2E;\,C1g0 每日构建和冒烟测试的优点主要有:51Testing软件测试网 t.d^9hM5k9O TQ%X
51Testing软件测试网 \,l2c_] k'`!aO1、进度可见并可以控制到1-2天的细粒度,很容易看到进度的偏差51Testing软件测试网 n:AqNTm
P_h3de&R0 2、及早的发现开发BUG和缺陷并分析解决,对开发人员的一种监督和促进,提高软件质量51Testing软件测试网E!l^}8V'P
bNDL iFF Zm0 3、由于将大集成分解到每日构建中的小集成,避免了传统产品集成或集成测试时候出现的严重问题的可能。
sxwc-e1c0#R4yq+ZP0@%X&S*ric0 4、在项目中宣灌质量意识,强调第一次就把事情做好,而不是等测试来帮你发现问题51Testing软件测试网l&t!j+O,R~
3IF,m,mjYH!|"S0 每日构建和冒烟测试也存在一些风险和缺陷,具体主要有:51Testing软件测试网:A,F9x\{TG
51Testing软件测试网vhU1fH+_$u1S3S2zP9~s$reO3y00oF#L1A*K\ {7Z d0 2、需要额外的测试人力资源和每日构建硬件环境的投入51Testing软件测试网1q9B_W ~ w k8z1~
e3G8c%IU?0 3、开发人员不能专注,既要分心去修改BUG,又要开发新的功能点51Testing软件测试网0R^o{-Y2Z
51Testing软件测试网S wBK*^'tg6wr4、对开发负责人要求更好,需要将功能细化到1-2天的有明确输出的功能点51Testing软件测试网E5k9EId&[a2x
51Testing软件测试网(w!uD-R&k(W7Bv5、开发需要投入额外的精力来保证每日构建顺畅51Testing软件测试网1e7rObn9GU9\
51Testing软件测试网:?_ k4WE#Tq&~Gwv适用场景:
eH W~@dW U.L4_051Testing软件测试网qD"~.{.x2cDrf1、对进度偏差控制和要求很高的项目
$[4oUb b ^8w0L |n.]}?+F1[e0 2、开发检查点和里程碑制定的很细致的项目
:h |2fB,S0WZ*c Iwm0 3、采用增量和迭代开发的项目,快速和敏捷开发的项目51Testing软件测试网1u:zR@E5L:x?Z,v$a!Z
S7TZN-r#apZK0 每日构建提前需要进行的准备工作:51Testing软件测试网+d*C3E day0\'W)U
51Testing软件测试网&` S!yt2nba1、对开发进度计划的要求,需要细化出每1-2天的开发进度计划,可以到一个很小的功能点。51Testing软件测试网J l*z'o'Fp]6H
51Testing软件测试网f F*q%Qs l&H;G\1JAq2、对每日构建测试计划的要求,需要根据开发进度计划来安排冒烟测试和系统测试进度计划。
$te8S.?y1[,xb{D(LQ-V0rdps {S0 3、需要提前准备好每日构建的环境(每日构建必须是独立的环境)
iU d3|1m051Testing软件测试网@0Q^*a.S%KDA每日构建和冒烟测试工作的实现可以人工来实现,但更多的需要借助些自动化的工具来完成。对于每日构建一般要提前编写好每日够建的脚本,可以借助Ant或 NAnt构建工具来完成。每日构建脚本的复杂性跟项目或系统本身复杂性相关,对于简单的只有一个项目的解决方案,可能构建脚本会很简单,而对于较复杂的系 统或项目构建脚本将会教复杂。NAnt是一个强大的通过构建脚本自动编译的工具,像我现在的项目在NAnt里面会做如下事情,而这个即使打开解决方案来编 译也无法做到。51Testing软件测试网:g OYH/hvVx
51Testing软件测试网8FX+b1e"M;?:Fa1、调用批文件重新自动生成数据访问层组件
P2k0D.m9G9n9[-o Fl)I051Testing软件测试网1lDW*D?5J)@)b-pX2、创建相关的部署需要的cs_client,bs_client,server,service相关目录并拷贝公用文件
i0Ybx$qj4m0I*q5Eg `q-vY2o-z]0 3、按照公用项目->逻辑层->界面层顺序和项目间依赖关系对各个项目逐一编译
[2_ R*ps051Testing软件测试网aM,vw9U4、调用外部工具soapsuds生成数据访问dll的代理类文件,逻辑层重新引用代理类进行编译(分布式部署需要)51Testing软件测试网uMt9v$w.?
Xln)KvE!Ne.f0 5、引用3,4步需要的dll对Web项目进行编译
$pZ#? L%S9P]051Testing软件测试网T!G H;}Es*|!u)z6、拷贝编译结果到相关的输出目录51Testing软件测试网 EM7l$~;U*RX2F$u
I%nzWo!iYi0 每日构建和每日编译的最大区别就在于是否进行了冒烟测试,系统必须通过了冒烟测试才能够算每日构建成功。而测试人员人工介入的测试是基于冒烟测 试通过的基础上面的。这里很简单一个例子,如我们NAnt配置文件忘记拷贝一个公共文件到server目录了,这个时候每日编译可能是通过的,但如果把这 个版本部署出去测试无法进行测试的。或者说冒烟测试的一个重要作用就是要彻底解决由于构建自身原因引起的各种缺陷或Bug。
TvU h$dF_051Testing软件测试网 Q NX B-\K:hP5dd冒烟测试由于要验证整个编译的正确性,因此冒烟测试必须是针对整个系统进行冒烟测试。但冒烟测试只需要关注系统的主体功能即可,通过冒烟测试并 不是说系统没有BUG,只是说通过了冒烟测试后可以说系统是一个稳定的版本,说系统的每日构建是成功了,代表系统可以转交专门的测试人员进行测试了。冒烟 测试工作一般要采用自动化来进行,可以借助如LoadRunner等工具来录制自动化测试脚本,冒烟测试的脚本应该由专门的测试人员来维护,而且随着测试 的进展冒烟测试脚本也应该是不断增加和补充的。51Testing软件测试网 LO1n,I2ON9}
3v(E)}w E_DK)~e A0 对于每日构建失败,直接责任的开发人员需要程度责任并付出代价。微软顾问经常爱举的一个例子就是凌晨2,3点开发人员被叫到公司解决每日构建失败的问题的案例。实际操作可能很难,但对构建造成影响的必须要承担应有的责任。
W%_N)r'|*pP#_051Testing软件测试网3I)p&t