As APIs são integradas em muitos dos serviços web utilizados hoje, permitindo que os sistemas enviem e comuniquem várias informações de um lado para o outro. Como tal, são um poderoso elo entre serviços críticos. E como em qualquer parte importante de um sistema, é necessário testá-los. Usando soluções de teste de API de terceiros, ou Carteiro, podemos fazer testes manuais e automatizados. API significa Interface de Programação de Aplicativos. É uma interface de software para software. Com APIs, os aplicativos conversam entre si sem intervenção do cliente. Mas com milhares de APIs disponíveis, o Carteiro entra em cena para criar, testar, compartilhar e gerenciar essas APIs tornando o uso da API eficiente e menos tedioso.

Este artigo ajudará a entender carteiro, coleções, suas características proeminentes e como podemos configurar testes de carga para coleções de carteiro e sua integração com os pipelines de CI/CD com o LoadView.

Teste de carga do carteiro com LoadView

Explore nossa solução de teste de carga ou leia abaixo para obter passos sobre como usar o Carteiro com o LoadView

O que é carteiro?

O Carteiro é uma ferramenta popular de clientes de API que facilita a criação, compartilhamento, teste e documente APIs de equipes de desenvolvimento. Ele fornece uma experiência de usuário perfeita que ajuda a atingir os pontos finais da API, criando rapidamente solicitações de acordo com a especificação da API e dissecando os vários parâmetros de resposta, como o código de status, os cabeçalhos e o próprio corpo de resposta real. Podemos aproveitar esses recursos para testes contínuos e automatizados. Ele é usado como uma ferramenta complementar para desenvolver, documentar e testar contra uma API e fornece uma interface de usuário para fazer solicitações de servidor DE APIs REST e mostra a resposta dos servidores.

O Carteiro é uma ferramenta de desenvolvimento de API usada no ciclo de vida de desenvolvimento de software:

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

O carteiro não só nos fornece um ambiente para trabalhar com APIs, como também pode ser usado para solicitar páginas da Web como um navegador. Digite a URL na barra de endereços e aperte enviar para ver a resposta HTML. O carteiro também pode ajudar a anexar scripts antes que o usuário envie a solicitação e depois de obter a resposta. Podemos armazenar cada solicitação em uma coleção, que mais tarde pode ser usada para executar todas as solicitações em ordem.

Interface carteiro

 

O que é o teste de API?

No teste de API usamos ferramentas dedicadas para enviar chamadas para o servidor hospedando a API e recuperar a resposta. O objetivo do teste de API é confirmar a execução correta e validar se a API está recebendo, economizando ou atualizando recursos conforme o planejado.

Se soubermos que a API deve realizar uma determinada ação, como atualizar dados, buscar dados, excluir dados, fazer uma alteração nos dados, os testes devem verificar os resultados dessas ações. Ele se comporta da mesma maneira que deveria ser? E quando isso não deveria acontecer? E os resultados são o que você esperaria que fosse? O teste de API é tipicamente um teste de caixa preta, mas na medida em que temos acesso aos resultados das ações da API de antemão e sabemos a resposta esperada que precisa ser validada.

Teste de API: Teste funcional vs. Teste de Carga

Como mencionamos brevemente acima, testes funcionais ou testes de caixa preta, estão principalmente preocupados em testar funções básicas contra um conjunto de especificações e observar se funcionam ou não. Antes que as APIs possam ser movidas através do ciclo de desenvolvimento e testadas ainda mais, é importante que as funcionalidades básicas da API estejam funcionando. Se os desenvolvedores passarem de testes funcionais para testes de carga sem garantir que as funções básicas tenham sido devidamente testadas, isso afastará os testes de carga e os resultados. Os resultados dos testes funcionais são simplesmente observar se algo funcionou ou não.

Por outro lado, o teste de carga é como testes funcionais, mas a diferença é que os testes de carga são configurados para testar como essas funcionalidades resistem a um grande número de usuários simultâneos, ou carga. Os resultados dos testes de carga incluem entender como esses pontos finais da API respondem e têm desempenho sob carga.

Características do Carteiro

 

Pedidos de importação

O Carteiro fornece um recurso de importação, onde podemos colar texto CURL bruto e convertê-lo em uma solicitação formatada com detalhes como URL de solicitação, cabeçalhos, órgão de solicitação, parâmetros de consulta e tokens de autorização.

 

Suporte múltiplo de protocolo e tecnologia

O recurso de cliente de API do carteiro nos permite enviar solicitações REST, SOAP, WSDL e GraphQL.

 

