SlideShare a Scribd company logo
テスト駆動開発入門
2012.11.17 札幌Javaカンファレンス2012
       渡辺修司(@shuji_w6e)




                               1
自己紹介
渡辺 修司
Javaプログラマ

 株式会社エスプラニング所属

 ウェブアプリやデスクトップアプリの開発

テスト駆動開発、ユースケース駆動開発

アジャイル開発

最近の趣味はロードバイクとフットサル
@shuji_w6e
札幌 Javaコミュニティ

TDD Boot Camp

やさしいデスマーチ(Blog)

執筆活動

 WEB DB Press vol.69

 JUnit実践入門(11/21)
テスト駆動開発とは?
テストファースト

動作するきれいなコード


設計を駆動する開発手法
ソフトウェア開発の流れ
  ユーザ要求定義(要件定義)


  システム要求定義(外部設計)


   詳細設計・プログラミング


     テスト(評価)
ソフトウェア開発の流れ
  ユーザ要求定義(要件定義)


  システム要求定義(外部設計)


   詳細設計・プログラミング
            単体テスト

     テスト(評価)
V字モデル
 要件定義        受入テスト


 外部設計      システムテスト


  内部設計     結合テスト


 プログラム設計   単体テスト
単体テスト(理想)
詳細設計(内部設計)でプログラムの品質を
高め、手戻りを減らす

詳細設計のレビューを実施することで品質を
高める

プログラミングは単純作業

詳細設計が正しく実装されているかを検証
単体テスト(現実)
ソフトウェアは複雑
               詳細設計
やってみなければ解らない

プロトタイピング        実装
実装のテストになる

詳細設計がテストされない   単体テスト
単体テスト(現実)
ソフトウェアは複雑
               詳細設計
やってみなければ解らない

プロトタイピング
                ?
                実装
実装のテストになる
                ?
               単体テスト
詳細設計がテストされない
単体テスト(現実)
ソフトウェアは複雑
               詳細設計
やってみなければ解らない

プロトタイピング
                ?
                実装
実装のテストになる
                ?
               単体テスト
詳細設計がテストされない

単体テストが機能していない?
V字モデルの問題点
完璧な詳細設計を先に行うのは難しいため、
確実に手戻りが発生する

詳細設計をテストすべき単体テストが実装を
テストしている
http://www.flickr.com/photos/alisdair/135306281/
テスト駆動開発のサイクル
                            1.設計する
5.リファクタリング



               Heuristics




                               2.テストを書く



 4.テストを成功させる

                        3.コードを書く
テストファースト
原則としてテストを先に書く

テストファーストがベスト

設計が机上でまとまらない場合

プロトタイプを作ってみる

テストを書く

プロトタイプを捨てるか利用するか決める
http://www.flickr.com/photos/snowyuki/5223599006/
FizzBuzz
 1から100までの整数を順番に出力する

 ただし、

 値が3の倍数の場合は「Fizz」を

 値が5の倍数の場合は「Buzz」を

 値が3と5の公倍数の場合は「FizzBuzz」を

 それぞれ表示すること
http://www.flickr.com/photos/alisdair/2398525854/
テスト駆動開発のサイクル
                            1.設計する
5.リファクタリング



               Heuristics




                               2.テストを書く



 4.テストを成功させる

                        3.コードを書く
動作するきれいなコード

きれい




 汚い




      動かない   動く
1.設計する
                                              1.設計する
                  5.リファクタリング



                                 Heuristics




                                                 2.テストを書く



                   4.テストを成功させる
きれい
                                          3.コードを書く




汚い




      動かない   動く
2.テストを書く
                                              1.設計する
                  5.リファクタリング



                                 Heuristics




                                                 2.テストを書く



                   4.テストを成功させる
きれい
                                          3.コードを書く




汚い




      動かない   動く
3.コードを書く
                                              1.設計する
                  5.リファクタリング



                                 Heuristics




                                                 2.テストを書く



                   4.テストを成功させる
きれい
                                          3.コードを書く




汚い




      動かない   動く
4.テストを成功させる
                                              1.設計する
                  5.リファクタリング



                                 Heuristics




                                                 2.テストを書く



                   4.テストを成功させる
きれい
                                          3.コードを書く




汚い




      動かない   動く
