Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

Neste artigo veremos como os testes podem agregar valor ao desenvolvimento através da utilização do TDD. Mitos, equívocos, vantagens e a comparação entre TDD e a metodologia tradicional são alguns dos assuntos abordados.

Para que serve:

Demonstrar como uma maneira diferente de desenvolver software, onde primeiro o teste é escrito e só depois codificado, pode ajudar a obter um código “limpo” e com mais qualidade.

Em que situação o tema é útil:

O TDD é mais utilizado nos processos ágeis, mas pode também ser aplicado em quase todas as metodologias tradicionais. A técnica auxilia no entendimento do negócio do software, deixando claras as regras de negócio antes mesmo de iniciar a codificação, obtendo assim, simplicidade e maior confiança no código produzido.

Resumo DevMan:

TDD é uma técnica de desenvolvimento de software dividida em iterações, onde primeiro o teste é criado e só depois codificado. Ela é composta por um ciclo básico de três fases: escreva um teste que falhe, escreva um teste que passe e refatore. Este processo é conhecido também como “o mantra do TDD - Falhar-Passar-Refatorar”. O desenvolvimento baseado em teste tem sido muito utilizado em função dos benefícios obtidos, como maior valor agregado ao produto e menor quantidade de falhas apresentadas no sistema em produção.

Autores: Renata Eliza e Vivian Lagares

A metodologia ágil (em inglês Agile Modeling, ou AG) surgiu no início da década de 70 após o fracasso de alguns grandes projetos de software. A deficiência no gerenciamento das atividades, atrasos na entrega e sistemas que não refletiam a verdadeira necessidade do cliente eram características habitualmente atribuídas à metodologia tradicional.

A existência de uma crise do software não foi um consenso entre os profissionais da área naquela época. Mas para tornar possível a solução dos problemas enfrentados, foi criada uma nova metodologia com uma abordagem bem diferenciada.

Os métodos ágeis são um conjunto de práticas onde os princípios e valores são aplicados por profissionais de software no dia a dia e seguidos como guia. Não é um processo que define detalhadamente como criar um modelo, mas indica caminhos para obtenção de melhores resultados.

A expressão “Métodos Ágeis” é conhecida há muito tempo, porém, apenas recentemente começou a se tornar popular no Brasil. Ser ágil geralmente é confundido com falta de controle e completa­­­ anarquia, quando na verdade, ter agilidade, ao contrário do que parece, exige bastante organização.

O objetivo da Metodologia Ágil é acelerar o desenvolvimento do software através do desenvolvimento de versões mínimas. Dessa forma, as funcionalidades são desenvolvidas por partes, há uma interatividade direta com o cliente e os testes são realizados em paralelo ao ciclo de desenvolvimento.

Agilidade envolve disciplina e trabalho coordenado, podendo tratar de projetos de vários segmentos e portes. Agilidade é também a habilidade de criar e responder a mudanças com respeito ao resultado financeiro do projeto em um turbulento ambiente de negócios.

Em 2001, um grupo de profissionais da área de desenvolvimento de software se reuniu para discutir assuntos relacionados à agilidade. Como consequência desse encontro, foram definidas boas práticas para utilização dos Métodos Ágeis no gerenciamento de projetos. Essas práticas foram denominadas “Manifesto Ágil”.

A metodologia ágil Extreme Programming (XP) foi popularizada na década de 90 e tem sido muito utilizada por pequenas e médias empresas nos Estados Unidos. Atualmente, também vem sendo adotada com bastante frequência no Brasil.

O processo do XP é composto por quatro atividades: Planejamento, Projeto, Codificação e Teste; e por quatro diretrizes: Feedback, Comunicação, Simplicidade e Coragem. Existem ainda outros pontos fortes na metodologia, citados na Figura 1, que também contribuem bastante para um ciclo de desenvolvimento de software ágil.

...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo