Prueba de una aplicación en HoloLensTesting your app on HoloLens

Probar las aplicaciones de HoloLens es similar a probar aplicaciones de Windows.Testing HoloLens applications is similar to testing Windows applications. Todavía debe tener en cuenta la funcionalidad, la interoperabilidad, el rendimiento, la seguridad, la confiabilidad, etc.You still need to consider functionality, interoperability, performance, security, reliability, and so on. Sin embargo, algunas áreas que no aparecen en las aplicaciones de PC o de teléfono requieren un tratamiento especial.However, some areas that don't pop up in PC or phone apps require special handling. Las aplicaciones holográficas deben ejecutarse sin problemas en un conjunto diverso de entornos.Holographic apps need to run smoothly in a diverse set of environments. También necesitan mantener el rendimiento y la comodidad del usuario en todo momento.They also need to maintain performance and user comfort at all times. Esta guía está aquí para ayudarle a probar estas áreas.This guide is here to help you with testing these areas.

RendimientoPerformance

Las aplicaciones holográficas deben ejecutarse sin problemas en un conjunto diverso de entornos.Holographic apps need to run smoothly in a diverse set of environments. También necesitan mantener el rendimiento y la comodidad del usuario en todo momento.They also need to maintain performance and user comfort at all times. El rendimiento es tan importante para la experiencia del usuario con una aplicación holográfica que tenemos un tema entero dedicado.Performance is so important to the user's experience with a Holographic app that we have an entire topic devoted to it. Asegúrese de leer y seguir el rendimiento de la realidad mixtaMake sure you read and follow the Understanding Performance for Mixed Reality

Probar 3D en 3DTesting 3D in 3D

  1. Pruebe la aplicación en tantos espacios diferentes como sea posible.Test your app in as many different spaces as possible. Pruebe en grandes salones, salas de pequeño tamaño, bathrooms, cocinas, dormitorios, oficinas, etc.Try in large rooms, small rooms, bathrooms, kitchens, bedrooms, offices, and so on. También debe tener en cuenta los salones con características no estándar, como paredes no verticales, paredes curvas y límites no horizontales.Also take into consideration rooms with non-standard features such as non-vertical walls, curved walls, non-horizontal ceilings. ¿Funciona bien cuando se realiza la transición entre salas, suelos o escaleras?Does it work well when transitioning between rooms, floors, going through hallways or stairs?
  2. Pruebe la aplicación en condiciones de iluminación diferentes.Test your app in different lighting conditions. Responde correctamente a distintas condiciones del entorno, como la iluminación, las superficies negras, y las superficies transparentes o reflectantes, como reflejos y paredes de cristal.Does it respond properly to different environmental conditions like lighting, black surfaces, and transparent or reflective surfaces like mirrors and glass walls.
  3. Pruebe la aplicación en condiciones de movimiento diferentes.Test your app in different motion conditions. Coloque en el dispositivo y pruebe sus escenarios en varios Estados de movimiento.Put on device and try your scenarios in various states of motion. ¿Responde correctamente a otro movimiento o estado estable?Does it respond properly to different movement or steady state?
  4. Probar el funcionamiento de la aplicación desde distintos ángulos.Test how your app works from different angles. Si tiene un holograma del mundo bloqueado, ¿qué ocurre si el usuario lo recorre?If you have a world locked hologram, what happens if your user walks behind it? ¿Qué ocurre si hay algo entre el usuario y el holograma?What happens if something comes between the user and the hologram? ¿Qué ocurre si el usuario mira el holograma desde arriba o abajo?What if the user looks at the hologram from above or below?
  5. Usar indicaciones espaciales y de audio. Asegúrese de que la aplicación usa indicaciones espaciales y de audio para evitar que se pierda el usuario.Use spatial and audio cues. Make sure your app uses spatial and audio cues to prevent the user from getting lost.
  6. Pruebe la aplicación en distintos niveles de ruido ambiente.Test your app at different levels of ambient noise. Si ha implementado comandos de voz, intente invocarlos con distintos niveles de ruido ambiente.If you've implemented voice commands, try invoking them with varying levels of ambient noise.
  7. Pruebe la aplicación y su posición.Test your app seated and standing. Asegúrese de probar desde el emplazamiento y las posiciones permanentes.Make sure to test from both seating and standing positions.
  8. Pruebe la aplicación desde distintas distancias.Test your app from different distances. ¿Los elementos de la interfaz de usuario pueden leerse e interactuar con ellos?Can UI elements be read and interacted with from far away? ¿La aplicación reacciona a los usuarios que están demasiado cerca de sus hologramas?Does your app react to users getting too close to your holograms?
  9. Pruebe la aplicación con las interacciones de la barra de aplicaciones comunes.Test your app against common app bar interactions. Todos los iconos de la aplicación y las aplicaciones universales en 2D tienen una barra de la aplicación que le permite controlar la posición de las aplicaciones en el mundo mixto.All app tiles and 2D universal apps have an app bar that lets you control the apps position in the Mixed World. Asegúrese de hacer clic en quitar finaliza el proceso de la aplicación correctamente y el botón atrás se admite en el contexto de la aplicación universal 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. Pruebe a escalar y mover la aplicación en el modo ajustar mientras esté activa y mientras se encuentra en un icono de aplicación suspendida.Try scaling and moving your app in Adjust mode both while it's active, and while it's a suspended app tile.

