0% acharam este documento útil (0 voto)
238 visualizações27 páginas

Testes de API

O documento explica o que são APIs e testes de API, descrevendo: 1) Uma API é uma interface entre aplicativos que permite a comunicação entre eles; 2) Testes de API verificam funcionalidades, desempenho e segurança sem depender da interface gráfica; 3) Existem diversos tipos de testes de API para validar diferentes aspectos do funcionamento.

Enviado por

Vera Silva
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
238 visualizações27 páginas

Testes de API

O documento explica o que são APIs e testes de API, descrevendo: 1) Uma API é uma interface entre aplicativos que permite a comunicação entre eles; 2) Testes de API verificam funcionalidades, desempenho e segurança sem depender da interface gráfica; 3) Existem diversos tipos de testes de API para validar diferentes aspectos do funcionamento.

Enviado por

Vera Silva
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 27

Testes de API

O que é uma API?

API é um acrônimo e significa Application Programming Interface. API é um conjunto de


rotinas, protocolos e ferramentas para construir aplicativos de software. As APIs especificam
como um programa de software deve interagir com outros programas de software.

Rotina: um programa que executa uma determinada tarefa. A rotina também é conhecida
como procedimento, função ou sub-rotina.

Protocolos: Um formato para transmissão de dados entre dois sistemas.

Em palavras simples, API significa Interface de Programação de Aplicativos. A API atua como


uma interface entre dois aplicativos de software e permite que os dois aplicativos de software
se comuniquem entre si. API é uma coleção de funções de software que podem ser executadas
por outro programa de software.

Vamos ver alguns exemplos de uma API de forma mais acessível.

Assuma uma API como um garçom em um restaurante .

Em um restaurante, você faz um pedido com base nos itens disponíveis no cardápio. Um
garçom no restaurante anota seu pedido e entrega na cozinha que prepara sua refeição. Assim
que a refeição estiver pronta, o garçom pega sua comida na cozinha e a serve em sua mesa.

Nesse cenário, a função do garçom é semelhante a uma API. Como um garçom, a API recebe
uma solicitação de uma origem, leva essa solicitação ao banco de dados, busca os dados
solicitados no banco de dados e retorna uma resposta à origem.
Agora vamos ver outro exemplo.

Se você estiver usando um mecanismo de serviço de voo, diga Expedia, onde você pesquisa
voos em uma data específica. Depois de passar os dados como Origem, Destino, Data de
Encaminhamento e Data de Retorno e clique em pesquisar. A Expedia envia uma solicitação às
companhias aéreas por meio de uma API de acordo com os detalhes da sua pesquisa. A API
recebe a resposta da companhia aérea à sua solicitação e a devolve à Expedia.

A API obtém a solicitação do usuário e fornece a resposta sem expor a lógica interna. A API
atua como uma Abstração no conceito OOPs .

O que é Teste de API?

O teste de API é um tipo de teste de software que envolve testar APIs diretamente e também
como parte do teste de integração para verificar se a API atende às expectativas em termos de
funcionalidade, confiabilidade, desempenho e segurança de um aplicativo. Em Teste de API,
nosso foco principal será em uma camada de lógica de negócios da arquitetura de software . O
teste de API pode ser executado em qualquer sistema de software que contenha várias APIs. O
teste de API não se concentrará na aparência do aplicativo. O teste de API é totalmente
diferente do teste de GUI.

Vamos ver como o teste de interface do usuário não é semelhante ao teste de API?

O teste de interface do usuário (interface do usuário) é para testar a parte da interface gráfica
do aplicativo. Seu foco principal é testar a aparência de um aplicativo. Por outro lado, o teste
de API permite a comunicação entre dois sistemas de software diferentes. Seu foco principal
está na camada de negócios do aplicativo.

Tipos de teste de API?


O teste de API geralmente envolve as seguintes práticas:
 Teste de unidade:  Para testar a funcionalidade da operação individual
 Teste funcional:  Para testar a funcionalidade de cenários mais amplos usando um
bloco de resultados de teste de unidade testados juntos
 Teste de carga:  para testar a funcionalidade e o desempenho sob carga
 Runtime/Error Detection:  Para monitorar um aplicativo para identificar problemas
como exceções e vazamentos de recursos
 Teste de segurança:  para garantir que a implementação da API esteja protegida
contra ameaças externas
 Teste de interface do usuário:  é realizado como parte de testes de integração de
ponta a ponta para garantir que todos os aspectos da interface do usuário funcionem
conforme o esperado
 Interoperabilidade e teste de conformidade WS: O teste  de interoperabilidade e
conformidade WS é um tipo de teste que se aplica a APIs SOAP. A interoperabilidade
entre as APIs SOAP é verificada garantindo a conformidade com os perfis de
interoperabilidade de serviços da Web . A conformidade com WS-* é testada para
garantir que padrões como WS-Addressing, WS-Discovery, WS-Federation, WS-Policy,
WS-Security e WS-Trust sejam implementados e utilizados adequadamente
 Teste de penetração:  Para encontrar vulnerabilidades de um aplicativo de invasores
 Teste fuzz:  para testar a API forçando a entrada no sistema para tentar uma falha
forçada

Consulte:  Mais de 100 tipos de testes

Testes comuns em APIs:


Alguns dos testes comuns que realizamos em APIs são os seguintes.

 Para verificar se o valor de retorno é baseado na condição de entrada. A resposta das


APIs deve ser verificada com base na solicitação.
 Para verificar se o sistema está autenticando o resultado quando a API está
