其实什么是bug?任何预定义的规则?
其实什么是bug?任何预定义的规则?
Answers:
一个错误是:
软件错误是用于描述计算机程序或系统中的错误,缺陷,错误,故障或错误的通用术语,该错误,缺陷,错误,故障或错误会导致产生错误或意外的结果,或导致其行为异常。(来自维基百科)
这是什么构成错误的另一个好定义。要么:
Ubuntu社区在此Wiki中对错误的定义非常出色,尤其着重指出了错误与缺少功能之间的区别:
软件错误是计算机程序中的错误或故障,导致其无法正常运行。可能就像根本无法工作一样简单,也可能由于结果不正确而变得复杂,有些东西不是错误,但缺少应合理包括的功能。缺少的功能不应报告为错误,而应为它们编写FeatureSpecifications。
虽然很难划清两个定义的界限,并回答问题是错误还是缺少功能?,可以给出一些指导:
这两个断言之间的区别是:第一个断言更加广泛(支持现代Windows FS),因此可以视为缺少功能,而另一个断言则强调一个独特的问题(无法写入ReiserFS)-一个特定的错误。
如果您有兴趣,建议您阅读BugSquad团队 Wiki。消除bug是软件开发周期中最有趣的活动之一,除了是一个很好的学习机会之外,:-)
谢谢!
出于所有实际目的,术语“ bug”应避免过于模糊。
最好的答案是整本书:Andreas Zeller 撰写的“ Why Programs Fail”。一本应该放在每个程序员的书架上的书。作者还尽力避免将其称为“错误”(请继续阅读)。因为正如crncosta的回答已经表明,“错误”不只是编程错误。这就是为什么有些人更喜欢术语“问题”(导致使用“问题跟踪器”而不是“错误跟踪器”)的原因。
因为最终用户将其视为错误,所以根本不必是错误。即使是经常被用作a脚的借口,也可以只是设计使然。但是,一旦发现某些故障,即使是由于缺乏功能,也被归类为“错误”。
前述书籍的作者在术语的定义(例如故障和缺陷)上花费了数页,并描述了“错误”为什么不是合适的术语(过于模糊)的原因。
他的术语摘要:
如您所见,作者区分了因果关系,在“错误”的情况下,因果关系几乎总是混杂在一起的。大部分时间的“错误”一词被应用到缺陷时,感染 和的失败。