Matriz de pruebas de entornoEnvironmental test matrix

Matriz de pruebas de entorno para el desarrollo de aplicaciones de HoloLens

ComodidadComfort

  1. Planos de recortes.Clip planes. Debe ser Attentive donde se representan los hologramas.Be attentive to where holograms are rendered.
  2. Evite el movimiento virtual incoherente con el movimiento de cabeza real.Avoid virtual movement inconsistent with actual head movement. Evite mover la cámara de forma que no sea representativa del movimiento real del usuario.Avoid moving the camera in a way that isn't representative of the user's actual motion. Si su aplicación requiere mover el usuario a través de una escena, haga que el movimiento sea predecible, minimice la aceleración y deje que el usuario controle el movimiento.If your app requires moving the user through a scene, make the motion predictable, minimize acceleration, and let the user control the movement.
  3. Siga las instrucciones de calidad de los hologramas.Follow the hologram quality guidelines. Es menos probable que las aplicaciones de rendimiento que implementan la guía de calidad de los hologramas resulten descomodidades del usuario.Performant apps that implement the hologram quality guidance are less likely to result in user discomfort.
  4. Distribuya los hologramas horizontalmente en lugar de verticalmente.Distribute holograms horizontally rather than vertically. Forzar al usuario a dedicar períodos prolongados de tiempo buscando o baja puede provocar una fatiga en el cuello.Forcing the user to spend extended periods of time looking up or down can lead to fatigue in the neck.

EntradaInput

Modelos de interacciónInteraction models

Asegúrese de que las interacciones de los hologramas funcionan con el modelo de interacciónelegido.Make sure the hologram interactions work with your chosen interaction model. También es una buena idea validar con distintos accesorios, como el mouse y el teclado, si son necesarios para admitir la accesibilidad.It's also a good idea to validate with different accessories like mouse and keyboard if they're needed to support accessibility.

Valide cuando la aplicación tenga un comportamiento diferente con Mouse y toque.Validate when your app has a different behavior with mouse and touch. Identifica incoherencias y ayuda con las decisiones de diseño para que la experiencia sea más natural para los usuarios.Identifies inconsistencies and help with design decisions to make the experience more natural for users. Por ejemplo, desencadenar una acción basada en el desplazamiento.For example, triggering an action based on hover.

Comandos de voz personalizadosCustom voice commands

