Tutorial de Teste de Carga com Postman



Muitos dos serviços web atuais incorporam APIs (interfaces de programação de aplicativos), permitindo a troca de diversas informações entre sistemas. APIs servem como uma conexão robusta entre serviços essenciais e usuários. Assim como testar qualquer componente crucial do sistema, avaliar as APIs é imperativo. Utilizar ferramentas de teste de API de terceiros, como o Postman, facilita tanto o teste manual quanto o automatizado, abrangendo capacidades de monitoramento de API.

Postman é uma ferramenta amplamente renomada no domínio das ferramentas de teste para validar requisições de API. Embora sua adoção para testes gerais de API seja difundida, usar o Postman para testes de carga não é tão simples.

Neste tutorial de teste de carga com Postman, abordaremos o que é o Postman, o teste de carga com Postman e como realizar testes de carga usando o Postman, para que você possa começar a testar carga com o Postman.

O que é o Postman?

Postman é uma ferramenta amplamente usada que ajuda os desenvolvedores a testar, projetar e gerenciar APIs em um ambiente colaborativo e fácil de usar. Com o Postman, os desenvolvedores podem criar, enviar e testar requisições HTTP facilmente, especialmente para APIs RESTful. Ele suporta diversos métodos HTTP, tipos de autenticação e permite organizar e automatizar fluxos de trabalho de testes de API, tornando-se uma ferramenta essencial no processo de desenvolvimento de APIs. Hoje, o Postman também é amplamente utilizado em ecossistemas modernos de API que incluem microserviços, aplicações conteinerizadas e arquiteturas cloud-native, tornando a validação de API uma parte crítica do fluxo de trabalho de desenvolvimento.

Postman é uma ferramenta de desenvolvimento de API usada no ciclo de vida do desenvolvimento de software:

  • Desenvolvimento de API
  • Teste de API
  • Documentação de API

Mas o Postman não é apenas para desenvolvimento. Ele também pode funcionar como um navegador para enviar requisições e receber respostas. Além disso, você pode adicionar scripts para rodar antes de enviar requisições e após receber respostas, o que lhe dá mais controle sobre suas interações com a API. As requisições podem ser salvas em coleções para permitir que você as execute em uma ordem específica quando necessário, tornando seu fluxo de trabalho mais organizado.

Quando se trata de testes de API, o Postman é uma ótima ferramenta para garantir que tudo esteja funcionando como esperado. Ele ajuda a verificar que sua API está recuperando, salvando e atualizando dados corretamente, sendo uma parte chave do teste funcional. Entretanto, é importante lembrar que o Postman não foi construído para testes de performance. Embora possa rodar pequenos testes para verificar tempos de resposta, ele não simula tráfego do mundo real ou cargas pesadas. Então, se você precisa ver como sua API se comporta sob pressão, você precisará de uma ferramenta dedicada de teste de carga.

Para testes de performance mais profundos, você precisará de uma ferramenta especializada de teste de carga como o LoadView. Ferramentas como o LoadView podem simular condições reais que ajudam a estressar suas APIs e coletar métricas abrangentes para garantir que elas possam lidar com alto tráfego e uso intenso. Isso é crucial para garantir que sua API tenha um bom desempenho em todas as circunstâncias, não apenas em ambientes controlados de teste.

Recursos do Postman

