O teste de carga é um tipo de teste entre os diferentes tipos de testes de desempenho que determina o desempenho do sistema em condições de carga em tempo real. O papel das APIs evoluiu muito nos últimos anos. Quando as APIs eram usadas apenas para tarefas como extração de relatórios, seu desempenho nunca foi um fator-chave. No entanto, as APIs têm se movido lentamente para o caminho crítico entre um usuário final e a empresa de serviços oferece, o que é muito crítico. Uma vez que cada vez mais organizações estão usando APIs para fornecer seus serviços, sua segurança e desempenho se tornaram um fator-chave. Aqui vamos discutir sobre um mecanismo de segurança da API, que é chamado de OAuth 2.0, e como podemos fazer testes de carga em APIs da OAuth Web.

 

O que é OAuth?

OAuth é o protocolo padrão do setor para autorização. OAuth se concentra na simplicidade cliente-desenvolvedor, ao mesmo tempo em que fornece fluxos de autorização específicos para aplicativos web, aplicativos de desktop, telefones celulares, etc. Esta especificação e suas extensões estão sendo desenvolvidas dentro do Grupo de Trabalho IETF OAuth. OAuth é comumente usado como uma maneira de os usuários da Internet fazerem login em sites de terceiros usando suas contas Microsoft, Google, Facebook, Twitter, Slack, etc., sem expor sua senha.

OAuth 1.0 é suspeito de falhas de segurança e retirou seu apoio. OAuth 2.0 é o mais recente, com recursos de segurança mais avançados. OAuth 2.0 permite que os usuários compartilhem dados específicos com um aplicativo, mantendo seus nomes de usuário, senhas e outras informações privadas. Por exemplo, um aplicativo pode usar o OAuth 2.0 para obter permissão dos usuários para armazenar arquivos. De acordo com o site da OAuth,é como uma chave de manobrista de carro. Muitos carros de luxo hoje vêm com uma chave de manobrista. É uma chave especial que você dá ao atendente de estacionamento e ao contrário da sua chave normal, não permitirá que o carro dirija mais de uma milha ou duas. Algumas chaves de manobrista não abrirão o porta-malas, enquanto outras bloquearão o acesso à sua agenda de endereços de celular a bordo. Independentemente das restrições que a chave do manobrista impõe, a ideia é muito inteligente. Você dá a alguém acesso limitado ao seu carro com uma chave especial enquanto usa sua chave regular para desbloquear tudo.

 

Por que o teste de carga das APIs da Web doAuth é importante

Seja qual for o seu papel em uma organização, pelo menos de vez em quando você teria ouvido falar de uma API. Então, o que é API? Uma API significa Interface de Programação de Aplicativos. Uma API é um conjunto de regras e instruções de como se comunicar com um aplicativo quando um usuário acessa um aplicativo através da internet. Um pedido poderia ser tão simples quanto este:

GET: https://userauth.dotcom-monitor.com/login

Se você acha que o teste funcional é suficiente para você aplicação e é isso que todos os clientes se importam, você estaria incorreto. E se seu site entrar ao vivo em conjunto com uma campanha de marketing e milhares de potenciais clientes começarem a fazer login. É só então que você percebe que seus clientes estão encontrando erros durante o processo de login. A partir desse momento, você está perdendo potenciais negócios e a imagem da sua organização.

Para evitar essa situação humilhante, o teste de carga está aplicando o tráfego que você espera ver na produção, sistematicamente para seus servidores de aplicativos, a fim de determinar como o aplicativo se comporta antes de entrar em operação. Se você implementou o OAuth, você pode realizar testes de carga de API simulando vários usuários enviando solicitações para o seu servidor ao mesmo tempo. Existem diferentes maneiras de executar testes de carga, mas o teste de carga de API é um dos métodos mais fáceis e opções mais econômicas. Isso porque é simples de script e há muitas ferramentas de código aberto da indústria que você pode usar para gerar e executar seus scripts.

Se você não está familiarizado com os testes de API e como o teste de carga funciona, aqui está um bom artigo onde você pode obter algum conhecimento sobre testes de API.

Uma solicitação de API no LoadView pode ser feita de duas maneiras: usando o EveryStep Web Recorder para gravar um script ou uma tarefa HTTP. Você pode gravar a API usando um aplicativo que usa a API ou usando a solução LoadView. Além disso, é muito importante que, se o seu aplicativo usar uma API de terceiros, você precisa carregar essas APIs também para garantir que elas aderam às suas necessidades.

 

Fluxo/Fases OAuth

Aqui vamos explicar o fluxo OAuth 2.0 com a ajuda da solução LoadView. LoadView é uma plataforma de teste de carga sob demanda que torna possível testes de carga realistas sem um investimento antecipado em hardware ou infraestrutura de software. A aplicação que vamos fazer o teste é um aplicativo de saúde usado pelos médicos.

