Metro スタイル アプリの世界では、皆さんが開発するアプリがすべてのエクスペリエンスの中心になります。このエクスペリエンスをユーザーにとって快適なものとするには、アプリを十分にテストして品質を高める必要があります。Metro スタイル アプリの作成には、デザイン、開発、テスト、そして最後に配布という、4 つの主な段階が必要です。

Metro スタイル アプリのデザインと開発の側面については、これまで多くのブログ記事で注目してきました。この記事では、アプリのテストに関連する総合的な検証分野についていくつか取り上げます。

"テスト" という用語にはかなりたくさんの意味があり、特にソフトウェア開発ライフサイクルの文脈においては、人によって意味が異なります。さらに、ソフトウェア開発のさまざまな段階において、多様なアクティビティ セットを実行する必要があります。これらのアクティビティには、ユニット テスト、機能テスト、ユーザビリティ テスト、シナリオ テストなどが含まれます。これらのどのアクティビティもテストの一部分しか表しておらず、高い品質を確保するためにアプリで行う必要があるすべての検証をカバーすることはできません。この記事では、検証の具体的な種類を区別していません。代わりに、アプリの品質を高めるのに役立つ総合的な検証分野と作業の広範なセットについて説明します。これらの検証分野に加えて、デバッグやテストに Visual Studio (英語) を使ったり、Visual Studio ユニット テスト ツールを使ったりして、開発時にアプリの機能を検証することもできます。今後数週間にわたって、Metro スタイル アプリのテストについて詳細に説明するブログ記事を書く予定です。

"アプリ ライフサイクルの管理" に関するブログ記事で説明したように、Metro スタイル アプリは各種の実行時状態を遷移します。このアプリ ライフサイクルに基づいて、以下の検証の主な分野について考えたいと思います。

  • アクティベーション: いくつかのアクティベーション パスをとおしてアプリを検証します。
  • 実行状態: 実行時にアプリを検証します。
  • 中断: アプリが正しく中断されることを検証します。
  • 再開: アプリが正しく再開されることを検証します。
  • 終了: アプリが終了することを検証します。
  • 実行: アプリが実行されていないときに動作を検証します。

これらの各分野における主な検証分野について詳しく見ていきましょう。

アプリのアクティベーション動作を検証する

アクティベーションをテストするには、ユーザーがアプリを起動する可能性があるさまざまなコンテキストを試す必要があります。アプリでサポートされる各アクティベーション シナリオを検証することが重要です。ユーザーがアプリをアクティベーションする可能性がある一般的なコンテキストは次のとおりです。

  • タイル: タイルによるアプリの起動は、ほとんどの場合ユーザーがアプリに対して行う最初の操作となります。アプリが適切なアプリ起動デザイン パターンに従っていることを検証します。
  • トースト通知: アプリでトースト通知 (英語) がサポートされる場合、アプリが処理することになっている着信通知をクリックしたときに、アプリが機能を正常にアクティベーションすることを検証します。
  • 検索: アプリで検索 (英語) がサポートされる場合、アプリがアクティベーションされることと、アプリ内で検索を完了できることを検証します。アプリで検索候補の表示がサポートされる場合、正常に機能することを検証します。
  • 共有ターゲット: アプリを共有 (英語) ターゲットとすることがサポートされる場合、サポートされるコンテンツの種類に関して、アプリがアクティベーションされ、別のアプリによって共有されるコンテンツを投稿することを検証します。
  • プロトコル: アプリでプロトコルが登録される場合、このプロトコルに対応するさまざまな種類の URL を開くことでアプリをアクティベーションできることを検証します。
  • ファイルの関連付け: アプリでファイルの種類の処理が登録される場合、対応するファイルの種類のファイルを開くことでアプリをアクティベーションできることを検証します。
  • ファイル選択ツール/連絡先選択ツール: アプリがファイルをファイル オープン/保存選択ツールまたは連絡先選択ツール (英語) として登録されている場合、それらのコンテキストでアプリをアクティベーションできることを検証します。

アプリの実行時動作を検証する

Metro スタイル アプリの機能の検証は、すべてのアプリに適用される共通の特性の検証と、アプリ固有の機能の検証の組み合わせです。ここで簡単に説明する主な検証シナリオに加えて、アプリ固有の機能も検証する必要があります。このためには、アプリの対象となる主なシナリオについて理解し、それらのシナリオが正常に機能することを検証しなければなりません。

