Testing 是虫子吗?约定规范中的意外行为

Testing 是虫子吗?约定规范中的意外行为,testing,agile,Testing,Agile,当应用程序的规范和约定行为运行正常时,不管结果如何,这应该称为什么?是虫子吗 当软件按照规范和约定的行为执行时,它怎么可能是一个bug? < P>我认为这是一个bug。根据我的经验,90%的bug都是关于不理解需要什么:即设计bug 在这种情况下,设计本身是有缺陷的,导致了错误的规范。这里的错误不在于实施程序的人,而在于首先设计系统的人/团队 在Scrum设置中,我通常认为修复设计错误完全是新的故事,因为它确实导致了新的规范(以及新的测试和新的定义的完成)。我不认为这是一个“Bug Fig”任务

当应用程序的规范和约定行为运行正常时,不管结果如何,这应该称为什么?是虫子吗


当软件按照规范和约定的行为执行时,它怎么可能是一个bug?

< P>我认为这是一个bug。根据我的经验,90%的bug都是关于不理解需要什么:即设计bug

在这种情况下,设计本身是有缺陷的,导致了错误的规范。这里的错误不在于实施程序的人,而在于首先设计系统的人/团队

在Scrum设置中,我通常认为修复设计错误完全是新的故事,因为它确实导致了新的规范(以及新的测试和新的定义的完成)。我不认为这是一个“Bug Fig”任务。
*注:在大多数现代语言中。在C语言中,90%的错误都与糟糕的内存管理有关

我本以为结果是商定规范的一部分。这意味着程序的行为不符合规定。要么是这样,要么是预期结果有缺陷,程序显示的结果正确。

这是错误的规范。如果程序员在实现规范时出错,那么这些就是bug。如果规范有缺陷,但实现正确,则这是一个特性;-)

是的,这是一个缺陷

但这是规范中的一个缺陷

这反过来可能是需求收集中的一个缺陷

这可能是分析师误解了用户的请求,或者是用户请求了错误的东西,或者通常是两者的混合。(但我总是责怪分析员!——同样的道理,你也会责怪医生因为与口齿不清的病人沟通不畅而误诊)

从理论上讲,这与任何其他缺陷都是一样的——报告它、修复规范、重新编码并重新测试


然而,在实践中,这些可能是一个真正的痛苦,因为它们跨越了组织,往往是公司边界。如果您是一家分包软件公司,并且您根据规范生产了软件,那么按照合同规定,这不是您软件的缺陷,您应该获得新的、更好的规范,并获得额外的报酬,以编写新规范的代码

为什么我们怎么称呼它很重要?在我看来,你所处的位置有一个更深层次的问题——你没有意识到还有工作要做,而是在为指责做好准备。这毫无意义,每个人都在浪费时间


我理解双方的挫败感,但现在你要做的是a)确定软件要按预期工作(并因此给用户带来他们希望的好处)需要做哪些更改,然后b)这样做。叫它虫子或者叫它新故事——或者叫它蝴蝶,如果它有帮助的话,但是继续前进

有TDD背景的人说“bug是一个没有编写的测试”。考虑到这一点,这种意外行为是一个没有编写的测试,因为没有包含一个规范

敏捷运动是关于交付好的产品。这就是为什么根据合同设定一组固定的需求来实施并不重要,而是在每个步骤(迭代、冲刺等)纠正和改进团队的方向。因此,考虑到这一点,我想说,如果你面临一个意外的行为,简单地确定预期的行为,写下新的故事/测试用例,你可以对照这些故事/测试用例进行验证,并将其包含在下一个冲刺中


更改就是一切。

不要忘记定义:Bug-未记录的特性。特性记录的bug。出于兴趣,在scrum迭代中添加新故事是如何工作的?如果故事被锁定在迭代中,你会考虑产生一个设计错误的故事,并将“bug故事”移到池中来考虑下一次迭代吗?谢谢你的Scrum注释。顺便说一句,这正是我想要练习的。另一方面,项目经理更喜欢易碎品——完全搞砸了。好的,走吧。那么,您是否会将它作为一个bug登录到您的问题管理器(在我的例子中是jira)中,然后创建一个新的特性/任务并链接它?你将如何处理这个问题?@Igor当我练习Scrum时,如果它是一个已知的bug/非预期的特性,我会立即将它放入Scrum sprint(迭代)中,并删除其他内容。我之所以相信这一点,是因为在敏捷宣言中的sprint结束时创建了可发布的软件。@Igor:故事总是可以随时添加的:只是不能添加到sprint backlog中。任何新的内容都必须添加到产品待办事项列表中。但是我运行了一个稍微修改过的Scrum。产品所有者(我的老板)可以将任何内容从产品待办事项转移到sprint待办事项,只要:1。同样数量的点数也会移回产品待办事项和2。您不能在签出时向后移动tasks@JavaRocky:就我个人而言,我没有将此注册为bug,而是注册为新功能。但是你的老板/质量保证人员可能有其他想法。我们得到的是……沟通失败。