De agora em diante, vamos nos referir ao aplicativo-alvo como “aplicação de saúde”. O aplicativo de saúde está hospedado no Azure e eles usaram os serviços Microsoft OAuth 2.0 durante o processo de login, para que os médicos possam acessar e podem fazer login com seu endereço de e-mail hospitalar que já está cadastrado. Basicamente, esta aplicação fornecerá todos os detalhes sobre o histórico do paciente.

O fluxo OAuth 2.0 é especificamente para autorização do usuário. Ele é projetado para aplicativos que podem armazenar informações confidenciais e manter o estado. Um aplicativo de servidor web devidamente autorizado pode acessar uma API enquanto o usuário interage com o aplicativo ou depois que o usuário deixou o aplicativo.

Aqui está o passo-a-passo que mostrará o fluxo OAuth 2.0, juntamente com as configurações correspondentes do LoadView para testes de desempenho.

Há apenas duas ações no fluxo, mas depende da necessidade dos desenvolvedores se eles vão fazê-lo com múltiplas sequências da API. Uma configuração e complexidade de API OAuth 2.0 mudarão com base na segurança do aplicativo e na exigência do desenvolvedor. Nunca é um processo de tamanho único.

Existem duas maneiras de carregar o teste OAuth 2.0 usando o LoadView.

  1. Solicite desenvolvedores para a sequência da autenticação OAuth da API. Este é o mais simples e direto. Outra vez use a exibição de carga
  2. Grave-o usando a ferramenta de scripting EveryStep Web Recorder. Você pode testar o gravador para si mesmo aqui.

Usar o EveryStep Web Recorder é fácil de usar e é mais eficaz e eficiente, já que não precisamos depender de desenvolvedores.

 

Processo 1. Processo de teste de carga OAuth 2.0 com o gravador web EveryStep

Passo 1. Acesse o EveryStep Web Recorder.

OAuth gravar novo roteiro

Passo 2. Digite a URL do seu aplicativo e selecione Gravar Agora.

OAuth recorde agora

 

Passo 3. Siga o cenário de login do seu aplicativo.

Cenário de login da OAuth

 

Passo 4. Verifique todos os detalhes do aplicativo.

OAuth verificar detalhes

 

Passo 5: É isso. Reproduza e certifique-se de que está funcionando. Simples, certo? Uma vez que a gravação esteja concluída, configure-a na plataforma LoadView e realize seu teste de carga.

 

Processo 2. Usando a sequência de API OAuth 2.0 usando o LoadView

Nota: São necessárias duas ações para concluir o processo OAuth 2.0.

Ação 1. Obter código de autorização

Ação 2. Troque o código de autenticação por um token de acesso

Nota: Você precisa solicitar detalhes de solicitação do servidor API e detalhes de dados do corpo da equipe de desenvolvimento

Passo 1. Crie sua conta LoadView e vá para o painel LoadView para selecionar o tipo API para testes.

OAuth cria novo teste de carga

Passo 2. Para fins de demonstração, estamos selecionando HTTP/S. Sua situação pode diferir dependendo do tipo de serviço de API.

Teste https de OAuth

 

Passo 3. Configure sua solicitação de API para atingir o servidor de API do aplicativo.

OAuth configura dispositivo

 

Passo 4. O servidor API redireciona para página de login dizendo, para acessar os dados: fazer login com a Microsoft (provedor OAuth) para acessar a página. Você pode ver OAuth 2 na URL.

OAuth login URL

Passo 5. O usuário insere o endereço de e-mail e senha e clica em login, digita seu nome de usuário e senha e, em seguida, permite o acesso ao aplicativo. O servidor Auth redireciona o usuário para o seu site com um código como parâmetro na URL.

Detalhes da URL de login do OAuth

 

Passo 6. O servidor API pede ao servidor Auth informações do usuário para o token de acesso dado. O servidor Auth retorna detalhes sobre userid, e-mail, etc.

Informações do usuário de login da OAuth

 

Passo 7. O servidor API identifica o usuário e envia a resposta juntamente com o token de acesso. O cliente envia o token de acesso ao servidor API na solicitação abaixo. Verificações do servidor API se o token de acesso for válido dar acesso ao aplicativo.

Token de acesso de login da OAuth

 

Wrap Up: Testes de carga OAuth Web APIs

Correlacionar e configurar as solicitações do OAuth 2.0 não é uma tarefa fácil. Você precisa de experiência e compreensão clara de como o OAuth funciona para sua aplicação. Como o OAuth está habilitando funcionalidades muito importantes de qualquer aplicativo, é muito importante realizar testes de desempenho de APIs OAuth para sua aplicação. Se você estiver usando qualquer outra ferramenta de código aberto, como o JMeter, você pode converter testes de JMeter em LoadView. JMeter não é uma solução de teste de desempenho como o LoadView, é apenas um lançador de carga. Precisamos de uma boa solução de teste de desempenho, como o LoadView, para executar testes de desempenho de ponta a ponta.

Saiba mais sobre o LoadView e inscreva-se para a avaliação gratuita. Você receberá $20 em créditos de teste de carga para começar.