タイル

アプリのタイル (英語) はアプリの非常に重要な要素であり、ユーザーの目に最も多くさらされる部分でもあります。タイル動作の次の側面を検証することが重要です。

  • アプリでライブ タイルがサポートされる場合、アプリの実行中にその動作を検証します。タイルの更新が、アプリ内に表示されている状態と一貫していることを検証します。たとえば、フォト アプリのタイルには、最近追加されたアルバムの写真が表示されるようにします。
  • アプリでセカンダリ タイル (英語) がサポートされる場合、正しい情報が表示されることを検証します。たとえば、天気アプリではセカンダリ タイルとして特定の都市のピン留めがサポートされることがあります。さらに、セカンダリ タイルをクリックするとアプリが起動し、アプリ内の正しいコンテキストが表示されることも検証する必要があります。
  • アプリでタイルの通知バッジ (英語) がサポートされる場合、バッジの更新がすべて正常に表示されることと、アプリ内に表示される対応する状態と一貫していることを検証します。たとえば、メール アプリの未読メール数に関連するバッジは、未読メールがもうないことがユーザーにわかるように、アプリの実行時に明確でなければなりません。

トースト通知

アプリでトースト通知 (英語) がサポートされる場合、トーストが正しくトリガーされて表示されることを検証します。さらに、トースト通知をクリックするとアプリが起動し、アプリ内の正しいコンテキストが表示されることも検証する必要があります。

コントラクトと拡張機能

これまで、アプリのアクティベーション動作の検証の一環として、いくつかのコントラクトを取り上げました。ここでは、実行時のコントラクトの検証に関連する他のいくつかの分野を見てみましょう。

  • 共有ソース: アプリを共有ソースとすることがサポートされる場合、共有チャームを使ってそのアプリからコンピューター上の他のターゲット アプリに対してコンテンツ (サポートされるコンテンツの種類) を共有できることを検証します。
  • リモート再生: アプリでリモート再生コントラクト (英語) がサポートされる場合、デバイス チャームを使ってリモート デバイス上のアプリからメディアを再生できることを検証します。
  • 設定: アプリで設定コントラクト (英語) がサポートされる場合、アプリ固有の設定を表示して変更できることを検証します。さらに、終了/再起動後も変更された設定がアプリに残ることも検証します。

Windows アプリ認定キット

Windows アプリ認定キットを使うと、アプリが Windows ストアの提出条件を満たすことを検証できます。このキットには、サポートされる API の使用、クラッシュ/ハングのテスト、アプリケーション マニフェストの確認、起動/中断時間のパフォーマンスを検証する自動テストが含まれています。このキットを早いうちに何度も実行することをお勧めします。アプリの所有者がぎりぎりまでアプリに対して認定キットを実行しなかったため、アプリを期限内にストアに提出できなかった事例がいくつもありました。キットを早いうちに何度も実行すれば、アプリの問題を見つけてすぐに修正し、アプリをストアに提出することができます。Windows アプリ認定キットのドキュメントでは、キットで実行されるテストの種類や、キット実行時の構成に関する追加のヒントについて詳細に説明されています。

スナップ ビューとページ横幅に合わせたビュー

ユーザーは、さまざまなビュー状態で Metro スタイル アプリを実行する可能性があります。全画面ビューに加えて、ユーザーはスナップ ビューやページ横幅に合わせたビューでアプリを使う可能性があります。アプリでこれらのビュー状態遷移が正しく処理されるのを検証することは重要です。

  • アプリでスナップ ビューとページ横幅に合わせたビューがサポートされることを検証します。アプリがスナップまたはスナップ解除されてもコンテキストが維持されることを検証します。
  • スナップおよびスナップ解除してもユーザーの作業内容や状態が壊れないことを検証します。
  • アプリがスナップされている間もユーザーがアプリを操作できることを検証します。

回転

ユーザーは、タブレットやモニターを回転したり、ひっくり返したりする可能性があります。アプリで横長画面だけでなく縦長画面がサポートされる場合、アプリで方向の変化を処理できることを検証します。Metro スタイル アプリ用の Visual Studio シミュレーター (英語) を使って、両方のモードでアプリをテストすることができます。ですから、このシナリオをテストするために必ずしもタブレット デバイスは必要ありません。

タッチ

