天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

BDDに入門する

最近QAとして働くようになったこともあって、BDDを改めて勉強し直しています。
そこで、勉強していく中で参考にした本とそれぞれに対するコメントを書いていきます。

The BDD Books - Discovery

leanpub.com

最近日本語版が出版されたThe BDD Books -Discoveryですが、推薦の言葉にもあるようにBDDの日本語版入門書としては、これ以上ない本なのかな、と思います。

BDDを実践しようと考えた際、Gherkinなどはフォーマットがシンプルな分、キャッチアップもしやすいですし現場での導入も簡単にできるように思えてしまいますが、本書に書かれているような目的を正確に理解できていないと、チームの開発の足を引っ張るような活動になりかねないので、BDDの実践を考えるならまず本書から読んだほうが良いのかな、と個人的には感じています。(自分自身、Gherkinは数年間利用していましたが、この本を読んで、Gherkinの強みの一部しか利用できていなかったことやチーム全体の資産としてBDDを活用しきれていないことを痛感しました。)

Formulation: Document examples with Given/When/Then (BDD Books)

leanpub.com

上の続編。

こちらは日本語訳は出ていませんが、上の本を読んで「心構えはわかったけどじゃあどうやって実際にBDDの実践をしていくの?」となったらこちらを読んでいくのがいいのかな、と思っています。

BRIEFの原則やGherkinの書きっぷりの具体例が、登場人物たちの会話という具体的な例を通して理解できるので、内容が頭に入ってきやすいですし、とりあえずGherkinを書いてみたけどなんか違うような気がするんだよな。。と考えているような状態のチームには特にお勧めできるのかな、と思います。

The Cucumber Book: Behaviour-Driven Development for Testers and Developers

www.amazon.com

BDD本の中でもかなり実践的な本で、現場でBDDがどのように開発を導くのか?(データモデリングにどう繋がるのかやGOOSで語られているような開発にどう近づけていくのか?...)というのが詳細に書かれている印象があります。
内容もわかりやすく、Cucumberの強力さ(要求分析、開発、テスト、リファインメント...様々な場所で活用できる)が実感できる本です。

一方、本の構成や説明の仕方が、BDD=テストという思想を強めやすい内容になっているので*1、BDD booksと合わせて読むといい本かな、と思います。
また、開発者向けの本だなあという印象も強いので、エンジニア以外の人に勧めるのは少し憚られる本でもあります。

BDD in Action

www.amazon.com

BDDと言ったら個人的にまず思い浮かぶのがこの本で、BDDのバイブル的な書籍になっているかな、と感じます。

BDDが開発全体でどのような位置付けでどのような役割を果たしているのかや、それを支える周りの構造、ソフトウェア開発をしていくに当たって抽象度を場面ごとにどのようにコントロールしていくのか?、といった考え方が整理されており、素晴らしい書籍だと感じています。

BDDにおいて振る舞いを定義するためのコツが、わかりやすく具体的な例や豊富な図を用いて書かれているので、洋書ですが割と読みやすいのも特徴です。

その他

その他にも幾つかの本を読みましたが、上記4冊を読んだ後ということもあって、その他の本についてはそこまで目新しい内容はありませんでした。

一応、参考程度に本だけメモしておきます。

www.amazon.co.jp

 

あと、読めていないですが気になる本も一冊貼っておきます。

その他にも、

atmarkit.itmedia.co.jp

logmi.jp

の記事は読みやすい上に、本記事で紹介した本のエッセンスがぎゅっと詰まっているのでお勧めです。

*1:テストではない、と完全に否定できるものではないですが、BDD Booksを読むとBDDの罠や悪用につながりかねない考え方だと個人的には解釈しています