コンテンツにスキップ

「ビヘイビア駆動開発」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
「ソフトウェア開発工程」サイドバーを挿入しました。
Cewbot (会話 | 投稿記録)
m Bot作業依頼: sourceタグをsyntaxhighlightタグに置換 (Category:非推奨のsourceタグを使用しているページ) - log
17行目: 17行目:
[[Groovy]]のeasybの場合。
[[Groovy]]のeasybの場合。


<source lang="groovy">
<syntaxhighlight lang="groovy">
scenario "ユーザーリストに2人追加と存在確認", {
scenario "ユーザーリストに2人追加と存在確認", {
given "空のユーザーリスト", {
given "空のユーザーリスト", {
37行目: 37行目:
}
}
}
}
</syntaxhighlight>
</source>


== 脚注 ==
== 脚注 ==

2020年7月5日 (日) 22:57時点における版

ビヘイビア駆動開発 (振舞駆動開発; behavior driven development; BDD)とは、プログラム開発手法の一種で、テスト駆動開発から派生した物である[1][2]

概要

テスト駆動開発で記述されるテストケースは、作成したプログラムの動作が正しいかどうかを検証するために行う「テスト」である。テストであるという点は同一であるが、加えて、これから作成しようとするプログラムに期待される「振る舞い」や「制約条件」、つまり「要求仕様」に近い形で、自然言語を併記しながらテストコードを記述する。テストフレームワークのメソッド名も自然言語(英語など)に近い形をとっている。

テストコードの可読性があがる上、テストコードが要求仕様となりうる。要求仕様からテストコードを起こす際も、スムーズにコードに移行しやすい。

BDDではスペック(仕様)とテストは限りなく近い物である。従って、テスト駆動開発における「テストファースト」は、BDDにおいては「スペックファースト」となり、スペックを作ってから実装するという、より自然な形でのプログラム製作を実現している。

いくつかのテストフレームワークは、

  • アプリケーションの振る舞いを記述するストーリーフレームワーク
  • オブジェクトの振る舞いを記述するスペックフレームワーク

の2種類を含む。

具体例

easyb の場合

Groovyのeasybの場合。

scenario "ユーザーリストに2人追加と存在確認", {
   given "空のユーザーリスト", {
       userList = []
   }
   when "太郎を追加", {
       userList.add "太郎"
   }
   and
   when "花子を追加", {
       userList.add "花子"
   }
   then "ユーザーリストには太郎が含まれている", {
       userList.shouldHave "太郎"
   }
   and
   then "ユーザーリストには花子が含まれている", {
       userList.shouldHave "花子"
   }
}

脚注

  1. ^ いまさら聞けないTDD/BDD超入門(1):テスト駆動開発/振る舞い駆動開発を始めるための基礎知識”. ITmedia. 2017年8月9日閲覧。
  2. ^ Behaviour-Driven Development”. 2015年9月1日時点のオリジナルよりアーカイブ。2012年8月12日閲覧。

関連項目

外部リンク