nseg第5回勉強会
Post on 10-Jun-2015
912 Views
Preview:
TRANSCRIPT
NSEG 第5回勉強会
にしざわこういち
2010/7/24 1 第5回 NSEG 勉強会
自己紹介
• にしざわこういち(@koty)
• 市内の情報サービス会社勤務
• VB.NET C# ASP.NET
2010/7/24 2 第5回 NSEG 勉強会
今回のお話は・・・・
2010/7/24 3 第5回 NSEG 勉強会
テストコードを
書こう!
2010/7/24 第5回 NSEG 勉強会 4
アジェンダ
• TDD BOOT CAMP NAGOYAの紹介
• テスト駆動開発とは
• 現実と戦う
• レガシーコード改善のデモ
・環境はVisual Studio 2010
・言語はVB.NET
2010/7/24 5 第5回 NSEG 勉強会
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/
TDDのサイクル
2010/7/24 第5回 NSEG 勉強会 7
テストを
書く
テストを
失敗させる
プロダク
ションコー
ドを書く
テストを
成功させる
リファクタ
リングする
テストを
成功させる
・動かない ・汚ない
・動く ・汚ない
・動く ・きれい
• 仮実装でテストのテストをする
• その後三角測量用のテストコードでREDに
• その後プロダクションコードを修正してGREENに
• 不安をテストにする
• 詳しいことは和田氏のスライドを。。。
– http://www.slideshare.net/t_wada
TDDのコツ
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
• テストが無いコードはレガシーコードだ!!
–何度も言います
• TDDBCの二日目にレガシーコード改善の体験があった
–今回、最も期待していたイベント
レガシーコード改善
2010/7/24 第5回 NSEG 勉強会 14
Goo辞書より
レガシーコード改善のデモ
• 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
おしまい
2010/7/24 第5回 NSEG 勉強会 18
To Be Continued ?...
top related