atualizando qualquer estrutura de dados
 Para verificar se a API aciona algum outro evento ou solicita outra API
 Para verificar o comportamento da API quando não há valor de retorno

Vantagens do teste de API:

 O teste de API é eficaz no tempo quando comparado ao teste de GUI. A automação de


teste de API requer menos código para fornecer uma cobertura de teste melhor e mais
rápida.
 O teste de API nos ajuda a reduzir o custo do teste. Com o teste de API, podemos
encontrar pequenos bugs antes do teste de GUI. Esses pequenos bugs se tornarão
maiores durante o teste de GUI. Portanto, encontrar esses bugs no teste de API será
econômico para a empresa.
 O teste de API é independente de idioma.
 O teste de API é bastante útil para testar a funcionalidade principal. Podemos testar as
APIs sem uma interface de usuário. No teste de GUI, precisamos esperar até que o
aplicativo esteja disponível para testar as funcionalidades principais.
 O teste de API nos ajuda a reduzir os riscos.
O que exatamente precisa ser verificado no teste de API?
Basicamente, no API Testing, enviamos uma requisição para a API com os dados conhecidos e
analisamos a resposta.

 Precisão de dados
 Códigos de status HTTP
 Tempo de resposta
 Códigos de erro caso a API retorne algum erro
 verificações de autorização
 Testes não funcionais, como testes de desempenho, testes de segurança

Ferramentas usadas para teste de API:


Algumas das ferramentas usadas para teste de API são as seguintes:

 Carteiro
 Estúdio Katalon
 SoapUI
 Declarável
 Tricentis Tosca
 Apigee
 JMeterGenericName
 Tenha certeza
 Caratê DSL
 API Fortaleza
 parasoft
 HP QTP(UFT)
 vREST
 Aerotransportado
 API Science
 Inspetor APIário
 Estrutura cítrica
 Hippie-Swagger
 HttpMaster Express
 Mockbin
 Ping API
 Pyresttest
 Console de Descanso
 Servidor RoboHydra
 Sonda SOAP
 Unirest
 WebInject

Consulte este link para saber mais sobre essas ferramentas de teste de API

Diferença entre teste de API e teste de unidade?


TESTE DE UNIDADE:

 O teste de unidade é conduzido pela equipe de desenvolvimento


 O teste de unidade é uma forma de teste de caixa branca
 O teste de unidade é realizado antes do processo de inclusão do código na compilação
 O código-fonte está envolvido no teste de unidade
 No teste de unidade, o escopo do teste é limitado, portanto, apenas as
funcionalidades básicas são consideradas para teste

TESTE DE API:

 O teste de API é conduzido pela equipe de controle de qualidade


 O teste de API é uma forma de teste de caixa preta
 O teste de API é realizado depois que a compilação está pronta para teste
 O código-fonte não está envolvido no teste de API
 No teste de API, o escopo do teste é amplo, portanto, todos os problemas funcionais
são considerados para teste

Desafios no teste de API:


Alguns dos desafios que enfrentamos ao fazer testes de API são os seguintes

 Seleção de parâmetros adequados e suas combinações


 Categorizando os parâmetros corretamente
 O sequenciamento de chamadas adequado é necessário, pois isso pode levar a uma
cobertura inadequada nos testes
 Verificando e validando a saída
 Devido à ausência de GUI, é bastante difícil fornecer valores de entrada

Tipos de bugs que enfrentamos ao realizar testes de API:

Os problemas observados ao realizar testes de API são

 Estresse, desempenho e problemas de segurança


 Funcionalidade duplicada ou ausente
 Problemas de confiabilidade
 Mensagens impróprias
 Mecanismo de tratamento de erros incompatível
 Problemas multiencadeados
 Erros impróprios

Práticas recomendadas de teste de API:

 Teste os resultados esperados


 Adicione estresse ao sistema enviando uma série de testes de carga de API
 Agrupar casos de teste de API por categoria de teste
 Crie casos de teste com todas as combinações de entradas possíveis para uma
cobertura de teste completa
 Priorize as chamadas de função da API para facilitar o teste
 Crie testes para lidar com problemas imprevistos
 Automatize o teste de API sempre que possível

Aqui, escolhi alguns posts que ajudarão você a aprender mais.


Perguntas da entrevista de teste de API

As APIs são uma parte crítica da web moderna, pois permitem que os desenvolvedores
compartilhem dados em diferentes plataformas.

Como testador de software, você pode ter sido solicitado a testar uma API. Nesse caso,
convém saber a melhor maneira de abordar essa tarefa do ponto de vista técnico e não
técnico. Para fazer isso, é importante que você tenha um bom entendimento do que são APIs e
como elas funcionam.

Nesta postagem do blog, abordaremos algumas das perguntas e respostas mais frequentes
sobre entrevistas de teste de API da Web. Discutiremos o que são e como respondê-las, além
de fornecer uma lista de outros tópicos relacionados que você deve conhecer.

Antes de prosseguir, vamos ver algumas perguntas inevitáveis da entrevista que todo gerente
de contratação faz em qualquer entrevista de teste de software.

 Quais são as razões para escolher o teste de software como sua carreira
 Fale sobre você

Vamos prosseguir com a postagem real sobre perguntas e respostas da entrevista da API.

Melhores perguntas de entrevista de teste de API da Web


Antes de prosseguir, gostaria de informar que temos outro post em que abordamos mais de
30 perguntas de entrevista de carteiro separadamente.

1. O que é uma API?