Windows 8 では、たくさんの新しいタッチ エクスペリエンスをアプリで実現することが可能になります。Metro スタイル アプリ用の Visual Studio シミュレーター (英語) を使うと、アプリでサポートされるタッチ操作をテストすることができます。したがって、これらの操作を検証するために必ずしも専用のタッチ ハードウェアは必要ありません。

  • アプリで使用されるすべてのコントロールが、タッチ操作対応の標準基本コントロールであることを検証します。プログラミング言語に応じて、XAML コントロールまたは JavaScript コントロールを使います。
  • Metro スタイル アプリが標準のタッチ操作デザインに従っていることを検証します。
  • ユーザー操作に対する視覚的なフィードバックがアプリにより生成されることを検証します。
  • Windows OS のジェスチャとの競合を避けるため、画面の端からのドラッグ操作がアプリで回避されることを検証します。
  • アプリでテキスト入力コントロールがサポートされる場合、ソフト キーボードが正常に機能することを検証します。ソフト キーボードが表示されると、キーボード フォーカスのある領域がビューの上部に移動することを検証します。

オーディオの再生

Windows 8 では、バックグラウンドでの再生を含む、オーディオを再生する Metro スタイル アプリのモデルがサポートされます。オーディオをテストする際は、次のことをお勧めします。

  • アプリでオーディオが再生される場合、ユーザーがそのアプリと他の種類のオーディオ アプリを切り替えたときに、サウンド レベル通知が適切に処理されることを検証します。たとえば、アプリがゲームの場合、"ミュート" 通知を受け取ったらゲームを一時停止することができます。詳細については、「Metro スタイル アプリでのオーディオ再生」(英語) を参照してください。
  • アプリでバックグラウンドでのオーディオ再生がサポートされる場合、アプリでバックグラウンドでのオーディオ再生が中断されずに続行されることを検証します。ユーザーがコンピューターをロックしたとき、アプリがオーディオの再生を続行することを検証します。
  • 音楽の再生を制御するためにアプリで転送コントロールが登録される場合、正常に機能することを検証します。

さまざまな画面サイズ

Windows 8 は、タブレットの小さい画面から、ノート PC の中型画面、デスクトップの大画面まで、さまざまな画面サイズで実行されます。このため、さまざまな画面サイズでアプリをテストすることが重要です。Metro スタイル アプリ用の Visual Studio シミュレーター (英語) を使って、さまざまな画面サイズやピクセル密度でアプリをテストすることができます。

  • 1024x768 から 2560x1440 までの解像度で、アプリのレイアウトが切り捨てられないことと、コンテンツが正しく表示されることを検証します。
  • ピクセル密度を変えたときに画像が鮮明に表示されることを検証します。

データ ローミング

Windows 8 では、Metro スタイル アプリによって維持されるローミング状態など、複数の PC 間でのローミング設定が可能になります。これをテストするには、次の点を検証します。

  • 複数の PC 間でアプリ コンテキストが正常にローミングされることを検証します。たとえば、ゲームの前回クリアしたレベル、書籍で最後に読んだページ、アプリ内のビデオの最後に見た位置などです。ある PC でアプリにより設定されたコンテキストが、別の PC でアプリを使ったときに反映されることを検証します。
  • アプリの該当するユーザー設定が複数の PC 間で正常にローミングされることを検証します。たとえば、天気アプリにおけるユーザーの温度単位設定などです。この例では、ある PC で設定されたユーザーの単位設定が、別の PC でアプリを使ったときに反映されることを検証します。

デバイスとセンサー

Metro スタイル アプリでデバイスやセンサーがサポートされる場合、これらの分野を検証する必要があります。

  • アプリで地理位置情報に基づくビューのカスタマイズがサポートされる場合、正常に機能することを検証します。Metro スタイル アプリ用の Visual Studio シミュレーター (英語) では、現在位置を設定するオプションがサポートされるためこれをテストできます。
  • アプリで、カメラや USB ドライブなど、ユーザーが初期化するデバイスの接続への応答がサポートされる場合、そのイベントに対応するアクションがアプリにより正しく実行されることを検証します。たとえば、ユーザーがアプリを使ってカメラからすべての画像をコピーできることを検証するなどです。さらに、デバイスの切断がアプリによって柔軟に処理されることを検証します。たとえば、アプリがカメラから画像をコピーしている間にユーザーがカメラを切断した場合、アプリがどのように動作するかを検証するなどです。
  • ユーザーは、特定の種類のコンピューターやデバイスをドッキング ステーションにドッキングする可能性があります。コンピューターがドッキングされたときも取り外されたときも、アプリが正常に動作することを検証します。

