nseg第5回勉強会

18
NSEG 5回勉強会 にしざわこういち 2010/7/24 1 5NSEG 勉強会

Upload: ko-ty

Post on 10-Jun-2015

912 views

Category:

Technology


9 download

TRANSCRIPT

Page 1: nseg第5回勉強会

NSEG 第5回勉強会

にしざわこういち

2010/7/24 1 第5回 NSEG 勉強会

Page 2: nseg第5回勉強会

自己紹介

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

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

• VB.NET C# ASP.NET

2010/7/24 2 第5回 NSEG 勉強会

Page 3: nseg第5回勉強会

今回のお話は・・・・

2010/7/24 3 第5回 NSEG 勉強会

Page 4: nseg第5回勉強会

テストコードを

書こう!

2010/7/24 第5回 NSEG 勉強会 4

Page 5: nseg第5回勉強会

アジェンダ

• TDD BOOT CAMP NAGOYAの紹介

• テスト駆動開発とは

• 現実と戦う

• レガシーコード改善のデモ

・環境はVisual Studio 2010

・言語はVB.NET

2010/7/24 5 第5回 NSEG 勉強会

Page 6: nseg第5回勉強会

TDD BOOT CAMP NAGOYA に行ってきました

• TDDBCってなに? – TDD(テスト駆動開発)を体感する合宿形式のセミナー – 詳しいことは↓ http://blogs.yahoo.co.jp/nagoya_agile_study_group/32506622.html

• 豪華な講師陣 – 和田卓人氏

• 日本のTDD先駆者

– ほか、GEEKな人たち • 名古屋は関数型言語 が盛ん?

• 次回は大阪で開催され るという話がちらほら

2010/7/24 第5回 NSEG 勉強会 6

http://www.flickr.com/photos/eitoball/4783013914/in/set-72157624469633828/

Page 7: nseg第5回勉強会

TDDのサイクル

2010/7/24 第5回 NSEG 勉強会 7

テストを

書く

テストを

失敗させる

プロダク

ションコー

ドを書く

テストを

成功させる

リファクタ

リングする

テストを

成功させる

・動かない ・汚ない

・動く ・汚ない

・動く ・きれい

Page 8: nseg第5回勉強会

• 仮実装でテストのテストをする

• その後三角測量用のテストコードでREDに

• その後プロダクションコードを修正してGREENに

• 不安をテストにする

• 詳しいことは和田氏のスライドを。。。

– http://www.slideshare.net/t_wada

TDDのコツ

2010/7/24 第5回 NSEG 勉強会 8

Page 9: nseg第5回勉強会

しかーし

2010/7/24 第5回 NSEG 勉強会 9

Page 10: nseg第5回勉強会

私たちが日々

相手にするのは

2010/7/24 第5回 NSEG 勉強会 10

Page 11: nseg第5回勉強会

既に作られた

コード

2010/7/24 第5回 NSEG 勉強会 11

Page 12: nseg第5回勉強会

5年モノや

10年モノ

2010/7/24 第5回 NSEG 勉強会 12

熟成されてます!

Page 13: nseg第5回勉強会

TDD本体の話は またの 機会で。。

2010/7/24 第5回 NSEG 勉強会 13

Page 14: nseg第5回勉強会

• テストが無いコードはレガシーコードだ!!

–何度も言います

• TDDBCの二日目にレガシーコード改善の体験があった

–今回、最も期待していたイベント

レガシーコード改善

2010/7/24 第5回 NSEG 勉強会 14

Goo辞書より

Page 15: nseg第5回勉強会

レガシーコード改善のデモ

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

• 今回の目標

–画面とロジックを分離する

–仕様化テストを書く

–多少の仕様変更を入れる(できれば)

2010/7/24 第5回 NSEG 勉強会 15

Page 16: nseg第5回勉強会

仕様化テスト

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

• 仕様化テストとは・・・・命綱

–何が正しいか < どう動くか

– Assertのactual値をexpectedに書いていく

–その後の変更の支えとなる

2010/7/24 第5回 NSEG 勉強会 16

Page 17: nseg第5回勉強会

先に結論

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

• できれば複数人で

• IDEのリファクタリング機能が超重要

– Eclipse>>C#>>越えられない壁>>VB.NET orz

2010/7/24 第5回 NSEG 勉強会 17

Page 18: nseg第5回勉強会

おしまい

2010/7/24 第5回 NSEG 勉強会 18

To Be Continued ?...