API é um acrônimo e significa A pplication P rogramming I nterface . API é um conjunto de
rotinas, protocolos e ferramentas para construir aplicativos de software. As APIs especificam
como um programa de software deve interagir com outros programas de software.
Em palavras simples, API significa Interface de Programação de Aplicativos . A API atua como
uma interface entre dois aplicativos de software e permite que os dois aplicativos de software
se comuniquem entre si. API é uma coleção de funções de software que podem ser executadas
por outro programa de software.

2. O que é Teste de API?


O teste de API é um tipo de teste de software que envolve testar APIs diretamente e também
como parte do teste de integração para verificar se a API atende às expectativas em termos de
funcionalidade, confiabilidade, desempenho e segurança de um aplicativo. Em Teste de API,
nosso foco principal será a camada de lógica de negócios da arquitetura de software . O teste
de API pode ser executado em qualquer sistema de software que contenha várias APIs.

3. Quais são os tipos comuns de teste de API?


O teste de API geralmente envolve as seguintes práticas:

 Teste de unidade
 Teste funcional
 Teste de carga
 Detecção de tempo de execução/erro
 teste de segurança
 teste de IU
 Testes de interoperabilidade e conformidade com WS
 Teste de penetração
 teste fuzz

Saiba mais sobre os tipos de teste de API

4. Cite alguns dos protocolos comuns usados no teste de API?


Alguns dos protocolos usados no teste de API são os seguintes:

 HTTP
 DESCANSO
 SABÃO
 JMSName
 UDDI

Quais são alguns dos estilos arquitetônicos para criar uma API da Web?


Alguns dos estilos arquitetônicos para criar uma API da Web são os seguintes.

 URI simples como o endereço dos serviços


 comunicação sem estado
 HTTP para comunicação cliente-servidor
 XML/JSON como linguagem de formatação

O que é ambiente de teste de API?


No ambiente de teste de API, nenhuma GUI (Graphical User Interface) está disponível.
Para a API, o ambiente de teste é uma abordagem bastante sofisticada que configura o
servidor e o banco de dados para corresponder aos requisitos do aplicativo de software. Após
a conclusão do processo de instalação, a API será verificada quanto ao funcionamento correto.

Ao longo do processo, vários parâmetros para o ambiente original são estabelecidos por meio
de chamadas de API para examinar os resultados do teste.

5. Diferença entre API e serviços da Web?


Serviços web:

1. Todos os serviços da Web são APIs


2. Todos os serviços da Web precisam ser expostos na Web (HTTP)
3. Um serviço da Web usa apenas três estilos de uso: SOAP, REST e XML-RPC para comunicação
4. Um serviço da Web sempre precisa de um rede para operar

APIs:

1. Todas as APIs não são serviços da web


2. Todas as APIs não precisam ser expostas na web (ou seja, HTTP)
3. A API usa várias formas de comunicação, por exemplo, arquivos DLL em C/C++, arquivos Jar/
RMI em java, interrupções na API do kernel do Linux etc.
4. APIs não precisam de uma rede para operação

6. O que é Sabão?
SOAP significa Simple Object Access Protocol. É um protocolo de mensagens baseado em
XML. Ajuda na troca de informações entre computadores.

7. O que é Rest API?


REST significa Representational State Transfer. É um conjunto de funções que auxiliam os
desenvolvedores na realização de requisições e recebimento de respostas. A interação é feita
através do protocolo HTTP na API REST.

8. Diferença entre SOAP e REST?


SOAP:
1. SOAP é um protocolo através do qual dois computadores se comunicam compartilhando
documentos XML
2. SOAP suporta apenas o formato XML
3. SOAP não suporta cache
4. SOAP é mais lento que REST
5. SOAP é como um aplicativo de desktop personalizado, intimamente conectado para o
servidor
6. SOAP é executado em HTTP, mas envolve a mensagem

REST:
1. REST é uma arquitetura de serviço e design para arquitetura de software baseado em rede
2. REST suporta diferentes formatos de dados
3. REST suporta cache
4. REST é mais rápido que SOAP
5. O cliente REST é como um navegador e usa métodos padrão a aplicação tem que caber
dentro dela
6. REST usa os cabeçalhos HTTP para armazenar metainformações

9. Quais são os testes comuns realizados em APIs?


Alguns dos testes comuns que realizamos em APIs são os seguintes.

1. Verifique se o valor de retorno é baseado na condição de entrada. A resposta das APIs deve
ser verificada com base na solicitação.
2. Verifique se o sistema está autenticando o resultado quando a API está atualizando alguma
estrutura de dados
3. Verifique se a API dispara algum outro evento ou solicita outra API
4. Verifique o comportamento da API quando não há valor de retorno

10. Quais são as vantagens do teste de API?

 O teste de API é eficaz no tempo quando comparado ao teste de GUI. A automação de


teste de API requer menos código para fornecer uma cobertura de teste melhor e mais
rápida.
 O teste de API nos ajuda a reduzir o custo do teste. Com o teste de API, podemos
encontrar pequenos bugs antes do teste de GUI. Esses pequenos bugs se tornarão
maiores durante o teste de GUI. Portanto, encontrar esses bugs no teste de API será
econômico para a empresa.
 O teste de API é independente de idioma.
 O teste de API é bastante útil para testar a funcionalidade principal. Podemos testar as
APIs sem uma interface de usuário. No teste de GUI, precisamos esperar até que o
aplicativo esteja disponível para testar as funcionalidades principais.
 O teste de API nos ajuda a reduzir os riscos.

