HoloLens에서 앱 테스트Testing your app on HoloLens

HoloLens 응용 프로그램 테스트는 Windows 응용 프로그램 테스트와 비슷합니다.Testing HoloLens applications is similar to testing Windows applications. 여전히 기능, 상호 운용성, 성능, 보안, 안정성 등을 고려해 야 합니다.You still need to consider functionality, interoperability, performance, security, reliability, and so on. 그러나 PC 또는 휴대폰 앱에서 팝 하지 않는 일부 영역에는 특별 한 처리가 필요 합니다.However, some areas that don't pop up in PC or phone apps require special handling. 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. 이 가이드는 이러한 영역을 테스트 하는 데 도움이 됩니다.This guide is here to help you with testing these areas.

성능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. 혼합 현실에 대 한 성능 이해 를 읽고 준수 하는지 확인 합니다.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. 대규모 대화방, bathrooms, kitchens, 침실, 사무실 등에서 사용해 보세요.Try in large rooms, small rooms, bathrooms, kitchens, bedrooms, offices, and so on. 또한 비-세로 벽, 구부러진 벽, 비 수평선 최대값이 같은 비표준 기능이 포함 된 방을 고려 합니다.Also take into consideration rooms with non-standard features such as non-vertical walls, curved walls, non-horizontal ceilings. Hallways 또는 계단 간을 전환 하는 경우에도 제대로 작동 하나요?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 like lighting, black surfaces, and transparent or reflective surfaces like mirrors and glass walls.
  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 spatial and audio cues 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? 앱이 holograms에 너무 가까운 사용자에 게 반응 하나요?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 an app bar that lets you control the apps position in the Mixed World. 제거를 클릭 하면 앱 프로세스가 정상적으로 종료 되 고, 뒤로 단추가 2D 유니버설 앱의 컨텍스트 내에서 지원 되는지 확인 합니다.Make sure clicking Remove ends 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's active, and while it's a suspended app tile.

환경 테스트 매트릭스Environmental test matrix

HoloLens 앱 개발용 환경 테스트 매트릭스

편안함Comfort

  1. 클립 평면.Clip planes. Holograms가 렌더링 되는위치를 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 isn't 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. 홀로그램 품질 지침 을 구현 하는 성능의 앱은 사용자 discomfort 수 있습니다.Performant apps that implement the hologram quality guidance are less likely to result in user discomfort.
  4. 세로 방향으로 holograms를 균등 하 게 배포 합니다.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

상호 작용 모델Interaction models

홀로그램 상호 작용이 선택한 상호 작용 모델과함께 작동 하는지 확인 합니다.Make sure the hologram interactions work with your chosen interaction model. 내게 필요한 옵션을 지원 해야 하는 경우 마우스 및 키보드와 같은 다른 보조 프로그램을 사용 하 여 유효성을 검사 하는 것도 좋습니다.It's also a good idea to validate with different accessories like mouse and keyboard if they're needed to support accessibility.

앱이 마우스 및 터치와 다른 동작을 수행 하는 경우 유효성을 검사 합니다.Validate when your app has a different behavior with mouse and touch. 사용자에 게 보다 자연스럽 게 환경을 제공 하기 위해 일관성을 식별 하 고 설계 결정에 도움을 줍니다.Identifies inconsistencies and help with design decisions to make the experience more natural for users. 예를 들어 가리키기에 따라 동작을 트리거합니다.For example, triggering an action based on hover.

사용자 지정 음성 명령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. 규칙으로 "선택" 또는 "안녕 코타"와 같은 시스템 음성 명령을 사용자 지정 명령으로 사용 하지 않아야 합니다.As a rule, you shouldn't 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. 는 잠재적으로 잘못 된 명령을 트리거할 수 있습니다.Can potentially trigger the incorrect command.
  2. 가능 하면 발음에 서식 있는 단어를 선택 합니다.Choose phonetically rich words when possible. False 활성화를 최소화 하거나 방지 합니다.Minimizes 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. 종료 하려면 5 초 동안 전원 단추를 계속 누르고 있습니다.To shut down, 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. 앱에 분석을 통합 하면 베타 테스터와 최종 사용자의 앱에 대 한 통찰력을 얻을 수 있습니다.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 or errors?

에뮬레이터 및 시뮬레이션 된 입력Emulator and simulated input

HoloLens 에뮬레이터 는 다양 한 종류의 시뮬레이션 된 사용자 특성 및 공백으로 Holographic 앱을 효율적으로 테스트 하는 좋은 방법입니다.The HoloLens emulator is a great way to efficiently test your Holographic app with different kinds 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 에뮬레이터는 앱을 신속 하 게 반복 하 고 새 버그를 catch 하는 데 도움이 되는 유용한 도구 이지만, 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