Última atualização em 30 de setembro de 2020 — Continuous Testing Expert

Entregar valor comercial é o nome do jogo na Experiest e em nossa organização controladora Digital.ai. Ambos estamos interessados ​​em construir a confiança do cliente através de experiências digitais inovadoras. O escopo de toda a organização é baseado em Gerenciamento do fluxo de valor ou VSM, nossa parte do processo, como temos certeza que você já sabe, é ajudar nossos clientes a fornecer aplicativos móveis e web impecáveis. Uma das maneiras de fazer isso é com teste de performance é por isso que escrevi esta lista de verificação de testes de desempenho, mas primeiro.

Nosso continuous testing plataforma tem dois alvos principais:

  1. Criando e executando centenas de testes manuais ou automatizados em paralelo em dispositivos reais na nuvem.
  2. Automatizando seu teste cross-browser executando testes Selenium em mais de 1,000 tipos de navegadores, versões e sistemas operacionais.

“Mas espere”, eu posso ouvir você gritando comigo em sua melhor impressão de Ron Popiel, “Há mais”. E você estaria certo porque, mesmo que faça todos esses testes, se seu aplicativo desperdiçar memória do dispositivo ou energia da bateria, ele afundará assim que chegar à loja de aplicativos. É por isso que preparamos esta lista de verificação de teste de desempenho para ajudá-lo.

O que é teste de desempenho?

O processo de teste de desempenho de aplicativos móveis e da web é testar a velocidade, o tempo de resposta, a estabilidade da confiabilidade e a escalabilidade de seu aplicativo usando uma determinada carga de trabalho. O resultado que você está procurando é livrar-se de qualquer gargalo de desempenho em seus aplicativos da web e móveis. Em alguns círculos, é conhecido pela gíria “Teste de desempenho” que não deve ser confundido com o teste de armas de brinquedo de disparo de projéteis de espuma. Isso seria conhecido como Teste de Nerf.

O teste de desempenho se concentra no seguinte:

  • Velocidade – a rapidez com que seu aplicativo responde.
  • Estabilidade – Quão estável é um aplicativo sob estresse de carga.
  • Escalebilidade – O número máximo de usuários que podem carregar o aplicativo de uma só vez sem problemas.

Sem desempenho, teste para eliminar os gargalos de desempenho que seus aplicativos da Web e móveis provavelmente sofrerão de lentidão quando muitos usuários os acessam, baixa usabilidade e operação inconsistente em diferentes sistemas operacionais.

Aqui estão algumas estatísticas cortesia de Dun & Bradstreet que ilustram a importância do Teste de Desempenho.

  • As empresas da Fortune 500 experimentam quase 2 horas de inatividade por semana. Isso soma cerca de US$ 46 milhões por ano.
  • O Google travou por 5 minutos em 2013, o que custou até US$ 550 mil.
  • Durante uma recente interrupção da AWS, as empresas perderam vendas no valor de até US$ 1100 por segundo.

Armado com esta informação importante, vamos dar uma olhada na lista de verificação de teste de desempenho começando com as diferentes áreas de desempenho que precisam ser testadas com um exemplo para cada uma.

Tipos de testes de desempenho

lista de verificação de teste de desempenho

Teste de carga – Um processo de web não funcional e teste de aplicativo móvel onde o desempenho é medido de acordo com a carga esperada específica do aplicativo. Este tipo de teste de desempenho identifica como um aplicativo web ou móvel se comporta quando acessado por muitos usuários diferentes ao mesmo tempo. O objetivo do teste de carga é release gargalos de desempenho do aplicativo, ao mesmo tempo em que torna um aplicativo mais estável e altamente funcional antes release.

  • Exemplo de teste de carga – Uma companhia aérea experimentou muitas falhas de aplicativos quando milhões de pessoas tentaram mudar seus voos devido à situação do Covid-19.

Teste de estresse – Este é o próximo nível de teste de carga. Em vez de tentar ver como um aplicativo funciona sob as cargas esperadas, a ideia aqui é empilhar a carga até encontrar o ponto de interrupção do aplicativo. Você deseja fazer um teste de estresse para encontrar o ponto de interrupção do seu aplicativo.

  • Exemplo de teste de estresse – Uma companhia aérea que está trabalhando para atualizar seus recursos de carga testa seu aplicativo para a carga de 2,500 em vez dos 2,000 para os quais o aplicativo está classificado.

Teste de Resistência – Também conhecido como teste de resistência Soak Testing, verifica por quanto tempo um aplicativo da Web ou móvel pode funcionar em seu pico de carga esperado. Isso ajuda a descobrir problemas como vazamento de memória.

  • Exemplo de teste de resistência – Uma empresa de contabilidade tem um aplicativo que ajuda as pessoas a declarar seus impostos. Entendendo que esse processo leva muito tempo, a empresa executaria testes de resistência que duram de 24 a 48 horas para garantir que o aplicativo esteja funcionando corretamente.

Teste de pico – Testa como um aplicativo da Web ou móvel funciona com um aumento repentino de usuários. Além disso, ajuda a entender como os aplicativos se recuperam desses picos repentinos de tráfego.

  • Exemplo de teste de pico – Um aplicativo de mídia social experimenta grandes rajadas de tráfego quando chegam notícias virais. Eles usam testes de pico para simular experiências de notícias virais.

