「ビヘイビア駆動開発」の版間の差分
表示
削除された内容 追加された内容
TAKAHASHI Shuuji (会話 | 投稿記録) 「ソフトウェア開発工程」サイドバーを挿入しました。 |
|||
17行目: | 17行目: | ||
[[Groovy]]のeasybの場合。 |
[[Groovy]]のeasybの場合。 |
||
< |
<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 "花子"
}
}
脚注
- ^ “いまさら聞けないTDD/BDD超入門(1):テスト駆動開発/振る舞い駆動開発を始めるための基礎知識”. ITmedia. 2017年8月9日閲覧。
- ^ “Behaviour-Driven Development”. 1 September 2015時点のオリジナルよりアーカイブ。12 August 2012閲覧。
関連項目
外部リンク
- RSpec - Ruby
- JBehave - Java
- NSpec - .Net
- GSpec - Groovy
- easyb - Groovy
- specs - Scala
- Specter - .NET
- dSpec - Delphi
- JSSpec - JavaScript
- PHPSpec - PHP
- Instinct - Java
- JDave - Java
- beanSpec - Java
- CSpec - C
- Tumbler - Java
- XSpec - XPath, XSLT, XQuery
- PySpec - Python
- Kiwi - Objective-C
- Quick - Swift, Objective-C
- Ginkgo - Go
- Hspec - Haskell