![]() |
1
2
我会在您的测试文件中记录故意不支持的用例/故事/需求/特性,这些特性比规范更可能被定期查阅、更新等。我会在最高级别的测试文件中将每个不支持的特性记录下来,在其中讨论该特性是合适的。如果它是一个完整的用例,我会在验收测试中记录它(例如Cucumber特性文件或RSpec特性规范);如果这是一个细节,我可能会在单元测试中记录下来。 我所说的“文档”是指如果可以的话,我会写一个测试。如果没有,我就评论一下。哪一项取决于功能:
|
![]() |
2
1
你永远不应该测试未定义的行为,通过。。。释义当你测试一种行为时,你就在定义它。 在实践中,要么处理对冲案例有价值,要么就没有价值。如果是这样,那么应该有一个用户故事,作为边缘案例的文档。你不想拥有的是 古老的 用户故事记录 将来 行为,所以在不处理它的故事中记录未定义的行为可能是不可取的。 更一般地说,敏捷开发总是迭代工作。边缘案例发现是迭代工作的一部分:工作带来了知识的增加,知识的增加带来了更多的工作。重要的是在 新 故事,而不是试图一次性处理所有事情。 例如假设我们正在开发Stack Overflow,我们正在做这个故事:
团队开发了一个简单的问题搜索,发现我们需要处理封闭的问题。。。我们没有想到!所以我们只是不处理它们(无论实现行为是什么最简单的)。注意,这个故事没有记录任何关于结果中封闭问题的内容。然后我们添加一个新故事
我们开发这个故事,发现更多的边缘案例,然后是更多的故事,等等。 |
![]() |
3
0
在产品中使用未记录的功能确实是一种糟糕的做法。 如果您的开发团队遵循BDD/TDD技术 应该 (注意强调)减少这种情况发生的可能性。如果你发现了这种边缘案例,那么你认为你的客户不会?在产品中拥有未经测试和意外的功能可能会影响产品的稳定性。 我建议,如果发现未记录的功能:
您还对跟踪这些边缘案例场景的结果提出了一个问题:
在编写设计/规范文档时,可以采取的一种方法是对该文档进行版本化。然后,当一个特性/场景被删除时,您可以在文档中的版本更改部分中说明为什么要进行更改。然后,您可以在以后的日期参考此更改历史记录。 然而,我建议使用计划板来跟踪您的用户故事。使用这样的板,你可以在卡上写一个注释(虚拟/物理),解释为什么该功能被删除,稍后也可以参考。 |
![]() |
Adam · 分配内存块的不相交性? 7 年前 |
![]() |
Koray Tugay · 什么是规范? 9 年前 |
![]() |
Andy · 如何记录Scrum/敏捷/TDD过程中未定义的行为[已关闭] 10 年前 |
![]() |
eento · 使用where&和运算符动态链接规范 10 年前 |