错误跟踪和问题跟踪系统之间有什么区别?

时间:2009-06-02 19:42:45

标签: terminology bug-tracking issue-tracking

我正在寻找解释为什么以及何时使用每个系统的解释哪些功能可以区分错误与问题跟踪应用程序。

14 个答案:

答案 0 :(得分:45)

问题跟踪系统通常会更多地与客户和客户问题集成。一个问题可能是“帮助我安装这个”或“如何让fubar进入flim flam”。它们甚至可能是“我需要为您的软件提供评估密钥”。

错误跟踪系统可帮助您跟踪程序中错误或遗漏的内容。

在查看网络系统时,重点往往存在很大差异,无论是帮助客户还是跟踪软件问题。

答案 1 :(得分:39)

以下示例可以更清楚地区别。

假设您今天遇到了影响5位客户的生产问题,但这是由单个软件缺陷引起的。

问题 - 跟踪系统中,您打开了5张故障单并开始跟踪每个客户报告的内容,与他们沟通的内容,应用软件补丁的时间等。您可以跟踪每个客户单独填写。

在您的错误 - 跟踪系统中,您为软件缺陷创建了一个条目,开始跟踪重现步骤,代码更改等内容。

客户问题可以在客户满意时得到纠正,并且可能涉及或可能不涉及修复软件。错误可以在修复并重新测试时关闭。

两个系统,向外和向内,跟踪两种不同的事物,每种都有自己的生命周期。

答案 2 :(得分:11)

错误跟踪系统(如 Trac )旨在为程序内在的问题设置一张故障单,因此通过修改程序关闭故障单。

IssueTrackerProduct 等客户支持服务单系统旨在为每个遇到情况的客户提供一张票据,因此通过计算该客户的情况来关闭票证(可能通过修改程序)。

有关每个的示例,请参阅维基百科的Comparison of issue tracking systems

答案 3 :(得分:10)

错误是问题的子类。所有错误都是问题,但并非所有问题都是错误。

通常,错误是代码库中的缺陷。这不同于一个不完整/尚未实现的功能,或者像开发人员订票处理技术债务或者关注UI一样更难以确定的功能。从语义上讲,所有这些都是“问题”。

一般性问题,当不属于其他类别时,往往是最终用户报告的事物的表示。在大多数系统中,此报告的问题本身作为错误报告处理。我冒昧地说这是一个错误。

棘手的部分是,有时多个问题可能与其他问题有关。它可能涉及相同的错误,多个错误,或实际上是一个功能请求。也就是说,问题之间可能存在多对多的关系。

为什么区别很重要?那么,内部有一棵天然树 - 解决一个问题可以间接完成(或有助于完成)一百万个其他问题。它也解决了问题的解决方法。缺陷本身可以通过修复它的代码更改来解决,或者使其无关紧要。如果是用户投诉,可以通过向他们发送解决方案来解决,然后在原始缺陷解决后继续进行跟进。

以有用的方式更好地表现和处理这些细微差别的功能实际上是在票务跟踪系统中寻找的。

在某些时候,您所谈论的流程和方法不仅仅是实际的票务系统,事实的名称应该开始变得无关紧要。主流和面向企业的解决方案倾向于在像ITIL这样的流行系统上运行,但如果团队中的每个人都对客户服务需求有很好的理解,那么您就可以获得特别的东西。我个人认为这是waterfall (ITIL) vs agile (DevOps)的情况。

答案 4 :(得分:5)

它只是语义。错误是一个问题,一个问题是可以做的。否则它们大致相同。

答案 5 :(得分:4)

它充其量只是一条模糊的界线。问题跟踪系统可能被认为是两者中较为普遍的。因为所有错误跟踪系统都是问题跟踪系统,但不一定相反。

来自我们的朋友Wikipedia

  

错误跟踪系统是一种软件   旨在帮助的应用程序   质量保证和程序员保持   跟踪报告的软件错误   他们的工作。它可以被视为一个   问题跟踪系统。

答案 6 :(得分:4)

在代码

中发现了一个错误

可以在任何地方,流程,硬件和人员中找到问题。

