Como testar seu aplicativo no HoloLensTesting your app on HoloLens

O teste de aplicativos de HoloLens é semelhante ao teste de aplicativos do Windows.Testing HoloLens applications is similar to testing Windows applications. Você ainda precisa considerar a funcionalidade, a interoperabilidade, o desempenho, a segurança, a confiabilidade e assim por diante.You still need to consider functionality, interoperability, performance, security, reliability, and so on. No entanto, algumas áreas que não aparecem em aplicativos de PC ou telefone exigem tratamento especial.However, some areas that don't pop up in PC or phone apps require special handling. Os aplicativos Holographic precisam ser executados sem problemas em um conjunto diversificado de ambientes.Holographic apps need to run smoothly in a diverse set of environments. Eles também precisam manter o desempenho e o conforto do usuário em todos os momentos.They also need to maintain performance and user comfort at all times. Este guia está aqui para ajudá-lo a testar essas áreas.This guide is here to help you with testing these areas.

DesempenhoPerformance

Os aplicativos Holographic precisam ser executados sem problemas em um conjunto diversificado de ambientes.Holographic apps need to run smoothly in a diverse set of environments. Eles também precisam manter o desempenho e o conforto do usuário em todos os momentos.They also need to maintain performance and user comfort at all times. O desempenho é tão importante para a experiência do usuário com um aplicativo Holographic que temos um tópico inteiro dedicado a ele.Performance is so important to the user's experience with a Holographic app that we have an entire topic devoted to it. Certifique-se de ler e seguir o desempenho de compreensão para realidade misturadaMake sure you read and follow the Understanding Performance for Mixed Reality

Testando 3D em 3DTesting 3D in 3D

  1. Teste seu aplicativo em quantos espaços diferentes forem possíveis.Test your app in as many different spaces as possible. Experimente grandes salas, salas pequenas, intervaloss, cozinhas, quartos, escritórios e assim por diante.Try in large rooms, small rooms, bathrooms, kitchens, bedrooms, offices, and so on. Também leve em consideração as salas com recursos não padrão, como paredes não verticais, paredes curvas, tetos não horizontais.Also take into consideration rooms with non-standard features such as non-vertical walls, curved walls, non-horizontal ceilings. Ele funciona bem ao fazer a transição entre salas, andares, percorrendo corredores ou escadas?Does it work well when transitioning between rooms, floors, going through hallways or stairs?
  2. Teste seu aplicativo em condições de iluminação diferentes.Test your app in different lighting conditions. Ele responde corretamente a diferentes condições ambientais, como iluminação, superfícies pretas e superfícies transparentes ou de reflexão, como espelhos e paredes de vidro.Does it respond properly to different environmental conditions like lighting, black surfaces, and transparent or reflective surfaces like mirrors and glass walls.
  3. Teste seu aplicativo em condições de movimento diferentes.Test your app in different motion conditions. Coloque no dispositivo e experimente seus cenários em vários Estados de movimento.Put on device and try your scenarios in various states of motion. Ele responde corretamente a um estado estável ou de movimento diferente?Does it respond properly to different movement or steady state?
  4. Teste como seu aplicativo funciona de diferentes ângulos.Test how your app works from different angles. Se você tiver um holograma protegido por um mundo, o que acontecerá se o usuário se movimentar por trás dele?If you have a world locked hologram, what happens if your user walks behind it? O que acontece se algo vier entre o usuário e o holograma?What happens if something comes between the user and the hologram? E se o usuário examinar o holograma acima ou abaixo?What if the user looks at the hologram from above or below?
  5. Use indicações espaciais e de áudio. Verifique se seu aplicativo usa indicações espaciais e de áudio para impedir que o usuário se perca.Use spatial and audio cues. Make sure your app uses spatial and audio cues to prevent the user from getting lost.
  6. Teste seu aplicativo em diferentes níveis de ruído de ambiente.Test your app at different levels of ambient noise. Se você tiver implementado comandos de voz, tente chamá-los com diferentes níveis de ruído de ambiente.If you've implemented voice commands, try invoking them with varying levels of ambient noise.
  7. Teste seu aplicativo encaixado e em pé.Test your app seated and standing. Certifique-se de testar as posições de assentos e de posição.Make sure to test from both seating and standing positions.
  8. Teste seu aplicativo de distâncias diferentes.Test your app from different distances. Os elementos da interface do usuário podem ser lidos e interagindos de longe?Can UI elements be read and interacted with from far away? Seu aplicativo reage aos usuários ficando muito próximos de seus hologramas?Does your app react to users getting too close to your holograms?
  9. Teste seu aplicativo em relação às interações comuns da barra de aplicativos.Test your app against common app bar interactions. Todos os blocos de aplicativo e aplicativos universais 2D têm uma barra de aplicativos que permite controlar a posição dos aplicativos no mundo misto.All app tiles and 2D universal apps have an app bar that lets you control the apps position in the Mixed World. Certifique-se de que clicar em remover finaliza o processo do aplicativo normalmente e que o botão voltar tenha suporte no contexto do seu aplicativo 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. Tente dimensionar e mover seu aplicativo no modo ajustar enquanto ele estiver ativo e, embora seja um bloco de aplicativo suspenso.Try scaling and moving your app in Adjust mode both while it's active, and while it's a suspended app tile.

