IntelliTest for .NET – 手間をかけずにカバレッジの高いテストを実施するには

  本記事は、マイクロソフト本社の The Visual Studio Blog の記事を抄訳したものです。 【元記事】 IntelliTest for .NET – Test More with Less (effort)  2015/09/30 6:00 PM   単体テストにおいて、対象コードのロジックを網羅的に検証できるテスト スイートを作成するのは非常に手間がかかります。また、すべてを検証するとなるとコストが足りなくなる場合もあります。Visual Studio 2015 Enterprise Edition で提供される IntelliTest 機能 (英語) はこの両方の課題に対処し、わずかなコストで高いコードカバレッジ (網羅率) を達成します。 .NET コードで IntelliTest を実行すると、CLR でテスト対象のコードが動的に分析され、テスト ケースが生成されます。ホワイト ボックステストのように、コード内の各ステートメントに対して、そこに到達する入力値が生成され、各条件分岐 (if ステートメント、アサート ステートメント、例外をスローする可能性のあるすべての処理) に対するケース分析が実行されます。IntelliTest の目的は、コードのすべての分岐を網羅するテスト スイートを生成することです。そのため、カバレッジを高める入力値を生成するたびに、C# と MSTest、xUnit.net、NUnit のいずれかをテスト フレームワークとして使用して、その具体的な値をテスト ケースとして出力します。その結果、開発者がゼロからテストを作成しなくても、カバレッジの高いコンパクトなテストスイートが生成されます。 メモ: IntelliTest は Pex…


Visual Studio 2015 CTP 6 および Team Foundation Server 2015 CTP をリリース

  本記事は、マイクロソフト本社の The Visual Studio Blog の記事を抄訳したものです。 【元記事】 Visual Studio 2015 CTP 6 and Team Foundation Server 2015 CTP Released  2015/02/23 6:05 PM   マイクロソフトでは短いサイクルで更新版をリリースするよう努めており、今回もその流れに沿って Visual Studio 2015 CTP 6 (英語)、さらに Team Foundation Server 2015 CTP (英語) をリリースしました。これらの製品はいずれもダウンロード センター (英語) と MSDN サブスクライバー ダウンロードのページからもダウンロードできます。少しでも早く利用したいというユーザーの方は、Azure でホストされている仮想マシン (英語) で最新の CTP を使用できますので、こちらをご活用ください。この記事では、ご利用を検討中の方に向けて両製品の注目点をいくつか説明します。本稿以外にも Brian Harry が執筆したブログ記事 (英語)、Team Foundation Server…


Visual Studio 2015 プレビュー版、Visual Studio Community 2013、Visual Studio 2013 Update 4 ほか多数のリリースを発表

    本記事は、マイクロソフト本社の The Visual Studio Blog の記事を抄訳したものです。 【元記事】Visual Studio 2015 Preview, Visual Studio Community 2013, Visual Studio 2013 Update 4, and More  2014/11/12 8:05 AM Visual Studio ブログ 2014 年 11 月 12 日 8:05 AM [更新: 11 月 13 日] Apache Cordova 用ツールの最新版と Blend for Visual Studio 2015 について詳しく取り上げたブログ記事へのリンクを追加しました。該当箇所には、[更新] タグを挿入していますので、そちらを参照してください。 以下、元の記事 本日は多数のリリース発表があったため、この記事は通常よりも長めになっていますのでご容赦ください。この記事では本日リリースされた製品のうち重要ないくつかの製品に簡単に触れると同時に、詳細な説明が記載されたドキュメントへのリンクをご紹介します。この後も随時何本かブログを投稿する予定で、それに合わせてこの記事の内容も更新する予定です。 今回発表された製品にすぐに触れてみたい方は、それぞれ以下からダウンロードしてください。…


.NET Core がオープン ソースに

  本記事は、マイクロソフト本社の .NET Blog の記事を抄訳したものです。 【元記事】 .NET Core is Open Source 2014/11/12 7:39 AM 投稿者: Immo Landwerth [MSFT]、投稿日: 2014 年 11 月 12 日 午前 7 時 39 分 本日、.NET にとって重大な発表がありました。マイクロソフトはランタイムおよび Framework のライブラリを含む .NET Core (英語) 全体をオープン ソース化することを発表しました。 今回の発表は、既に実施された以下のマネージ コンパイラ (C#、VB、F#) と ASP.NET のオープン ソース化という流れに沿って決定されたものです。 · C# および Visual Basic ("Roslyn") (英語) · Visual F#…


Visual Studio と .NET をすべての開発者に。 .NET Server Core のオープン ソース化とクロスプラットフォームへの対応、Visual Studio Community 2013 と Visual Studio 2015/.NET 2015 のプレビュー版を発表

  本記事は、マイクロソフト本社の Somasegar’s blog の記事を抄訳したものです。 【元記事】Opening up Visual Studio and .NET to Every Developer, Any Application: .NET Server Core open source and cross platform, Visual Studio Community 2013 and preview of Visual Studio 2015 and .NET 2015  2014/11/12 7:30 AM Visual Studio と .NET は、10 年以上も前からマイクロソフトの開発者向けエコシステムの基盤として役割を担ってきました。昨年だけで、.NET は 18 億回以上インストールされ、Visual Studio 2013 は 700 万回以上ダウンロードされました。この実績からもわかるとおり、Visual Studio…


Visual Studio 2013 と Team Foundation Server 2013 の Update 4 CTP1 が公開されました

  本記事は、マイクロソフト本社の Brian Harry’s blog の記事を抄訳したものです。 【元記事】VS & TFS 2013 Update 4 CTP 1 is available  2014/9/4 2:00 AM 皆さんはどうか分からないのですが、私達は既に Visual Studio 2013 Update 4 と Team Foundation Server 2013 Update 4 をリリースするという事実を頭の中に詰め込むのが私にとっては大変です。Update 3 のリリースもそんなに古い話ではありませんでした。本日、マイクロソフトは Update 4 の CTP (コミュニティ テクノロジ レビュー) 1 を公開しました。いつものように、およそ 3 週間おきに 2-3 回の CTP があり、その後 RC 版 (リリース候補版)、そして最終的な製品版をリリースする予定です。ですから、Update 4 の製品版リリースまでにはまだ少し時間があり、…


Visual Studio 2013 Update 2 CTP

Visual Studio 2013 Update 2 CTP (Community Technology Preview)が公開されました。 ダウンロード:http://www.microsoft.com/en-us/download/details.aspx?id=41699 サポート情報:http://support.microsoft.com/kb/2927432 先日リリースされたVisual Studio 2013 Update 1にはブラウザ周りの改良があったものそれ以外はバグ修正で、大きな機能追加はありませんでした。しかし、ちゃんと”Update”版と言える機能追加がもうすぐ提供されます。Update 1には含まれなかったTeam Foundation Server周辺の機能が強化されます。まだ”Go-Live”でないため、運用環境で使用いただくことができませんのでご注意ください。慎重な日本のお客様には、情報だけでもご覧いただけると嬉しいです。 マイクロソフトコーポレーションのテクニカルフェロー、Brian Harryのブログに今回のUpdate2 CTP1の概要が紹介されているので、かいつまんでこちらでご紹介します。 作業項目のタグ付け 作業項目のタグ付けをして、カテゴリーごとに整理することができるようになります。これも、ご利用のみなさまのフィードバクを実現したもので、どれだけリクエストがあったか件数も書かれています。 検索クエリーにタグ付け (559件) Visual Studioからタグ付け (54件) タグ付けのアクセス権設定 Excelからタグを編集 (30件) オブジェクトモデルとREST APIのサポート バックログ管理 パフォーマンスの向上 非稼働日の設定:週末などの非稼働日を場外することでより正確なバーンダウンチャートになります チャートの開始日の設定:プロジェクトの計画中の期間が作業が進捗していないようにレポートされてしまうのを防ぐことができます チャート ホームページにチャートのピン止め 色のカスタマイズ:重要じゃないけれど、こういうところが大事なんですよね アカウントとプロジェクトのホームページ より使い勝手が良いように、アカウントとプロジェクトのホームページのレイアウトを変更しました。 テスト計画をHTMLでエクスポート オフラインで使用したり、共有、印刷するためにテスト計画をHTMLでエクスポートすることができます。 リリース管理 デプロイ先のターゲットをタグ付けすることができます(作業項目のタグ付けとは別のもので)。同じソフトウェアをデプロイするターゲットにタグ付けするなどして、作業がしやすくなります。 Gitの向上 (事前プレビュー) Git機能の向上はとても重要視していることですが、残念ながら今回のUpdate2 CTP1に間に合わなかったのですが、Update2 CTP2では提供されます。だからプレビューのプレビューなのですね。 アノテーション アメンド:”git amend”コマンドのように、Visual…


[アーカイブ] Windows 8 の手動テストをリモートの実機で行う方法

  <オリジナル投稿 2012年10月11日 本ポストの情報はオリジナル投稿時点のものす。マイクロソフトの正式な見解や製品の仕様を示すものではないことをご了承ください。> MSC 2012、 Developer Camp 2012 Japan Fall でデモを行った Windows ストアアプリのリモートでの手動テスト (含む、探索的テスト)ですが、設定など社内外から質問があったこともあり、共有しておきます。ちなみに、MSDN ライブラリには、より詳細に記載されています (「Microsoft テスト ランナーを使用したデバイス上で実行されている Windows ストアアプリのテスト」)。 何ができるのか テスト対象のデバイス実機上での手動テストを行ったときに、その時の操作(たとえば、どこをタップしたら何が開いたのかなど)を記録してくれます。また、診断に必要な情報(システム情報やイベントログ、デバッグ履歴など)を収集してくれます。このとき、設定しておけば、デバイス上の操作を動画としてキャプチャもしてくれます(Test Manager 2012 からは音声も収集できます)。 テストの結果は、ステップごとに記録が自動で残りますし、バグ起票も、ボタン一発で、ステップごとにどこをタップしたら何が起きたのかなどスクリーンショットを手でいちいちとらなくても記録を即時共有することができます。 探索的テストでは、実行した操作ステップから再現性のある最適な手順だけに整理したりすることができますし、これまたボタン一発で、テストケースとして残すことができます。探索的テストでバグ発見→即時、バグ起票→テストケース作成のスムーズな流れができ、しかも、開発者はバグ票から操作ログ、デバッグ情報、ビデオキャプチャの情報も見ることができるので、「再現しないバグ」扱いにせず、効率的にバグ修正作業を行えるわけです。テスターからすると、バグとテストケース(プロダクトバックログ項目も)、ビルド番号が紐づいている状況なので、バグ修正後、速やかにテストケートに基づいたテストを行うことができます。 ね、便利でしょう?ここまでやらないといけない時代ですよ。 必要な環境 これを実現するには以下の環境が必要となります。 Team Foundation Server 2012 TFS は、チームの基盤です。テスト環境、テスト構成、テストケース、バグ、ビルドなどテストになくてはならない成果物を有機的につなぎ追跡可能にしてくれます。これ必須です。 Microsoft Test Manager 2012 手動テストの設定と実行、追跡のために使います。メインで使うのはこちらです。テストを実行する環境に用意しておきます。 Remote Tools for Visual Studio 2012 (無償ダウンロード) デバイス実機上でのリモートテストをや、デバッグ、プロファイリングのために必要なサービスです。デバイス上にセットアップします。 Visual Studio Agents (DVD メディア/MSDN…


[アーカイブ] ソフトウェア開発に携わる方が Visual Studio の世界観を把握していなければならないわけ [Advent 12/25]

<オリジナル投稿 2012年12月25日 本ポストの情報はオリジナル投稿時点のものです。マイクロソフトの正式な見解や製品の仕様を保証するものではないことをご了承ください。> ひとり気ままな Advent Calendar 最終回です (あれ?25日目はいらない?)。 キーボードの “R” キーが壊れている中、よく頑張った(←自分)。 さて、私は講演の際には、ツールの機能や、ツールの紹介に終始するといったことを極端に嫌います。極論で行くと、これらのみを単にご要望いただいた際は、お断りをすることもあるくらいです。なぜならば、ツールも現場も、それぞれのコンセプトであり、ビジョンがあるわけですが、機能を一方的にお伝えすると現場とツールの歩み寄りがおざなりになりがちだからです。 この辺にも絡みますが、私の講演スタイルについては、以前に書きました。 私がプレゼンのときに意識しているたった3つのポイント 私の反復型プレゼン作成術 本題ですが、私は10数年間、ソフトウェア開発のライフサイクル、開発プロセスのカイゼンに携わってきました。そこにはプロセスの話は当然出てきますが、開発支援のためのツール適用の話も当然でてきます。「どちらが大切?」という議論があったりしますが、これについては、「どちらも大切」なのではなく、「人、プロセス、ツールのバランス」が大切だということを強く訴えたいです。宗教論争したいわけでもなく、ソフトウェア開発をまっとうなビジネスにしたいわけですし、そこで働く人も、そのソフトウェアに関わる人もプロの集団なわけなので、必要なことはしっかり準備しないといけません。私の尊敬する Sさんが、「プロなのに、練習しない、練習をお客様に提供するのは失礼」と言及されていました。できない、仕方ないではなく、成熟したビジネスにする努力はどんどんすべきです。技術の進化が著しいからこそ、余計に。 ソフトウェア開発環境の進化も著しいです。先に述べたように、10数年関わっていますが、開発ツールは皆さんが思い描いている以上に進化してます。2008年に Kent Beck が予想した、「ツールの次の進化」「ツールに期待していること」は、すでに実現されています。 プロセスやプラクティスも大きく進化してきています。その反面、日本での活動や成熟度はというと、10年遅れているともいわれることもあります。実際にどうかは置いておいて、そういわれるのは、体系立てて実践できていなかったり、先駆者の知見をみずに独自にスクラッチから模索を繰り返しているところからもくるのかなと個人的には感じています。 たとえば、10年前からあるプラクティスを、日本で数年かけて模索し、追いつくなどは、10年前のプラクティスを知っていれば、もっとよいものに進化させることにつながったのかもしれません。数年かけたこと、独自の試行錯誤は尊いものです。だからこそ、さらに先へ行くことも考えてもいい時期だと思うわけです。 さてさて、で、なぜに Visual Studio の世界観を把握しておくべきかというと、Visual Studio の世界観は、マイクロソフトという世界最大級のソフトウェアカンパニーで実践された開発の叡智が汎用化されて詰まっています。この世界観を知ることは、あなたの現場のカイゼン、ツールの適用の仕方や、付き合い方、ツールとプラクティスについてのよい効果を生む可能性が高いを私は考えています。 なので、MS技術を使っているとかそんな小さなことではなく、Visual Studio の世界観は知っておいて損はないはずです。「MSの話だから・・・」と聞かない、目を傾けないで、損はしてほしくないわけです。 冒頭に戻りますが、そんな思いもあり、私は機能紹介だけを行うことはしません。 さて、昔の資料ですが、共有しておきたいものがあります。 デモ動画用ライフサイクル一覧 from Tomoharu Nagasawa この資料は、2011年11月に公開したものです。Visual Studio 2010 の段階での資料です。2枚目以降のスライド中の番号をクリックするとデモ動画を見ていただくことができます。 よくある開発現場の課題に対する回答を示した資料ですが、こちらがいまだに日本のソフトウェア開発の現場さんでウケています。リクエストが多かったら、Visual Studio 2012 バージョンにしたいと思いますが、こういうことは、知っておいて損はないと思います。たとえば、Visual Studio を使うことが一生ないとしても。 ひとり気ままな Advent Calendar 一覧: 指折り数えて待てないエンジニアのための Visual Studio…


[アーカイブ] Disciplined Agile Delivery を TFS に実装してみた [Advent 12/20]

<オリジナル投稿 2012年12月20日 本ポストの情報はオリジナル投稿時点のものです。マイクロソフトの正式な見解や製品の仕様を保証するものではないことをご了承ください。> このエントリーは、ALM Advent Calendar 2012 の 20日目です。また、ひとり気ままな Advent Calendar の 12/20 分でもあります。 今回は、IBM が提唱している Disciplined Agile Delivery (DAD) を TFS に実装してみます。といっても、元ネタがあり、それをもとに、日本語環境として実装してみたいと思います。 元ネタは、以下です: DAD process template for TFS DAD については、本家の情報をぜひご覧いただきたいのですが、簡潔にいうとアジャイルなアプローチのキモにあたる要素を取り入れたハイブリッドなプロセスのフレームワークといったところのようです。 Unified Process の特徴もあると感じています。独自のロールモデルもあり、なかなか興味深いですね。 さて、元ネタでは、TFS 標準のプロセステンプレートである MSF for Agile Development をベースにテーラリングをしています。 プロセステンプレート マネージャでアップロード MSF for Agile Development 6.1 をダウンロードし、プロセスに手を加えて、それをアップロードしただけです。 チームプロジェクトの作成 「Disciplined Agile Delivery JPN」を選択し、チームプロジェクトを作成します。 チームプロジェクト名は、適当に入力しました。本来は、適切な名称をセットしてください。この名前はあとで変更できませんので、慎重に。…