SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
NSEG 第5回勉強会


              にしざわこういち



2010/7/24       第5回 NSEG 勉強会   1
自己紹介

• にしざわこういち(@koty)

• 市内の情報サービス会社勤務

• VB.NET C# ASP.NET




2010/7/24         第5回 NSEG 勉強会   2
今回のお話は・・・・




2010/7/24   第5回 NSEG 勉強会   3
テストコードを
  書こう!
2010/7/24   第5回 NSEG 勉強会   4
アジェンダ

•   TDD BOOT CAMP NAGOYAの紹介
•   テスト駆動開発とは
•   現実と戦う
•   レガシーコード改善のデモ

・環境はVisual Studio 2010
・言語はVB.NET

2010/7/24       第5回 NSEG 勉強会   5
TDD BOOT CAMP NAGOYA
に行ってきました
• TDDBCってなに?
      – TDD(テスト駆動開発)を体感する合宿形式のセミナー
      – 詳しいことは↓
      http://blogs.yahoo.co.jp/nagoya_agile_study_group/32506622.html

• 豪華な講師陣
      – 和田卓人氏
            • 日本のTDD先駆者
      – ほか、GEEKな人たち
            • 名古屋は関数型言語
              が盛ん?

• 次回は大阪で開催され
  るという話がちらほら
                                http://www.flickr.com/photos/eitoball/4783013914/in/set-72157624469633828/

2010/7/24                           第5回 NSEG 勉強会                                                       6
TDDのサイクル

                      テストを

                        書く


            テストを                    テストを
   ・動く      成功させる                  失敗させる
   ・きれい
                                           ・動かない
                                           ・汚ない


                                    プロダク
            リファクタ
                                   ションコー
            リングする
                                    ドを書く

                      テストを

                      成功させる        ・動く
                                   ・汚ない
2010/7/24           第5回 NSEG 勉強会                   7
TDDのコツ

• 仮実装でテストのテストをする
• その後三角測量用のテストコードでREDに
• その後プロダクションコードを修正してGREEN
  に
• 不安をテストにする

• 詳しいことは和田氏のスライドを。。。
      – http://www.slideshare.net/t_wada
2010/7/24               第5回 NSEG 勉強会       8
しかーし

2010/7/24    第5回 NSEG 勉強会   9
私たちが日々
   相手にするの
      は
2010/7/24   第5回 NSEG 勉強会   10
既に作られた
  コード
2010/7/24   第5回 NSEG 勉強会   11
5年モノや
            10年モノ
             熟成されてます!
2010/7/24      第5回 NSEG 勉強会   12
TDD本体の話は
   またの
  機会で。。
2010/7/24   第5回 NSEG 勉強会   13
レガシーコード改善

• テストが無いコードはレガシーコードだ!!
      – 何度も言います


                                 Goo辞書より



• TDDBCの二日目にレガシーコード改善の体験
  があった
      – 今回、最も期待していたイベント
2010/7/24         第5回 NSEG 勉強会             14
レガシーコード改善のデモ

• windows formのイベントハンドラに書かれた
  業務ロジックをテストで保護する

• 今回の目標
      – 画面とロジックを分離する
      – 仕様化テストを書く
      – 多少の仕様変更を入れる(できれば)


2010/7/24      第5回 NSEG 勉強会    15
仕様化テスト

• まずは仕様化テストを書く

• 仕様化テストとは・・・・命綱
      – 何が正しいか < どう動くか
      – Assertのactual値をexpectedに書いていく
      – その後の変更の支えとなる




2010/7/24           第5回 NSEG 勉強会        16
先に結論

• 「仕様化テストを書ける状態」にするまでは、
  命綱(テストコード)無しで「気をつけて」やるし
  かない
• できれば複数人で

• IDEのリファクタリング機能が超重要
      – Eclipse>>C#>>越えられない壁>>VB.NET orz


2010/7/24            第5回 NSEG 勉強会          17
おしまい




                       To Be Continued ?...
2010/7/24   第5回 NSEG 勉強会                  18

Weitere ähnliche Inhalte

Was ist angesagt?

単体テストで工数を短縮する
単体テストで工数を短縮する単体テストで工数を短縮する
単体テストで工数を短縮する
Wataru Terada
 
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめTDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
Kei Sawada
 
【Agile Conference tokyo 2010】 Going Agile with Tool
【Agile Conference tokyo 2010】 Going Agile with Tool【Agile Conference tokyo 2010】 Going Agile with Tool
【Agile Conference tokyo 2010】 Going Agile with Tool
智治 長沢
 

