TDD一連の流れ

686 views

Published on

TDDの一連の流れについて述べています

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
686
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TDD一連の流れ

  1. 1. TDDによるソフトウェア品質・ソース コード品質の向上 濁沼広樹 13年7月4日木曜日
  2. 2. ソフトウェア品質 マクロな視点 そのソフトウェアの 品質はどれほど? 機能が増えすぎたWEBサービスは ソフトウェア ソースコードの影響大 via wikipedia ソフトウェア品質 13年7月4日木曜日
  3. 3. ソースコード品質 via wikipedia ソフトウェア品質 リファクタリング改善手法 TDD(Test Driven Development) 13年7月4日木曜日
  4. 4. TDDの流れ テストを書く 実装する テストをする Start END 修正する 13年7月4日木曜日
  5. 5. 実際にやってみる • 例題 • 2乗根の計算 (ルートの計算) • もちろんsqrt()は使わずに • 引数がなければ false • 0, マイナスの値ならば false • sqrt.rb, sqrt_test.rb 13年7月4日木曜日
  6. 6. テストコード1 テンプレート このクラスにテストケースを書く 実行 13年7月4日木曜日
  7. 7. テストコード2 インスタンス テストケース 実行 13年7月4日木曜日
  8. 8. 実装1 何も機能がない 失敗した場合の表示 13年7月4日木曜日
  9. 9. 実装2 ハードコード エラー無し! 13年7月4日木曜日
  10. 10. テストコード3 テストケース追加 失敗! 13年7月4日木曜日
  11. 11. 実装3 一般的なニュートン法 sqrt3で失敗。誤差? 13年7月4日木曜日
  12. 12. テストコード4&実装4 妥協, 小数点以下10桁 テストコード 実装 クリア! 13年7月4日木曜日
  13. 13. テストコード5 引数無し 引数マイナス 引数0 全部失敗! 13年7月4日木曜日
  14. 14. 実装5 引数無し対応 0, マイナス対応 成功! 13年7月4日木曜日
  15. 15. テストコード6 より厳しく 途中で止まる, 誤差の限界 13年7月4日木曜日
  16. 16. 実装6 & リファクタリング • 分かったこと • アルゴリズムのループの回数により、求められる平方根が違う • これを元にリファクタリング • さらに効率化として求められる最小数でループを止める 13年7月4日木曜日
  17. 17. リファクタリング2 リファクタリング前 リファクタリング後 13年7月4日木曜日
  18. 18. リファクタリング3 • 15行からどれだけ減らせるか 単純なifは1行 maxの固定値をハードコード テストコードがあるなら安心! 13年7月4日木曜日
  19. 19. メリット • 仕様書代わりのテストコード • リファクタリングが安心 • モジュール強度UP! • パフォーマンスUP! ソースコード品質がUP! 13年7月4日木曜日
  20. 20. やってみよう • 3乗根を計算するメソッド • フィボナッチ数列の等比を求めるメソッド • ある座標2点間の距離を求めるメソッド 13年7月4日木曜日

×