在这样一个流程中,小组成员被分为了两种角色,分别是开发者(DEV)和质量保证人(QA)。开发者如果有任何代码需要提交到 JIRA 系统中,他的这些代码就需要先经过小组内部流程的检验。
开发者首先在 bugzilla 系统上新建一个 bug 报告(下文中将这种 bug 称为代码审查请求),将该 bug 的所有人(owner)设置为他自己,并将该 bug 分配给质量保证人(下文简称 QA)。这时代码审查请求的状态变为 ‘已分配’。这时如果开发者满怀信心的觉得自己的代码已经相当优美,他就将自己的代码作为当前 bug 的附件,上传到 bugzilla 系统中。当 QA 发现新的代码审查请求,他/她会按照特定的标准(代码和测试用例是否有逻辑错误,代码风格是否合适)进行代码审核。如果没有发现任何问题,QA 将代码审查请求的状态改为 ‘已解决’。这表示代码通过审核,可以被提交到社区里去了。当然一般来说,代码总会出现一些小的问题。这时 QA 就会针对这些问题报告新的 bug,并将这些 bug 分配给开发者。这些 bug 不同于之前的代码审查请求,他们真正表示代码中的缺陷。这些代码缺陷会阻塞住原先的代码审查请求(通过 bugzilla 提供的功能),保证如果这些缺陷不被修复(状态不转变为 closed),则代码审查请求的状态就不能变为 ‘已修复’。当 QA 认为所有的缺陷都已经找出来之后,他/她会将代码审查请求分配给开发者。这时,开发者针对 QA 报告的缺陷,修正自己的代码,并提交新的代码补丁(将前一个代码补丁设置为废旧),将代码审查请求重新分配给 QA。这个过程将被重复,直到开发者提交的代码不会再被检查出缺陷为止。
下面的文章将结合上面介绍的流程,描述 bugzilla 的相应功能。
问题请求系统(Request System)
鉴于 Harmony 项目的特性,对代码质量的要求非常严格,仅仅通过一些代码审查(Review)工具无法完全保证其质量,所以开发中除了实际的开发人员,还增加了QA(Quality Assurance)的角色来保证代码质量。所有代码必须经过从开发人员到 QA 的反复检查才能发布。Bugzilla 为这个迭代过程提供了很好的支持。问题请求系统允许开发人员为一个补丁设置标签(flag)来请求对当前代码的复查。Bugzilla 共提供了两种类型的标签,分别用来表示 bug 和补丁的状态,我们在开发中只使用了补丁的标签功能。对于 QA 来说,他可以设置标签来表示接受或者拒绝这个补丁。通过这个标签无论是开发人员或是 QA 都可以及时掌握一个补丁当前所处的状态。以下我们详细展示如何通过 Bugzilla 的问题请求系统来进行代码开发的过程。
1. Bugzilla 管理员安装完 bugzilla 系统后,为当前开发的项目新建一个复查标签(图3)。
图 3 管理标记类型
2. 开发人员通过 Eclipse 的 Subclipse 插件生成基于当前服务器上代码的增量补丁,详见应用补丁部分。
3. 开发人员在 Bugzilla 上新建一个优先级为“开发”类型的新记录(图4),作为本开发流程的基点。
4. 开发人员将补丁上传到“开发”记录的附件中(在附件中递交补丁将在后面介绍),并开启补丁的标签功能,比如开发人员张三与 QA 李四搭档开发,张三在设置标签的时候就会指定李四来复查,在下拉菜单中选中‘?’,并在后面的字段填上李四(图5)。
图 5 标记
此时,补丁的状态字段就会显示为 —— zhangsan:复查?(lisi)(图6)。如果开发人员重新想置空标签或者不指定具体的 QA,只需在下拉菜单中选中空格即可。
URl收藏 http://www.qqread.com/java/2006/10/a256456.html相关专题
- 125条常见的java面试笔试题大汇总 (23470次浏览)
- 十四种Java开发工具点评 (16011次浏览)
- JAVA中配置环境变量设置方法大全 (14586次浏览)
- 论Java外观模式 (1091次浏览)
- 英文打字练习 (718次浏览)
- Java编程十大典型问题详解(1) (637次浏览)
- Java路径问题最终解决方案 (598次浏览)
- Ruby,Java的劲敌 (582次浏览)
- Java学习从入门到精通(附FAQ)2 (579次浏览)
- JAVA高手解析XML配置文件的读取操作 (568次浏览)