Matriz de teste ambientalEnvironmental test matrix

Matriz de teste de ambiente para desenvolvimento de aplicativo HoloLens

ConfortoComfort

  1. Planos de corte.Clip planes. Ser cuidadosa para onde os hologramas são renderizados.Be attentive to where holograms are rendered.
  2. Evite a movimentação virtual inconsistente com a movimentação de cabeçalho real.Avoid virtual movement inconsistent with actual head movement. Evite mover a câmera de forma que não seja representativa do movimento real do usuário.Avoid moving the camera in a way that isn't representative of the user's actual motion. Se seu aplicativo exigir a movimentação do usuário por meio de uma cena, torne o movimento previsível, minimize a aceleração e permita que o usuário controle o movimento.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 as diretrizes de qualidade do holograma.Follow the hologram quality guidelines. Aplicativos de alto desempenho que implementam as diretrizes de qualidade do holograma são menos prováveis de resultar no discomfort do usuário.Performant apps that implement the hologram quality guidance are less likely to result in user discomfort.
  4. Distribua os hologramas horizontalmente em vez de verticalmente.Distribute holograms horizontally rather than vertically. Forçar o usuário a gastar períodos prolongados de tempo de pesquisa ou redução pode levar a fadiga no pescoço.Forcing the user to spend extended periods of time looking up or down can lead to fatigue in the neck.

EntradaInput

Modelos de interaçãoInteraction models

Verifique se as interações de holograma funcionam com o modelo de interaçãoescolhido.Make sure the hologram interactions work with your chosen interaction model. Também é uma boa ideia validar com acessórios diferentes, como mouse e teclado, se for necessário para dar suporte à acessibilidade.It's also a good idea to validate with different accessories like mouse and keyboard if they're needed to support accessibility.

Valide quando seu aplicativo tiver um comportamento diferente com o mouse e o toque.Validate when your app has a different behavior with mouse and touch. Identifica inconsistências e ajuda com decisões de design para tornar a experiência mais natural para os usuários.Identifies inconsistencies and help with design decisions to make the experience more natural for users. Por exemplo, disparar uma ação com base no foco.For example, triggering an action based on hover.

Comandos de voz personalizadosCustom voice commands

