アットウィキロゴ

テスト駆動開発

テスト駆動開発memo


ポイント

  • テストコードははじめから自明ではない
  • テストコードとコード本体を一緒に成熟させていく
  • コストコードとコード本体を分離し管理すべきではない
  • テストコード自体で価値を持つものではない。コード本体と合わせることで初めて意味を持つべき
  • 基本的に仮実装→リファクタリングの繰り返しなので、クリーンなコードとなりやすい
  • デグレードが起こりづらい
  • 具象的なコードから開始するため、抽象度が適切になりやすい
  • テストコード生成のためのコストがかかる
  • 途中からの適用は困難。全ケースのテストを書こうなどと思ってはいけない
  • 要件によって向き不向きはある。
  • ビヘイビア駆動開発はTDDの発展形。期待される振る舞いからテストコードを起こすため、テストを使って仕様設計できる
    • BDDは部分的に組み込みずらいと考えられる。個人的に取り入れるのは難しそう

実装

  • テスティングフレームワーク自体はたくさんある。xUnitが無難か…

Scala http://seratch.hatenablog.jp/entry/20110807/1312726957

  • ScalaTest
  • ScUnit
  • specs

Java

  • JUnit / JUnitEE
  • JBehave (BDD)
  • Instinct (BDD)

C#

  • Specter (BDD)
  • xUnit.net
  • NUnit

PHP

  • PHPUnit
  • Atoum

Python

  • PyUnit
  • Doctest
最終更新:2013年08月11日 15:55