Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アマチュアでも出来るTDD

 アマチュアでも出来るTDD

2009-01-24 わんくま同盟東京勉強会 No. 28で発表した資料です。

高見知英

January 24, 2009
Tweet

More Decks by 高見知英

Other Decks in Programming

Transcript

  1. わんくま同盟 東京勉強会 #28 TDDとは • Time Division Duplex(時分割通信)ではない • Test

    Driven Development(テスト駆動開発) – テストをしながら、開発を進めていく手法 – 流れ • 処理コード書いて • 処理をテストするコード(テストケース)を書いて • テストを完了させる • 実際のTDDは若干違うらしいので、注意
  2. わんくま同盟 東京勉強会 #28 なぜTDDか • 初期段階でバグを見つけられる – 後半になればなるほど、バグの影響は大きい • 毎回テストを自動実行する

    – ツールを使用する – メソッドの変更によるバグ埋め込みを発見できる • アマチュアなら実地テスト(システムテスト)だけ で十分? – 希少性の高いバグ • TDDを使えば、多少は早く見つかる のかな?
  3. わんくま同盟 東京勉強会 #28 試験自動化ツール xUnit • CUnit, NUnitなどの総称 • テストを実行して、結果を◦×で返すツール

    – あるメソッドにこの引数を渡したらどうなる? • 予想どおりの戻り値が返るか • 予想どおりの例外が発生するか – メソッドに対していくつかのテストコードを実施する ことで、メソッドテストを行う
  4. わんくま同盟 東京勉強会 #28 テストケースの作り方? • 全てのコードを実行す る・・・のが理想 – 網羅率=カバレッジ率 –

    カバレッジ基準 • 命令網羅 – ソースコード中の全命 令を一回以上実行 • 分岐網羅 – ソースコード中の全分 岐のtrue/falseの結果 を一回以上通るように する • 分岐網羅>命令網羅 処理初め 処理 判断 処理 処理 処理終り
  5. わんくま同盟 東京勉強会 #28 まとめ • xUnitとは、テストケースを実行し、結果を◦か ×で返すツール • テストできない内容も・・・ –

    GUIやユーザー操作が絡むもの – インターネット上のデータ等の取得が絡むもの • GUI自動化ツール(UWSCなど) • NMock – 手間をかけず、自動化できるテスト手段を