Weitere ähnliche Inhalte Ähnlich wie 簡単なものこそBDDで! (LTSpiral02) (13) 簡単なものこそBDDで! (LTSpiral02)4. BDDって何? Behavior Driven Development ビヘイビア(振舞い)駆動開発 スペックファースト TDD(テスト駆動開発)+ α 「テストとして動く仕様書」 2010/11/27 簡単なものこそBDDで! 4 仕様書 テスト スペック 5. BDDのためのツールの例 RSpec (Ruby) 今回の例はRSpecで書きます。 Cucumber (Ruby, 他) 小物ツールではたぶん使わない。 ごめんなさい、Ruby以外のBDDはあんまり知りません。 C,Java,PHP,JavaScript,.NET もいろいろあるみたいです。 ○○Specとか、JBehaveとか、Specterとか。 2010/11/27 簡単なものこそBDDで! 5 9. 余談:スペックを何語で書くか がんばれば日本語でもできるけど・・・ “The common language in the scientific world should be poor English, just as I am speaking now.” 科学の世界はそう。 数学の世界もそう。 ITの世界でもたぶんそう。 なので、僕はRSpecは英語で書きます。 そもそもRSpecは英文法に近くなるように設計されてるし…… Cucumberとかは日本語でもいいかも。 2010/11/27 簡単なものこそBDDで! 9 14. それで、後日 使う環境が変わった! (例えばRuby 1.8.7 ->1.9.2) 何かが変わっていて動かない! 前に使ったあのツールを使いたい! でも、どう使うんだっけ? 今回のデータもそのまま使えるっけ? 他に使いたい人が現れた! 使い方を教えている余裕がない。 改造して使いたいらしいけど、あの人Ruby知らないはず…… 2010/11/27 簡単なものこそBDDで! 14 16. Programming, once more では、あらためてソースとスペックを見てみる。 いろいろ作り込みを考えてみよう。 1匹(1頭)なのに複数形なので直したい。 Mouseクラスを追加しよう。 ちなみに、mouseの複数形は? 特定の種類の動物が何匹いるか調べたい。 ケージから出したい。 複数のケージを合併させたい。 さあ、軽い気持ちで追加できる? 2010/11/27 簡単なものこそBDDで! 16 17. さらにいいこと テストしやすいコードを強要される。 最初は窮屈かも。 でも、だんだん慣れてくる。 改良したり直したりしやすいコードを自然と書くようになる。 やりたいことに素直なソースを強要される 最初は窮屈かも。 でも、だんだん慣れてくる。 後で読みやすいコードを自然と書くようになる。 2010/11/27 簡単なものこそBDDで! 17