可执行规范

可执行规范是从 敏捷哲学 中借鉴的想法

在试图理解类或操作时,大多数程序员首先会寻找已经调用它的示例代码。 编写良好的单元/开发者测试正好做到了这一点 - 它们提供了功能代码的工作规范 - 因此单元测试实际上成为了技术文档的重要组成部分。 同样,验收测试可以构成您的需求文档的重要组成部分。 当你停下来思考时,这很有道理。 你的验收测试定义了你的利益相关者对你的系统的确切期望,因此它们指定了你关键的需求。

它与普通测试的不同之处在于,它同时作为一种清晰地 *描述* 软件行为的方法,*以及*可以提供给机器以测试你的代码的东西。

这三个前提条件是

  • 在规范和执行之间明确分离测试关注点。
  • 在 *执行* 测试的环境和 *测试* 环境之间建立明确的隔离屏障。
  • 可执行规范使用声明性标记而不是图灵完备代码来描述。

可执行规范形成于行为驱动开发和验收测试驱动开发的交汇点。

为了有效地使用可执行规范,需要用领域适宜场景语言编写它们。