Teste De Regressão

Teste em um programa já testado anteriormente após uma modificação para garantir que defeitos não tenham sido introduzidos ou descobertos em áreas inalteradas do software, como resultado das alterações realizadas. É executado quando o software ou seu ambiente são alterados.

Present in sylabi

Exemplo de uso

Depois que uma equipe publica uma correção para um defeito de cálculo de pagamento, ela reexecuta os testes que falharam anteriormente (isso é reteste) e então executa a suíte de regressão completa cobrindo o restante do fluxo de checkout. O teste de regressão verifica que áreas não alteradas — como a lógica de desconto e o cálculo do custo de envio — continuam se comportando corretamente após a modificação. Na integração contínua, os testes de regressão normalmente são executados automaticamente a cada mudança de código.

Perguntas frequentes

Qual é a diferença entre teste de regressão e reteste? O reteste executa os casos de teste específicos que falharam da última vez para verificar se a correção funcionou. O teste de regressão executa testes sobre funcionalidade já testada e não alterada, para garantir que a mudança não introduziu novos defeitos. Ambos são necessários após uma correção.

Quando o teste de regressão é realizado? Sempre que o software ou seu ambiente muda: novas funcionalidades, correções de bugs, mudanças de configuração ou atualizações de infraestrutura. Quanto maior a mudança, mais importante é a cobertura de regressão.

Quanto teste de regressão é suficiente? O suficiente para cobrir o risco da mudança. As equipes geralmente começam com uma passada de teste de fumaça nos caminhos críticos e depois expandem com base no impacto da mudança e na automação de teste disponível.

O teste de regressão é um nível de teste? É um tipo de teste, não um nível — os testes de regressão podem ser executados em qualquer nível, do teste de componente ao teste de sistema, e frequentemente aparecem em várias fases.

Termos relacionados

  • reteste — reexecutar testes que falharam anteriormente para verificar uma correção
  • teste de confirmação — verificar que um defeito foi de fato corrigido
  • teste de integração — testar as interfaces entre componentes integrados
  • teste de sistema — testar o sistema integrado completo
  • automação de teste — usar software para executar testes, permitindo execuções frequentes de regressão
  • defeito — a falha que uma suíte de regressão foi projetada para detectar

Learn more

A systematic review on regression test selection techniques by Emelie Engström, Per Runeson, Mats Skoglund in Information and Software Technology, Elsevier (2010) - 449+ citations
Comprehensive systematic review of regression test selection techniques with qualitative analysis and empirical evaluations

An empirical study of regression test selection techniques by Todd L. Graves, Mary Jean Harrold, Jung-Min Kim, Adam Porter, Gregg Rothermel in ACM Transactions on Software Engineering and Methodology (TOSEM) (2001) - 663+ citations
Controlled experiment examining costs and benefits of five regression test selection techniques with empirical data on trade-offs

A study of effective regression testing in practice by W. Eric Wong, Joseph R. Horgan, Saul London, Hiralal Agrawal in Proceedings of the Eighth International Symposium on Software Reliability Engineering (ISSRE) (1997) - 701+ citations
Highly influential early work establishing practical foundations for regression testing ensuring changes don't affect unchanged features

Regression Testing: The Ultimate Guide (March 2025)
Comprehensive guide covering regression testing basics, 8-step process, do's and don'ts, challenges, manual vs automated testing, and strategy design

Recommend more content related to this term