Escrever casos de teste

Podemos criar casos de teste que executam APIs adicionadas e podem ajudar na validação de resposta com a afirmação de respostas JSON/XML e validações de código de resposta.

 

Coleções

Carteiro nos ajuda a criar coleções que ajudam a segregar APIs com pastas Estrutura para diferentes projetos. Ele fornece suporte para executar a Collection, que eventualmente executará todas as APIs parte da coleção.

 

Validação de JSON Schema

Podemos usar o JSON Schema para definir a estrutura de suas solicitações e respostas. Ajuda a embelezar e estruturar JSON facilitando a compreensão e leitura em Carteiro.

 

Usar ambiente e variáveis dinâmicas

Podemos criar variáveis em Carteiro e com base em diferentes ambientes, as mesmas variáveis podem ter valores diferentes mapeados para o ambiente selecionado. Isso é útil enquanto trabalhamos com as mesmas APIs, mas vários ambientes no mundo real.

 

Converter API em Código

O carteiro permite que a solicitação de API seja convertida em código em todas as linguagens proeminentes como JavaScript, Golang, Java, PHP, Python e muito mais.

 

Benefícios do Carteiro

 

Automatizar testes

O carteiro nos permite automatizar os testes de API e integrar a coleção com os pipelines de CI/CD. Podemos automatizar testes unitários, testes de integração, testes de regressão e testes simulados.

 

Plataforma e OS compatíveis

O carteiro está disponível no Mac, Windows, Linux e Chrome e suporta todos os principais sistemas operacionais.

 

Relatórios de teste de carteiro

Ele fornece um relatório de teste que nos ajuda a rastrear dados através do construtor de solicitações e podemos gerar relatórios HTML para os testes.

 

Integrações

O Carteiro fornece suporte e pode ser facilmente integrado com todas as principais ferramentas de desenvolvedores como GitHub, Slack, Dropbox e GitLab.

 

precificação

Todas as principais funcionalidades do Carteiro estão livres de custos. Podemos obter todos os benefícios acima de graça. Há também planos pagos para Carteiro Pro e Carteiro Enterprise para pequenas e grandes empresas.

 

Alternativas ao Carteiro

 

Swagger

logotipo swagger

 

 

 

Swagger é uma especificação de API de código aberto, é como WSDL para APIs REST, onde você define a estrutura das APIs REST (urls de pontos finais, modelos de entrada/saída, esquema de autenticação, etc.). O arquivo de especificação é baseado no JSON e a extensão do arquivo é JSON ou YAML. Alguns dos principais destaques de Swagger são:

  • Código aberto e gratuito, no entanto, pode ser difícil aprender ou encontrar recursos para problemas.
  • Swagger representa APIs dentro do navegador.
  • Pode gerar automaticamente documentação a partir da construção de seus serviços.

 

SoapUI

Logotipo soapUI

 

 

 

 

SoapUI permite que os usuários testem rapidamente e facilmente APIs de REST e SOAP, já que a ferramenta foi criada especificamente para testar APIs. SoapUI ajuda a testar combinações complicadas de serviços web como RESTful, SOAP, JSON e AMF. No entanto, você precisa utilizar o WSDL para testar serviços web. Além disso, para insegreir a automação, há muita scripting necessária, e para usuários que não tiveram essa experiência, pode se tornar difícil e demorado. Alguns dos principais destaques do SoapUI são:

  • A funcionalidade point-and-click ajuda a facilitar a usabilidade do JSON e do XML.
  • Carregue dados do Excel, arquivos, bancos de dados, etc.
  • Reutilize seus casos de teste funcionais como testes de carga.
  • Integra-se com plataformas de gerenciamento de API de terceiros, suporta REST, SOAP, JMS e IoT, etc.

 

 

Integrar testes de coleta de carteiro em pipeline de CI/CD

A Integração Contínua (CI) é uma prática de desenvolvimento que exige que os desenvolvedores mesclem regularmente o código em um repositório compartilhado. Envolve o processo de automatização da compilação e teste de aplicativos cada vez que uma nova mudança se compromete com o código-fonte. O Desenvolvimento Contínuo pode ser explicado como uma sequência de etapas que são necessárias para serem executadas em sequência para permitir que o aplicativo seja executado em um servidor especializado e cumprir seu caso de uso de atender às solicitações do usuário.

 

Carregar testes de coletas de carteiro usando LoadView