Teste de Volume – Isso é feito adicionando uma grande quantidade de dados ao seu banco de dados de aplicativos móveis ou da Web. O objetivo é ver como o aplicativo é executado em diferentes volumes de banco de dados.

  • Exemplo de teste de volume – Um aplicativo de varejo precisa adicionar centenas de novos itens de vestuário para a nova temporada. Eles inserem todas essas informações no banco de dados e, em seguida, executam seus testes de desempenho.

Tipos de métricas que são medidos com o teste de desempenho

A maneira como realizamos esses diferentes tipos de testes de desempenho é monitorando dispositivos e medindo várias métricas que nos mostrarão como melhorar nossos aplicativos da Web e móveis. Antes de nos aprofundarmos, um pequeno esclarecimento.

  • Medidas – Todos os dados coletados de um aplicativo.
  • Métrica – Usando medições para definir a qualidade do resultado (tempo de resposta médio/total, etc.).

Aqui está a lista de verificação de teste de desempenho para maneiras de medir velocidade, estabilidade e escalabilidade.

  • Tempo de Resposta – Tempo que leva para enviar uma solicitação e receber uma resposta.
  • Tempo de espera – Quanto tempo leva para receber o byte #1 após o envio de uma solicitação. Também chamada de Latência Média.
  • Tempo médio de carregamento – Tempo médio de entrega dos pedidos. O principal indicador da qualidade do aplicativo de uma perspectiva de UX.
  • Tempo de resposta de pico – Medição do tempo mais longo para o atendimento de uma solicitação. Se esse tempo for maior que a média, isso pode indicar um problema.
  • Taxa de erro – Ao comparar a porcentagem de solicitações que resultam em erros com todas as solicitações, você calculará esse número. Esses erros geralmente são resultado de problemas com capacidade de carga excedida.
  • Usuários concorrentes – Número total de usuários ativos a qualquer momento. Também chamado de Tamanho da Carga.
  • Solicitações por segundo – Número de solicitações atendidas
  • Transações aprovadas/reprovadas – O número total de solicitações, sejam elas bem-sucedidas ou não.
  • Produtividade – Quantidade de largura de banda usada durante o teste. Medido em KB por segundo.
  • Utilização da CPU – Tempo que a CPU leva para processar uma requisição.
  • Utilização de Memória – Memória necessária para processar uma solicitação.

Ferramentas para testar o desempenho de aplicativos da Web e móveis

Existem muitas ferramentas que ajudam você a implementar testes de desempenho antecipadamente e continuamente como parte de seu pipeline de CI. Essas ferramentas ajudam você a fornecer software de alta qualidade com ótimas experiências do cliente.

Com o número crescente dessas ferramentas e a dificuldade em diferenciá-las, vamos nos concentrar apenas em nossa ferramenta.

Oferta de teste de desempenho da SeeTest oferece a capacidade de adicionar testes de desempenho móvel e da Web ao seu conjunto de automação de teste. Ao utilizar o teste de desempenho para dispositivos móveis e web, você descobrirá a causa dos problemas de desempenho com antecedência. Isso eliminará atrasos na entrega e antes que seus usuários os encontrem.

Nossa ferramenta também fornece medições detalhadas de dados de desempenho, incluindo:

  • Duração da transação
  • Índice de velocidade
  • Consumo de CPU
  • Consumo de Memória
  • Consumo de bateria
  • Dados de rede (upload e download)

Trazendo valor com esta lista de verificação de teste de desempenho

O teste de desempenho ajuda a revelar como seus aplicativos da web e móveis se comportam em diferentes situações. Claro que pode funcionar bem com 10 usuários executando-o simultaneamente, mas e quanto a 100 ou mais? O desejo de fornecer uma experiência de aplicativo de alta velocidade, estável e escalável impulsiona os testes de desempenho.

Para concluir, vimos acima como o teste de desempenho do aplicativo ajuda seu aplicativo web e móvel releases. A verdade é que esse tipo de teste deve ser implementado no início do processo de desenvolvimento. Isso permitirá que você detecte bugs mais cedo e, por extensão, aumente a satisfação enquanto economiza tempo e dinheiro.

Johnny Steiner - Gerenciador de conteúdo

Você está pronto para escalar sua empresa?

Explore

O que há de novo no mundo da Digital.ai

22 de julho de 2024

Resumo do Incidente e Prevenção CrowdStrike com Digital.ai Soluções

Em 19 de julho de 2024, uma atualização de configuração de software com defeito de…

Saber Mais​
15 de julho de 2024

Selecionando as ferramentas de teste automatizado certas: uma cartilha

Aprenda a selecionar a ferramenta de teste automatizado certa para sua pilha de tecnologia. Do gerenciamento de testes aos testes entre navegadores, cobrimos os principais recursos que você precisa conhecer.

Saber Mais​
8 de julho de 2024

A lógica dos testes: como velocidade, segurança e qualidade formam um script perfeito

Descubra a lógica dos testes: como continuous testing, segurança de aplicativos e colaboração desbloqueiam velocidade, segurança e qualidade para entrega eficiente de software.

Saber Mais​