ビヘイビア駆動開発
ビヘイビア駆動開発(ビヘイビアくどうかいはつ、振舞駆動開発; 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”. 2015年9月1日時点のオリジナルよりアーカイブ。2012年8月12日閲覧。
外部リンク
| 言語 | |
|---|---|
| C | CSpec |
| Objective-C | Kiwi |
| Swift, Objective-C | Quick |
| Delphi | dSpec |
| Go | Ginkgo |
| Groovy | easyb |
| GSpec | |
| Haskell | Hspec |
| Kotlin | Spek |
| .NET | NSpec |
| Specter | |
| Java | beanSpec |
| Instinct | |
| JBehave | |
| JDave | |
| Tumbler | |
| JavaScript | JSSpec |
| PHP | PHPSpec |
| Python | PySpec |
| Ruby | RSpec |
| Scala | specs |
| XPath, XSLT, XQuery | XSpec |
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.