パフォーマンス

ユーザーは、アプリが入力にすぐに応答することを期待します。ですから、アプリのパフォーマンス特性を検証することは重要です。Windows 8 はさまざまなハードウェアで実行される可能性があるため、アプリをローエンド コンピューターにインストールしてパフォーマンス特性を測定することを検討してください。「Metro スタイル アプリのパフォーマンスを改善する方法」では、測定用のコンピューターを準備する方法について詳細に説明されています。

応答性
  • アプリによってサポートされる主なシナリオに関して、予想されるインタラクション クラスについて理解し、アプリがその特定のインタラクション クラスの目標を達成することを検証します。
  • ユーザーに対するアプリの応答性が維持されることを検証します。
  • 非同期ネットワーク呼び出しなど、長時間実行されるアクティビティの間、ユーザーに対するフィードバックがアプリにより生成されることを検証します。
アプリ エコシステムの優良な住民となるために

Metro スタイル アプリのパフォーマンスを改善する方法」では、アプリがアプリ エコシステムの優良な住民であることを検証することが重要であると説明されています。そのためには、(アプリがフォアグラウンドであってもなくても) ユーザーの全体的なエクスペリエンスにプラスに寄与する必要があります。この記事で挙げられている分野に加えて、次の分野も検証してください。

  • アイドル状態のとき、アプリが CPU を使わないことが期待される場合、アプリが CPU をまったく消費しないことを検証します。
  • ユーザーは、従量制課金ネットワークを含む、さまざまなネットワークを利用する可能性があります。アプリがインターネットに接続する場合は、データの送受信時に従量制課金ネットワークに合わせてその動作が調整される (英語) ことを検証します。

エラー処理

マーフィーの法則にもあるとおり、うまくいかなくなりうるものは何でも、うまくいかなくなります。実際に、アプリが依存する状況が変化した場合、アプリの動作に影響を与えることがあります。たとえば、アプリは使用不可能なネットワーク接続を処理し、その状況でどのように動作するかを決定する必要があります。

  • エラー状況がアプリによって適切に処理されることを検証します。上の例では、アプリでエラー パスをトリガーする方法としてはネットワークやデバイスの接続が最適です。アプリが接続状態の変更の管理ガイドラインに従っていることを検証します。
  • エラー処理によって動作が中断しないことと、ユーザーにとって重要なエラーのみアプリに表示されることを検証します。
  • ユーザーにとって実用的なエラー メッセージがアプリにより生成されることを検証します。実用的なエラー処理のガイドラインを参照してください。

信頼性

ユーザーは、アプリが信頼性と一貫性の高い方法で動作することを期待します。アプリの信頼性が高いことを検証することが重要です。

  • 状況が変化してもアプリが確実に動作することと、未処理の例外のためにクラッシュしないことを検証します。
  • アプリによってメモリや他のリソースがリークされないことを検証します。Metro スタイル アプリでのメモリ リークを検出するには、他の Windows アプリケーションで通常使うのと同じ方法を使うことができます。

アプリを Windows ストアに公開すると、Windows ストアの開発者ポータルを使ってアプリの使用状況や品質データを確認することができます。たとえば、ユーザーに発生した例外、クラッシュ、無応答の問題に関するデータを参照できます。このデータを使って、アプリでよく起きるクラッシュやハングを修正することを検討してください。

アクセシビリティ

Windows 8 は、さまざまなユーザーに合わせて設計されており、個人の能力に関係なくだれでも使うことができます。Metro スタイル アプリがアクセシビリティの基本要件 (英語) を満たしている場合、アクセシビリティ エコシステムの活性化に大きく貢献することができます。アプリでアクセシビリティがサポートされる場合、「アプリでのアクセシビリティのテスト」(英語) で説明されている条件を満たしていることを検証します。

グローバリゼーションとローカライズ