Postman oferece aos usuários uma ampla gama de recursos, desde a API do Postman e controles de fluxo de trabalho até monitores integrados para testes de regressão, garantindo capacidades abrangentes para testes de API. Apesar da grande quantidade de recursos, há algumas funcionalidades essenciais para todo testador de API. Vamos nos aprofundar nessas funções-chave.
 

  • Importar Requisições – Postman inclui um recurso de importação que permite aos usuários colar texto bruto CURL, transformando-o em uma requisição formatada com detalhes como URL da requisição, cabeçalhos, corpo da requisição, parâmetros de consulta e tokens de autorização.
  • Suporte a Múltiplos Protocolos – A funcionalidade cliente API do Postman permite enviar requisições REST, SOAP, WSDL e GraphQL.
  • Escrever Casos de Teste – Você pode escrever casos de teste para executar APIs e auxiliar na validação de respostas, incluindo asserções para respostas JSON/XML e verificação de códigos de resposta.
  • Coleções – Postman ajuda na criação de coleções, possibilitando a organização de APIs dentro de uma estrutura de pastas para projetos distintos. Ele oferece a capacidade de executar uma coleção, que posteriormente roda todas as APIs incluídas nessa coleção específica.
  • Validação de Esquema JSON – O esquema JSON (JavaScript Object Notation) pode ser usado para definir a estrutura de requisições e respostas. Isso ajuda a organizar e estruturar o conteúdo JSON, aprimorando sua clareza e legibilidade dentro do Postman.
  • Uso de Variáveis de Ambiente e Dinâmicas – No Postman, você pode criar variáveis, e estas podem receber diferentes valores. Isso é útil quando se trabalha com APIs idênticas em múltiplos ambientes do mundo real.
  • Converter API para Código – O Postman permite que a requisição da API seja convertida em código nas principais linguagens como JavaScript, Golang, Java, PHP, Python e muitas outras.

Benefícios do Teste de Carga com Postman

  • Avaliação de Performance: O teste de carga ajuda a avaliar o desempenho das suas APIs sob vários níveis de atividade de usuários simultâneos. Isso permite entender como seu sistema lida com cargas aumentadas e se atende às expectativas de performance.
  • Teste de Escalabilidade: As capacidades de teste de carga do Postman permitem testar a escalabilidade da sua API, ajudando a determinar quão bem ela pode lidar com quantidades crescentes de tráfego e dados.
  • Identificação de Gargalos: O teste de carga ajuda a identificar potenciais gargalos ou fraquezas na infraestrutura da sua API. Essa informação é crucial para otimizar e ajustar seu sistema para garantir que possa lidar eficientemente com cargas maiores.
  • Teste de Estresse: Postman permite simular condições estressantes gerando cargas pesadas em sua API. Isso ajuda a entender os pontos de ruptura e limitações do seu sistema, permitindo que você faça melhorias necessárias.
  • Teste de Concorrência: O teste de carga no Postman possibilita testar quão bem sua API performa quando múltiplos usuários fazem requisições simultaneamente. Isso é importante para aplicações que esperam lidar com interações concorrentes de usuários.
  • Custo-Efetividade: Ao identificar e corrigir problemas de performance cedo no ciclo de desenvolvimento, o teste de carga com Postman pode contribuir para economias ao evitar potenciais tempos de inatividade ou correções caras em produção.
  • Melhoria na Experiência do Usuário: Garantindo que sua API possa lidar com altas cargas e performar bem sob estresse, você pode oferecer uma experiência mais suave e confiável para seus usuários.

Limitações do Teste de Carga com Postman

Embora o Postman seja excelente para testes de API e desenvolvimento, ele possui limitações quando se trata de teste de carga. Uma grande desvantagem é sua incapacidade de simular altos níveis de usuários simultâneos ou cenários complexos de forma eficaz. O foco principal do Postman é o teste funcional e a validação, e não o desempenho sob condições de estresse. Além disso, sua interface gráfica e capacidades de scripting podem não escalar bem para cargas massivas ou análise detalhada de métricas de performance comparado a ferramentas dedicadas como o LoadView. Para necessidades abrangentes de teste de carga, é recomendado usar ferramentas especializadas projetadas especificamente para esse fim ao invés de depender exclusivamente do Postman.

 

Teste de Carga com a Ferramenta REST/RESTFUL do Postman

Ao testar uma aplicação back-end, testar a funcionalidade é uma parte padrão do processo para garantir que as coisas funcionem conforme o planejado. Suas aplicações serão usadas por muitos, se não centenas ou milhares de usuários ao mesmo tempo, então também precisamos realizar testes de performance para ver como elas suportam esse tráfego. Precisamos fazer benchmark e validar a aplicação a cada mudança realizada.

