Slide 1

Slide 1 text

大空を飛ぶ TDDの導入についてのメタファ

Slide 2

Slide 2 text

たとえ話をします。

Slide 3

Slide 3 text

空気の汚れた地域ですが、 上空はまだきれいです。

Slide 4

Slide 4 text

上空を飛べば、 気持ちよく飛べます。

Slide 5

Slide 5 text

一度下に向かうと、 戻るのに苦労します。 ここが大変

Slide 6

Slide 6 text

下のほうを飛ぶと、 ずっと大変です。

Slide 7

Slide 7 text

下から上に上がろうとしても、 なかなか上がれません。 すごく大変

Slide 8

Slide 8 text

力尽きて、 結局上がれないかもしれません。

Slide 9

Slide 9 text

いっそ本当に力尽きるかも。

Slide 10

Slide 10 text

TDD導入のたとえ話です。

Slide 11

Slide 11 text

カバレッジが高い カバレッジが低い

Slide 12

Slide 12 text

うまく自動テストを書くために必要なこと コードの品質 可読性 拡張性 疎結合 テスタビリティ テストコードの品質 テストカバレッジ 可読性 拡張性 カバレッジだけじゃ ないです

Slide 13

Slide 13 text

途中からの導入が難しい理由 テストを後から書く 自動化を利用できるのは最後だけ 手間が減らない

Slide 14

Slide 14 text

途中からの導入が難しい理由 テストを後から書く とても面倒

Slide 15

Slide 15 text

途中からの導入が難しい理由 テストがないとリ ファクタリングがや りにくい リファクタリングし てないとテストが書 きにくい

Slide 16

Slide 16 text

途中からの導入が難しい理由 自動テストを書くのに 必要なコードの品質 疎結合 可読性 テスタビリティ

Slide 17

Slide 17 text

途中からの導入が難しい理由 自動テストを書くのに必 要な自動テストの品質 疎結合 可読性 拡張性

Slide 18

Slide 18 text

最初からTDDを使って自動テストを実装した場合

Slide 19

Slide 19 text

途中から自動テストを導入しようとした場合 すごく大変

Slide 20

Slide 20 text

途中から自動テストを導入しようとした場合

Slide 21

Slide 21 text

途中から自動テストを導入しようとした場合

Slide 22

Slide 22 text

結論 TDDは最初から導入しましょう せめて新コンポーネントを導入したタイミングで導入 新機能はなるべくTDDで