5.リファクタリング
                                              1.設計する
                  5.リファクタリング



                                 Heuristics




                                                 2.テストを書く



                   4.テストを成功させる
きれい
                                          3.コードを書く




汚い




      動かない   動く
1.設計する
                                              1.設計する
                  5.リファクタリング



                                 Heuristics




                                                 2.テストを書く



                   4.テストを成功させる
きれい
                                          3.コードを書く




汚い




      動かない   動く
デモ
 http://www.flickr.com/photos/snowyuki/5223599006/
http://www.flickr.com/photos/palermobootcamp/5464512672/
http://www.flickr.com/photos/jas_132/5403388208
http://www.flickr.com/photos/sirod47/5538908868/
ソフトウェア開発は楽しい
創造的労働

実際に動くモノをゼロから作れる。

期待通りに動けば嬉しい。

知的労働

アイディアをモノに反映できる。

難しい問題を解決できれば嬉しい。
スキル不足
仕様変更


                                     経験不足
複雑な要件

                                                   不安
   http://www.flickr.com/photos/yopse/3772030400/
テスト駆動開発
コードが満たす条件が明確になる

コード変更時の影響が見える

自然と疎結合な設計になる

積極的なリファクタリングを行える

自動化され、繰り返して実行できる
テスト駆動開発
コードが満たす条件が明確になる

コード変更時の影響が見える

自然と疎結合な設計になる

積極的なリファクタリングを行える

自動化され、繰り返して実行できる

   開発時の不安が軽減できる!
反復的な開発
      ユニットテスト



 プログラミング        詳細設計

反復的にテスト・設計・プログラミング

素早いフィードバックで変更に強くなる
反復的な開発
      ユニットテスト



 プログラミング        詳細設計

反復的にテスト・設計・プログラミング

素早いフィードバックで変更に強くなる

  アジャイル的な手法
反復的な開発
      ユニットテスト

    テスト駆動開発
 プログラミング        詳細設計

反復的にテスト・設計・プログラミング

素早いフィードバックで変更に強くなる

  アジャイル的な手法
なぜ、TDDを実践するか?
ソフトウェアは思った以上に複雑

パーフェクトプログラマなんかいない

不安だからユニットテストを書く

セーフティネットとしてのユニットテスト

すばやく回し、すばやいフィードバック
セーフティネット




   http://www.flickr.com/photos/32010000@N08/2987901256/
設計を駆動する開発手法
 http://www.flickr.com/photos/86921622@N00/281632021/
テスタビリティ
状態や副作用

戻り値

予測可能なオブジェクト

疎結合
テスタビリティ
状態や副作用

戻り値

予測可能なオブジェクト

疎結合



  よい設計であればテストしやすい
テスト駆動の真実
                            1.設計する
5.リファクタリング



               Heuristics




                               2.テストを書く



 4.テストを成功させる

                        3.コードを書く
テスト駆動の真実
                            1.設計する
5.リファクタリング



               Heuristics




                               2.テストを書く



 4.テストを成功させる

                        3.コードを書く
テスト駆動の真実
                            1.設計する
5.リファクタリング



               Heuristics




                               2.テストを書く



 4.テストを成功させる

                        3.コードを書く
http://www.flickr.com/photos/terrydonaghe/1117999/
小さく
個別に
すばやく
ひとつずつ、一歩ずつ
小さなステップで

大きなものは小さく分割

確実に、堅実に

手戻りを小さく
ひとりずつ、仕留める
テストは個別撃破する

次のテストを作らない
すばやくまわす
                                    1.設計する
小さく回す   5.リファクタリング



早く回す                   Heuristics




すぐに対応                                  2.テストを書く



リズム重要    4.テストを成功させる

                                3.コードを書く
使う
  作る
伝える
自分が最初のユーザー
使いにくいものは使いにくい

自分で評価する

納得できるか?

恥ずかしくないか?

解りやすいか?
道具にこだわる
最高のパフォーマンスを維持する

プロとしてのこだわり

少しでも使いやすく

日々、研究・工夫
未来の自分が読む
テストコードは保守される

読みにくいコードは悪

シンプルに

名前重要

型
http://www.flickr.com/photos/akikophotography/530984398/
とにかく書く

パターン化しやすいので習得しやすい

