Introdução a arquitetura de software como ADR usando visualização Markdown, e para caso de estudos usamos o CUCUMBER ferramenta de testes BDD
Este projeto é um exemplo de como usar a arquitetura de decisões registradas (ADR) em conjunto com a ferramenta de testes BDD Cucumber para aprendizado e prática. O objetivo principal é entender como as decisões arquiteturais são documentadas e como os testes BDD podem ser usados para validar essas decisões.
O projeto consiste em um aplicativo Java baseado em Spring que utiliza o banco de dados H2 para simular um ambiente de aprendizado. Ele demonstra como as decisões arquiteturais podem ser documentadas usando a abordagem ADR (Architecture Decision Records) e como os testes de comportamento podem ser escritos usando o Cucumber, uma ferramenta de testes BDD.
O objetivo deste projeto é proporcionar um ambiente de aprendizado para entender a importância da documentação de decisões arquiteturais e como as ferramentas como ADR e Cucumber podem auxiliar nesse processo. Ao final deste projeto, você deve ter uma compreensão básica de como estruturar e documentar decisões arquiteturais e como escrever testes BDD para validar essas decisões.
- Java
- Spring Boot
- Banco de Dados H2
- Cucumber
- MADR (Architecture Decision Records)
- Clone este repositório para sua máquina local.
- Abra o projeto em sua IDE preferida.
- Execute o aplicativo Spring Boot.
- Explore os ADRs na pasta
resources/docs/adr
para entender as decisões arquiteturais documentadas. - Explore os arquivos
.feature
na pastasrc/test/resources
para entender os testes BDD escritos usando Cucumber.
A ferramenta MADR (Architecture Decision Records) é uma escolha valiosa quando se trata de manter um histórico claro e compreensível das decisões arquiteturais ao longo do desenvolvimento. Combinado com o Cucumber para testes BDD, podemos garantir que as decisões tomadas estão sendo implementadas corretamente e que nosso software está evoluindo de maneira consistente.
Nota: Este projeto é apenas um exemplo para fins de aprendizado.