Sempre que testamos um aplicativo back-end, testar a funcionalidade é uma parte padrão do processo para garantir que as coisas funcionem como tínhamos a intenção de que elas funcionassem. Agora, isso é tudo muito bom, mas não para o mundo real. Seus aplicativos serão utilizados por muitos, se não centenas ou milhares de usuários ao mesmo tempo, por isso também precisamos realizar testes de desempenho para ver o quão bem eles se sustentam a esse tráfego. Precisamos fazer benchmark e validar o aplicativo a cada alteração de aplicativo. Como vimos a visão geral do Carteiro, suas características e como podemos configurar a estratégia de teste para testes funcionais de API, precisaríamos entender ferramentas que podem ajudar a estressar o teste da aplicação.

Nos casos em que estamos usando o Carteiro para testar a funcionalidade da API web e queremos gerar um teste de carga a partir das coleções de chamadas de API que temos, podemos optar por uma ferramenta especializada de teste de carga, como o LoadView. O LoadView fornece testes reais de carga baseados em navegador para APIs, bem como aplicativos web (externos e internos) e sites e servidores.

 

Configuração do teste

Vamos dar uma olhada passo a passo sobre como configurar um teste de carga de aplicativo web para uma coleção de Carteiro.

Teste de API do Carteiro LoadView: Passo 1

Antes mesmo de começarmos, precisaríamos exportar a Coleção dos Carteiros. Podemos escolher a opção de obter link público e podemos importá-lo facilmente para o LoadView (Nota: Certifique-se de que a Coleção carteiro usa variáveis locais apenas uma vez que as variáveis do ambiente não são armazenadas na coleção).

Exportação de coleção de carteiro

 

Teste de API do Carteiro LoadView: Passo 2

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

 

Teste de API do Carteiro LoadView: Passo 3

Aqui você verá os vários tipos de teste de carga que estão disponíveis no LoadView – aplicativos web, sites e APIs. Para nosso caso de uso, selecionaremos a opção Coleção carteiro para iniciar testes de API.

Tipo de teste de carga Carteiro

 

Teste de API do Carteiro LoadView: Passo 4

Uma nova janela será aberta e aqui é onde precisaremos importar a coleção de Carteiro exportado e clicar em Criar Dispositivo.

Pedido de coleta de carteiro

Teste de API do Carteiro LoadView: Passo 5

Uma vez que tenhamos criado com sucesso um dispositivo, veríamos a tela do Cenário de Teste, onde podemos definir o Tipo de Carga,o que difere com base no objetivo do nosso teste.

  • Curva baseada em carga. Isso é para executar testes de carga com um número conhecido de usuários e aumentar o tráfego após o tempo de aquecimento definido.
  • Curva baseada em gols. Esta configuração de teste é usada quando estamos procurando transações desejadas por segundo para nossa API específica e queremos escalar para a taxa desejada lentamente.
  • Curva dinâmica baseada . Este conjunto fornece para você escolher valores dinâmicos em número de usuários, usuários máximos e duração do teste, e pode ser alterado, em tempo real, durante o teste.

 

Tipos de carga de coleta de carteiro

 

Teste de API do Carteiro LoadView: Passo 6

Uma vez que tenhamos criado um cenário de teste com uma lista de todas as APIs, agora podemos executar testes de carga e estresse para nossas APIs. Após a conclusão bem-sucedida do teste de carga, você receberá relatórios, painéis e métricas que mostram como nossa API e sistemas se saíram sob carga.

 

 

Coleta de carteiro Carga de integração de teste com Jenkins

À medida que olhamos como podemos integrar e executar testes de carga de coleta de Carteiro usando o LoadView, podemos adicionar esses testes como parte do CI/CD para obter feedback regular e resultados de desempenho. O LoadView também fornece integração com jenkins, o que ajuda sites de teste de estresse, aplicativos web e APIs com conexões simultâneas em navegadores reais a partir de uma nuvem totalmente gerenciada. Quaisquer novas atualizações ou recursos adicionais também podem ser testados com o plugin LoadView para Jenkins.

Vamos dar uma olhada nos passos usados para o cenário de teste de coleção de Carteiro previamente criado no LoadView e sua integração com Jenkins.

Passo 1. Para integrar os testes com Jenkins, estaríamos usando o mesmo cenário de teste de Carteiro criado acima.

Passo 2. Crie um UID único. Isto será usado como sinal de segurança para se integrar ao Jenkins. Copie o UID de Integração.

Carteiro Jenkins Integração UID

 

Passo 3. O ID do cenário de teste para nossa coleção de Carteiro pode ser encontrado na página de configuração do cenário ou na página histórico de teste (Gerente de teste > o menu de ações de teste > Histórico).