テスティングフレームワークを活用する

テスト技法を学び幅を広げる



    http://www.flickr.com/photos/akikophotography/530984398/
テスト駆動開発入門
テスト駆動開発入門

More Related Content

What's hot

What's hot (20)

ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
 
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
最近の単体テスト
最近の単体テスト最近の単体テスト
最近の単体テスト
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方テスト駆動開発のはじめ方
テスト駆動開発のはじめ方
 
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドラインドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
 
アプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組みアプリ開発へのOdc分析導入の取り組み
アプリ開発へのOdc分析導入の取り組み
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
設計品質とアーキテクチャ
設計品質とアーキテクチャ設計品質とアーキテクチャ
設計品質とアーキテクチャ
 
リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 

Similar to テスト駆動開発入門

nseg第5回勉強会
nseg第5回勉強会nseg第5回勉強会
nseg第5回勉強会
ko ty
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
kyon mm
 
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビューソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
Moriharu Ohzu
 
自動テストのすすめ
自動テストのすすめ自動テストのすすめ
自動テストのすすめ
Katsunori Kanda
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
Hiro Yoshioka
 

Similar to テスト駆動開発入門 (20)

TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
nseg第5回勉強会
nseg第5回勉強会nseg第5回勉強会
nseg第5回勉強会
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビューソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
 
Test Driven Development in LabVIEW
Test Driven Development in LabVIEWTest Driven Development in LabVIEW
Test Driven Development in LabVIEW
 
自動テストのすすめ
自動テストのすすめ自動テストのすすめ
自動テストのすすめ
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
 
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
 
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
 
phpspecで始めるBDD
phpspecで始めるBDDphpspecで始めるBDD
phpspecで始めるBDD
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
 
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
【Agile Forum in Gifu】 Visual Studio 2010 でみる、アジャイル開発における開発支援ツールの活用
 
Ldd13 present
Ldd13 presentLdd13 present
Ldd13 present
 

More from Shuji Watanabe

Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Shuji Watanabe
 
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevioクラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
 

More from Shuji Watanabe (20)

Serverless - Developers.IO 2019
Serverless - Developers.IO 2019Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
 
Ansible ハンズオン on AWS - DevelopersIO 2017
Ansible ハンズオン on AWS - DevelopersIO 2017Ansible ハンズオン on AWS - DevelopersIO 2017
Ansible ハンズオン on AWS - DevelopersIO 2017
 
SSMでマネージドEC2 #reinvent #cmdevio
SSMでマネージドEC2 #reinvent #cmdevioSSMでマネージドEC2 #reinvent #cmdevio
SSMでマネージドEC2 #reinvent #cmdevio
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
 
ELBの概要と勘所
ELBの概要と勘所ELBの概要と勘所
ELBの概要と勘所
 
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
 
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003Cloud 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 CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
 
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
 
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編  #cmdevios3+cloud frontによる静的コンテンツ配信 - Sphinx編  #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
 
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevioクラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
 
テスト駆動開発へようこそ
テスト駆動開発へようこそテスト駆動開発へようこそ
テスト駆動開発へようこそ
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
 
テストコードのリファクタリング
テストコードのリファクタリングテストコードのリファクタリング
テストコードのリファクタリング
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
 
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストJUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
 
アジャイルテスティング
アジャイルテスティングアジャイルテスティング
アジャイルテスティング
 
テストリストの見つけ方
テストリストの見つけ方テストリストの見つけ方
テストリストの見つけ方
 
TDDをはじめよう
TDDをはじめようTDDをはじめよう
TDDをはじめよう
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (10)

論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 

テスト駆動開発入門

Editor's Notes

  1. \n
  2. 30秒程度\n
  3. \n
  4. \n
  5. \n
  6. \n
  7. 従来のやり方の問題\n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. 具体的には?\n
  15. \n
  16. \n
  17. FizzBuzzのデモ\n
  18. FizzBuzzのデモ\n
  19. よくわからない、むずかしい⇒目的と効果\n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. 習得できるスキルである\n
  30. 銀の弾丸ではない\n
  31. 習得できる\n
  32. TDDをはじめるワケ\n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. TDDのこころ\n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. 学ぶためには?\n
  54. 学ぶためには?\n
  55. \n
  56. \n