La entrada de voz es una forma natural de interacción.Voice input is a natural form of interaction. La experiencia del usuario puede ser mágica o confusa en función de los comandos elegidos y de cómo se exponen.The user experience can be magical or confusing depending on your choice of commands and how you expose them. Como norma, no debe usar comandos de voz del sistema como "Select" o "Hola Cortana" como comandos personalizados.As a rule, you shouldn't use system voice commands such as "Select" or "Hey Cortana" as custom commands. Estos son algunos puntos a tener en cuenta:Here are a few points to consider:

  1. Evite el uso de comandos que suenen de forma similar.Avoid using commands that sound similar. Puede desencadenar potencialmente el comando incorrecto.Can potentially trigger the incorrect command.
  2. Elija palabras enriquecidas fonéticamente cuando sea posible.Choose phonetically rich words when possible. Minimiza o evita activaciones falsas.Minimizes and/or avoid false activations.

PeriféricosPeripherals

Los usuarios pueden interactuar con la aplicación a través de periféricos.Users can interact with your App through peripherals. Las aplicaciones no necesitan hacer nada especial para aprovechar esa capacidad, pero hay un par de cosas que merece la pena comprobar.Apps don't need to do anything special to take advantage of that capability, however there are a couple things worth checking.

  1. Valida las interacciones personalizadas.Validate custom interactions. Cosas como métodos abreviados de teclado personalizados para la aplicación.Things like custom keyboard shortcuts for your app.
  2. Validar los tipos de entrada de conmutación.Validate switching input types. Intentando usar varios métodos de entrada para completar una tarea, como voz, movimiento, mouse y teclado en el mismo escenario.Attempting to use multiple input methods to complete a task, such as voice, gesture, mouse, and keyboard all in the same scenario.

Integración del sistemaSystem integration

BateríaBattery

Pruebe la aplicación sin una fuente de alimentación conectada para comprender la rapidez con la que se agota la batería.Test your application without a power source connected to understand how quickly it drains the battery. Uno puede comprender fácilmente el estado de la batería mirando las lecturas del LED de alimentación.One can easily understand the battery state by looking at Power LED readings.

Estados de LED que indican la energía de la batería

Estados de LED que indican la energía de la bateríaLED states that indicate battery power

Transiciones de estado de energíaPower state transitions

La validación de escenarios clave funciona según lo previsto al realizar la transición entre los Estados de energía.Validate key scenarios work as expected when transitioning between power states. Por ejemplo, ¿la aplicación permanece en su posición original?For example, does the application remain at its original position? ¿Conserva correctamente su estado?Does it correctly persist its state? ¿Continúa funcionando según lo previsto?Does it continue to function as expected?

  1. Suspender/reanudar.Stand-by / Resume. Para entrar en modo de espera, puede presionar y soltar el botón de encendido inmediatamente.To enter standby, one can press and release the power button immediately. El dispositivo también introducirá el modo de espera automáticamente después de 3 minutos de inactividad.The device also will enter standby automatically after 3 minutes of inactivity. Para reanudar desde el modo de espera, puede presionar y soltar el botón de encendido inmediatamente.To resume from standby, one can press and release the power button immediately. El dispositivo también se reanudará si se conecta o se desconecta de una fuente de alimentación.The device will also resume if you connect or disconnect it from a power source.
  2. Cierre o reinicio.Shutdown / Restart. Para apagar, mantenga presionado el botón de encendido continuamente durante 6 segundos.To shut down, press and hold the power button continuously for 6 seconds. Para reiniciarlo, presione el botón de encendido.To restart, press the power button.

Escenarios de varias aplicacionesMulti-app scenarios

Validar la funcionalidad de la aplicación principal al cambiar entre aplicaciones, especialmente si se ha implementado una tarea en segundo plano.Validate core app functionality when switching between apps, especially if you've implemented a background task. La integración de copiar y pegar y Cortana también merece la pena comprobar si es aplicable.Copy/Paste and Cortana integration are also worth checking where applicable.

TelemetríaTelemetry