Histórico de testes de coleta de carteiro

 

Plugin LoadView em Jenkins

Para configurar o plugin LoadView, siga estas etapas:

  1. Faça login na sua conta jenkins.
  2. Em Jenkins, vá para Credenciais > Adicionar credenciais > LoadView Security Token (UID). Configure e valide as credenciais.
  • Gentil. LoadView Security Token (UID).
  • Escopo. Selecione Global.
  • ID. Deixe o padrão ou especifique um ID exclusivo.
  • Descrição. Especifique uma descrição única para distinguir as credenciais.
  • UID. Cole o UID de teste de carga da Web da sua conta LoadView. Uma vez que o UID tenha sido adicionado, clique em Validar UID para garantir que Jenkins possa acessar a API do LoadView.
  1. Em seguida, selecione um trabalho e clique em Configurar.

Token de segurança Jenkins LoadView

 

  1. Vá para Criar > ações pós-construção > Adicione o cenário de teste de carga load load da > LoadView-Runapós a construção . Especifique as configurações do teste de estresse do LoadView para a compilação:
  • Credenciais. Selecione a tecla API usando a descrição.
  • ID de cenário. Cole o ID do cenário de teste que você deseja usar na compilação. Copie o ID da página de cenário no LoadView.
  • Limiar de erro. Especifique uma porcentagem aceitável de sessões com erros ocorridos durante o teste (não conseguiu acessar o recurso de destino, nenhuma palavra-chave/imagem encontrada, etc.). Se a porcentagem de sessões de erro for maior do que o valor especificado, a compilação será marcada como uma falhaem Jenkins.
  • Tempo médio. Especifique um limite para um tempo médio de resposta medido durante a execução do teste. Se o limite for atingido, a construção será marcada como um fracassoem Jenkins.
  1. Clique em Salvar.

 

Exibir resultados de teste do LoadView

Finalmente, integramos com sucesso nossa coleção de Carteiro com Jenkins usando o LoadView como plataforma. Enquanto nosso teste de estresse está sendo executado, o status é exibido na saída do console Jenkins no modo em tempo real.

Saída do console do carteiro Jenkins

 

Resultados de desempenho do teste do Carteiro Jenkins LoadView

 

Monitorando o Teste de Coleta de Carteiro

LoadView é uma parte das muitas soluções dentro da plataforma Dotcom-Monitor. O Dotcom-Monitor também fornece ferramentas de monitoramento fáceis para nossas coleções de carteiro. Se tivermos uma coleção de testes de integração usados para testes internos de API com carteiro, e também queremos configurar testes para executar fora da rede local, podemos enviar os testes do Carteiro para o Dotcom-Monitor. Usando a tarefa do Dotcom-Monitor Postman Collection, podemos criar testes de monitoramento automatizados com alertas sobre erros. Podemos especificar locais de monitoramento, um agendador de monitoramento, filtros e configurar relatórios com base nos resultados de monitoramento.

A coleta de solicitações HTTP adicionadas será repetidamente executada com a frequência definida para executar a sequência de chamadas para a API da Web de destino. Com isso teremos as afirmações que foram especificadas para as solicitações em Carteiro que ajudarão a verificar as respostas da API. Se qualquer condição definida pelas afirmações não for atendida, a tarefa será marcada como falha.

 

Teste de carga sua API com carteiro: Pensamentos finais

A comunidade de desenvolvimento tem opiniões amplamente variadas sobre o teste de APIs. Vimos como o Carteiro nos ajuda completamente na criação, manutenção e teste de APIs com tanta facilidade. Também analisamos um guia passo-a-passo sobre como podemos simular usuários simultâneos que testam a coleta de carteiro usando o LoadView. Mais tarde, vimos como podemos automatizar esta etapa usando a integração do Jenkins com o LoadView. As ferramentas necessárias para enfatizar essas aplicações têm sido simplificadas ultimamente e fornecem imensa ajuda para testar sistemas complexos que dependem de aplicações internas e externas. Isso nos ajuda a detectar os gargalos e problemas com mais clareza.

Comece a testar suas APIs hoje com o LoadView. Inscreva-se para a avaliação gratuita e receba $20 em créditos de teste de carga. Ou inscreva-se em uma de nossas demonstrações privadas com um de nossos engenheiros de desempenho. Nosso engenheiro irá levá-lo através da plataforma LoadView completa, bem como mostrar como integrar o LoadView nas coleções de Carteiro e automatizar os passos com Jenkins.