11. O que exatamente precisa ser verificado no teste de API?


Basicamente, no API Testing, enviamos uma requisição para a API com os dados conhecidos e
analisamos a resposta.
1. Precisão dos dados
2. Códigos de status HTTP
3. Tempo de resposta
4. Códigos de erro caso a API retorne algum erro
5. Verificações de autorização
6. Testes não funcionais, como testes de desempenho, testes de segurança

12. Cite algumas ferramentas usadas para teste de API?


Algumas das ferramentas usadas para teste de API são as seguintes:

 Carteiro
 Estúdio Katalon
 SoapUI
 Declarável
 Tricentis Tosca
 Apigee
 JMeterGenericName
 Tenha certeza
 Caratê DSL
 API Fortaleza
 parasoft
 HP QTP(UFT)
 vREST
 Aerotransportado
 API Science
 Inspetor APIário
 Estrutura cítrica
 Hippie-Swagger
 HttpMaster Express
 Mockbin
 Ping API
 Pyresttest
 Console de Descanso
 Servidor RoboHydra
 Sonda SOAP
 Unirest
 WebInject

Saiba mais sobre    ferramentas de teste de API

13. Liste alguns modelos mais usados para documentação de API?


Alguns dos modelos de documentação da API são os seguintes.

DE ANÚNCIOS
DE ANÚNCIOS

 arrogância
 FlatDoc
 RestDoc
 plano de API
 Ardósia
 Miredot
 Especificação da API do serviço da Web.

14. Cite alguns exemplos de API bastante populares.


Alguns dos exemplos populares de API são

 API do Google Maps


 Youtube
 Twitter
 API de publicidade da Amazon

15. Diferença entre teste de API e teste de unidade?


TESTE DE UNIDADE:

 O teste de unidade é conduzido pela equipe de desenvolvimento


 O teste de unidade é uma forma de teste de caixa branca
 O teste de unidade é realizado antes do processo de inclusão do código na compilação
 O código-fonte está envolvido no teste de unidade
 No teste de unidade, o escopo do teste é limitado, portanto, apenas as
funcionalidades básicas são consideradas para teste

TESTE DE API:

 O teste de API é conduzido pela equipe de controle de qualidade


 O teste de API é uma forma de teste de caixa preta
 O teste de API é realizado depois que a compilação está pronta para teste
 O código-fonte não está envolvido no teste de API
 No teste de API, o escopo do teste é amplo, portanto, todos os problemas funcionais
são considerados para teste

16. Quais são os principais desafios enfrentados no teste de API?


Alguns dos desafios que enfrentamos ao fazer testes de API são os seguintes

 Seleção de parâmetros adequados e suas combinações


 Categorizando os parâmetros corretamente
 O sequenciamento de chamadas adequado é necessário, pois isso pode levar a uma
cobertura inadequada nos testes
 Verificando e validando a saída
 Devido à ausência de GUI, é bastante difícil fornecer valores de entrada

17. Quais são os tipos de bugs que enfrentamos ao realizar testes de API?
Os problemas observados ao realizar testes de API são

DE ANÚNCIOS
DE ANÚNCIOS

 Estresse, desempenho e problemas de segurança


 Funcionalidade duplicada ou ausente
 Problemas de confiabilidade
 Mensagens impróprias
 Mecanismo de tratamento de erros incompatível
 Problemas multiencadeados
 Erros impróprios

18. Como o teste de interface do usuário não é semelhante ao teste de API?


O teste de interface do usuário (interface do usuário) é para testar a parte da interface gráfica
do aplicativo. Seu foco principal é testar a aparência de um aplicativo. Por outro lado, o teste
de API permite a comunicação entre dois sistemas de software diferentes. Seu foco principal
está na camada de negócios do aplicativo.

19. Cite alguns dos métodos HTTP mais usados?


Alguns dos métodos HTTP são
GET: Permite recuperar dados de um servidor
POST: Permite adicionar dados a um arquivo ou recurso existente em um servidor
PUT: Permite substituir um arquivo ou recurso existente em um servidor
DELETE: Permite excluir dados de um servidor
PATCH: É usado para aplicar modificações parciais em um recurso
OPTIONS: É usado para descrever as opções de comunicação para o recurso de destino
HEAD: Solicita uma resposta idêntica à de uma solicitação GET, mas sem o corpo da resposta

20. Você pode usar a solicitação GET em vez de PUT para criar um recurso?
Não, a solicitação GET permite apenas direitos somente leitura. Ele permite que você recupere
dados de um servidor, mas não crie um recurso. Os métodos PUT ou POST devem ser usados
para criar um recurso.

21. Qual é a diferença entre os métodos PUT e POST?


Os métodos PUT e POST às vezes são confusos em relação a quando cada um deve ser
usado. Usando a solicitação POST, nossa intenção é criar um novo objeto no servidor,
enquanto com a solicitação PUT, nossa intenção é substituir um objeto por outro objeto.

O POST deve ser usado quando o cliente envia a página para o servidor e, em seguida, o
servidor informa ao cliente onde a colocou. PUT deve ser usado quando o cliente especifica a
localização da página

Definição e funções de uma API (perguntas de entrevista de teste de API da Web


comum)
 1. O que é uma API?
 2. Quais são as principais diferenças entre API e Web Service?
 3. Quais são os limites de uso da API?
 Criando uma API (perguntas de entrevista de teste de API da Web comum)
 4. Quais são alguns estilos de arquitetura para criar uma API da Web?
 5. Quem pode usar uma API Web?
 Testando uma API – Principais perguntas e respostas da entrevista de teste de API da
