我需要一个BDD/ATTD /规范专家的建议。 (对不起了很长的文章,我不知道如何表达的问题较少的话)规格示例:如何管理低级别详细信息
问题描述
我们一直都在一个中等规模的项目约1年。 该团队使用受验测试驱动的基于流程的过程(以详细测试用例的形式编写)。
而现在,随着需求的变化,我们开始遇到这些测试的可维护性问题。
- 他们是(非常)硬盘读取一个绝对不作为产品 规格多日的要求结果
- 稍有变化 重构的测试过于加上实施细则
我们怎么看它解决
为了解决我们要我们的测试转化成可执行的规范问题。 所有的书/文章我读过(例如,通过例如通过戈杰科·阿德齐奇规范)建议,我们不与低级别的详细信息,告诉相当如何产品应当执行的,而不是什么超载规格产品应该符合商业期望。
这似乎是合理的,因为规格可能会更具可读性和可维护性,并且反映了业务目标,而不是过分指定时的软件设计。 但是,这些低级别的细节不能被丢弃 - 虽然它们并未被业务用户明确地询问,但它们仍然是可预期的。例如,如果用户按下“处理按钮”,则最好禁用并且“取消按钮”被启用,直到处理完成。像这样的细节在规范中似乎是不必要的,但对于应用程序被客户接受是必需的。
我们在每个级别使用(A)TDD,并且仅用于编写代码以进行测试。现在不用详细的测试,我们会有更多的抽象可执行文件规范,而且根本不知道把低级细节放在哪里。
问题
因此,能不能有人建议管理水平低的要求是不能去了说明书的好的做法呢?
谢谢,但您的文章相当重复我所说的 - 过分规定不是一个好主意 - 但不回答我的问题。这样的需求仍然需要检查(因为这是一个很好的应用程序的常识)。如果它不符合规范,那么可能会在测试执行阶段手动测试(然后将成为手动回归套件的一部分) - 这不是我们想要的。我们是否应该与UI交互和模型保持一个单独的规范?我们是否应该在单元测试级别或可执行规范背后的测试自动化层检查这些东西? – olldman
@olldman实际上我指出与UI相关的细节应该转到步骤的实现(例如,如果您使用Speclfow细节将转到步骤定义文件)。当领域专家将通过场景查看时,他将看到他是“用户开始处理账单”而非UI用户员工的专家。我建议你阅读这个很好的丹北文章主题http://dannorth.net/2011/01/31/whose-domain-is-it-anyway/ –
我想我开始看到你的观点。我仍然有点担心的是,规范不仅适用于领域专家,还适用于将要实现该功能的人员。在您的项目中,您是否将这些细节留给开发人员处理?不应该在别处指定吗? – olldman