Metro スタイル アプリがグローバリゼーション設計となっている場合、さまざまな地域や市場に合わせてローカライズできます。Metro スタイル アプリでは、構成された言語と表示形式 (日付、時刻、通貨、数) を使ってコンテンツをカスタマイズできます。たとえば、ユーザーが英語版 Windows で第 1 言語を日本語に構成した場合、Metro スタイルの株式アプリを起動すると、関連するすべてのニュース記事が日本語で表示され、選択された地域 (東京証券取引所など) の株式取引に関する情報も表示されるようにすることができます。

アプリがローカライズされている場合は、さまざまなロケールや表示言語で機能することを検証します。

  • アプリでサポートされる言語の場合は、コントロール パネルの言語設定で特定の各言語を第 1 言語として追加し、その言語に合わせてアプリのコンテンツがカスタマイズされることを検証します。
  • アプリの実行中や中断時に言語を変更しても正常に動作することを検証します。
  • アプリでサポートされる言語の場合、ユーザー インターフェイスの文字列が正しく表示され、切り捨てられないことを検証します。
  • アプリの画像に表示されるすべてのテキストが選択された表示言語になっていることを検証します。

プロセッサ アーキテクチャ

Metro スタイル アプリは、アーキテクチャ面で中立にすることも、特定のアーキテクチャをターゲットにすることもできます。

アプリがアーキテクチャ面で中立の場合、選択されたどのアーキテクチャでもテストできます。

アプリがアーキテクチャ固有の場合、サポートされるすべてのアーキテクチャでテストする必要があります。

  • アプリが Windows RT (ARM) を明確にターゲットとする場合、Windows RT PC でその機能を検証します。ARM での開発とテストに関する追加情報は、「ARM (WOA) での Windows の開発に関する重要な事柄」(英語) に記載されています。
  • アプリが x86 をターゲットとしていて、x64 パッケージが別個に用意されない場合、アプリが x86 システムと x64 システムの両方で正常に動作することを検証します。これは、x86 アプリは x86 (32 ビット Windows) システムでも x64 (64 ビット Windows) システムでも実行できるためです。Windows では、x86 をターゲットとするアプリを x64 システムで実行することができます。

アプリの中断動作を検証する

Windows は、フォアグラウンドにないアプリを中断します。この方法により Windows は、フォアグラウンド アプリでシステム リソースをより有効に活用しながら、バックグラウンドのアプリでユーザーのバッテリが消耗しないようにできます。たとえば、中断中、株式アプリには、ユーザーが表示した最後の株価と、株式チャートの時間範囲に関する情報が保持されます。

  • アプリが中断状態のとき、メモリ使用量が減ることを検証します。タスク マネージャーで中断状態を表示するには、タスク マネージャーで [More details] (詳細表示) をクリックして使用可能なすべてのオプションを表示し、[View] (表示) メニューの [Status values] (状態値) をポイントして [Show suspended status] (中断状態の表示) をクリックします。
  • アプリでバックグラウンドでのデータ (英語) のアップロードやダウンロードがサポートされる場合、アプリが中断されてもデータ転送が続行されることを検証します。

Visual Studio を使うと、アプリの中断/再開をシミュレート (英語) することができます。これを行うには、[表示] メニューの [ツール バー] をポイントし、[デバッグの場所] を選択します。

アプリの再開動作を検証する

アプリがフォアグラウンドに戻ると、Windows によりアプリが再開され、中断された時点の状態から続行します。アプリが柔軟に再開されるのを検証することが重要です。

  • アプリは、長時間中断された後に再開される可能性があります。その間、表示されていたコンテンツやネットワーク接続が古くなった可能性があります。アプリが再開されることと、そのコンテンツの状態が視覚的に表示されることを検証します。
  • アプリが再開された後、必要に応じてアプリがコンテンツを更新したり、ネットワーク リソースに再接続したりできることを検証します。たとえば、株式アプリが再開された後、前回の更新日時を視覚的に表示してから、ユーザーが最新の株価を参照できるようにキャッシュされた株式データを更新し始めることができます。

アプリの終了動作を検証する

システムのリソースが不足したときは、Windows によって中断中のアプリが終了されることがあります。さらに、ユーザーが手動で終了したときや Windows からサインアウトしたときもアプリが終了されることがあります。アプリの終了方法によっては、終了後にアプリを起動したとき適切なアプリ データが復元されるのを検証することが重要です。

  • Windows によって終了された後にアプリを起動したとき、中断または終了前のコンテキストと状態がアプリによって復元されることを検証します。たとえば、最後に表示された株式情報や、アプリが中断されたときに保存されたチャートの選択期間などです。
  • アプリを手動で終了 (画面の上から下にスワイプして) した後に起動したとき、アプリが既定のデータで起動されることを検証します。
  • クラッシュなど、予期しない終了の後にアプリを起動したとき、アプリを引き続き起動できることと、既定のデータが読み込まれることを検証します。アプリの予期しない終了を発生させるには、タスク マネージャーでアプリを右クリックして [Go to details] (詳細の表示) をクリックし、右クリックして [end task] (タスクの終了) をクリックします。

