本稿では、Java向けのビヘイビア駆動開発(Behavior Driven Development: BDD)フレームワークであるeasybを簡単に紹介する。

「ビヘイビア駆動開発」という用語になじみのない方のために簡単に説明すると、「ソフトウェアを書く前に、その仕様をコードで書く」という開発手法である。対して、皆さんおなじみの「テスト駆動開発(TDD)」は、「ソフトウェアを書く前に、そのテストをコードで書く」という開発手法だ。

この2つの開発手法は、「プログラムを書く前に、そのプログラムが正しく動くことを保証するためのコードを書く」という点ではまったく一緒だ。保証するためのコードもかなり似通ったものになる。ただし、TDDのコンセプトは「テスト対象のものがないのにテストを書く」というもので、あまり直観的とは言えない。対してBDDは、「仕様通りに動くことを保証するために、検証コードを先に書く」というコンセプトを強く打ち出しており、より直観的だ。そのためBDDでは、仕様書や設計書によく使われる「should(すべき)」という単語が頻繁に用いられる(対して、TDDでは「test」がよく用いられる)。

今回取り上げるeasybは、Groovyで書かれたJava向けのBDDフレームワークで、Groovyの柔軟な文法を活用して、非常に直観的な記述方法を用いることができるるのが特徴だ。easybのWebサイトでは、「BDD専用のドメイン固有言語(DSL)」に基づいているとしている。

スクリプト言語をベースとし、コードの記述量も圧倒的に少ないことから、導入の障壁は相当に低い。記事の最後に掲載するサンプル全文をコピーするところから始めれば、おそらくものの数分でeasybを理解することが可能だろう。Javaによるプログラム開発を行っているのならば、一度は導入を検討する価値のあるフレームワークだと言えよう。

ビヘイビア駆動開発を実現するフレームワークは、easybのほかにも数多く存在する。Wikipediaなどを参照してほしい。

easybのダウンロードとインストール

easybの最新版は、こちらのWebサイトからダウンロードすることができる。現在の最新バージョンは0.9で、ファイル名は「easyb-0.9.tar.gz」だ。

このアーカイブを展開すると、JARファイルが3つ(easyb-0.9.jar, commons-cli-1.1.jar, groovy-1.5.4.jar)現れる。これらのJARファイルすべてにクラスパスを通すことで、easybの利用が可能になる。