No cenário em que você está usando o Postman para testar a funcionalidade da sua API web e precisa gerar testes de carga a partir das coleções de chamadas de API, pode optar por usar uma ferramenta de teste de carga como o LoadView. O LoadView oferece teste de carga baseado em navegador real para APIs, bem como para aplicações web (externas e internas) e sites e servidores.

Configuração do Teste de Carga com Postman

Vamos analisar passo a passo como configurar um teste de carga para um aplicativo web usando uma coleção do Postman.

Passo 1

Antes de começarmos, você precisa exportar a Coleção do Postman. Você pode escolher a opção de Obter link público e importar facilmente para o LoadView.

  • Nota: Certifique-se de que a Coleção do Postman use apenas variáveis locais, pois as variáveis de ambiente não são armazenadas na coleção.
Postman Collection Export

Passo 2

Abra a plataforma LoadView e selecione Criar Novo teste de carga.

 

Passo 3

Aqui você verá os vários tipos de teste de carga disponíveis dentro do LoadView.

Aplicações web, sites e APIs. Para nosso caso de uso, você selecionará a opção Coleção do Postman para iniciar testes de API.

Load testing type Postman

Passo 4

Uma nova janela irá abrir, e é aqui que você precisará importar a coleção Postman exportada e clicar em Criar dispositivo.

Postman Collection Request

Passo 5

Depois de criar o dispositivo com sucesso, você verá a tela Cenário de Teste, onde poderá configurar o Tipo de Carga. Isso varia de acordo com o objetivo do seu teste.

  • Curva Baseada em Carga. Executa seus testes de carga com um número conhecido de usuários e aumenta o tráfego após um tempo de aquecimento definido.
  • Curva Baseada em Objetivo. Essa configuração de teste é usada quando você quer atingir o número desejado de transações por segundo para sua API específica e escalar para o número de usuários simultâneos almejado.
  • Curva Baseada em Dinâmica. Essa configuração permite selecionar valores dinâmicos para número de usuários, usuários máximos e duração do teste. Esses valores podem ser ajustados em tempo real durante o teste.
Postman Collection Load Types

Passo 6

Depois de criar um cenário de teste com uma lista de todas as suas APIs, você pode executar seus testes de carga e estresse para suas APIs.

Após a execução do teste de carga, você receberá relatórios abrangentes, dashboards e métricas que mostram como sua API e sistemas performaram sob diferentes cargas. Muitas equipes também correlacionam esses resultados de testes de carga com plataformas de observabilidade para monitorar métricas da infraestrutura, desempenho de banco de dados e dependências de serviços durante picos de tráfego da API.

Integração do Teste de Carga da Coleção Postman com Jenkins

Tendo explorado a integração e execução dos testes de carga da coleção Postman com LoadView, podemos incorporar esses testes em nosso pipeline CI/CD para receber feedback e resultados de performance consistentes.

LoadView oferece integração perfeita com Jenkins, facilitando o teste de estresse de sites, aplicações web e APIs usando conexões simultâneas em navegadores reais a partir de um ambiente cloud totalmente gerenciado. O plugin LoadView para Jenkins permite o teste de carga de novas atualizações ou funcionalidades adicionais.

Vamos examinar os passos empregados para o cenário de teste da coleção Postman criado anteriormente no LoadView e como ele se integra com o Jenkins.

Passo 1

Para integrar seus testes com o Jenkins, você usará o mesmo cenário de teste Postman da seção anterior.

Passo 2

Crie um UID único e copie o UID de Integração. Isso será usado como um token de segurança para integrar ao Jenkins.

Postman Jenkins Integration UID

Passo 3

O ID do Cenário de Teste da nossa coleção Postman pode ser encontrado na página de configuração do cenário ou na página Histórico de Testes (Gerenciador de Testes > menu de ações do teste > Histórico).

Postman Collection Test History

