第2回nseg slideshare

27
@第2nseg勉強会 にしざわこういち

Transcript of 第2回nseg slideshare

@第2回nseg勉強会

にしざわこういち

自己紹介

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

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

• VB.NET C# ASP.NET

• 自宅サーバ・・・運用に自信なし

今回のお話は・・・・

テストの

自動化

2007年

・・・

NUnitの存在を知る

うちはテストを 自動化してるんですよー

なんですとー !? Σ(゚Д゚ )

テストの

自動化に

着手

その後

2009年

・・・

結婚

つまり

テストを

自動化

すると

結婚

できます

Let's Automate!

アジェンダ

• 世の中の動向

• 自動化の長所・短所

• 各テストフェーズでの自動化

• 自動化にあたっての難しいところ

• 落とし穴

世の中の動向

• 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 ・・・ブラウザからの入力が大前提

落とし穴

• テスト仕様書を書くのは自動化できない!

• 「テストの自動化の成否は、テストケースの品質によって決まる!」

(豆蔵 テストコンサルタント 湯本剛氏 談)

アツい

ご要望に

お答えして

シリーズ化

決定!

To Be Continued...