詳細については、アプリに対する "常に動作している" 感覚を重視したアプリ ライフサイクルの管理」を参照してください。

アプリが実行されていないときに動作を検証する

Metro スタイル アプリは、実行されていないときでもユーザーに情報を表示することがあります。ですから、次のシナリオが正常に機能するのを検証することは重要です。

タイル

アプリが実行されていないときに検証すべき主な分野は次のとおりです。

  • 既定のタイルが正しく表示されることを検証します。タイルのサイズ、使用方法、通知が「タイルのガイドラインとチェック リスト」のガイドラインに従っていることを検証します。
  • アプリでスケジュール設定された通知やクラウドからの定期/プッシュ通知 (英語) がサポートされる場合、アプリが実行されていないときでもタイルが更新されることを検証します。この例として、タイルが定期的に更新されて現在の温度が表示される天気アプリや、クラウドからプッシュされた最新のスコアでタイルが更新されるスポーツ アプリなどがあります。
  • ライブ タイルは、ユーザーにアプリを継続的に使ってもらうようにするための優れた手段の 1 つです。アプリ側で発生している最も重要なことがライブ タイルの情報に表れることを検証します。

トースト通知

アプリが実行されていないときでもトースト通知がサポートされる場合 (スケジュール設定された通知やプッシュ通知 (英語) を使用)、アプリが実行されていないときでもトースト通知がトリガーされ、正しく表示されることを検証します。この例としては、会議のアラームをトースト通知としてスケジュール設定する予定表アプリや、最新ニュースがトースト通知として表示されるニュース アプリなどがあります。

バックグラウンド タスク

アプリでバックグラウンド タスクがサポートされる場合、対応する動作を検証します。

  • アプリがロック画面通知の表示に対応している場合 (常に最新の状態が維持されるメール アプリや VoIP アプリなど)、PC を使っていないときでもアプリによって表示される情報が最新であることを検証します。
  • アプリが特定のトリガーに応じてバックグラウンド タスクを実行できる場合 (AC 電源接続時にフォト ライブラリの画像を処理するフォト アプリなど)、該当する条件に一致するときにそのタスクがアプリによって正しく実行されることを検証します。

詳細については、バックグラウンド タスクに関するブログ記事を参照してください。

まとめ

Metro スタイル アプリのテストとその品質の検証は、アプリで優れたユーザー エクスペリエンスを実現するために重要なステップです。このブログ記事では、さまざまなコンテキストで起動された場合のアプリの動作の検証、アプリの機能の検証、アプリが Metro スタイル アプリ ライフサイクルの各種の状態間を遷移したときのアプリの動作の検証など、Metro スタイル アプリの検証に関連する主な分野をいくつか取り上げました。

実際には、ユーザーはアプリに影響を与える多くの操作を組み合わせる可能性があります。たとえば、ユーザーは横幅に合わせたビューにアプリをスナップし、デバイスを回転して、画面の解像度を調整するといった操作を立て続けに行う可能性があります。ですから、特定のシナリオにおけるアプリの動作を別々にテストするだけでなく、創造力を発揮して、アプリがそのような複雑な操作にも対応できるかどうか試してください。

この記事を、アプリの機能を検証して品質を高める方法について考えるスタート地点としていただければさいわいです。今後数週間にわたって、Metro スタイル アプリのテストの具体的なトピックについて詳細に説明するブログ記事を書く予定です。

お読みいただき、ありがとうございました。

-- Windows シニア SDET、J. Kalyana Sundaram

-- Windows 主任テスト リード、Ashwin Needamangala

-- Windows 主任テスト マネージャー、Mete Goktepe

今回の記事作成にあたっては、Tom White 氏、Patrik Lundberg 氏、Tom Baxter 氏、Vik Kumar 氏、Rui Sun 氏、Yves Neyrand 氏にご協力いただきました。ありがとうございました。