連載 Good-bye CodedUITest(1) – Visual Studio でUI自動テストをどうすればいいか?

課題

これまで Visual Studio 標準の「UI自動テスト」機能であった 「コード化されたUIテスト」CodedUITest は、ついにVisual Studio 2019 での提供が最後になってしまった。これに変わるUIテストの自動化を考え、将来的に移行する準備を整えなければならない。

背景

Visual Studio 2017の「コード化されたUIテスト」の説明には次のような記載が追加されました。

clip_image001

Note
Coded UI Test for automated UI-driven functional testing is deprecated. Visual Studio 2019 is the last version where Coded UI Test will be available. We recommend using Selenium for testing web apps and Appium with WinAppDriver for testing desktop and UWP apps.

コード化されたUIテストは非推奨になりました。Visual Studio 2019で提供されるのが最後のバージョンです。Webアプリのテストには Selenium を、デスクトップとUWPアプリのテストには Appium と WinAppDriverを併せて使用することをお勧めします。

さようなら「コード化されたUIテスト」

私は一応、テスト自動化を含むTFS/Azure DevOps系の Microsoft MVP として、コード化されたUIテストを使用する方法を推奨してきましたが、残念ながらここまでということになりそうです。UIテストには、ここで推奨されているSeleniumやAppiumの他、沢山のフレームワークや商品がリリースされていて、それぞれ自分たちがやりたいことにマッチしているのを使うのが一番と思うのですが。Visual Studio標準のUIテストの機能として提供されている以上、まずはこれをお勧めし、不足を感じたら別のものを検討するのが良いのではという話をしてきました。しかしそれも Visual Studio 2019 までとなりそうです。

正直ショックが大きい反面、やっぱりそうかという感じもしていて。私自身、今後どのように人に薦めようかなというのを整理したいので、このブログを連載記事として書いてみようと思っています。第1回目は、「コード化されたUIテスト」Coded UI Test ってどんなものだったか?これからUIテストを作成したいのだけど、Visual Studio 2019 でこれを使用しても良いのか?ということが判断できるような内容を書ければと思います。

Read More

Visual Studio 2015 / Visual Studio Team Servicesで Fakesを使った単体テストがビルドできないときは、Fakesフォルダのmscorlib.fakesファイルを必要なクラスだけに絞り、参照にmscorlib.4.0.0.0.Fakesを追加

課題

Visual Studio(VS) や Visual Studio Team Services(VSTS)で、以前はビルドできたFakesを使用した単体テストがビルドできなくなるケースがある。また、現在のVS2015では、.net 4.5 の単体テストを新規作成し、SystemにFakesを適用するとエラーが表示されてビルドできない。

背景

これまで VSでFakesを使用するとき、[ソリューションエクスプローラー]の参照から対象を右クリックしてFakesアセンブリに追加すると、それだけでFakesが使用できるようになった。しかし、アップデートによりコンパイラとプロジェクトの構成が変更になったためか、そのままではビルドできない場合がある。

https://blogs.msdn.microsoft.com/harshjain/2016/12/29/generating-fakes-assembly-for-system-dll-for-test-project/

また、以前ビルドできていたソースもビルドできなくなり、VSTSの自動ビルドもエラーとなる場合がある。

解決方法

Fakesフォルダの .fakes ファイルを編集して、Fakesの対象となるクラスを必要なクラスに限定する。また、SystemをFakesする場合、参照に mscolib.4.0.0.0.Fakes が含まれていなければ、ビルド後に参照を追加する。

clip_image001

 

Read More

VSTS/TFS で Unparented(親の無い)バックログなどをクエリするには、「direct links」で「do not have matching links」に Parentを指定する

課題

Visual Studio Team Services(VSTS) ・Team Foundation Server(TFS)で、親の EpicやFeatureの無いBacklog Itemをクエリしたい。

背景

使い慣れないメンバーはWorkでアイテムを追加するときに「親」を指定することを忘れがちになる。親を表示したツリー表示で追加すると簡単だが、別の方法で追加して親がないバックログになってしまうと、後からリンクを追加する必要がある。しかし、Work で Board画面を使用していると、バックログの親があるかないか?見た目で区別がつかないため、慣れないメンバーはUnparented(親の無い)Backlog / Requirement をそのままにしがちである。

clip_image001

例えばEpicやFeatureをクエリするレポートやチャートを利用しているときに、これらの項目が結果に含まれずに問題になることがある。そのため、Unparented(親の無い)Backlog Itemをクエリで見つけ出し、こういった問題を防止したい。