A entrada de voz é uma forma natural de interação.Voice input is a natural form of interaction. A experiência do usuário pode ser mágico ou confusa, dependendo da sua escolha de comandos e de como você os expõe.The user experience can be magical or confusing depending on your choice of commands and how you expose them. Como regra, você não deve usar comandos de voz do sistema, como "Select" ou "Ei Cortana" como comandos personalizados.As a rule, you shouldn't use system voice commands such as "Select" or "Hey Cortana" as custom commands. Aqui estão alguns pontos a serem considerados:Here are a few points to consider:

  1. Evite usar comandos que parecem semelhantes.Avoid using commands that sound similar. Potencialmente pode disparar o comando incorreto.Can potentially trigger the incorrect command.
  2. Escolha palavras com o formato fonético, quando possível.Choose phonetically rich words when possible. Minimiza e/ou evita ativações falsas.Minimizes and/or avoid false activations.

PeriféricosPeripherals

Os usuários podem interagir com seu aplicativo por meio de periféricos.Users can interact with your App through peripherals. Os aplicativos não precisam fazer nada especial para aproveitar esse recurso, no entanto, há algumas coisas que vale a pena verificar.Apps don't need to do anything special to take advantage of that capability, however there are a couple things worth checking.

  1. Validar interações personalizadas.Validate custom interactions. Coisas como atalhos de teclado personalizados para seu aplicativo.Things like custom keyboard shortcuts for your app.
  2. Valide a alternância de tipos de entrada.Validate switching input types. A tentativa de usar vários métodos de entrada para concluir uma tarefa, como voz, gesto, mouse e teclado, tudo no mesmo cenário.Attempting to use multiple input methods to complete a task, such as voice, gesture, mouse, and keyboard all in the same scenario.

Integração do sistemaSystem integration

BateriaBattery

Teste seu aplicativo sem uma fonte de energia conectada para entender a rapidez com que ele drena a bateria.Test your application without a power source connected to understand how quickly it drains the battery. É possível entender facilmente o estado da bateria examinando as leituras do LED de energia.One can easily understand the battery state by looking at Power LED readings.

Estados de LED que indicam a energia da bateria

Estados de LED que indicam a energia da bateriaLED states that indicate battery power

Transições de estado de energiaPower state transitions

Os principais cenários de validação funcionam conforme o esperado ao fazer a transição entre os Estados de energia.Validate key scenarios work as expected when transitioning between power states. Por exemplo, o aplicativo permanece em sua posição original?For example, does the application remain at its original position? Ele mantém corretamente seu estado?Does it correctly persist its state? Ele continua funcionando conforme o esperado?Does it continue to function as expected?

  1. Retomada/retomar.Stand-by / Resume. Para entrar em espera, é possível pressionar e liberar o botão de energia imediatamente.To enter standby, one can press and release the power button immediately. O dispositivo também entrará em espera automaticamente após 3 minutos de inatividade.The device also will enter standby automatically after 3 minutes of inactivity. Para retomar do modo de espera, é possível pressionar e liberar o botão de energia imediatamente.To resume from standby, one can press and release the power button immediately. O dispositivo também será retomado se você se conectar ou desconectá-lo de uma fonte de alimentação.The device will also resume if you connect or disconnect it from a power source.
  2. Desligamento/reinicialização.Shutdown / Restart. Para desligar, pressione e mantenha pressionado o botão de energia continuamente por 6 segundos.To shut down, press and hold the power button continuously for 6 seconds. Para reiniciar, pressione o botão de energia.To restart, press the power button.

Cenários de vários aplicativosMulti-app scenarios

Valide a funcionalidade principal do aplicativo ao alternar entre aplicativos, especialmente se você tiver implementado uma tarefa em segundo plano.Validate core app functionality when switching between apps, especially if you've implemented a background task. A integração de copiar/colar e Cortana também vale a pena verificar onde aplicável.Copy/Paste and Cortana integration are also worth checking where applicable.

TelemetriaTelemetry

