SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
テスト駆動開発へ
ようこそ
2014.02.01 TDD BootCamp 旭川
Shuji Watanabe (@shuji_w6e)

#tddbc
1
自己紹介
渡辺 修司 / @shuji_w6e
札幌Javaコミュニティ
やさしいデスマーチ
JUnit実践入門
Java, Groovy, JavaScript, AWS, TDD
ロードバイク、スノーボード
最近のお仕事...
昨年8月に転職
株式会社クラスメソッド
札幌にて在宅勤務
AWS利用者向けシステムの開発
主にフロントエンドや自動化などを担当
Spring, Ember.js, d3-data
ブログ業務
TDDBCへ
ようこそ
本日のスケジュール
11:00∼12:15 TDD, ユニットテストに関する講演
12:15∼12:30 ペアプロとお題の説明
12:30∼13:30 ペア作成、昼食、自己紹介など
13:30∼15:00 演習(前半)
15:00∼15:30 レビュー①
15:30∼17:00 演習(前半)
17:00∼17:30 レビュー②
17:30∼17:50 振り返り

※休憩やお手洗いはご自由にお取りください
TDD Boot Camp(TDDBC) とは、テスト
駆動開発(Test Driven Development)につ
いて、座学だけでなく、実習形式で手を
動かして体得することを目的とするイベ
ントです。
http://devtesting.jp/tddbc/
旭川発上陸
TDDBCで体験して欲しいこと
テストファースト
ユニットテスト
リファクタリング
TDDのサイクル
ペアプログラミング
コードレビュー
グリーンバンド

acts_as_professional
テスト駆動開発
テスト駆動開発とは?
ソフトウェアの開発手法
テスト駆動開発の1サイクル
はじめにテストコードを書く
テストが成功する必要最低限のコードを書く
テスト成功を維持してリファクタリングする
上記サイクルを素早くテンポ良く繰り返す
TDDのサイクル
1.設計する
5.リファクタリング

Heuristics

2.テストを書く

4.テストを成功させる
3.コードを書く
TDD三原則 - Uncle Bob
失敗するユニットテストより先にプロダクショ
ンコードを書いてはならない
テストケースのコンパイルが通り、適切に失
敗するまでは次のテストケースを書いてはな
らない
すべてのテストケースが成功するまでは次の
プロダクションコードを書いてはならない
TDD 品質保証テスト
品質保証テストはソフトウェアを対象とし、
品質担当者が高い品質を担保するために実施
TDDは品質を担保するわけではない
結果的に品質は高まるが主目的ではない
開発者が安心して開発できるための開発手法
TDDは設計やプログラム自体を対象とする
汚いコードは動かない
密結合
多重ネスト
巨大なクラス
多すぎる引数
多すぎる責務
きれいな動くコードへの道
きれい

汚い

動かない

動く
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.コードを書く

汚い

動かない

動く
TDDのこころ
©t-wada
小さく
個別に
すばやく
ひとつずつ、一歩ずつ
小さなステップで
大きなものは小さく分割
確実に、堅実に
手戻りを小さく
ひとりずつ、仕留める
テストは個別撃破する
次のテストを作らない
すばやくまわす
小さく回す

1.設計する
5.リファクタリング

早く回す

Heuristics

すぐに対応
リズム重要

2.テストを書く

4.テストを成功させる
3.コードを書く
使う
作る
伝える
自分が最初のユーザー
使いにくいものは使いにくい
自分で評価する
納得できるか?
恥ずかしくないか?
解りやすいか?
道具にこだわる
最高のパフォーマンスを維持する
プロとしてのこだわり
少しでも使いやすく
日々、研究・工夫
未来の自分が読む
テストコードは保守される
読みにくいコードは悪
シンプルに
名前重要
型
どうして、
テスト駆動開発を
導入するのか?
スキル不足

仕様変更

経験不足
複雑な要件

不安
http://www.flickr.com/photos/yopse/3772030400/
安全を確保する

http://www.flickr.com/photos/32010000@N08/2987901256/
なぜ、TDDを実践するか?
ソフトウェアは思った以上に複雑
パーフェクトプログラマなんかいない
不安だからユニットテストを書く
セーフティネットとしてのユニットテスト
すばやく回し、すばやいフィードバック
TDDが目指すところ

安心できる健康な開発
変更に強い健康なコード
難しそう・・・
http://www.flickr.com/photos/k1netik/50298297/
TDDはスキル
最初から完璧に出来る人はいない
原則は原則、出来る所から少しずつ
困ったら「TDDのこころ」を見直す
息を吸うようにテストコードを書き、

