Submit Search
Upload
テスト駆動開発入門
•
Download as KEY, PDF
•
18 likes
•
7,721 views
Shuji Watanabe
Follow
札幌Javaカンファレンス2012での発表資料。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 62
Download now
Recommended
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
Tomoaki Uchida
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
gree_tech
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
トランザクション入門
トランザクション入門
Kumazaki Hiroki
Recommended
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
Tomoaki Uchida
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
gree_tech
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
トランザクション入門
トランザクション入門
Kumazaki Hiroki
Introduction of Tools for providing rich user experience in debugger
Introduction of Tools for providing rich user experience in debugger
Naoto Ono
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Yu Tanaka
Marp Tutorial
Marp Tutorial
Rui Watanabe
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
Takashi Hoshino
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
Haruka Matsuzaki
機械学習工学の進展と課題 2021
機械学習工学の進展と課題 2021
Fuyuki Ishikawa
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
虎の穴 開発室
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
Rakuten Group, Inc.
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
sleepy_yoshi
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
Hiroya Kabata
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
増田 亨
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
CuPy解説
CuPy解説
Ryosuke Okuta
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Lockfree list
Lockfree list
Kumazaki Hiroki
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
ichirin2501
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
Tetsutaro Watanabe
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
nseg第5回勉強会
nseg第5回勉強会
ko ty
More Related Content
What's hot
Introduction of Tools for providing rich user experience in debugger
Introduction of Tools for providing rich user experience in debugger
Naoto Ono
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Yu Tanaka
Marp Tutorial
Marp Tutorial
Rui Watanabe
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
Takashi Hoshino
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
Haruka Matsuzaki
機械学習工学の進展と課題 2021
機械学習工学の進展と課題 2021
Fuyuki Ishikawa
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
虎の穴 開発室
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
Rakuten Group, Inc.
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
sleepy_yoshi
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
Hiroya Kabata
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
増田 亨
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
CuPy解説
CuPy解説
Ryosuke Okuta
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Lockfree list
Lockfree list
Kumazaki Hiroki
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
ichirin2501
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
Tetsutaro Watanabe
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
What's hot
(20)
Introduction of Tools for providing rich user experience in debugger
Introduction of Tools for providing rich user experience in debugger
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Marp Tutorial
Marp Tutorial
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
AIと代数幾何 ~8分版~/ Artifical Inteligence Parameter Space Transformation using Alg...
機械学習工学の進展と課題 2021
機械学習工学の進展と課題 2021
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
Spring Data RESTを利用したAPIの設計と、作り直しまでの道のり
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
CuPy解説
CuPy解説
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
Lockfree list
Lockfree list
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
Similar to テスト駆動開発入門
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
nseg第5回勉強会
nseg第5回勉強会
ko ty
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
kyon mm
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
kyon mm
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
Hiro Yoshioka
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
Rakuten Group, Inc.
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
Moriharu Ohzu
Test Driven Development in LabVIEW
Test Driven Development in LabVIEW
Yusuke Tochigi
自動テストのすすめ
自動テストのすすめ
Katsunori Kanda
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
Makoto Iguchi
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
Game Tools & Middleware Forum
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Yahoo!デベロッパーネットワーク
phpspecで始めるBDD
phpspecで始めるBDD
Yuuki Takezawa
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
Hiro Yoshioka
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
Hiroko Tamagawa
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
智治 長沢
Similar to テスト駆動開発入門
(20)
TDDはじめる前に
TDDはじめる前に
nseg第5回勉強会
nseg第5回勉強会
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
Test Driven Development in LabVIEW
Test Driven Development in LabVIEW
自動テストのすすめ
自動テストのすすめ
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
phpspecで始めるBDD
phpspecで始めるBDD
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
More from Shuji Watanabe
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
Shuji Watanabe
Ansible ハンズオン on AWS - DevelopersIO 2017
Ansible ハンズオン on AWS - DevelopersIO 2017
Shuji Watanabe
SSMでマネージドEC2 #reinvent #cmdevio
SSMでマネージドEC2 #reinvent #cmdevio
Shuji Watanabe
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
Shuji Watanabe
ELBの概要と勘所
ELBの概要と勘所
Shuji Watanabe
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
Shuji Watanabe
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Shuji Watanabe
CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01
Shuji Watanabe
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Shuji Watanabe
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Shuji Watanabe
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
Shuji Watanabe
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
テスト駆動開発へようこそ
テスト駆動開発へようこそ
Shuji Watanabe
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方
Shuji Watanabe
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
Shuji Watanabe
テストコードのリファクタリング
テストコードのリファクタリング
Shuji Watanabe
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
アジャイルテスティング
アジャイルテスティング
Shuji Watanabe
テストリストの見つけ方
テストリストの見つけ方
Shuji Watanabe
More from Shuji Watanabe
(20)
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
Ansible ハンズオン on AWS - DevelopersIO 2017
Ansible ハンズオン on AWS - DevelopersIO 2017
SSMでマネージドEC2 #reinvent #cmdevio
SSMでマネージドEC2 #reinvent #cmdevio
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
ELBの概要と勘所
ELBの概要と勘所
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
テスト駆動開発へようこそ
テスト駆動開発へようこそ
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
テストコードのリファクタリング
テストコードのリファクタリング
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
アジャイルテスティング
アジャイルテスティング
テストリストの見つけ方
テストリストの見つけ方
テスト駆動開発入門
1.
テスト駆動開発入門 2012.11.17 札幌Javaカンファレンス2012
渡辺修司(@shuji_w6e) 1
2.
自己紹介
3.
渡辺 修司 Javaプログラマ 株式会社エスプラニング所属
ウェブアプリやデスクトップアプリの開発 テスト駆動開発、ユースケース駆動開発 アジャイル開発 最近の趣味はロードバイクとフットサル
4.
@shuji_w6e 札幌 Javaコミュニティ TDD Boot
Camp やさしいデスマーチ(Blog) 執筆活動 WEB DB Press vol.69 JUnit実践入門(11/21)
5.
テスト駆動開発とは?
6.
テストファースト 動作するきれいなコード 設計を駆動する開発手法
7.
8.
ソフトウェア開発の流れ ユーザ要求定義(要件定義)
システム要求定義(外部設計) 詳細設計・プログラミング テスト(評価)
9.
ソフトウェア開発の流れ ユーザ要求定義(要件定義)
システム要求定義(外部設計) 詳細設計・プログラミング 単体テスト テスト(評価)
10.
V字モデル 要件定義
受入テスト 外部設計 システムテスト 内部設計 結合テスト プログラム設計 単体テスト
11.
単体テスト(理想) 詳細設計(内部設計)でプログラムの品質を 高め、手戻りを減らす 詳細設計のレビューを実施することで品質を 高める プログラミングは単純作業 詳細設計が正しく実装されているかを検証
12.
単体テスト(現実) ソフトウェアは複雑
詳細設計 やってみなければ解らない プロトタイピング 実装 実装のテストになる 詳細設計がテストされない 単体テスト
13.
単体テスト(現実) ソフトウェアは複雑
詳細設計 やってみなければ解らない プロトタイピング ? 実装 実装のテストになる ? 単体テスト 詳細設計がテストされない
14.
単体テスト(現実) ソフトウェアは複雑
詳細設計 やってみなければ解らない プロトタイピング ? 実装 実装のテストになる ? 単体テスト 詳細設計がテストされない 単体テストが機能していない?
15.
V字モデルの問題点 完璧な詳細設計を先に行うのは難しいため、 確実に手戻りが発生する 詳細設計をテストすべき単体テストが実装を テストしている
16.
http://www.flickr.com/photos/alisdair/135306281/
17.
テスト駆動開発のサイクル
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる 3.コードを書く
18.
テストファースト 原則としてテストを先に書く テストファーストがベスト 設計が机上でまとまらない場合 プロトタイプを作ってみる テストを書く プロトタイプを捨てるか利用するか決める
19.
http://www.flickr.com/photos/snowyuki/5223599006/
20.
FizzBuzz 1から100までの整数を順番に出力する ただし、
値が3の倍数の場合は「Fizz」を 値が5の倍数の場合は「Buzz」を 値が3と5の公倍数の場合は「FizzBuzz」を それぞれ表示すること
21.
http://www.flickr.com/photos/alisdair/2398525854/
22.
テスト駆動開発のサイクル
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる 3.コードを書く
23.
動作するきれいなコード きれい 汚い
動かない 動く
24.
1.設計する
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる きれい 3.コードを書く 汚い 動かない 動く
25.
2.テストを書く
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる きれい 3.コードを書く 汚い 動かない 動く
26.
3.コードを書く
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる きれい 3.コードを書く 汚い 動かない 動く
27.
4.テストを成功させる
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる きれい 3.コードを書く 汚い 動かない 動く
28.
5.リファクタリング
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる きれい 3.コードを書く 汚い 動かない 動く
29.
1.設計する
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる きれい 3.コードを書く 汚い 動かない 動く
30.
デモ http://www.flickr.com/photos/snowyuki/5223599006/
31.
http://www.flickr.com/photos/palermobootcamp/5464512672/
32.
http://www.flickr.com/photos/jas_132/5403388208
33.
http://www.flickr.com/photos/sirod47/5538908868/
34.
35.
ソフトウェア開発は楽しい 創造的労働 実際に動くモノをゼロから作れる。 期待通りに動けば嬉しい。 知的労働 アイディアをモノに反映できる。 難しい問題を解決できれば嬉しい。
36.
スキル不足 仕様変更
経験不足 複雑な要件 不安 http://www.flickr.com/photos/yopse/3772030400/
37.
テスト駆動開発 コードが満たす条件が明確になる コード変更時の影響が見える 自然と疎結合な設計になる 積極的なリファクタリングを行える 自動化され、繰り返して実行できる
38.
テスト駆動開発 コードが満たす条件が明確になる コード変更時の影響が見える 自然と疎結合な設計になる 積極的なリファクタリングを行える 自動化され、繰り返して実行できる
開発時の不安が軽減できる!
39.
反復的な開発
ユニットテスト プログラミング 詳細設計 反復的にテスト・設計・プログラミング 素早いフィードバックで変更に強くなる
40.
反復的な開発
ユニットテスト プログラミング 詳細設計 反復的にテスト・設計・プログラミング 素早いフィードバックで変更に強くなる アジャイル的な手法
41.
反復的な開発
ユニットテスト テスト駆動開発 プログラミング 詳細設計 反復的にテスト・設計・プログラミング 素早いフィードバックで変更に強くなる アジャイル的な手法
42.
なぜ、TDDを実践するか? ソフトウェアは思った以上に複雑 パーフェクトプログラマなんかいない 不安だからユニットテストを書く セーフティネットとしてのユニットテスト すばやく回し、すばやいフィードバック
43.
セーフティネット
http://www.flickr.com/photos/32010000@N08/2987901256/
44.
設計を駆動する開発手法 http://www.flickr.com/photos/86921622@N00/281632021/
45.
テスタビリティ 状態や副作用 戻り値 予測可能なオブジェクト 疎結合
46.
テスタビリティ 状態や副作用 戻り値 予測可能なオブジェクト 疎結合 よい設計であればテストしやすい
47.
テスト駆動の真実
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる 3.コードを書く
48.
テスト駆動の真実
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる 3.コードを書く
49.
テスト駆動の真実
1.設計する 5.リファクタリング Heuristics 2.テストを書く 4.テストを成功させる 3.コードを書く
50.
http://www.flickr.com/photos/terrydonaghe/1117999/
51.
小さく 個別に すばやく
52.
ひとつずつ、一歩ずつ 小さなステップで 大きなものは小さく分割 確実に、堅実に 手戻りを小さく
53.
ひとりずつ、仕留める テストは個別撃破する 次のテストを作らない
54.
すばやくまわす
1.設計する 小さく回す 5.リファクタリング 早く回す Heuristics すぐに対応 2.テストを書く リズム重要 4.テストを成功させる 3.コードを書く
55.
使う 作る 伝える
56.
自分が最初のユーザー 使いにくいものは使いにくい 自分で評価する 納得できるか? 恥ずかしくないか? 解りやすいか?
57.
道具にこだわる 最高のパフォーマンスを維持する プロとしてのこだわり 少しでも使いやすく 日々、研究・工夫
58.
未来の自分が読む テストコードは保守される 読みにくいコードは悪 シンプルに 名前重要 型
59.
http://www.flickr.com/photos/akikophotography/530984398/
60.
とにかく書く パターン化しやすいので習得しやすい テスティングフレームワークを活用する テスト技法を学び幅を広げる
http://www.flickr.com/photos/akikophotography/530984398/
Editor's Notes
\n
30秒程度\n
\n
\n
\n
\n
従来のやり方の問題\n
\n
\n
\n
\n
\n
\n
具体的には?\n
\n
\n
FizzBuzzのデモ\n
FizzBuzzのデモ\n
よくわからない、むずかしい⇒目的と効果\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
習得できるスキルである\n
銀の弾丸ではない\n
習得できる\n
TDDをはじめるワケ\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
TDDのこころ\n
\n
\n
\n
\n
\n
\n
\n
\n
学ぶためには?\n
学ぶためには?\n
\n
\n
Download now