第2回nseg slideshare
Transcript of 第2回nseg slideshare
世の中の動向
• OSS(Open Source Software) – テストコードが当然のように付属
• 開発ツール – Visual Studio
• Visual Studio 2008あたりから、テストコード記述の支援機能が充実
– Eclipse • テスティングフレームワークが標準で付属
• クラウド – ミドルウェア、OSのバージョンアップを制御できない – 退行テストの存在が不可欠(force.comはテストコードを義務化している)
レガシーコード改善ガイド
【テストがないコードはレガシーコードだ!】
【.NETでレガシーコードを書いていませんか?】
• 超良書 – よしおかひろたか氏も
読書会を始めている
http://d.hatena.ne.jp/hyoshiok/20100403
– codezineに連載記事
http://codezine.jp/article/detail/4103
自動化の長所
• 同じテストを簡単に繰り返し実行できる
– ライフサイクルの長いパッケージには最適
• デグレードの確認が迅速にできる
–修正して祈るか?(Edit and Pray)
–保護して修正するか?(Cover and Modify)
• リファクタリングする勇気を持てる
–触らぬソースにたたり(バグ?)なし
–数千行のPublicメソッド・・・
各テストフェースでの自動化
単体テスト
結合テスト
システムテスト
受け入れテスト
メソッド・クラスのテスト 『NUnit、MSTest、JUnit』
画面・ジョブのテスト 『Selenium、VSTSのUIテスト、
TestPartner』
結合テスト+α、非機能テスト Test Load Agent
シナリオテスト Fitnesse
自動化にあたって難しいところ
• 直さないとテストを書きにくい – テストを書かないと不安で直せない
• 鶏と卵
• 外部リソースを利用する部分のテスト – データベース ・・・同じ社員番号の登録処理 – ファイル ・・・設定パラメータ、レジストリ – 通信 ・・・インタネット上のwebサービス – Exe ・・・外部プロセスを起動
• 画面のテスト – イベントハンドラ ・・・ – 画像 ・・・目で確認するしかない – ASP.NET ・・・ブラウザからの入力が大前提
おしまい
• http://www.atmarkit.co.jp/fjava/rensai4/webjousiki10/webjousiki10_1.html
• http://www.atmarkit.co.jp/fdotnet/tools/nunit2/nunit2_01.html
• http://nunit.org