息を吐くようにプロダクトコードを書こう
TDDをはじめよう
TDDをはじめるワケ
設計力が高くなる
コードに自信が持てる!
1人でもはじめられる
開発が楽しくなる!!
TDDBCではじめるワケ
TAがいるから安心
1人で悩む必要がない
解らない事はみんなで考える
他のチームのコードを見ることができる
TDDBCの心得
http://www.flickr.com/photos/terrydonaghe/1117999/
1.手を動かす

http://www.flickr.com/photos/esti/4638056301/
2.議論する
http://www.flickr.com/photos/86921622@N00/281632021/
3.楽しむ

http://www.flickr.com/photos/monmo/21100814/
4.現実と戦う
http://www.flickr.com/photos/panoptikon/403903803/
ユニットテストが不安
ユニットテスト入門
ユニットテストとは?
システムを構成する最小部品のテスト

クラスやメソッドが対象
期待された振る舞いをするかを検証する
テストプログラムを作り自動化する

テスティングフレームワーク JUnit pyunit
最も基本的なテストなので最初に習得すべき
テストのポイント
特定の条件下で検証する(Test Case)
本来はどうあるべきか?(Expected)
実際にどうなっているのか?(Actual)
4フェイズテスト
1. 事前準備 (Setup)

事前条件や必要なデータを作成する
2. 実行 (Exercise)

対象となるメソッドを1回だけ呼び出す
3. 検証(Verify)

期待値と実測値を比較する
4. 後処理(TearDown)
ユニットテストのポイント
テスト対象クラスに対しテストクラスを作成
テストケースで操作するのは1つのメソッド
事前条件と実行を混同しない
検証は細かく行い、問題を切り分ける
事前設計とテストファースト
外部的システムの振る舞い(システム境界)
プログラムのインターフェイス
内部的処理(private メソッド)
システム境界

IN

インターフェイス

内部的処理
内部的処理

OUT

内部的処理
内部的処理
リファクタリング
ユニットテストの最大の目的のひとつ
外部的振る舞いを壊さずに実装を変更
privateメソッドのテストをしない
デモ

Contenu connexe

Tendances

DDDモデリング勉強会 #6
DDDモデリング勉強会 #6DDDモデリング勉強会 #6
DDDモデリング勉強会 #6株式会社Jurabi
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころTakuto Wada
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptxkauji0522
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
MySQLの文字コード事情 2017版
MySQLの文字コード事情 2017版MySQLの文字コード事情 2017版
MySQLの文字コード事情 2017版Masahiro Tomita
 
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門Satoshi Kubo
 
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用Yahoo!デベロッパーネットワーク
 
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainerYuta Matsumura
 
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio都元ダイスケ Miyamoto
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話ichirin2501
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門Preferred Networks
 
テスト技法の背景を考察する - WACATE2021夏
テスト技法の背景を考察する - WACATE2021夏テスト技法の背景を考察する - WACATE2021夏
テスト技法の背景を考察する - WACATE2021夏kauji0522
 
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? Junichi Ito
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021Rui Hirokawa
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと土岐 孝平
 
Wacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-taWacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-takauji0522
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 

Tendances (20)

DDDモデリング勉強会 #6
DDDモデリング勉強会 #6DDDモデリング勉強会 #6
DDDモデリング勉強会 #6
 
SpringBootTest入門
SpringBootTest入門SpringBootTest入門
SpringBootTest入門
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptx
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
MySQLの文字コード事情 2017版
MySQLの文字コード事情 2017版MySQLの文字コード事情 2017版
MySQLの文字コード事情 2017版
 
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
 
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
 
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
 
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
Proxy War
Proxy WarProxy War
Proxy War
 
テスト技法の背景を考察する - WACATE2021夏
テスト技法の背景を考察する - WACATE2021夏テスト技法の背景を考察する - WACATE2021夏
テスト技法の背景を考察する - WACATE2021夏
 
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか?
 
Apache Pulsarの概要と近況
Apache Pulsarの概要と近況Apache Pulsarの概要と近況
Apache Pulsarの概要と近況
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
 
Wacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-taWacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-ta
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 

En vedette

テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーShuji Watanabe
 
Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingReactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingYoshifumi Kawai
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityYoshifumi Kawai
 
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術Unity Technologies Japan K.K.
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法Yoshifumi Kawai
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityYoshifumi Kawai
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#Yoshifumi Kawai
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践Yoshifumi Kawai
 