Web
 6. O que é Teste de API?
 7. Quais são as vantagens do teste de API?  
 8. Alguns protocolos comuns usados em testes de API?
 9. Qual é o ambiente de teste da API?
 10. Quais são os princípios de um design de teste de API?
 11. Quais são os tipos comuns de teste de API?
 12. Qual é o procedimento para realizar o teste de API?
 13. O que deve ser verificado ao realizar o teste de API?
 14. Qual é o melhor método de abordagem para realizar testes de API?
 15. Quais ferramentas podem ser usadas para teste de API?
 16. Quais são as diferenças entre o teste de API e o teste de unidade?
 17. Quais são as diferenças entre o teste de API e o teste de interface do usuário?
 18. Quais são os principais desafios enfrentados no teste de API?
 19. Quais são os métodos de teste incluídos no teste de API?
 20. Por que o teste de API é considerado a forma mais adequada para o teste de
Automação?
 21. Quais são os erros comuns de API encontrados com frequência?
 22. Que tipos de bugs o teste de API encontraria com frequência?
 Documentando a API (perguntas da entrevista de teste de API da Web comum)
 23. O que é a documentação da API?
 24. Quais são os modelos de documentação de API comumente usados?
 25. Ao escrever um documento API, o que deve ser considerado?
 26. Com que frequência as APIs são alteradas e, mais importante, obsoletas?
 REST (perguntas comuns da entrevista de teste de API da Web)
 27. O que é REST?
 28. O que é um Web Services RESTFul?
 29. O que é um “Recurso” em REST?
 30. Qual é a forma mais popular de representar um recurso em REST?
 31. Qual protocolo é usado pelos serviços Web RESTful?
 32. Quais são algumas das principais características do REST?
 33. O que são mensagens em serviços da Web RESTful?
 34. Quais são os principais componentes de uma solicitação HTTP?
 35. Quais são os métodos HTTP mais comumente usados suportados pelo REST?
 36. A solicitação GET pode ser usada em vez de PUT para criar um recurso?
 37. Existe alguma diferença entre as operações PUT e POST?
  
Mais de 50 perguntas sobre entrevistas de teste de API da Web [Lista
final]

 Vamos aproveitar a Plataforma de Testes Katalon! 

O teste de API foi considerado o futuro do teste de software graças às suas vantagens na

capacidade de testar a funcionalidade principal, eficácia de tempo, independência de

linguagem e integração de GUI. Torna-se uma obrigação para projetos de teste de software

garantir a qualidade do produto.

Nos últimos anos, muitos testadores definitivamente precisarão enfrentar perguntas de

entrevistas ao se candidatar a um trabalho de controle de qualidade. As perguntas da

entrevista de teste de API da Web abaixo foram coletadas dos profissionais de teste para

ajudá-lo a se preparar para uma nova função. Mais do que apenas uma entrevista de API, esta

lista de conteúdo também beneficiará iniciantes e testadores seniores que desejam obter

conhecimento geral e avançado em testes de API da web.


Definição e funções de uma API (perguntas de entrevista de teste de API da Web comum)

1. O que é uma API?

Uma API (Application Programming Interface) é um software intermediário que permite que

dois aplicativos se comuniquem entre si. Ele compreende uma série de definições de sub-

rotinas, logs e ferramentas para criar software aplicativo.

Em uma entrevista de teste de API, você pode ser solicitado a fornecer alguns exemplos de

API, aqui estão os mais conhecidos: Google Maps API, Amazon Advertising API, Twitter API,

YouTube API, etc.

2. Quais são as principais diferenças entre API e Web Service?

 Todos os serviços da Web são APIs, mas nem todas as APIs são serviços da Web.

 Os serviços da Web podem não conter todas as especificações e não podem executar

todas as tarefas que as APIs executariam.

 Um serviço da Web usa apenas três estilos de uso: SOAP, REST e XML-RPC para

comunicação, enquanto a API pode ser exposta de várias maneiras.

 Um serviço da Web sempre precisa de uma rede para operar, enquanto as APIs não

precisam de uma rede para operar.

3. Quais são os limites de uso da API?

Muitas APIs têm um certo limite configurado pelo provedor. Portanto, tente estimar seu uso e

entender como isso afetará o custo geral da oferta. Se isso será um problema depende em

grande parte de como os dados são aproveitados. Ser pego por uma cota e efetivamente

cortado devido a limitações orçamentárias tornará o serviço (e qualquer sistema ou processo

dependente dele) praticamente inútil.

Criando uma API (perguntas de entrevista de teste de API da Web comum)

4. Quais são alguns estilos de arquitetura para criar uma API da Web?

Esta é uma das perguntas fundamentais da entrevista da API da Web. Abaixo estão quatro

estilos de arquitetura de API da Web comuns:


 HTTP para comunicação cliente-servidor

 XML/JSON como linguagem de formatação

 URI simples como o endereço dos serviços

 comunicação sem estado

5. Quem pode usar uma API Web?

A API da Web pode ser consumida por qualquer cliente que suporte verbos HTTP como GET,

PUT, DELETE, POST. Como os serviços de API da Web não requerem configuração, eles podem

ser facilmente usados por qualquer cliente. De fato, até mesmo dispositivos portáteis, como

dispositivos móveis, podem facilmente usar a API da Web, que é sem dúvida a maior vantagem

dessa tecnologia.

Testando uma API – Principais perguntas e respostas da entrevista de teste de API da Web

