HoloLens でアプリのテストTesting your app on HoloLens

HoloLens のアプリケーションのテストは、Windows アプリケーションのテストとよく似ています。Testing HoloLens applications are very similar to testing Windows applications. (機能、相互運用性、パフォーマンス、セキュリティ、信頼性など) は、通常のすべての領域を検討してください。All the usual areas should be considered (functionality, interoperability, performance, security, reliability, etc.). ただし、特別な処理や PC または phone アプリでは、通常は確認されません詳細の確認が必要な一部の領域があります。There are, however, some areas that require special handling or attention to details that are not usually observed in PC or phone apps. Holographic アプリは、多様な環境でスムーズに実行する必要があります。Holographic apps need to run smoothly in a diverse set of environments. 常にパフォーマンスとユーザーの快適性を維持する必要があります。They also need to maintain performance and user comfort at all times. これらの領域をテストするためのガイダンスはこのトピックで説明します。Guidance for testing these areas is detailed in this topic.


Holographic アプリは、多様な環境でスムーズに実行する必要があります。Holographic apps need to run smoothly in a diverse set of environments. 常にパフォーマンスとユーザーの快適性を維持する必要があります。They also need to maintain performance and user comfort at all times. パフォーマンスが非常に重要なトピック、全体をある Holographic アプリでユーザーのエクスペリエンスにします。Performance is so important to the user's experience with a Holographic app that we have an entire topic devoted to it. 次のことを確認してください、 for Mixed Reality パフォーマンスを理解Please make sure you read and follow the Understanding Performance for Mixed Reality

3D で 3D のテストTesting 3D in 3D

  1. できるだけ多くのさまざまなスペースでアプリをテストします。Test your app in as many different spaces as possible. ビッグ ルーム、小規模のルーム、浴室、設備、ベッドルーム、オフィスなどでお試しください。非縦方向の壁、曲線の壁、水平方向以外シーリングなどの非標準の機能と考慮事項のルームを考慮します。Try in big rooms, small rooms, bathrooms, kitchens, bedrooms, offices, etc. Also take into consideration rooms with non standard features such as non vertical walls, curved walls, non-horizontal ceilings. 動作のルームの間で遷移、ときにも現場、廊下や階段を通過しますか?Does it work well when transitioning between rooms, floors, going through hallways or stairs?
  2. さまざまな照明条件では、アプリをテストします。Test your app in different lighting conditions. 適切に応答ライティング、黒い画面、透過的/反射サーフェス (ミラー、ガラス壁など) などのさまざまな環境条件。Does it respond properly to different environmental conditions such as lighting, black surfaces, transparent/reflective surfaces such as mirrors, glass walls, etc.
  3. 異なる動作条件では、アプリをテストします。Test your app in different motion conditions. デバイス上に配置して、モーションのさまざまな状態で、シナリオを再試行してください。Put on device and try your scenarios in various states of motion. 適切に応答異なる移動または安定した状態ですか。Does it respond properly to different movement or steady state?
  4. さまざまな角度から、アプリの動作をテストします。Test how your app works from different angles. ロックされている世界ホログラムがある場合は、その背後にある場合は、ユーザーとどうなりますか。If you have a world locked hologram, what happens if your user walks behind it? ユーザーと、ホログラムの間には何かするとどうなりますか。What happens if something comes between the user and the hologram? 場合、ユーザーを見てから上または下ホログラムでしょうか。What if the user looks at the hologram from above or below?
  5. 空間およびオーディオ キューを使用します。 アプリでは、これらを使用して、ユーザーが紛失するを防ぐことを確認します。Use spatial and audio cues. Make sure your app uses these to prevent the user from getting lost.
  6. 周囲のノイズのさまざまなレベルでアプリをテストします。Test your app at different levels of ambient noise. 音声コマンドを実装したら、周囲のノイズのさまざまなレベルでの呼び出しを再試行してください。If you've implemented voice commands, try invoking them with varying levels of ambient noise.
  7. 取り付けられているアプリと永続的なテストします。Test your app seated and standing. 座席と永続的な位置の両方からテストを確認します。Make sure to test from both seating and standing positions.
  8. 別の距離からアプリをテストします。Test your app from different distances. UI 要素の読み取りし、遠くから対話しますか。Can UI elements be read and interacted with from far away? アプリに react をユーザーに近すぎるを取得するには、ホログラムでしょうか。Does your app react to users getting too close to your holograms?
  9. アプリ バーの一般的な対話に対してアプリをテストします。Test your app against common app bar interactions. すべてのアプリのタイルと 2D のユニバーサル アプリが、アプリ バー混在環境でアプリを配置する方法を制御することができます。All app tiles and 2D universal apps have a app bar that allows you to control how the app is positioned in the Mixed World. アプリのプロセスが正常に終了します削除 をクリックし、2 D のユニバーサル アプリのコンテキスト内で、戻る ボタンがサポートされていることを確認してください。Make sure clicking Remove terminates your app process gracefully and that the Back button is supported within the context of your 2D universal app. Try のスケーリングとのアプリの移動調整モードが中断されているアプリのタイルとの両方が、アクティブな。Try scaling and moving your app in Adjust mode both while it is active, and while it is a suspended app tile.

環境のテストのマトリックスEnvironmental Test Matrix

HoloLens アプリの開発環境のテストのマトリックス


  1. 平面をクリップします。Clip planes. Where に注意深いするホログラムがレンダリングされるします。Be attentive to where holograms are rendered.
  2. 仮想移動実際ヘッドの移動と矛盾しないようにします。Avoid virtual movement inconsistent with actual head movement. ユーザーの実際の動きの代表者でない方法で、カメラを移動しないでください。Avoid moving the camera in a way that is not representative of the user's actual motion. アプリでは、シーンを使用して、ユーザーを移動する必要がある場合は、動きを予測可能なことしの高速化を最小限に抑えるにより、ユーザーの動きを制御できます。If your app requires moving the user through a scene, make the motion predictable, minimize acceleration, and let the user control the movement.
  3. ホログラム品質ガイドラインに従います。Follow the hologram quality guidelines. パフォーマンスの高いアプリを実装する、ホログラム品質ガイダンスユーザーの不安が発生する可能性が低い。Performant apps that implement the hologram quality guidance are less likely to result in user discomfort.
  4. 垂直方向にではなく水平方向にホログラムを配布します。Distribute holograms horizontally rather than vertically. 強制的に使用権をプレゼント ユーザーは検索時間の期間を拡張またはダウンの足部の疲労につながることができます。Forcing the user to spend extended periods of time looking up or down can lead to fatigue in the neck.


視線、ジェスチャGaze and Gestures

視線入力に照準を合わせますホログラムと環境でユーザーを有効にする HoloLens での基本的な形式です。Gaze is a basic form of input on HoloLens that enable users to aim at holograms and the environment. 視覚的に確認できます、視線の先を対象とする、カーソルの位置に基づいています。You can visually see where your gaze is targeting based on the cursor position. マウス カーソルを注視カーソルを関連付けるには一般的です。It's common to associate the gaze cursor with a mouse cursor.

ジェスチャはマウスのクリックなどのホログラムと対話する方法。Gestures are how you interact with holograms, like a mouse click. ほとんどの場合、マウス、タッチの動作は同じですが理解し、検証と異なる場合に重要です。Most of the time the mouse and touch behaviors are the same, but it's important to understand and validate when they differ.

アプリがマウス、タッチとは異なる動作を検証します。Validate when your app has a different behavior with mouse and touch. 矛盾をユーザーのより自然なエクスペリエンスを実現する設計上の決定を支援します。This will identify inconsistencies and help with design decisions to make the experience more natural for users. たとえば、ホバーに基づいてアクションをトリガーします。For example, triggering an action based on hover.


HoloLens 2 に固有のガイダンスについて近日します。More guidance specific to HoloLens 2 coming soon.

カスタムの音声コマンドCustom Voice Commands

音声入力相互作用の自然な形式です。Voice input is a natural form of interaction. ユーザー エクスペリエンスは魔法のようなまたはコマンドおよび公開する方法の好みに応じてわかりづらいにできます。The user experience can be magical or confusing depending on your choice of commands and how you expose them. 原則として、カスタム コマンドとして"Select"」や「コルタナさん」などのシステム音声コマンドを使用する必要がありますできません。As a rule, you should not use system voice commands such as "Select" or "Hey Cortana" as custom commands. 考慮すべきいくつかの点を次に示します。Here are a few points to consider:

  1. 類似したコマンドを使用しないでください。Avoid using commands that sound similar. これにより、誤ったコマンドが可能性のあるトリガーします。This can potentially trigger the incorrect command.
  2. 可能であれば、発音の豊富な単語を選択します。Choose phonetically rich words when possible. 最小限に抑えるか、false のアクティブ化を回避これは。This will minimize and/or avoid false activations.


アプリケーションをユーザーが操作できる周辺機器します。Users can interact with your App through peripherals. アプリが確認すべき点があります、その機能を活用するために特別な処理は必要はありません。Apps don't need to do anything special to take advantage of that capability, however there are a couple things worth checking.

  1. カスタムの相互作用を検証します。Validate custom interactions. アプリのカスタムのキーボード ショートカットはその一例です。Things like custom keyboard shortcuts for your app.
  2. 入力の種類の切り替えを検証します。Validate switching input types. 複数の入力メソッドを使用して、音声、ジェスチャ、マウス、および同じシナリオですべてのキーボードなどのタスクを完了しようとしています。Attempting to use multiple input methods to complete a task, such as voice, gesture, mouse, and keyboard all in the same scenario.

システムの統合System Integration


バッテリをお払い箱にどの程度の速度を理解するのに接続されている電源ソースを使用せず、アプリケーションをテストします。Test your application without a power source connected to understand how quickly it drains the battery. バッテリの状態は、電源 LED の測定値を調べることで 1 つ簡単に理解できます。One can easily understand the battery state by looking at Power LED readings. バッテリ電源を示す LED の状態

電源の状態遷移Power State Transitions

電源の状態間を遷移するときに期待どおりには、主要なシナリオの作業を検証します。Validate key scenarios work as expected when transitioning between power states. アプリケーションは、元の位置にあるなど、残りますか。For example, does the application remain at its original position? 正しく持続するための状態ですか。Does it correctly persist its state? 正常に動作は、続行しますか。Does it continue to function as expected?

  1. スタンバイ/再開します。Stand-by / Resume. スタンバイを入力するには、いずれかのキーを押し、電源ボタンを直ちに解放します。To enter standby, one can press and release the power button immediately. デバイスは、3 分間続いた後に自動的にスタンバイが入力されます。The device also will enter standby automatically after 3 minutes of inactivity. スタンバイから再開するにいずれかのキーを押してし、電源ボタンを直ちに解放します。To resume from standby, one can press and release the power button immediately. 接続または電源から切断した場合にも、デバイスが再開されます。The device will also resume if you connect or disconnect it from a power source.
  2. シャット ダウン/再起動します。Shutdown / Restart. シャット ダウン、キーを押すし、6 秒の電源ボタンを継続的に保持します。To shutdown, press and hold the power button continuously for 6 seconds. を再起動するには、電源ボタンを押します。To restart, press the power button.

マルチ アプリ シナリオMulti-App Scenarios

バック グラウンド タスクを実装している場合は特に、アプリ間で切り替えるとコア アプリの機能を検証します。Validate core app functionality when switching between apps, especially if you've implemented a background task. コピー/貼り付けと Cortana の統合もチェックに値する該当する場合。Copy/Paste and Cortana integration are also worth checking where applicable.


テレメトリと分析を使用して、参照してください。Use telemetry and analytics to guide you. 分析をアプリに統合するベータ テスターとエンドユーザーからアプリに関する詳細情報を取得する際に役立ちます。Integrating analytics into your app will help you get insights about your app from your Beta testers and end-users. このデータは、今後の更新プログラムと、ストアを送信する前に、アプリを最適化するために使用できます。This data can be used to help optimize your app before submission to the Store and for future updates. 多くの分析のオプションがあります。There are many analytics options out there. 開始する場所がわからない場合はチェック アウトApp Insightsします。If you're not sure where to start, check out App Insights.

考慮すべき質問:Questions to consider:

  1. ユーザーは、領域をどのように使用されてですか。How are users using the space?
  2. どのようにアプリを配置するオブジェクトを世界で検出するには問題でしょうか。How is the app placing objects in the world - can you detect problems?
  3. どれだけ時間、アプリケーションのさまざまな段階にかかるコストの操作を行いますか?How much time do they spend on different stages of the application?
  4. 時間の時間を費やしてアプリですか?How much time do they spend in the app?
  5. 最も一般的な使用状況のパス、ユーザーとはしようとしているでしょうか。What are the most common usage paths the users are trying?
  6. 予期しない状態やエラーに達したユーザーですか。Are users hitting unexpected states and/or errors?

エミュレーターとシミュレートされた入力Emulator and Simulated Input

HoloLens のエミュレーター Holographic シミュレートされたユーザーの特性とスペースのさまざまなアプリを効率的にテストする優れた方法です。The HoloLens emulator is a great way to efficiently test your Holographic app with a variety of simulated user characteristics and spaces. 効果的にエミュレーターを使用してアプリをテストする推奨事項を次に示します。Here are some suggestions for effectively using the emulator to test your app:

  1. エミュレーターの仮想ルームを使用して、展開、テストします。Use the emulator's virtual rooms to expand your testing. さらに多くの環境でアプリをテストに使用できる仮想ルームのセットに、エミュレーターが付属します。The emulator comes with a set of virtual rooms that you can use to test your app in even more environments.
  2. エミュレーターを使用すると、すべての角度からアプリを確認します。Use the emulator to look at your app from all angles. PageUp/PageDn キー サイズを垂直方向は、シミュレートされたユーザーになります。The PageUp/PageDn keys will make your simulated user taller or shorter.
  3. 実際、HoloLens を使用してアプリをテストします。Test your app with a real HoloLens. HoloLens のエミュレーターは、すぐに始めるための優れたツールのアプリで反復処理して、新しいバグの検出が、Windows ストアに送信する前に、また物理 HoloLens でテストすることを確認します。The HoloLens Emulator is a great tool to help you quickly iterate on an app and catch new bugs, but make sure you also test on a physical HoloLens before submitting to the Windows Store. これは、パフォーマンスとエクスペリエンスが優れたを実際のハードウェアであることを確認してください。This is important to ensure that the performance and experience are great on real hardware.

Perception シミュレーションによるテストの自動化Automated testing with Perception Simulation

アプリ開発者によっては、それぞれのアプリのテストを自動化する可能性があります。Some app developers might want to automate testing of their apps. 単純な単体テスト、を超えて使用することができます、 perception シミュレーションをアプリに人間と世界中の入力を自動化する HoloLens のスタック。Beyond simple unit tests, you can use the perception simulation stack in HoloLens to automate human and world input to your app. Perception シミュレーションの API は、HoloLens のエミュレーターまたは物理 HoloLens のシミュレートされた入力を送信できます。The perception simulation API can send simulated input to either the HoloLens emulator or a physical HoloLens.

Windows アプリ認定キットWindows App Certification Kit

アプリを最良の確率の指定にWindows ストアで公開されている、検証、および証明書を送信する前にローカルでテストします。To give your app the best chance of being published on the Windows Store, validate and test it locally before you submit it for certification. アプリの対象 Windows.Holographic デバイス ファミリの場合、 Windows アプリ認定キットPC でローカルの静的分析テストだけが実行されます。If your app targets the Windows.Holographic device family, the Windows App Certification Kit will only run local static analysis tests on your PC. HoloLens のテストは実行されません。No tests will be run on your HoloLens.

関連項目See also