Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TDDの基本.pdf
Search
YUKI Kaoru
March 29, 2013
Programming
41
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TDDの基本.pdf
YUKI Kaoru
March 29, 2013
More Decks by YUKI Kaoru
See All by YUKI Kaoru
Gitのよく使うコマンド
vectorxenon
0
80
Other Decks in Programming
See All in Programming
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
430
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
3.7k
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
golang-bob.pdf
iwatsukayura
0
130
contenteditable と日本語入力に向き合う
colorful12
0
200
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
480
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
230
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Done Done
chrislema
187
17k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Crafting Experiences
bethany
1
380
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Transcript
TDDの基本
ステップ1 これから書く機 能のテストを書 く
ステップ2 そのテストを通 すコードを書く
ステップ3 そのテストが通るまま でリファクタリングを 行なう
ステップの流れ これから書く機能のテストを書く これから書く機能のテストを書く そのテストが通るままでリファクタリングを行う
黄 金 の 回 転
ステップ1について テストは1つだけ書きます。 もしグリーンならば、そのテストは既にクリアされて いるということになります。
ステップ2について ステップ1で書いたテストを通す、最低限の実装を 書きます。 最低限の実装とは、1が返るというテストに対して、 return 1という実装でいいということです。
ステップ3について ステップ2でテストを通すために、最低限の実装をし ました。 その時点で、無駄があったりコードが重複していた りする部分を直します。 この時、外部から見た振舞(インターフェイス)を変 えずに、内部の実装だけ変更します。
TDD(テスト駆動開発)とは? テストを主軸に置いて、テストが 開発を駆動していくから「テスト 駆動開発」となります。
テストってなんやねん? TDDにおけるテストとはDeveloper Testing(開発 者が行う、開発者のためのテスト)のことを指しま す。 Test Developer Testing QA Testing
Customer Testing
TDDのサイクル 1. TOBEを書く 2. TODOを書く TOBEにもRED->GREEN->リファクタリングのサイクル があり、TODOにもRED->GREEN->リファクタリングの サイクルがあります。 つまり、TDDには大きなサイクルの中に、複数の小 さなサイクルが存在することになります。
TDDのサイクル(図説)
TODOリストの作成 実現するためには何が必要なのかという、TODOリ ストを作成します。 TODOリストは紙に書いてもいいですし、TODO.txt を用意してもいいです。 TODO名はそのままテスト名にすることができます。
TODOリストの作り方 1. ざっと実装する内容を書き出す。 2. 書き出したTODOに関連する細かい仕様を、そ のTODOの下に書き出していく。 3. 実装する。 4. 実装中に気づいたTODOはリストに追加してい
く。 つまり、全てのTODOを出す必要はありません。
テストが必要ないもの • 実装内容が既に明らかなもの ◦ 例えばgetter/setter • プロパティ ◦ 実装の中身の話になるから •
privateなメソッド ◦ publicなメソッドの中で呼ばれているはずだから、間接的 にテストしていることになる
レガシーコードに勝利しましょう