skip to Main Content

Antecipação de Testes Automatizados para contextos de API

Primeiramente, o que são Testes Automatizados? 

Fonte: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.calderaro.adv.br%2Fsobre-o-cabimento-do-agi%2F&psig=AOvVaw1rslPKU2uDnwPdpsgQB5NZ&ust=1621107290993000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCOjStMj1yfACFQAAAAAdAAAAABAp

 

Para simplificar o que é um teste automatizado, pensamos no seguinte contexto: 

“Imagine que toda semana o seu time libera uma nova versão do sistema, com todos os projetos já integrados. Porém, todas as vezes que uma nova versão é liberada, testes exploratórios precisam ser executados de forma manual a garantir que inconformidades não estejam acontecendo em um ambiente de produção. Visto que este processo precisa ser validado semanalmente e repetidamente, ou seja, todas as vezes a mesma coisa, o mesmo teste, o mesmo processo e a mesma técnica. O que gera um alto tempo demandado para garantir que a regressão e a integração das funcionalidades não tenham sofrido alterações indevidas, antes desta versão ser liberada para clientes em específicos.” 

Diante deste cenário apresentado, podemos notar que uma demanda muito grande e exaustiva de testes repetitivos precisa ser executada semanalmente, o que gera tempo e custo. Todo este processo pode ser evitado com a implementação dos testes automatizados, que abordam um conjunto de ações predefinidas nas quais geram bons resultados e evitam que este processo de repetições e exaustividade em testar uma funcionalidade sejam exonerados. O teste automatizado possui diferentes abordagens, contextos e especificidades. Sendo elas: 

  • Demandas por Front-end. 
  • Demandas por Back-end. 
  • Na qual podemos exemplificar os testes de API. 
  • Demandas por Performance. 

Dentre estes contextos, podemos abordar diversos outros. Porém o que nos traz a falar de automação de testes no post de hoje é o Teste de API e como podemos antecipar os testes Automatizados de uma API. 

Fonte: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.fiverr.com%2Fhunain123%2Fcreate-web-services-endpoint-for-mobile-app&psig=AOvVaw1VKao2D_nqWKzDgfVWjvxW&ust=1621108209100000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCKi0hIP5yfACFQAAAAAdAAAAABAO

 

Primeiramente, precisamos entender a estrutura básica de uma API: 

 

Como podemos observar, temos os conhecidos EndPoints cujo seus serviços fazem a comunicação entre aplicações. EndPoints possuem métodos HTTP que são conhecidos como PUT, POST, PATCH, DELETE e GET. Cada método possui sua determinada ação, uns utilizam de Json específicos em seu corpo bem como possuem retornos específicos para determinadas chamadas. 

Quando falamos em testes de API, devemos sempre levar em consideração todos os métodos nos quais precisamos testar e como testá-los, utilizando de boas práticas e de técnicas específicas para o teste em questão, pois para cada cenário a ser executado dentro uma rotina de testes precisamos determinar uma técnica na qual mais se aproxima do resultado da qualidade esperada. 

Estrategicamente podemos pensar em duas maneiras de testar uma API: 

  • Testes executados de forma manual, através de algumas ferramentas já prontas, como POSTMAN (Ferramenta de teste automatizado). 
  • Testes executados de forma automatizada, utilizando frameworks, bibliotecas e linguagens de programação específicas (Java Script, Python, C#, etc), para os projetos de testes a serem desenvolvidos. 

 

Quando executado de forma manual: 

 

Quando os testes são executados de forma manual, geram todos os problemas relatados acima, porém estes problemas afetam diretamente outros pontos: 

  • Demora na entrega do teste, pois sempre terá uma dependência por parte do desenvolvimento; 
  • Se um problema for encontrado e este for impeditivo, só prosseguimos com o teste após as correções, e perante este fato devemos repetir novamente todo o processo de teste; 
  • Quanto maior a alteração ou implementação realizada, mais testes precisam ser executados e a cobertura precisa ser a altura do planejado, porém nem sempre todos os pontos poderão ser validados, ou seja, nem todos os EndPoints são devidamente validados como o esperado; 
  • Não conseguimos garantir a regressão do processo; 
  • Não conseguimos garantir a integração dos componentes; 
  • Só conseguimos ver a estrutura da implementação realizada quando vamos testar. Ou seja, não participamos de todo o processo. 

 

Quando executado de forma automatizada 

 

Como podemos observar no mapa mental acima, são inúmeros os benefícios que temos ao adotar a técnica de automatizar os processos de testes nos quais são importantes para o cenário. 

Vale sempre lembrar que cobertura de testes nunca é demais, porém testes desnecessários se tornam descartáveis dependendo da abordagem do teste que você irá utilizar. 

Diante de todo este contexto, chegamos a seguinte dúvida: 

Por que devemos antecipar os nossos testes automatizados de API?” 

 

Os benefícios da antecipação do teste automatizado em uma API 

Conclusão: 

A antecipação dos testes automatizados, seja de API ou dos diferentes outros contextos estabelecidos anteriormente, favorece uma melhor qualidade nas entregas, proporcionando o fator reduzido de Tempo X Custo. O que gera valor tanto para quem desenvolve, quanto para quem recebe este produto. 

Fonte: https://vidadeprogramador.com.br/2011/05/16/fase-de-testes/

Sobre as autoras

Taynara Luana

 

 

 

 

Taynara Luana é formada em Análise e Desenvolvimento de Sistemas especialista em Engenharia de Software e Mestranda em Inovações Tecnológicas. Faz parte da equipe Anymarket, atuando como Analista de Testes. 

 

 

Larissa Ceballos

 

 

 

 

Larissa Ceballos é formada em Análise e Desenvolvimento de Sistemas, pós graduanda em Gestão de Projetos e MBA sobre TrendsInnovation. Faz parte da equipe time Anymarket atuando como Analista de Teste. 

 

 

 

Compartilhe:

This Post Has 0 Comments

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Back To Top