6. O que é Teste de API?

O teste de API é um tipo de teste de software que determina se as APIs desenvolvidas

atendem às expectativas em relação à funcionalidade, confiabilidade, desempenho e

segurança do aplicativo.

7. Quais são as vantagens do teste de API?  

Em uma entrevista de API, é provável que perguntem sobre as vantagens do teste de

API. Portanto, esteja preparado com os significativos, como:

 Teste de Funcionalidade Central: o teste de API fornece acesso ao aplicativo sem uma

interface de usuário. O núcleo e o nível de código das funcionalidades do aplicativo

serão testados e avaliados antes dos testes de GUI. Isso ajudará a detectar os

problemas menores que podem se tornar maiores durante o teste da GUI.

 Tempo efetivo:  o teste de API geralmente consome menos tempo do que o teste de

GUI funcional. Os elementos da web no teste de GUI devem ser pesquisados, o que

torna o processo de teste mais lento. Particularmente, a automação de teste de API

requer menos código para fornecer uma cobertura de teste melhor e mais rápida em
comparação com a automação de teste de GUI. Isso resultará em economia de custos

para o projeto de teste.

 Independente de linguagem: no teste de API, os dados são trocados usando XML ou

JSON. Esses modos de transferência são completamente independentes de idioma,

permitindo que os usuários selecionem qualquer idioma de código ao adotar serviços

de teste de automação para o projeto.

 Fácil integração com a GUI: os testes de API permitem testes altamente integráveis, o

que é particularmente útil se você deseja realizar testes de GUI funcionais após o teste

de API. Por exemplo, a integração simples permitiria que novas contas de usuário

fossem criadas no aplicativo antes do início de um teste de GUI.

8. Alguns protocolos comuns usados em testes de API?

Muitos protocolos estão agora disponíveis para serem usados em testes de API, como JMS,

REST, HTTP, UDDI e SOAP.

9. Qual é o ambiente de teste da API?

Configurar o ambiente de teste da API não é uma tarefa fácil, então você deve ter uma

resposta pronta se sua entrevista de teste de API estiver chegando. O ambiente de teste da API

é um pouco completo e requer a configuração do banco de dados e do servidor, dependendo

dos requisitos do software. Nenhuma GUI (Graphical User Interface) está disponível neste

formulário de teste.

Quando o processo de instalação estiver concluído, a API será verificada quanto à operação

adequada. Ao longo do processo, a API chamada do ambiente original é configurada com

diferentes parâmetros para estudar os resultados do teste.  

10. Quais são os princípios de um design de teste de API?

Os cinco princípios mais importantes de um design de teste de API são:

 Configuração: Criar objetos, iniciar serviços, inicializar dados, etc.

 Execução: Etapas para aplicar a API ou o cenário, incluindo log


 Verificação: Oráculos para avaliar o resultado da execução

 Relatório: Aprovado, reprovado ou bloqueado

 Limpeza: estado de pré-teste

11. Quais são os tipos comuns de teste de API?

Embora certamente existam testes especiais e nenhuma lista possa ser solicitada para ser

abrangente neste domínio, a maioria dos testes se encaixa amplamente nas nove categorias a

seguir que você deve lembrar antes de participar de uma entrevista de teste de API.

1. Teste de validação

2. Teste funcional

3. teste de IU

4. Teste de carga

5. Detecção de tempo de execução/erro

6. teste de segurança

7. Teste de penetração

8. teste fuzz

9. Testes de interoperabilidade e conformidade com WS

Ativar avaliação gratuita da plataforma Katalon

12. Qual é o procedimento para realizar o teste de API?

1. Escolha a suíte para adicionar o caso de teste da API

2. Escolha o modo de desenvolvimento do teste

3. Exigir o desenvolvimento de casos de teste para os métodos de API necessários

4. Configure os parâmetros de controle do aplicativo e teste as condições


5. Configurar a validação do método

6. Execute o teste da API

7. Verifique os relatórios de teste e filtre os casos de teste da API

8. Organizar todos os casos de teste de API

13. O que deve ser verificado ao realizar o teste de API?

Durante o processo de teste da API, uma solicitação é feita à API com os dados

conhecidos. Dessa forma, você pode analisar a resposta de validação. Ao testar uma API, você

deve considerar:

 Precisão dos dados

 validação do esquema

 Códigos de status HTTP

 Tipo de dados, validações, ordem e integridade

 verificações de autorização

 Implementação do tempo limite de resposta

 Códigos de erro caso a API retorne e

 Testes não funcionais, como testes de desempenho e segurança

14. Qual é o melhor método de abordagem para realizar testes de API?

Os seguintes fatores devem ser considerados ao realizar testes de API:

 Definindo os parâmetros de entrada corretos

 Verificando as chamadas da mistura de dois ou mais parâmetros de valor agregado

 Definindo a funcionalidade básica e o escopo do programa API


 Escrever casos de teste de API apropriados e fazer uso de técnicas de teste, como

classe de equivalência, valor de limite, etc., para verificar a operabilidade

 Testando a execução do caso

 Comparando o resultado do teste com o resultado esperado

 Verificando o comportamento da API em condições como conexão com arquivos e

assim por diante.

15. Quais ferramentas podem ser usadas para teste de API?

Há uma infinidade de diferentes ferramentas de teste de API disponíveis. Algumas das

ferramentas comuns são Katalon Studio, Postman, SoapUi Pro, Apigee, etc. Ao fazer testes de

