Figuras Geométricas de Teste (evolução da Pirâmide de Automação)

testing-geometrics-shapes-evolution-of-testing-pyramid-2

Introdução

Bom, neste momento como testador você já deve ter ouvido falar sobre a Pirâmide de Automação de Teste. Mas, na minha visão (e na visão de outros) existe um mal entendido em como nós podemos “aplicar” a Pirâmide de Automação de Teste em nossos projetos.

Se você nunca ouviu falar sobre a Pirâmide de Automação de Teste eu recomendo você a ler os posts abaixo na sequência (acredite em mim, você entenderá melhor este post)

 

Agora vamos pensar…

Agora é hora de pensar de forma crítica…

Pergunta: quando vemos um modelo (como a da pirâmide) qual a primeira coisa que tentamos fazer?
Resposta: segui-la!

Vamos ser sinceros com nós mesmos: nós seguimos o modelo sem questionar (na maioria dos casos). Mas você já se deu conta que a Pirâmide de Automação de Teste é um modelo e uma analogia?

O primeiro post que eu referenciei fala algo muito certo…

lembre-se que é apenas um modelo, não é uma regra difícil ou rápida que deve ser aderida para todos os projetos de software (James Willet)

Muitas pessoas tentar usar a Pirâmide de Automação de Teste como uma regra: todos os testes devem ser colocados para a base de pirâmide e precisamos de menos testes no nível de UI (User Interface).

 

Testando as “Figuras Geométricas”

Depois de ler este post, os posts recomendados, textos e conceitos você concorda comigo que uma estratégia de automação de teste é mais parecida como “Figuras Geométricas” do que com uma “Pirâmide”?

Nós temos vários tipos de figuras geométricas: pirâmide, pentágono, retângulo, estrala, elipse e muitas outras (tente procurar por “figurar geométricas” no Google).

Agora tente pensar comigo na mesma linha de raciocínio…

 

Cenário 1

Você precisa testar uma app mobile e o maior foco seria a interface gráfica, certo?
Mas se você pensar na Pirâmide de Automação de Teste como uma regra você não pode dar foco (e colocar uma quantidade maior de testes) na camada de UI.
Nãooooooooo!!! Você pode adicionar a quantidade de testes que achar necessário.

Quando nós testamos uma app mobile, pelo menos, as três camadas precisam ser testadas: unit (unitário), services (serviços/api) e UI (interface gráfica). E isso encaixa perfeitamente na Pirâmide de Automação de Testes.
Mas, e se você deixar escapar um bug na interface gráfica, qual seria a primeira coisa que seu usuário faria?
Obviamente não é reportar um bug! Será a completa desinstalação de sua app. (e o usuário, provavelmente, nunca irá voltar a instalar/usar a app novamente)

Então qual figura geométrica você usaria para dar um foco maior na UI? Eu diria que um cilindro porque todos os testes nestes três níveis são importantes.

1a2fsyplihstpf9t7mi96lw
O “Cilindro de Automação de Teste”

 

Cenário 2

Você precisa testar diversos microserviços, logo o foco que você daria seria no unitário (unit), não é mesmo?

Novamente, se você continuar pensando que a Pirâmide de Automação de Testes é uma regra você não poderá dar foco (adicionar mais testes) na camada de serviços (service).

Se você esta construindo microserviços você não terá a camada de UI… e você dará um foco maior na camada de testes unitários. Mas o serviço é o coração disso… você deve testá-lo!
Lembre-se de que você deve testar todos os serviços.

Então, qual figura geométrica você usaria para automatizar os microserviços? Eu diria uma estrela!
Mas Elias, uma estrela? SIM!

Você fará sim testes unitários, mas (na minha opinião) os testes dos serviços terão um maior foco e você precisará integrar cada serviço em outros testes/suite para garantir a sanidade desta integração.

A "Estrela de Automação de Testes"
A “Estrela de Automação de Testes”

 

E você, concorda com este post e estes conceitos?

Deixe uma resposta

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