「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[CI]] --[[テスト自動化]] * 目次 [#q80d3d7f] #contents *概要 [#v89ca099] テスティング・フレームワークは -UIテスト自動化 -レグレッション・テスト(リグレッション・テスト) -[[TDD(テスト駆動開発)>http://ja.wikipedia.org/wiki/%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA]] などで使用される。 各ツールの説明と適合するシナリオについて分析する。 *xUnit系ツール [#n093985e] .NET開発のJUnitに対応するテスティング・フレームワークには、~ [[NUnit]]やVisual Studio の単体テスト機能がある。~ ただし、DJunit、DBunit相当のフレームワークは存在しない。 なお、これらの機能は、 >Visual Studio 2005では、Team Developer、Team Tester以上 のEditionでしか利用できなかったが、 -Visual Studio 2010では、Professional以上 -Visual Studio 2012では、Premium以上 で利用可能になっている。 **画面系 [#c0a25b26] 以下のUIテスト自動化が可能なxUnit系ツールも存在するが、~ 画面からテストする分、使い方が複雑になり、使い難くなっていると思われる。 -NUnitAsp - ASP.NET unit testing~ http://nunitasp.sourceforge.net/ -NUnitForms An NUnit extension for testing Windows Forms applications.~ http://nunitforms.sourceforge.net/ -なお、ASP.NET MVCでは、~ コントローラのアクションを実行するための~ テストコードを書けば良いため単体テストが容易になった。~ なお、使用するツールとしては、以下のデファクトのツールを使用できる。 --[[NUnit]] --Visual Studio単体テスト機能 **機能の変遷 [#v3bb2e76] ***VS2008 [#n6fcb3a8] -特集:Visual Studio 2008単体テスト機能徹底活用(前編)~ Visual Studio 2008単体テスト機能のすべて - @IT~ http://www.atmarkit.co.jp/ait/articles/0811/14/news137.html --Visual Studio 2008では、Professional Editionでも使用できる。 ***VS2010 [#ka63dbca] -Visual Studioで作る単体テスト、~ 基本のき(VS2010向け改訂版):CodeZine~ http://codezine.jp/article/detail/5826 --Visual Studio 2010では、Professional Editionでも使用できる。 ***VS2012 [#md0a84c3] -第 1 回 Visual Studio 2012 による~ 単体テスト Visual Studio 2012 自習書シリーズ~ http://msdn.microsoft.com/ja-jp/vstudio/dn223359.aspx -Visual Studio 2012で「単体テストの作成」機能が無くなったけど良い感じ~ http://d.hatena.ne.jp/aoki1210/20120915/p1 -単体テストの作り方がVisualStudio 2012から変わった~ http://pgnote.net/?p=1680 --機能が変わって、Visual Studio 2012では、~ Premium Edition以上で使用できる。 --「単体テストの作成」機能が無くなったのは、~ テストファーストで無い為と言われている。 *その他のツール [#b2c4bbff] **[[自動UIテスト>UIオートメーション#p2950b60]] [#heba49ce] **カバレージ率 [#m38678b0] ***OpenCover [#d54cdee1] カバレージ率を収集するツール。 ***ReportGenerator [#e90ff3d9] 上記(テスト結果、カバレージ率)のレポート生成ツール。 ***DevPartner Studio [#xb553332] カバレッジ分析の機能を持つ。 **静的コード解析 [#de29fbb3] ***[[Visual Studio]] [#b00ca80b] -[[Visual Studio]]のコード分析機能は[[FxCop>#l82248c1]]と同じ機能を提供。 -2010まではUltimate Edition、2012以降はProfessional Editionで利用可。 -参考 --.NET Framework、Native (C と C++)、SQL ---Visual Studioのコード分析機能を利用して~ コードの品質を上げよう (1/3):CodeZine(コードジン)~ https://codezine.jp/article/detail/8403 ---Visual Studio 付属のコード分析ツール~ コード分析を使用したマネージ コードの品質の分析~ https://msdn.microsoft.com/ja-jp/library/dd264939.aspx --JavaScript ---[オプション]、[テキスト エディター]、[JavaScript]、[IntelliSense]~ https://msdn.microsoft.com/ja-jp/library/hh362485.aspx >例えば、JavaScriptの比較に対して~ "==" ---> "===" などのワーニングを出したりする。 ---ESLint support Visual studio 2017~ https://stackoverflow.com/questions/44249111/eslint-support-visual-studio-2017 ***[[StyelCop]] [#i413cb8b] C#のコーディング内容をチェックする。 ***[[FxCop]] [#l82248c1] Microsoftの >「クラス ライブラリ開発のデザインガイドライン」 に基づいてビルド出力のアセンブリを分析する。 ***DevPartner Studio [#g1849122] 静的ソースコード解析の機能を持つ。 ***dotTEST [#i3f3ec56] 静的コード解析の機能を持つ(Jtestの.NET版)。 ---- Tags: [[:テスト]], [[:デバッグ]], [[.NET開発]], [[:ツール類]], [[:CI]]