Skip to content

neusmoura07/Growing-Object-Oriented-Software-Guided-by-Tests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

📖 Growing Object-Oriented Software, Guided by Tests (GOSS)

Este repositório contém minhas anotações, exercícios e implementações práticas baseadas no livro "Growing Object-Oriented Software, Guided by Tests" (GOSS), de Steve Freeman e Nat Pryce.

O foco deste livro é usar o TDD (Test-Driven Development) não apenas como uma técnica de verificação, mas como uma ferramenta fundamental de design de software. Ele ensina como "ouvir" os testes para guiar a criação de um software orientado a objetos que seja robusto, modular e fácil de manter.


Capa do livro GOSS


🎯 Foco Principal dos Estudos

Diferente de outras abordagens, o GOSS foca muito no desenvolvimento "Outside-In" (de fora para dentro). As práticas neste repositório exploram:

  • TDD "Outside-In" (London School): Começar o desenvolvimento a partir das interfaces externas (como APIs ou UIs) e usar Test Doubles (Mocks e Stubs) para definir e guiar o design das colaborações entre os objetos internos.
  • Design Orientado a Objetos (OOD): Como o TDD força a criação de classes pequenas, coesas, com baixo acoplamento e alta encapsulação.
  • Uso de Test Doubles (Mocks): Aprender a usar Mocks não apenas para isolar testes, mas como uma ferramenta de design para definir papéis e responsabilidades no sistema.
  • "Walking Skeleton": A prática de construir rapidamente uma implementação mínima, mas completa (end-to-end), do sistema, que possa ser testada e incrementada.
  • Testes de Aceitação vs. Testes Unitários: Entender como diferentes níveis de teste colaboram para guiar o desenvolvimento.

🛠️ Tecnologias Utilizadas

  • Java: Linguagem principal para todos os exercícios e projetos.
  • JUnit: Framework de testes unitários.
  • Mockito: Framework de mocking, essencial para aplicar a abordagem "Outside-In" ensinada no livro.
  • Maven (ou Gradle): Gerenciador de dependências e build do projeto.

🔗 Sobre Mim

Este repositório é parte da minha jornada de estudos em desenvolvimento Back-end Java e Software Craftsmanship.

About

Práticas do livro GOSS (Freeman & Pryce). Foco em TDD "Outside-In" (London School) para guiar o Design Orientado a Objetos usando Java, JUnit e Mockito.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages