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 や電話のアプリでは通常見られない特別な処理や詳細への対処が必要な領域もあります。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.

パフォーマンスPerformance

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. Mixed Reality のパフォーマンスを理解し、それに従っていることを確認してください。Please make sure you read and follow the Understanding Performance for Mixed Reality

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

  1. できるだけ多くの異なるスペースでアプリをテストします。Test your app in as many different spaces as possible. 大規模な部屋、小さな部屋、bathrooms、kitchens、ベッドルーム、オフィスなどで試してみてください。また、縦棒以外の壁面、曲線の壁面、水平でない雲など、標準以外の機能を備えたルームも考慮してください。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? アプリは、ホログラムに近すぎるユーザーに反応しますか。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. [削除] をクリックすると、アプリプロセスが正常に終了し、[戻る] ボタンが2D ユニバーサルアプリのコンテキスト内でサポートされていることを確認します。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 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 アプリ開発のための環境テストマトリックス

安心Comfort

  1. クリッププレーン。Clip planes. ホログラムがレンダリングされる場所に attentive してください。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.

入力Input

宝石とジェスチャ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" や "Cortana" などのシステム音声コマンドをカスタムコマンドとして使用しないでください。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. これにより、誤ライセンス認証が最小化または回避されます。This will minimize and/or avoid false activations.

周辺機器Peripherals

ユーザーは、周辺機器を使用してアプリと対話できます。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

バッテリーBattery

電源が接続されていない状態でアプリケーションをテストし、バッテリの消費速度を把握します。Test your application without a power source connected to understand how quickly it drains the battery. 電源 LED の測定を見ることで、バッテリの状態を簡単に把握できます。One can easily understand the battery state by looking at Power LED readings.

バッテリ電源を示す LED の状態

バッテリ電源を示す LED の状態LED states that indicate battery power

電源状態の移行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.

製品利用統計情報Telemetry

テレメトリと分析を使用してガイドを作成できます。Use telemetry and analytics to guide you. Analytics をアプリに統合することで、ベータテスターやエンドユーザーからアプリに関する洞察を得ることができます。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 emulatorは、シミュレートされたさまざまなユーザー特性とスペースを使用して 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.

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

アプリ開発者によっては、アプリのテストを自動化することが必要になる場合があります。Some app developers might want to automate testing of their apps. 単純な単体テスト以外に、HoloLens の知覚シミュレーションスタックを使用して、アプリへの人間と世界の入力を自動化できます。Beyond simple unit tests, you can use the perception simulation stack in HoloLens to automate human and world input to your app. 認識シミュレーション 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. アプリが 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