TDD #NagoyaTesting

2,881 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
2,881
On SlideShare
0
From Embeds
0
Number of Embeds
1,522
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • TDD #NagoyaTesting

    1. 1. うさぎ組 inNagoya.Testing 2012.02.26
    2. 2. Self Introduction名前:きょん(kyon_mm)Blog : うさぎ組Target : 開発環境改善Groovy、テスト、自動化、アジャイル、品質保証24歳うさみみ系男子SCMBootCamp、Nagoya.Testing主宰
    3. 3. 今日のテーマ
    4. 4. TDD概論
    5. 5. 以降は個人の解釈に基づく ものであり公式見(ry
    6. 6. TDD概論TDDとは?TDDはテストなのか?TDDの種類は?TDDの特性は?TDDのスキルまとめ
    7. 7. TDD概論TDDとは?TDDはテストなのか?TDDの種類は?TDDの特性は?TDDのスキルまとめ
    8. 8. TDDはドッグフーディング により不安を解消する
    9. 9. TDDのライフサイクル
    10. 10. TDDのライフサイクル 画像引用元 http://d.hatena.ne.jp/shuji_w6e/20110429/1304079615
    11. 11. TDDのライフサイクル TODOリスト 画像引用元 http://d.hatena.ne.jp/shuji_w6e/20110429/1304079615
    12. 12. TDDのライフサイクル TODOリスト RED -> GREEN -> REFACTORING -> 画像引用元 http://d.hatena.ne.jp/shuji_w6e/20110429/1304079615
    13. 13. TDDのライフサイクル テストリスト RED -> GREEN -> REFACTORING -> 個人的に重要なのは テストリスト REFACTORING 画像引用元 http://d.hatena.ne.jp/shuji_w6e/20110429/1304079615
    14. 14. TDD概論TDDとは?TDDはテストなのか?TDDの種類は?TDDの特性は?TDDのスキルまとめ
    15. 15. TDDはテストをしているわけじゃない
    16. 16. プロダクトに自信をもつための行為がTDDであり、現状では単体テスト以降の 自動テストにも流用できている。
    17. 17. 現状の結果として単体テストの代替物と勘違いさ れることがある
    18. 18. Developer TestCustomer Test QA Test
    19. 19. TDD Developer Test結合テストなど Customer Test 非機能 QA Test
    20. 20. TDD Developer Test これはテストじゃない結合テストなど Customer Test 非機能 QA Test
    21. 21. でも、
    22. 22. 品質保証の自動テストに流用できるように する方向でいくなら、TDDはTest Architecture として捉えられるので テストになると思う。
    23. 23. TDD概論TDDとは?TDDはテストなのか?TDDの種類は?TDDの特性は?TDDのスキルまとめ
    24. 24. TDDの種類TDDBDDSTDDSATDDUATDDVOTDD
    25. 25. TDDの種類TDD TDDとBDDは表現方法の違いBDDSTDDSATDD STDD, SATDD, UATDD, VOTDDはTDDのUATDD 何かを明確にしたり、付加したものVOTDD
    26. 26. TDD(=テスト)開発者の不安を対象にテストコードを書くいわゆる原義のTDDこの頃はxUnit系と言われているテストフレームワークが主流だった
    27. 27. BDD(=振る舞い)基本的にはTDDと一緒(表現方法が異なるのみ)決定的に違うのは自然言語指向で書くということ目的は顧客やPOに書いてもらえるテストコードこれを実現するためにSpec系のテストフレームワークが発生Webアプリ化したのがFitNesse
    28. 28. STDD(=ストーリーテスト)ユースケースやユーザーシナリオをテストコードにするSpec系フレームワークで書かれる事が多いBDDではSTDDとTDDがあると言われる事が多いが、BDDは表現方法が異なるだけなので、TDDが他のTDDになりえるようにBDDも他のTDDになりえる。
    29. 29. SATDD(=ストーリー受け入れテスト)スクラムなどをはじめとするアジャイルでのストーリーに対する受け入れテストをテストコードにする個人的にはストーリーって言うよりフィーチャーの方が似合っていると思うというか、随分とプロセス依存な名前だなぁと思ったり。
    30. 30. UATDD(=ユーザー受け入れテスト)ユーザーの受け入れ基準をテストコードにするATDDの初出はUATDDの意味合いで出てきたけど、STDDが派生して、アジャイルの文脈でSATDDが出現してきたように見える。
    31. 31. VOTDD(=検証指向テスト)TDDに検証指向のテストを組み込んだプロセス目標はTDDに検証を持ち込む点なので、従来のソフトウェアテストのあらゆるフェーズや技法が投入可能だと思われる例)AllPair法、原因結果グラフ、HAYST法、ゆもつよメソッド
    32. 32. TDD概論TDDとは?TDDはテストなのか?TDDの種類は?TDDの特性は?TDDのスキルまとめ
    33. 33. TDDの特性テストコードを書くタイミングリファクタリングをするタイミング網羅基準対象範囲モックやスタブの範囲
    34. 34. テストコードを書くタイミングTestFirstプロダクトコード変更前に必ず失敗するテストコードを書く変更箇所対象切り替え毎次の変更箇所に移るまでには現在実装している箇所のテストコードを書く対象機能実装完了時現在取り組んでいる機能が実装できてからテストコードを書く
    35. 35. リファクタリングをするタイミングGreenになったらテストコードが通るたびにリファクタリングの機会を伺う変更箇所対象切り替え毎次の変更箇所に移るまでには現在実装している箇所のリファクタリングをする対象機能実装完了時現在取り組んでいる機能が実装できてからリファクタリングをする
    36. 36. 網羅基準三角測量、境界値分析、原因結果グラフ、状態遷移など、どの程度まで厳密にテストコードに表現するか
    37. 37. 対象範囲テストコードを書く対象をどこまで広げるか モデル、GUI、DB、通信処理など
    38. 38. モックやスタブの範囲どこまでをプロダクトコード以外のモックやスタブとするか パッケージレベルでの境界、ネットワークレベルでの境界など
    39. 39. TDD概論TDDとは?TDDはテストなのか?TDDの種類は?TDDの特性は?TDDのスキルまとめ
    40. 40. TDDのスキル成長=TDDしなくなること
    41. 41. TDD概論TDDとは?TDDはテストなのか?TDDの種類は?TDDの特性は?TDDのスキルまとめ
    42. 42. TDD概論まとめTDDはテストではないいろんな種類があるけど、自分で認識してカテゴライズできればそれでいい原則や行為のレベルを自分で最適化することが大切最後にはTDDしなくてもいいようになろう
    43. 43. ご清聴ありがとうぴょん◆

    ×