Testar e solucionar problemas do aplicativo

Concluído

Agora que você aprendeu sobre gargalos de desempenho e algumas maneiras de mitigá-los, esta unidade discute técnicas de teste. Essas técnicas são uma combinação de diretrizes, técnicas e descobertas que se aplicam ao teste de desempenho e à depuração geral.

Usar o controle do Temporizador para obter métricas

Quando se trata de trabalhar com conexões de dados para recuperar ou fazer upload de dados, números precisos são úteis. No Power Apps, você pode usar um controle de Timer para capturar quanto tempo sua fórmula leva para ser executada. O cenário a seguir mostra como fazer isso com os seguintes controles:

  • Botão

  • Timer

  • Rótulo de texto

Suponha que você tenha uma fonte de dados chamada 'Rastreador de treino', seu controle de Timer se chame Timer1 e seu controle Botão tenha uma propriedade OnSelect definida como o seguinte:

Collect(colWorkoutTracker, Filter('Workout tracker', Status = "Active"))
  1. Para configurar isso, primeiro modificamos a fórmula OnSelect do controle botão para:

    Reset(Timer1);
    UpdateContext({StartTimer: true});
    Refresh('Workout tracker');
    ClearCollect(colWorkoutTracker, Filter('Workout tracker', Status = "Active"));
    UpdateContext({StartTimer: false})
    

    Essa fórmula começa zerando o temporizador. Em seguida, atualiza uma variável de contexto que usamos para iniciar/parar o temporizador para "true". Depois, cria a coleção e define a variável de contexto novamente como "false".

  2. A seguir, você precisa atualizar uma propriedade no controle de Timer; defina a propriedade Start como o seguinte: StartTimer.

  3. Agora insira um controle de Rótulo de texto para exibir a hora.

  4. Para a propriedade Text do controle Rótulo, defina a fórmula como: Timer1.Value

  5. Agora, visualize o aplicativo e selecione o Botão.

Com seu aplicativo no modo de visualização, a seleção do botão exibe quanto tempo a coleção levou para ser criada em milissegundos.

Observação

O controle de timer não iniciará a contagem, a menos que o aplicativo esteja no modo de versão preliminar.

Essa técnica funciona quando você deseja entender exatamente quanto tempo uma consulta específica está levando. É possível registrar esses dados em uma coleção diferente e, em seguida, fazer uma média dos números para determinar o tempo gasto. Você também pode aplicar esse conceito ao enviar dados. Lembre-se de testar não somente o computador local, mas também todos os cenários dos ambientes do usuário.

Testar no local em que os usuários utilizarão o aplicativo

É mais um conselho do que uma técnica. Para a maioria dos criadores de aplicativos, o melhor local para executá-los é no PC local usado para criar os aplicativos. Testar nesse computador normalmente gera os melhores resultados de caso, mas pode não estar de acordo com a experiência do usuário. É muito comum esquecer de testar a maneira como o usuário executará o aplicativo. Por exemplo, se você criar um aplicativo móvel que é executado em uma rede celular, verifique se o teste é em uma rede celular. O fator forma menor do dispositivo móvel e a latência de diferentes conexões de Internet precisam ser levados em consideração no design do aplicativo. O método de teste de timer anterior é ótimo nesse caso. Compare a consulta ou o desempenho de upload do aplicativo entre o PC, o celular no Wi-Fi e o celular com os dados celulares. Determine se você está satisfeito com todos os três cenários ou se precisa otimizar o aplicativo para a rede mais lenta.

Usar rótulos para ajudar no teste

À medida que seu aplicativo incorporar lógica mais complexa e mais variáveis nos bastidores para facilitar essa lógica, considere usar controles de rótulo como parte do kit de ferramentas de teste. Simplesmente adicionar um rótulo à tela que exibe o valor da variável pode ajudar muito a entender por que o aplicativo está ou não fazendo algo. Use isso durante a fase de compilação e testes. Quando o aplicativo estiver ativo, adicione outras funcionalidades para ocultar e mostrar essas ferramentas de solução de problemas.

No Power Apps Studio, também é possível selecionar Arquivo e Variáveis para ver todas as variáveis, seus valores, onde elas foram criadas e onde são usadas no aplicativo.

Outra maneira de usar rótulos durante o processo de criação é adicionar um rótulo à tela de boas-vindas, em que você exibe manualmente um número de versão. O Power Apps armazena o aplicativo em cache para otimizar a experiência. Quando você publica repetidamente, como ao personalizar um formulário do SharePoint, pode ser confuso saber qual versão do formulário está sendo exibida, pois pode ser a versão armazenada em cache. Adicionando um rótulo com v1 ou v2 no canto, você sempre pode verificar a versão.

Aplicativos em versão preliminar ou aplicativos publicados

Com a funcionalidade de versão preliminar do Power Apps Studio, é possível ter ótimos insights sobre como o aplicativo será executado após a publicação. No entanto, às vezes, você encontrará algumas inconsistências devidas ao cache ou outras tarefas do PC local em relação à ação que o aplicativo publicado fará no player. Lembre-se sempre de testar seu aplicativo depois que ele for publicado, de uma maneira que seja consistente com a forma como o usuário o utiliza.

Analisar a atividade de rede do aplicativo

Agora que você aprendeu a testar no aplicativo, é preciso analisar as chamadas e o desempenho da rede. Para fazer isso, você pode usar a função Monitor integrada. Assim, você poderá ver as chamadas individuais à rede feitas pelo aplicativo e os detalhes, como a duração de cada chamada. Do ponto de vista do desempenho, isso pode ser importante.

Para acessar o Monitor, você pode selecionar o ícone Ferramentas avançadas na barra de ferramentas do lado esquerdo ou selecionar o ícone Verificador de aplicativos na barra de comandos. Com ambas as opções, você verá um link para Abrir Monitor.

Depois que você selecionar Abrir Monitor, uma sessão de monitor será aberta em uma guia separada do navegador com uma lista de eventos em branco e uma mensagem informando: "Você iniciou uma nova sessão do Monitor".

O Monitor agora rastreia e registra todas as ações do aplicativo, inclusive o desempenho da rede. Você pode usar isso para ver as chamadas para a fonte de dados, quanto tempo elas estão demorando e quais informações estão chegando/saindo.

Um exemplo de como você pode usar isso é determinar se um atraso de desempenho, conforme medido pelo controle de Timer do exemplo anterior, está ocorrendo no aplicativo, na rede ou na fonte de dados. Você coloca o aplicativo no modo de Visualização e começa a usá-lo como um usuário faria. No exemplo abaixo, usamos nosso exemplo com o botão e o controle de Timer para ver quanto tempo leva para obter os dados da fonte e criar a coleção. Observe que as informações retornadas fornecem carimbos de data/hora, categoria, operação, resultado, informações de resultado, status, duração (em milissegundos), fonte de dados e o controle selecionado (do aplicativo).

Captura de tela dos resultados do Monitor após a seleção de um botão em um aplicativo.

Nesta instância, a maioria do tempo foi gasto aguardando a fonte de dados filtrar os dados e responder. Isso indica que você não pode fazer a chamada com mais rapidez alterando o aplicativo. Em vez disso, você precisa se concentrar em refinar a consulta ou acelerar a fonte de dados.

O Monitor permite algumas funcionalidades interessantes que não abordamos completamente neste módulo. Procure um link na unidade de resumo se quiser saber mais sobre isso. Todas as técnicas que abordamos podem auxiliar a testar e solucionar problemas no aplicativo.