unidade e API, ambos têm como alvo o código-fonte. Se um método de API usa código

baseado em .NET, outra ferramenta de suporte deve ter .NET.

Saiba mais:  SoapUI vs Postman, Katalon Studio: uma revisão das 3 principais ferramentas de

API

16. Quais são as diferenças entre o teste de API e o teste de unidade?


17. Quais são as diferenças entre o teste de API e o teste de interface do usuário?

 A API permite a comunicação entre dois sistemas de software separados. Um sistema

de software que implementa uma API contém funções ou sub-rotinas que podem ser

executadas por outro sistema de software.

 Por outro lado, o teste de interface do usuário (interface do usuário) refere-se ao teste

de interface gráfica, como a forma como os usuários interagem com os aplicativos,

testando elementos do aplicativo como fontes, imagens, layouts etc. O teste de

interface do usuário concentra-se basicamente na aparência de um aplicativo.

18. Quais são os principais desafios enfrentados no teste de API?

Se você pode superar os desafios no teste de API, também pode confiar na entrevista de teste

de API. Eles são:

 Seleção de Parâmetros

 Combinação de Parâmetros

 Sequenciamento de chamadas

 Verificação e validação de saída

 Outro desafio importante é fornecer valores de entrada, o que é muito difícil porque a

GUI não está disponível neste caso.

19. Quais são os métodos de teste incluídos no teste de API?

Uma das perguntas mais comuns em entrevistas de teste de API da Web é sobre os métodos

de teste. Eles são:

 Testes unitários e testes funcionais

 Teste de carga para testar o desempenho sob carga

 Teste de descoberta para listar, criar e excluir o número de chamadas documentadas

na API
 Testes de usabilidade e confiabilidade para obter resultados consistentes

 Testes de segurança e penetração para validar todos os tipos de autenticação

 Teste de automação para criar e executar scripts que exigem chamadas de API

regulares

 Integração de ponta a ponta e teste de interface do usuário da Web

 Teste de documentação da API para determinar sua eficiência e eficácia

20. Por que o teste de API é considerado a forma mais adequada para o teste de Automação?

O teste de API agora é preferido em relação ao teste de GUI e é considerado o mais adequado

porque:

 Ele verifica todos os caminhos funcionais do sistema em teste de forma muito eficaz.

 Ele fornece a interface mais estável.

 É mais fácil de manter e fornece feedback rápido.

21. Quais são os erros comuns de API encontrados com frequência?

Não apenas questões fundamentais da API, o entrevistador também determina seu

conhecimento e experiência perguntando sobre os erros da API em uma entrevista de teste de

API da Web. Então os mais comuns são:

 Erros de módulo ausente

 erros de documentação

 Erros de validação de parâmetros

 E algumas expectativas de erro padrão, como se o resultado não fosse tão previsto, a

ocorrência de erros pode ser vista e para os mesmos avisos são especificados na forma

de uma mensagem. Pode haver um ou mais avisos em um módulo individual.


22. Que tipos de bugs o teste de API encontraria com frequência?

 Funcionalidade ausente ou duplicada

 Falha ao lidar com condições de erro normalmente

 Estresse

 Confiabilidade

 Segurança

 sinalizadores não utilizados

 Erros não implementados

 Tratamento de erro inconsistente

 Desempenho

 Problemas de multiencadeamento

 Erros impróprios

Documentando a API (perguntas da entrevista de teste de API da Web comum)

23. O que é a documentação da API?

A documentação da API é um texto técnico completo e preciso que fornece instruções sobre

como usar e integrar com eficiência uma API. É um manual de referência compacto que

contém todas as informações necessárias para trabalhar com a API e ajuda você a responder a

todas as perguntas sobre testes de API com detalhes sobre funções, classes, tipos de retorno,

argumentos, além de exemplos e tutoriais.

24. Quais são os modelos de documentação de API comumente usados?

Existem vários modelos de documentação de API disponíveis que ajudam a tornar todo o

processo simples e direto, o que pode ser respondido em sua entrevista de teste de API, como:

 arrogância
 Miredot

 Ardósia

 FlatDoc

 plano de API

 RestDoc

 Especificação da API do serviço da Web

25. Ao escrever um documento API, o que deve ser considerado?

 Fonte do conteúdo

 Plano de documento ou esboço

 Layout de entrega

 Informações necessárias para cada função no documento

 Programas de criação automática de documentos

26. Com que frequência as APIs são alteradas e, mais importante, obsoletas?

As APIs, especialmente as APIs RESTful modernas, são uma boa criação que certamente pode

simplificar e acelerar os esforços de integração, o que torna mais provável que você se

beneficie delas. Mas as APIs podem e mudam por vários motivos, às vezes abruptamente e,

portanto, as APIs REST não diferem dos métodos de integração tradicionais a esse respeito. Se

uma chamada de API ficar obsoleta e desaparecer, seu procedimento será interrompido e é

importante entender com que frequência as APIs das quais você depende são alteradas ou

obsoletas.

 
REST (perguntas comuns da entrevista de teste de API da Web)

27. O que é REST?

REST (Representational State Transfer) é um estilo arquitetônico para desenvolvimento de

serviços da Web que explora a onipresença do protocolo HTTP e usa o método HTTP para

definir ações. Ele gira em torno de recursos onde cada componente é um recurso que pode ser

acessado por meio de uma interface compartilhada usando métodos HTTP padrão. 

Na arquitetura REST, um servidor REST fornece acesso a recursos e acessos de clientes REST e

