PostgreSQL 11.2, 10.7, 9.6.12, 9.5.16 e 9.4.21 Liberado!
21 de fevereiro de 2019Tecnisys marca presença no SUSECON 2019
3 de abril de 2019Como definir uma boa estratégia para automação de testes ?
Há um conceito chave para os testes automatizados de software: a pirâmide de testes.
Mike Cohn criou este conceito em seu livro “Succeeding with Agile”, é uma ótima metáfora visual dizendo para você pensar em diferentes camadas de testes e também informa quanto teste deve ser feito em cada camada.
A pirâmide de teste original de Mike Cohn consiste em três camadas que sua suíte de testes deve consistir (de baixo para cima):
-
Testes Unitários
-
Testes de Serviço
-
Testes de Interface do Usuário
Infelizmente, o conceito da pirâmide de teste não é unanimidade. Alguns argumentam que a nomenclatura ou alguns aspectos conceituais da pirâmide de testes de Mike Cohn não são ideais. Do ponto de vista moderno, a pirâmide de testes parece excessivamente simplista e, portanto, pode ser enganosa.
Ainda assim, devido à sua simplicidade, a essência da pirâmide de testes serve como uma boa regra prática quando se trata de estabelecer sua própria suíte de testes. Sua melhor aposta é lembrar duas coisas da pirâmide de teste original de Cohn:
-
Escrever testes com granularidade diferente.
-
Quanto mais alto nível você obtiver, menos testes você deve ter.
Atenha-se à forma da pirâmide para criar uma suíte de testes saudável, rápida e de fácil manutenção:
-
Escreva vários testes de unidade pequenos e rápidos.
-
Escreva alguns testes mais grosseiros e muito poucos testes de alto nível que testem sua aplicação de ponta a ponta.
-
Tome cuidado para não fazer uma complicação com os casos de testes e tornar a suíte de teste muito pesada e que levará muito tempo para ser executada.
Não fique muito ligado aos nomes das camadas individuais da pirâmide de teste de Cohn, pois elas podem ser bastante enganosas: Teste de Serviço é um termo difícil de entender (o próprio Cohn fala sobre a observação de que muitos desenvolvedores ignoram completamente essa camada). Nos dias de estruturas de aplicativos de página única como react, angular, ember.js e outros, torna-se aparente que os testes de UI não precisam estar no nível mais alto de sua pirâmide – você é perfeitamente capaz de testar sua UI em todos esses quadros.
Dadas as deficiências dos nomes originais, não há problema em criar outros nomes para suas camadas de teste, contanto que você o mantenha consistente em sua base de código e nas discussões da sua equipe.
Quer aplicar a pirâmide de testes em sua empresa, quer conversar mais a respeito?
Entre em contato conosco, temos profissionais qualificados para poder lhe atender da melhor maneira.
Este texto é uma tradução livre o artigo publicado em: https://martinfowler.com/articles/practical-test-pyramid.html