Plugin LoadView no Jenkins

Para configurar o plugin LoadView, siga os seguintes passos:

  1. Faça login na sua conta Jenkins.
  2. No Jenkins, vá para Credenciais > Adicionar Credenciais > Token de Segurança LoadView (UID). Configure e valide as credenciais.
    • Tipo – Token de Segurança LoadView (UID).
    • Escopo – Selecione Global.
    • ID – Deixe o padrão ou especifique um ID único.
    • Descrição – Especifique uma descrição única para distinguir as credenciais.
    • UID – Cole o UID da API web de teste de carga da sua conta LoadView. Depois de adicionar o UID, clique em Validar UID para garantir que o Jenkins possa acessar a API do LoadView.
  3. Em seguida, selecione um job e clique em Configurar.
Jenkins LoadView Security Token

4. Vá para Build > Ações pós-build > Adicionar ação pós-build > LoadView-Executar cenário de teste de carga. Especifique as configurações do Teste de Estresse LoadView para o build:

  • Credenciais – Selecione a chave API via descrição.
  • ID do Cenário – Cole o ID do cenário de teste que deseja usar no build. Copie o ID da página do cenário no LoadView.
  • Limiar de Erro – Especifique uma porcentagem aceitável de sessões com erros que ocorreram durante o teste (falha ao acessar o recurso alvo, palavra-chave/imagem não encontrada, etc.). Se a porcentagem de sessões com erros for maior que o valor especificado, o build será marcado como falha no Jenkins.
  • Tempo Médio – Especifique um limite para o tempo médio de resposta medido durante a execução do teste. Se o limite for atingido, o build será marcado como falha no Jenkins.

5. Clique em Salvar.

Visualizar Resultados do Teste LoadView

Finalmente, integramos com sucesso nossa coleção Postman com Jenkins usando LoadView. Enquanto nosso teste de estresse está em execução, o status é exibido no Console Output do Jenkins em modo real-time.

Postman Jenkins Console Output
Postman Jenkins LoadView Test Performance Results

Conclusões: Teste de Carga da Sua API com Postman

Neste guia, cobrimos como você pode simular usuários simultâneos com sua coleção Postman usando LoadView e como automatizar essa etapa com a integração Jenkins e LoadView. Recentemente, as ferramentas necessárias para avaliar essas aplicações foram simplificadas, oferecendo grande auxílio no teste de sistemas intricados que dependem tanto de aplicações internas quanto externas. Essa simplificação ajuda a identificar gargalos e problemas com maior clareza.

Na LoadView, nosso objetivo é ser seu parceiro em todos os esforços de teste de carga, apoiando você em todas as etapas do desenvolvimento e lidando com qualquer nível de complexidade. Teste de carga não precisa ser complicado, e a plataforma LoadView facilita o processo de testar a carga das suas APIs. Você pode integrar sua coleção Postman ao LoadView para realizar seus testes de carga.

A equipe de especialistas do LoadView está disponível para apoiar você e sua equipe enquanto desenvolvem e aprimoram sua estratégia de teste de carga, e você encontrará nossa plataforma intuitiva e fácil de usar, mesmo para usuários não técnicos. LoadView oferece teste em navegadores reais, scripting ponto-e-clique e relatórios abrangentes e claros que eliminam incertezas do teste de carga e permitem colaboração eficaz entre funções de desenvolvimento.

Comece a testar a carga das suas APIs hoje com LoadView. Cadastre-se para o teste gratuito e receba testes de carga gratuitos. Ou inscreva-se para uma de nossas demonstrações privadas com um de nossos engenheiros de performance. Nosso engenheiro vai conduzi-lo pela plataforma completa LoadView, e vamos mostrar como integrar o LoadView às coleções Postman e automatizar os passos com Jenkins.

Leve seus Testes de Usuários Concorrentes para o
Próximo Nível

Experimente recursos incomparáveis com escalabilidade ilimitada. Sem cartão de crédito, sem contrato.