Use a telemetria e a análise para orientá-lo.Use telemetry and analytics to guide you. A integração da análise em seu aplicativo ajudará você a obter informações sobre seu aplicativo de seus testadores beta e usuários finais.Integrating analytics into your app will help you get insights about your app from your Beta testers and end users. Esses dados podem ser usados para ajudar a otimizar seu aplicativo antes do envio para a loja e para atualizações futuras.This data can be used to help optimize your app before submission to the Store and for future updates. Há muitas opções de análise por aí.There are many analytics options out there. Se você não tiver certeza de onde começar, confira o app insights.If you're not sure where to start, check out App Insights.

Perguntas a serem consideradas:Questions to consider:

  1. Como os usuários estão usando o espaço?How are users using the space?
  2. Como o aplicativo está colocando objetos no mundo – você pode detectar problemas?How is the app placing objects in the world - can you detect problems?
  3. Quanto tempo eles gastam em diferentes estágios do aplicativo?How much time do they spend on different stages of the application?
  4. Quanto tempo eles gastam no aplicativo?How much time do they spend in the app?
  5. Quais são os caminhos de uso mais comuns que os usuários estão tentando?What are the most common usage paths the users are trying?
  6. Os usuários estão atingindo Estados ou erros inesperados?Are users hitting unexpected states or errors?

Emulador e entrada simuladaEmulator and simulated input

O emulador do HoloLens é uma ótima maneira de testar com eficiência seu aplicativo Holographic com diferentes tipos de características e espaços de usuário simulados.The HoloLens emulator is a great way to efficiently test your Holographic app with different kinds of simulated user characteristics and spaces. Aqui estão algumas sugestões para usar efetivamente o emulador para testar seu aplicativo:Here are some suggestions for effectively using the emulator to test your app:

  1. Use as salas virtuais do emulador para expandir seus testes.Use the emulator's virtual rooms to expand your testing. O emulador vem com um conjunto de salas virtuais que você pode usar para testar seu aplicativo em ambientes ainda mais.The emulator comes with a set of virtual rooms that you can use to test your app in even more environments.
  2. Use o emulador para examinar seu aplicativo de todos os ângulos.Use the emulator to look at your app from all angles. As chaves PageUp/PageDn tornarão o usuário simulado mais alto ou menor.The PageUp/PageDn keys will make your simulated user taller or shorter.
  3. Teste seu aplicativo com um HoloLens real.Test your app with a real HoloLens. O emulador do HoloLens é uma excelente ferramenta para ajudá-lo a iterar rapidamente em um aplicativo e detectar novos bugs, mas também deve testar um HoloLens físico antes de enviar para a Windows Store.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. Isso é importante para garantir que o desempenho e a experiência sejam ótimos no hardware real.This is important to ensure that the performance and experience are great on real hardware.

Teste automatizado com simulação de percepçãoAutomated testing with Perception Simulation

Alguns desenvolvedores de aplicativos podem querer automatizar o teste de seus aplicativos.Some app developers might want to automate testing of their apps. Além dos testes de unidade simples, você pode usar a pilha de simulação de percepção no HoloLens para automatizar a entrada humana e mundial para seu aplicativo.Beyond simple unit tests, you can use the perception simulation stack in HoloLens to automate human and world input to your app. A API de simulação de percepção pode enviar entrada simulada para o emulador do HoloLens ou um HoloLens físico.The perception simulation API can send simulated input to either the HoloLens emulator or a physical HoloLens.

Kit de Certificação de Aplicativos WindowsWindows App Certification Kit

Para dar ao seu aplicativo a melhor chance de ser publicado na Windows Store, valide-o e teste-o localmente antes de enviá-lo para certificação.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. Se seu aplicativo for destinado à família de dispositivos Windows. Holographic, o Kit de certificação de aplicativos para Windows executará apenas testes de análise estática local em seu computador.If your app targets the Windows.Holographic device family, the Windows App Certification Kit will only run local static analysis tests on your PC. Nenhum teste será executado em seu HoloLens.No tests will be run on your HoloLens.

Veja tambémSee also