源代码集成对于缺陷跟踪系统有哪些好处?

3
我正在为我们的项目选择一个缺陷/问题跟踪系统。 这个问题这个问题 在提供要评估的系统方面非常有帮助。然而,通过查看各种产品的网站,我提出了一个问题。

一些系统将源代码控制系统集成作为一个特性进行宣传。 这是我以前从未使用过的东西,并且在查看各种工具的网站时,我找不到任何关于此集成提供的详细信息。 它是否仅仅是通过相同的Web界面浏览我的存储库来提供错误报告?

那么,这种集成到底有什么好处呢? 它如何节省我的时间或使我们的产品更好?

5个回答

3

JiraFishEye(一个 SCM 浏览器)可以在您提交包含 Jira 问题关键字的日志消息(例如“PROJ-123”)的更改集时,将链接插入到相应的 Jira 问题中,并且 Jira 将在 PROJ-123 中显示指向提及该问题的更改集的链接。

Jira 还可以与 Hudson 集成,以便在执行包含修复程序(即更改集)的构建时,将在该提交的日志消息中提到的 Jira 问题的状态得到评论。

由于问题跟踪器用于跟踪源代码的问题,因此我们可以想象出许多在集成问题/源代码控制管理系统中可能出现的功能。


2

我曾使用Visual Studio Team Foundation Server完成此操作,它不仅与源代码控制集成,还与数据仓库集成。这使得它能够跟踪哪些错误是由哪些代码引起的,显示哪些代码需要更多的QA。2010版本中即将推出的功能更加引人入胜。


1
主要优点是您可以针对特定版本的源代码提出错误报告。这有助于确定发现错误时代码库的状态。我认为在这个领域中一个受欢迎的产品是Trac,它与SVN集成。

那与在“传统”系统中通过组合框选择代码版本有何不同?为什么我需要源代码集成?如果我们要走这条路,我想确保任何好处。 - David Webb

1

嗯,我想说这里有一个很大的原因,那就是你可以按照任务/问题导向的方式工作。

我的意思是:

  • 你所做的每个代码更改(从小的快速修复到大的新功能)都将成为JiraRally或Bugzilla、Trac、Mantis等问题的一部分,你可以选择自己喜欢的跟踪系统。

  • 这意味着问题/任务跟踪系统必须易于使用、快速、简单等等,否则开发人员会讨厌它。

  • 然后将每个更改与问题相关联,就完成了。你可以获得完整的可追溯性(对于差异调试非常好,如果没有它,你会感到遗憾),更好的项目跟踪、更好的发布管理等等。

你可以将每个变更集/提交(根据你的SCM术语)链接到一个任务,或者如果你的SCM可以做到,为每个错误修复创建一个分支,这甚至更好。

基本上你得到的很简单:每一次变更都将被记录,或者至少与正确的问题/任务相关联。
如果你使用分支,你可以推广这样的事情:始终在稳定的基线上工作,减少主干污染(或使其原始,如果你喜欢),决定哪些任务集成,哪些任务保留直到下一个发布版本,对变更进行单独运行测试等等。

0

Github 基本上是相反的:不是一个带有源代码版本控制的错误/问题跟踪系统,而是一个带有一些错误/问题跟踪插入的源代码版本控制。我无法相信没有人在这里提到它,因为这种方式比另一种方式更为普遍。

但它非常强大,你基本上可以引用 git 提供的所有内容,也可以在问题中使用:提交、分支、拉取请求。Github 甚至安装了一些“自动化”功能,合并具有“修复问题 #23”的内容的 PR 将自动关闭问题 #23。

Github非常方便,因为现在大多数使用的开源软件都托管在那里,你可以在自己的问题/拉取请求中引用所有这些库等。此外,大多数典型的现代商业软件开发基础设施也将与Github集成:TravisCodeship会告诉您构建的进展情况,甚至可以自动部署它们,HoundRubocop会告诉您代码的外观,UsersnapTrackduck会将错误报告推送到您的Github问题中,如果您不想使用他们的软件。

与Github相比,这里提到的Trac感觉真的很老。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接