Estratégia de Teste para APIs

Priscila Campos
3 min readJul 26, 2022

--

Nós que apenas quebramos pedras sempre devemos ter catedrais em mente. Lema do trabalhador de minas

Imagem de um quebra cabeças cujas as peças formam um castelo e ao fundo um céu azul com nuvens e no canto superior direito há algumas peças ainda não encaixadas.

Visão Geral

Processos de qualidade demandam coordenação de diferentes atividades e para organizar, comunicar e estruturar as mesmas é preciso planejar e monitorar o estado atual em frente ao planejado e atentar-se às necessidades de readequação.

Esse artigo tem o intuito de: esmiuçar um pouco mais os níveis contidos na pirâmide de teste e as possibilidades ao combiná-los para aumentar a visibilidade de algumas dessas atividades que compõem a estratégia de teste para testes de APIs e tornar essas etapas mais explícitas para serem estimadas, compartilhadas e refinadas juntamente com mais papéis do time.

Em um Tweet

A estratégia de teste descreve os níveis e abordagens de teste por um período equivalente a um ciclo de desenvolvimento e além, distingue-se do plano de teste por não ser específica para um projeto.

Pirâmide de Teste

Observando a forma gráfica da pirâmide temos as orientações dos níveis e volumes dos testes de unidade, integração e ponta a ponta.

Pirâmide de teste ressaltando os níveis unidade, integração e ponta a ponta.
Pirâmide de Teste

Dada essas orientações conseguimos elaborar nossa estratégia de teste satisfazendo padrões de qualidade e promovendo homogeneidade entre projetos.

Expedição por Mais Níveis de Teste

Ao planejar uma estratégia de teste percebemos a necessidade de cobrir mais do que as características ortogonais de uma aplicação e o guia do quadrante ágil de teste é mais uma ferramenta visual para apoiar no mapeamento dos níveis e combinações de testes.

Quadrante Ágil de Teste

Como todo movimento tático, primeiro precisamos compreender o contexto tanto das pessoas envolvidas quanto do projeto e assimilar as necessidades e riscos envolvidos nesse cenário, munidos de informações factuais mapeamos com os diferentes níveis de teste podem apoiar na resolução de problemas.

Torne esse documento um ativo do time para orientar na construção dos testes, a estruturação do conhecimento de maneira compartilhada e sistemática é mais suscetível a melhorias e menos vulnerável às mudanças da organização, como por exemplo as mudanças que ocorrem no time com saída e chegada de pessoas.

Abaixo um exemplo de como tenho organizado a estratégia de teste:

Tabela contendo a estratégia de teste organizada por: nível de teste, abordagem, validação, ambiente, informações gerais e ferramentas.

Testes esquematizados e prioridades definidas respeitando as interdependências entre os níveis, então a estratégia de teste está pronta para orquestrar a implementação dos testes, mantendo a transparência para o time sobre os níveis cobertos ou não.

E para continuar entregando valor, a cada nível e abordagem de teste incrementado é importante reunir novamente o time para conversar sobre os aprendizados, descobertas e também alinhar se às prioridades predefinidas estão coerentes com os problemas atuais que o time precisa resolver.

A velocidade e a produtividade das pessoas desenvolvedoras são paralisadas sempre que uma interrupção derruba o serviço, sempre que uma má implementação compromete a disponibilidade das clientes e das dependências de um microsserviço. Susan J. Fowler

Obrigada pelo seu tempo e por ter chegado até aqui! E se sentir confortável, seu feedback será bem vindo 💚.

Referências

Esse artigo contém referências de alguns tópicos dos livros:

  • HUNT, Andrew; THOMAS, David. O Programador Pragmático: De Aprendiz a Mestre. Porto Alegre: Bookman, 2010.
  • MUNIZ, Antonio; VILAS BOAS, Carol. Jornada Ágil de Qualidade: Aplique técnicas de qualidade no início do ciclo para implantação contínua de software (Jornada Colaborativa). Rio de Janeiro: BRASPORT, 2020.
  • J. FOWLER, Susan. Microsserviços Prontos para a Produção. São Paulo: Novatec, 2017.
  • PEZZÈ, Mauro; YOUNG, Michal. Teste e Análise de Software: Processos, princípios e técnicas. Porto Alegre: Bookman, 2008.

--

--

Priscila Campos
Priscila Campos

Written by Priscila Campos

Senior Quality Analyst at Thoughtworks | Ribeirão das Neves — MG