下面是相关的报价:
软件开发的一个常见风险包括开发人员和业务涉众之间的通信故障。BDD使用期望行为的规范作为项目团队成员的一种无处不在的语言。这就是为什么BDD坚持用半形式化的语言来描述行为规范:某种形式是成为一种普遍存在的语言的必要条件。此外,拥有这样一种无处不在的语言可以创建一个规范的域模型,从而可以对规范进行正式的推理。
我认为,一种具有语法和编译器的实际形式、严格的“语言”可以用于,例如,从规范自动生成测试存根,或者保证规范具有某些属性(统一命名为名词和动词,等等)。
那么,在BDD范式中,为什么“无处不在的语言”仅仅是半形式化的,而不是完全正式的/严格的呢?
发布于 2014-09-22 22:37:19
“无处不在的语言”应该是半正式的,因为您想要就代码的行为进行对话。
如果你使语言正式化,你最终会有更多关于遵守正式语言的对话,而不是关于代码行为的对话。
我编写了博客文章,它说明了当正式示例的概念有点过火时会发生什么。能够简单地进行对话,原谅所使用的语言,并在后面整理其他的语言,是成功BDD的关键。这是另一篇博文从对话中推导出Gherkin,这也可能有帮助。
发布于 2014-09-22 23:45:31
如果普适语言有助于描述/定义/解决所选域中的问题--这称为领域专用语言
但是,不要期望业务用户编写DSL;如果他们能够阅读DSL,就足以促进Lunivore所描述的对话。
https://softwareengineering.stackexchange.com/questions/256146
复制相似问题