Use la telemetría y el análisis como guía.Use telemetry and analytics to guide you. La integración de Analytics en la aplicación le ayudará a obtener información sobre la aplicación desde los evaluadores de la versión beta y los usuarios finales.Integrating analytics into your app will help you get insights about your app from your Beta testers and end users. Estos datos se pueden usar para ayudar a optimizar la aplicación antes de enviarla a la tienda y para futuras actualizaciones.This data can be used to help optimize your app before submission to the Store and for future updates. Existen muchas opciones de análisis.There are many analytics options out there. Si no está seguro de por dónde empezar, consulte App Insights.If you're not sure where to start, check out App Insights.

Preguntas a tener en cuenta:Questions to consider:

  1. ¿Cómo usan los usuarios el espacio?How are users using the space?
  2. ¿Cómo la aplicación coloca objetos en el mundo? ¿puede detectar problemas?How is the app placing objects in the world - can you detect problems?
  3. ¿Cuánto tiempo gastan en diferentes fases de la aplicación?How much time do they spend on different stages of the application?
  4. ¿Cuánto tiempo pasan en la aplicación?How much time do they spend in the app?
  5. ¿Cuáles son las rutas de acceso de uso más comunes que los usuarios están probando?What are the most common usage paths the users are trying?
  6. ¿Los usuarios visitan Estados o errores inesperados?Are users hitting unexpected states or errors?

Emulador y entrada simuladaEmulator and simulated input

El emulador de HoloLens es una excelente manera de probar eficazmente la aplicación holográfica con diferentes tipos de espacios y características de usuario simulados.The HoloLens emulator is a great way to efficiently test your Holographic app with different kinds of simulated user characteristics and spaces. Estas son algunas sugerencias para usar el emulador de forma eficaz para probar la aplicación:Here are some suggestions for effectively using the emulator to test your app:

  1. Use las salas virtuales del emulador para expandir las pruebas.Use the emulator's virtual rooms to expand your testing. El emulador incluye un conjunto de salones virtuales que puede usar para probar la aplicación en incluso más entornos.The emulator comes with a set of virtual rooms that you can use to test your app in even more environments.
  2. Use el emulador para ver la aplicación en todos los ángulos.Use the emulator to look at your app from all angles. Las teclas RePág/PageDn harán que el usuario simulado sea más alto o más corto.The PageUp/PageDn keys will make your simulated user taller or shorter.
  3. Pruebe la aplicación con una HoloLens real.Test your app with a real HoloLens. El emulador de HoloLens es una excelente herramienta para ayudarle a iterar rápidamente en una aplicación y detectar nuevos errores, pero asegúrese de probar también en una HoloLens física antes de enviarla a la tienda Windows.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. Esto es importante para asegurarse de que el rendimiento y la experiencia son excelentes en el hardware real.This is important to ensure that the performance and experience are great on real hardware.

Pruebas automatizadas con simulación de percepciónAutomated testing with Perception Simulation

Algunos desarrolladores de aplicaciones pueden querer automatizar las pruebas de sus aplicaciones.Some app developers might want to automate testing of their apps. Además de las pruebas unitarias simples, puede usar la pila de simulación de percepción de HoloLens para automatizar la entrada humana y internacional a su aplicación.Beyond simple unit tests, you can use the perception simulation stack in HoloLens to automate human and world input to your app. La API de simulación de percepción puede enviar entradas simuladas al emulador de HoloLens o a HoloLens físico.The perception simulation API can send simulated input to either the HoloLens emulator or a physical HoloLens.

Kit para la certificación de aplicaciones en WindowsWindows App Certification Kit

Para proporcionar a la aplicación la mejor posibilidad de publicarla en la tienda Windows, valide y pruébelo localmente antes de enviarla para su certificación.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. Si la aplicación está destinada a la familia de dispositivos Windows. Holographic, el kit para la certificación de aplicaciones de Windows solo ejecutará pruebas de análisis estático local en su equipo.If your app targets the Windows.Holographic device family, the Windows App Certification Kit will only run local static analysis tests on your PC. No se ejecutará ninguna prueba en HoloLens.No tests will be run on your HoloLens.

Consulte tambiénSee also