Please enable JavaScript.
Coggle requires JavaScript to display documents.
Metodologia Ágil: TDD Test-Driven Development (Desenvolvimento Orientado…
Metodologia Ágil: TDD
Test-Driven Development (Desenvolvimento Orientado a Testes)
1. Definição / Origem
É a prática de engenharia de software onde os testes automatizados são escritos antes de escrever o código de produção.
Foi desenvolvido/redescoberto e formalizado por
Kent Beck
(EUA). Ele foi um dos 17 signatários originais do Manifesto Ágil em 2001.
Surgiu no final da década de 1990 (c. 1999). Fortemente ligado à metodologia Extreme Programming (XP) no contexto do movimento que originou o Manifesto Ágil.
2. Características Principais
Valores e Princípios:
Feedback rápido, foco em design de código simples, prevenção de defeitos em vez de deteção, e segurança absoluta na refatoração contínua.
Ciclo de Vida:
Red-Green-Refactor (Vermelho-Verde-Refatorar):
Red (Vermelho):
Escrever um teste para uma nova funcionalidade que, inevitavelmente, irá falhar.
Green (Verde):
Escrever a quantidade mínima e mais simples de código apenas para fazer o teste passar.
Refactor (Refatorar):
Limpar e otimizar o código escrito (ex: remover duplicações) sem alterar o seu comportamento, garantindo que o teste continua a passar.
3. Ferramentas Utilizadas
Frameworks de Teste Unitário (
família xUnit
):
Java:
JUnit, TestNG.
Python:
PyTest, Unittest.
JavaScript / TypeScript:
Jest, Vitest, Mocha.
.NET (C#):
xUnit.net, NUnit.
Ruby:
RSpec.
Automação e Integração Contínua (
CI/CD
):
GitHub Actions
,
GitLab CI
,
Jenkins
,
CircleCI
(executam a suíte de testes automaticamente a cada alteração/commit no código).
4. Empresas que utilizam / Casos de Uso
Exemplos de Empresas:
Microsoft, IBM, Google, Spotify e Nubank
(setor bancário digital onde a estabilidade é rigorosa).
Caso de uso ideal:
Projetos com regras e lógica de negócio complexas, sistemas financeiros, softwares que exigem elevada fiabilidade a longo prazo, e cenários onde falhas (bugs) no código de produção teriam um impacto financeiro ou operacional grave.
5. Referências Bibliográficas
Beck, Kent (2002).
Test Driven Development: By Example. Addison-Wesley Professional.
Martin, Robert C. (2008).
Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.
Manifesto Ágil
(agilemanifesto.org).
6. Grupo
João Passeti
Lucas Lessa