12
TestLevel with TDD UnitTestは最もTDDしや すいか否か? 2013.06.17 #TDDMeetUP

UnitTestは最もTDDしやすいか否か? #TDDMeetUp

  • Upload
    kyon-mm

  • View
    897

  • Download
    0

Embed Size (px)

DESCRIPTION

#TDDMeetUp での発表資料です。

Citation preview

Page 1: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

TestLevel with TDD

UnitTestは最もTDDしやすいか否か?2013.06.17 #TDDMeetUP

Page 2: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

Self Introduction

きょん(@kyon_mm)

テストエンジニア

Groovy, C#, F#, Scala

SCMBootCamp, Nagoya.Testing, CDStudy, 基礎勉強会, Cafe.Testing, STAR

Page 5: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

TDD Speeeeed

テストコードを考える

テストコードを書く RED

プロダクトコードを実装する GREEN

リファクタリングする REFACTOR

Page 6: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

TestLevel Speeeeed

Unit > Component > Integration > System

テストレベルが上がると考慮すべき事が多い

テストコード自体の難しさが上がる

Page 7: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

Large TestLevelComplex Problem

複雑な問題をいきなり解くのは難しい

より小さな問題に分割して解決するのは正しい

テストレベルを小さくするのは物事を習う上でも自然な流れ

Page 8: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

Speed is Justice ?

TDDは開発者が気持ちよくコードを書く事を支援するのであれば、スピードだけではないはずである。。。?

Page 9: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

Outer SpecInner Spec

TDDは外部仕様に着目する事がなににおいても重要である

であれば、外部仕様と内部仕様を分割しやすいテストがあるはずである

Page 10: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

Outer SpecInner Spec

UnitTestはスピードがあがる一方で、内部仕様に着目してしまう可能性が高くなる

Integration Testはスピードが遅くなる一方で、内部仕様をあまり気にしなくなる可能性が高くなる

Page 11: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

Outer SpecInner Spec

Unit Componet Integration System

テストレベル

内部仕様を気にしなくなる度合いTDDのスピード

Page 12: UnitTestは最もTDDしやすいか否か? #TDDMeetUp

TDD is Learning

外部設計に着目しながら開発する意味ではテストレベルは高い方がよい(Integration Test以上

スピードを重視する意味ではテストレベルは低い方がよい(ComponentTest以下

どんなTDDにするか選択する必要がある

両立出来るように努力するのも大切