Was ist angesagt? (20)

テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
20141101渋谷ruby会議
20141101渋谷ruby会議20141101渋谷ruby会議
20141101渋谷ruby会議
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
 
単体テストで工数を短縮する
単体テストで工数を短縮する単体テストで工数を短縮する
単体テストで工数を短縮する
 
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめTDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
 
テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 
Sta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkanSta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkan
 
Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hackt
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
 
【Agile Conference tokyo 2010】 Going Agile with Tool
【Agile Conference tokyo 2010】 Going Agile with Tool【Agile Conference tokyo 2010】 Going Agile with Tool
【Agile Conference tokyo 2010】 Going Agile with Tool
 
Dev love関西 レガシーコードへの取り組み 20140325
Dev love関西 レガシーコードへの取り組み 20140325Dev love関西 レガシーコードへの取り組み 20140325
Dev love関西 レガシーコードへの取り組み 20140325
 
いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!
 
TDD を自分の道具にしよう
TDD を自分の道具にしようTDD を自分の道具にしよう
TDD を自分の道具にしよう
 
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
 
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
 
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
 
How to let them in house of quality
How to let them in house of qualityHow to let them in house of quality
How to let them in house of quality
 
単体テストのすゝめ
単体テストのすゝめ単体テストのすゝめ
単体テストのすゝめ
 

Andere mochten auch (14)

NSEG第3回勉強会
NSEG第3回勉強会NSEG第3回勉強会
NSEG第3回勉強会
 
第2回nseg slideshare
第2回nseg slideshare第2回nseg slideshare
第2回nseg slideshare
 
NSEG第25回勉強会
NSEG第25回勉強会NSEG第25回勉強会
NSEG第25回勉強会
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会
 
Open data とは in open data day
Open data とは in open data dayOpen data とは in open data day
Open data とは in open data day
 
NSEG第33回勉強会
NSEG第33回勉強会NSEG第33回勉強会
NSEG第33回勉強会
 
NSEG第11回勉強会
NSEG第11回勉強会NSEG第11回勉強会
NSEG第11回勉強会
 
やさしいGit hub
やさしいGit hubやさしいGit hub
やさしいGit hub
 
install Sourcetree for windows
install Sourcetree for windowsinstall Sourcetree for windows
install Sourcetree for windows
 
Source treeの紹介
Source treeの紹介Source treeの紹介
Source treeの紹介
 
Source treeで始めるgit
Source treeで始めるgitSource treeで始めるgit
Source treeで始めるgit
 
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nsegデータベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
 
Tddbc nagano0.1(nseg第20回勉強会)
Tddbc nagano0.1(nseg第20回勉強会)Tddbc nagano0.1(nseg第20回勉強会)
Tddbc nagano0.1(nseg第20回勉強会)
 
Git超入門
Git超入門Git超入門
Git超入門
 

Ähnlich wie nseg第5回勉強会

#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
kyon mm
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
Tomomi Kajita
 
10分で分かるTDD
10分で分かるTDD10分で分かるTDD
10分で分かるTDD
taketi
 
SeasarCon 2009 White TDD
SeasarCon 2009 White TDDSeasarCon 2009 White TDD
SeasarCon 2009 White TDD
Takuto Wada
 
nGrinder3 : だれもが簡単にできる性能テスト
nGrinder3 : だれもが簡単にできる性能テストnGrinder3 : だれもが簡単にできる性能テスト
nGrinder3 : だれもが簡単にできる性能テスト
JunHo Yoon
 

Ähnlich wie nseg第5回勉強会 (20)

テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門
 
.Netlab202107
.Netlab202107.Netlab202107
.Netlab202107
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめ
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
 
10分で分かるTDD
10分で分かるTDD10分で分かるTDD
10分で分かるTDD
 
20140226_TDD
20140226_TDD20140226_TDD
20140226_TDD
 
phpspecで始めるBDD
phpspecで始めるBDDphpspecで始めるBDD
phpspecで始めるBDD
 
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpUnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
 
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フローKDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フロー
 
【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 でみる、アジャイル開発における開発支援ツールの活用
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
 
SeasarCon 2009 White TDD
SeasarCon 2009 White TDDSeasarCon 2009 White TDD
SeasarCon 2009 White TDD
 
nGrinder3 : だれもが簡単にできる性能テスト
nGrinder3 : だれもが簡単にできる性能テストnGrinder3 : だれもが簡単にできる性能テスト
nGrinder3 : だれもが簡単にできる性能テスト
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

nseg第5回勉強会