disponibiliza esses recursos. Aqui, cada recurso é identificado por URIs ou IDs globais, e o REST

usa várias maneiras de representar um recurso, como texto, JSON e XML. XML e JSON são hoje

em dia as representações de recursos mais populares.

28. O que é um Web Services RESTFul?

Principalmente, existem dois tipos de Web Services que devem ser lembrados em sua próxima

entrevista de teste de API:

1. SOAP (Simple Object Access Protocol) – um método baseado em XML para expor

serviços da web.

2. Os serviços da Web desenvolvidos no estilo REST são referidos como serviços da Web

RESTful. Esses serviços da Web usam métodos HTTP para implementar o conceito de

arquitetura REST. Um serviço da Web RESTful geralmente define um URI, um

identificador uniforme de recursos, um serviço, fornece representação de recursos

como JSON e um conjunto de métodos HTTP.

29. O que é um “Recurso” em REST?

A arquitetura REST trata qualquer conteúdo como um recurso, que pode ser arquivos de texto,

páginas HTML, imagens, vídeos ou informações dinâmicas de negócios. 

O Servidor REST dá acesso aos recursos e os modifica, onde cada recurso é identificado por

URIs/IDs globais.
30. Qual é a forma mais popular de representar um recurso em REST?

REST usa representações diferentes para definir um recurso como texto, JSON e XML. 

XML e JSON são as representações de recursos mais populares.

31. Qual protocolo é usado pelos serviços Web RESTful?

Os serviços da Web RESTful usam o protocolo HTTP como meio de comunicação entre o cliente

e o servidor.

32. Quais são algumas das principais características do REST?

As principais características do REST provavelmente são perguntadas em uma entrevista de

teste de API da Web. Então, por favor, prepare a resposta em sua mente com estes 2:

 REST é stateless, portanto o SERVER não possui status (ou dados de sessão) 

Com uma API REST bem aplicada, o servidor pode ser reiniciado entre duas chamadas,

pois todos os dados são transferidos para o servidor

 O serviço da Web usa o método POST principalmente para executar operações,

enquanto o REST usa GET para acessar recursos.

33. O que são mensagens em serviços da Web RESTful?

Os serviços da Web RESTful usam o protocolo HTTP como uma ferramenta de comunicação

entre o cliente e o servidor. A técnica que quando o cliente envia uma mensagem na forma de

uma solicitação HTTP, o servidor envia de volta a resposta HTTP é chamada de

Messaging. Essas mensagens compreendem dados e metadados da mensagem, ou seja,

informações sobre a própria mensagem.

34. Quais são os principais componentes de uma solicitação HTTP?

Uma solicitação HTTP contém cinco elementos principais:

1. Uma ação que mostra métodos HTTP como GET, PUT, POST, DELETE.

2. Uniform Resource Identifier (URI), que é o identificador do recurso no servidor.

3. Versão HTTP, que indica a versão HTTP, por exemplo-HTTP v1.1.


4. Cabeçalho de solicitação, que carrega metadados (como pares chave-valor) para a

mensagem de solicitação HTTP. Os metadados podem ser um tipo de cliente (ou

navegador), formato suportado pelo cliente, formato de um formato de corpo de

mensagem, configurações de cache e assim por diante.

5. Request Body, que indica o conteúdo da mensagem ou a representação do recurso.

35. Quais são os métodos HTTP mais comumente usados suportados pelo REST?

 GET é usado apenas para solicitar dados de um recurso especificado. As solicitações

get podem ser armazenadas em cache e marcadas. Ele permanece no histórico do

navegador e tem restrições de comprimento. As solicitações GET nunca devem ser

usadas ao lidar com dados confidenciais.

 O POST é usado para enviar dados a um servidor para criar/atualizar um recurso. As

solicitações POST nunca são armazenadas em cache e marcadas e não permanecem no

histórico do navegador.

 PUT substitui todas as representações atuais do recurso de destino pela carga útil da

solicitação.

 DELETE remove o recurso especificado.

 OPTIONS é usado para descrever as opções de comunicação para o recurso de destino.

 HEAD solicita uma resposta idêntica à de uma solicitação GET, mas sem o corpo da

resposta.

36. A solicitação GET pode ser usada em vez de PUT para criar um recurso?

O método PUT ou POST deve ser usado para criar um recurso. GET é usado apenas para

solicitar dados de um recurso especificado.

37. Existe alguma diferença entre as operações PUT e POST?

As operações PUT e POST são bastante semelhantes, exceto nos termos do resultado gerado

por elas.
A operação PUT é idempotente, portanto, você pode armazenar em cache a resposta

enquanto as respostas à operação POST não podem ser armazenadas em cache e, se você

repetir a solicitação N vezes, acabará tendo N recursos com N URIs diferentes criados no

servidor.

Em uma entrevista de teste de API da Web, você deve fornecer um exemplo específico para as

operações PUT e POST para deixar claro para o entrevistador. Abaixo está um exemplo:

Cenário:  digamos que estamos projetando um aplicativo de rede.  Vamos listar alguns URIs e

sua finalidade para saber quando usar POST e quando usar operações PUT.   

GET /device-management/devices: obtém todos os dispositivos 

POST /device-management/devices: cria um novo dispositivo 

GET /device-management/devices/{id}: obtém as informações do dispositivo identificadas por

“id” 

PUT /device-management/ devices/{id} : Atualize as informações do dispositivo identificadas

por “id” 

DELETE /device-management/devices/{id} : Exclua o dispositivo por “id”

Você também pode gostar