En vedette (8)

テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
 
Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingReactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event Processing
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
 
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 

Similaire à テスト駆動開発へようこそ

TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -Shuji Watanabe
 
SeasarCon 2009 White TDD
SeasarCon 2009 White TDDSeasarCon 2009 White TDD
SeasarCon 2009 White TDDTakuto Wada
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!Yasui Tsutomu
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Shuji Watanabe
 
Serverless Meetup Tokyo #2 オープニング
Serverless Meetup Tokyo #2 オープニングServerless Meetup Tokyo #2 オープニング
Serverless Meetup Tokyo #2 オープニング真吾 吉田
 
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テストmakopi 23
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめKyota Yasuda
 
Sql database でも使えるほにゃらら
Sql database でも使えるほにゃららSql database でも使えるほにゃらら
Sql database でも使えるほにゃららOda Shinsuke
 
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpUnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpkyon mm
 
駅すぱあとWebサービスにおけるAWSとその周辺
駅すぱあとWebサービスにおけるAWSとその周辺駅すぱあとWebサービスにおけるAWSとその周辺
駅すぱあとWebサービスにおけるAWSとその周辺Mikawa Kouta
 
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0Toshiyuki Konparu
 
20141101渋谷ruby会議
20141101渋谷ruby会議20141101渋谷ruby会議
20141101渋谷ruby会議Fukui Osamu
 
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013Takashi Someda
 
事業会社で働くエンジニアのマインドセット - DevLOVE関西
事業会社で働くエンジニアのマインドセット - DevLOVE関西事業会社で働くエンジニアのマインドセット - DevLOVE関西
事業会社で働くエンジニアのマインドセット - DevLOVE関西Tomoyuki Sugita
 
Web で変わったクラウドと postgre sql の今と昔
Web で変わったクラウドと postgre sql の今と昔Web で変わったクラウドと postgre sql の今と昔
Web で変わったクラウドと postgre sql の今と昔Soudai Sone
 
永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)Yasui Tsutomu
 
Sql world を支える技術
Sql world を支える技術Sql world を支える技術
Sql world を支える技術Oda Shinsuke
 

Similaire à テスト駆動開発へようこそ (20)

TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
 
SeasarCon 2009 White TDD
SeasarCon 2009 White TDDSeasarCon 2009 White TDD
SeasarCon 2009 White TDD
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
 
Serverless Meetup Tokyo #2 オープニング
Serverless Meetup Tokyo #2 オープニングServerless Meetup Tokyo #2 オープニング
Serverless Meetup Tokyo #2 オープニング
 
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめ
 
java-ja TDD 2nd
java-ja TDD 2ndjava-ja TDD 2nd
java-ja TDD 2nd
 
Sql database でも使えるほにゃらら
Sql database でも使えるほにゃららSql database でも使えるほにゃらら
Sql database でも使えるほにゃらら
 
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpUnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
 
駅すぱあとWebサービスにおけるAWSとその周辺
駅すぱあとWebサービスにおけるAWSとその周辺駅すぱあとWebサービスにおけるAWSとその周辺
駅すぱあとWebサービスにおけるAWSとその周辺
 
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0
JAWS-UG Osaka 2013.11.02 Feel the Elesticity v2.0
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
20141101渋谷ruby会議
20141101渋谷ruby会議20141101渋谷ruby会議
20141101渋谷ruby会議
 
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
 
事業会社で働くエンジニアのマインドセット - DevLOVE関西
事業会社で働くエンジニアのマインドセット - DevLOVE関西事業会社で働くエンジニアのマインドセット - DevLOVE関西
事業会社で働くエンジニアのマインドセット - DevLOVE関西
 
Web で変わったクラウドと postgre sql の今と昔
Web で変わったクラウドと postgre sql の今と昔Web で変わったクラウドと postgre sql の今と昔
Web で変わったクラウドと postgre sql の今と昔
 
永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)
 
クラウド時代の人材育成
クラウド時代の人材育成クラウド時代の人材育成
クラウド時代の人材育成
 
Sql world を支える技術
Sql world を支える技術Sql world を支える技術
Sql world を支える技術
 

Plus de Shuji Watanabe

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

Plus de 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
 
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をはじめよう
 
Jenkins導入事例
Jenkins導入事例Jenkins導入事例
Jenkins導入事例
 
ソフトウェア開発の3本柱
ソフトウェア開発の3本柱ソフトウェア開発の3本柱
ソフトウェア開発の3本柱
 

Dernier

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Dernier (10)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

テスト駆動開発へようこそ