解決方法

クエリタイプ[Work items and direct links]で[Only return items that do not have matching links]に Parentを指定する。

Read More

VSTS/TFS 作業項目のクエリをエクスポートするには、Visual Studioでクエリの編集から[名前をつけて保存]を実行

課題

Visual Studio Team Services / Team Foundation Server の作業項目のクエリを、同じチームプロジェクト内ではWeb画面で簡単にコピーすることができるが、別のTFSプロジェクトにコピーすることができない。クエリをエクスポートして、他のチームプロジェクトにインポートしたい。

解決方法

Visual Studio でクエリを開き、[クエリの編集]を押してエディターを開いた後、[ファイル]メニューから[名前をつけて(クエリ名)を保存]を選ぶと、保存先にファイルを選択することができる。

image

 

Read More

Visual Studio 2015 拡張機能を新規作成して「メモリが不足しています」エラー(OutOfMemoryException)でビルドできない時は、画像(ToolWindow1Command.png)が破損しているので差し替える

課題

Visual Studio 2015で拡張機能を手順通りに作成して、F5デバッグ実行しようとしても、ビルドエラーで実行されない場合がある。新規作成直後は起動しても、手順に従ってテンプレートでアイテムを追加すると起動しなくなることがある。Visual Basic と C# どちらでも同様。

image

Read More

Visual Studioでファイルを比較するにはdevenv /diffにファイル名を指定する

課題

Visual Studioを使ってファイルの比較を行いたい。

image

背景

普段使用しているVisual Studioのソース管理のファイル比較に慣れている。あるいは、他のファイル比較ツールのインストールが認められていない場合や、インストールしていない環境で作業する場合がある。この場合に、Visual Studioのソース管理の比較と同様に、(ソース管理上は関係がない)2つのファイルをVisual Studioを使って比較したい。 Read More

書籍「.NET開発テクノロジ入門2016年版Visual Studio 2015対応版」2/5 発売

「.NET開発テクノロジ入門2016年版Visual Studio 2015対応版」という本の第6章 Visual Studio Code、Visual Studio 2015 IDE新機能、Visual Studio Team Services についてを執筆させていただきました。2016年2月5日に発売されています!

先日のマイクロソフトの Xamarin 買収の発表など、本当に劇的な変化の起こるなか、次々に登場する Visual Studio での開発の新機能に触れることが出来る一冊です。ぜひ!

書籍「チーム開発の教科書 C#によるモダンな開発を実践しよう!Visual Studio 2010/2012/2013/2015対応」

また、一冊目の書籍「チーム開発の教科書」の紹介ページも新たに作成しましたので、あわせてよろしくお願いいたします!

書籍「チーム開発の教科書 C#によるモダンな開発を実践しよう! 」10/8 発売

「チーム開発の教科書 C#によるモダンな開発を実践しよう! 」という本を書きました!2015年10月8日発売です!

日本マイクロソフトでイベントも開催していただけることになりました。よろしくお願いいたします。

開発エキスパートに学ぶ! C# と Visual Studio の今と未来
日本マイクロソフト品川本社 31 階セミナールーム C/D
開始: 2015年10月16日 13:00

 
Read More

ソフトバンク・テクノロジー TFSとリリース管理 導入事例と解説のまとめ – de:code 2015

de:code 2015 でもセッション中に紹介がありました、「ソフトバンク・テクノロジーは リリース コスト を 20分の1に!」の Release Management(リリース管理)と、Team Foundation Server について、新しいバージョンが出る前にもう一度まとめておきたいと思います。

この内容は 2013 までの方法で、新しい 2015 では操作などが変更になると思います。考え方はおおよそ変わらないと思いますので、参考にしていただければ、と思います。

 

TFS スクラム開発とリリース管理を行えば Rapid Release を行える!

まず、アーキテクトジャンプセミナーの2つ目の動画「TFS スクラム開発とリリース管理を行えば Rapid Release を行える! ~ Online Service Gate® クラウドサービスの開発事例」を観てください。

 

こちら1時間の動画で、2014年11月17日に私が登壇した時のものです。TFS スクラム開発導入のメリットと効果と、リリース管理導入のメリットと効果を解説しています。(※2015年6月5日追記:PDFのスライド資料もダウンロード出来ます。)

このセッションの内容を元に、スクラム開発編 と リリース管理編 へ続きます。

 

Read More