Estratégia de Teste para APIs
Nós que apenas quebramos pedras sempre devemos ter catedrais em mente. Lema do trabalhador de minas
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.
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.
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:
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.