这取决于您采用的定义意味着什么样的开发过程。

答案 7 :(得分:3)

我认为错误是可以在代码中修复的问题,而问题更多的是可用性问题。

例如,登录表单。登录表单中的错误是登录完成后表单重定向不正确。虽然问题是整个登录过程太慢,或者没有选择通过电子邮件发送忘记的密码。

答案 8 :(得分:3)

对于您的问题,这不是一个完整的答案,但我遇到了与客户打交道的类似问题。我认为在最高级别,错误跟踪系统似乎通常更注重开发人员。也就是说,开发人员正试图跟踪代码中的问题。函数没有返回正确的值,应该进行更多的验证等。

与代码完美集成的系统的一个很好的例子是Trac

问题跟踪系统似乎更加以客户为中心。例如,能够让客户说“当我点击'确定'时,我收到一个错误”。它可能是用户培训,可能是一个功能,或者它实际上可能是一个错误。

因此,在我参与的许多项目中,我们保持这些不同。我们有一个高级问题跟踪系统,可能会或可能不会导致在错误跟踪系统中创建实际错误。但是,许多错误都会在内部进行跟踪,而不会在问题跟踪系统中创建任何“问题”。

我在这两者之间看到的问题是,对于没有经验的用户来说,将票证输入Trac之类的东西真的不容易,因为他们会被技术术语搞糊涂了。但是,高级问题跟踪系统不能与代码紧密集成,因此对开发人员来说无用。

无论如何......我的0.02美元。

答案 9 :(得分:3)

错误 :流程中的任何位置(应用程序,数据库,报告等)都会出现漏洞,这些漏洞会阻止100%的所需功能发生。也称为缺陷。

问题 :可能由错误或错误引起,问题是系统中某种形式的功能丧失报告将与用户绑定。这些在某些组织中也称为帮助台票。

<小时/> WIKIPEDIA LINKS
  - Software Bug
  - Issue Tracking

答案 10 :(得分:3)

要回答这个问题,它需要背景,从它的外观来看,Alan的回答是你的背景。

在软件测试的世界中,我们在问题和错误之间做出的区别之一是:错误是威胁产品价值的任何东西,而问题是任何威胁的问题测试的价值(或项目的价值,特别是测试的价值)。 Rapid Software testing告诉我们。

根据我的经验,跟踪系统允许您在两者之间做出您想要的任何区别。您如何使用特定的跟踪系统取决于您。

答案 11 :(得分:2)

我认为没有确定的答案,但我通常只将问题跟踪视为一个更通用的术语,而不仅仅是“错误”。仅使用“Bug Tracking”这一术语就是一种与软件缺陷相关的信息。

问题跟踪器不一定与软件绑定,甚至BugZilla也不会跟踪错误,还会跟踪新的增强/功能请求,投票等。这样,我认为“问题”只是一个人想要“完成”的单一项目。

最近工作项跟踪也有所增加(例如Visual StudioIBM/Rational Jazz),其水平低于“问题” - 其中一个问题可能被视为需要一些问题N个较小的工作项目要完成。在更高级别,您可能还会在Milestone中看到与BugZilla类似的内容。

答案 12 :(得分:1)

错误特定于软件开发人员。问题更为笼统,可包括所有团队成员在项目上的进展,包括图形设计师,系统管理员,公司高管等。

问题跟踪器会根据要做的事情发言,如果需要,可以将项目归类为错误。

这主要是愚蠢的话,但我使用“问题跟踪器”,因为我与很多不是程序员的人合作,我们需要通过一个共同的生产力工具来讲一个共同的语言,让我们知道每个人其他人在做。

您可以使用错误跟踪器,但这只会让非开发人员感到困惑,特别是如果他们不得不将自己的任务视为错误。

我想说为程序员绘制错误和问题之间的区别也很好,因为错误通常是现有代码的问题,而问题可能是新的功能请求。

答案 13 :(得分:0)

嗯......除了事实之外没有区别,一个问题不仅仅是一个错误。它可以是一项任务,一项新功能,或仅仅是一项改进。错误通常被视为不正确的系统行为,而问题则有更广泛的定义。超越“它不起作用”......