TDD
- Test-driven
development
O processo de realizar
desenvolvimento de sistemas a partir a testes apareceu inicialmente em meados
dos anos 2000 junto a pratica do extreme programming, com a ideia de começar o
desenvolvimento pela rotina de testes.
Com manifesto
ágil, que trouxe a cultura LEAN para desenvolvimento de software e pratica do
extreme programming, vínhamos a tomar uma nova mentalidade para realização do
nosso trabalho como desenvolvedores. Viemos a absorver os 5 princípios da
mentalidade LEAN:
1.
VALOR;
2.
FLUXO
DE VALOR;
3.
FLUXO
CONTÍNUO;
4.
PRODUÇÃO
PUXADA;
5.
PERFEIÇÃO.
Mary
Poppendieck, que aperfeiçoou a metodologia LEAN para o desenvolvimento de
software nos trouxe 8 princípios:
1.
Eliminar
desperdício;
2.
Amplificar
conhecimento;
3.
Desenvolver
com qualidade;
4.
Postergar
decisões;
5.
Entregas
rápidas
6.
Respeitar
as pessoas
7.
Melhoria
continua;
8.
Otimizar
como um todo.
Se formos analisar,
tanto o pensamento LEAN, quando as praticas do XP, veremos que eles buscam a
perfeição do software e entregar um produto de qualidade para o cliente.Sempre
se focando na prevenção de falhas, por isso a utilização do TDD.
Ainda temos a
metodologia SQA – Software quality
assurance, que consiste em monitorar os processos de engenharia de software
e desenvolvimento. Este princípio se baseia buscar uma forte definição de requerimentos,
codificação, refatoração de código, testes, gerenciamento de versões, dentre
outros.
Está clara a
ideia de que SQA está diretamente ligada com as ideias de comprometimento de Desempenho
e Qualidade.
Sendo estes mesmo ideais que o TDD busca atingir, estando diretamente ligados
segundo minha opinião.
A utilização
do TDD visa justamente desenvolver um software com uma codificação limpa, se
baseando na pratica do YAGNI (você não vai precisar disto) e um sistema sem erros,
baseado na metodologia LEAN, para entregar um produto de qualidade para o
cliente.
Uma boa
maneira de se preparar para realizar o TDD, através do assert, é adicionar um critério de aceite nas User Story que dará origem ao código. Ex.
COMO UM ...
EU QUERO ... PARA QUE SEJA POSSIVEL ...
Os ... finais da US irão te ajudar a entender o que deve ser escrito no assert do teu teste, para que a partir dele tu comece a codificar e
por fim chegar no resultado esperado.
Nenhum comentário:
Postar um comentário