DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Desenvolvimento orientado por comportamento (BDD) - Artigo Java Magazine 91

Neste artigo, veremos uma nova técnica para desenvolvimento ágil conhecida como Behaviour Driven Development (ou BDD). Mostraremos com exemplos práticos como BDD encoraja a colaboração entre desenvolvedores, setores de qualidade e pessoas de neg






Desenvolvimento orientado por comportamento (BDD)
Um novo olhar sobre TDD

Aprenda a aplicar Behaviour Driven Development de forma simples e ainda resolver problemas de comunicação entre as equipes de desenvolvimento e testes


De que se trata o artigo:
Neste artigo, veremos uma nova técnica para desenvolvimento ágil conhecida como Behaviour Driven Development (ou BDD). Mostraremos com exemplos práticos como BDD encoraja a colaboração entre desenvolvedores, setores de qualidade e pessoas de negócios em um projeto de software.
Para que serve:
BDD serve para criar testes e integrar regras de negócios com a linguagem de programação, focando no comportamento do software. Além disso, ainda melhora a comunicação entre as equipes de desenvolvimento e testes, aumentando o compartilhamento de conhecimento entre elas.
Em que situação o tema é útil:
Esta metodologia é útil em projetos de software ágeis, que são construídos em várias iterações e estão sofrendo alterações ao longo do seu ciclo de vida. Quanto maior o projeto, mais difícil será a comunicação. Entretanto, BDD propõe uma forma eficaz de resolver estes problemas.
Resumo DevMan:
Este artigo faz uma breve introdução ao Desenvolvimento Orientado por Comportamento e demonstra como aplicar esta técnica utilizando os frameworks JBehave, EasyB e Spock. Os exemplos foram criados de uma forma que permita ao leitor comparar estas ferramentas e escolher a mais adequada à realidade de sua equipe.


Quando se estuda Engenharia de Software, aprende-se que todo sistema tem um tempo de vida útil, e que uma série de fatores podem contribuir para aumentar ou diminuir este tempo: arquitetura, modelagem, tecnologia utilizada, aceitação do mercado, etc. No entanto, nenhuma empresa desenvolve um sistema pensando no dia em que ele deixará de atender as necessidades do seu cliente, apesar desta ser uma verdade certa.
Neste ciclo, o sistema passa a maior parte do tempo sofrendo alterações. E estas manutenções, sejam elas corretivas ou não, podem melhorar ou piorar o sistema, dependendo da forma que forem implementadas. Pensando neste e em outros problemas, Kent Beck apresentou ao mundo em 2003, através do seu livro “Test-Driven Development”, uma técnica para criar sistemas baseados em testes que visa garantir a qualidade e a funcionalidade do software durante este ciclo.
Embora TDD seja uma técnica testada e aprovada por grandes desenvolvedores ágeis, muitas equipes de desenvolvimento ainda caem em algumas armadilhas e mal-entendidos do tipo: por onde começar, o que testar e o que não testar. Isto sem falar que quem escreve os testes são os desenvolvedores, mas quando a equipe de qualidade vai testar, ela se preocupa com o comportamento do sistema e não com os testes unitários. Desta forma, não há comunicação eficiente entre as duas equipes no nível de código.
Para tornar a aplicação de TDD mais simples e ajudar as equipes de desenvolvimento a resolverem as questões mencionadas acima, surgiu o Behaviour Driven Development (BDD). Neste artigo, veremos como aplicar esta técnica de forma eficiente, utilizando os frameworks mais conhecidos da comunidade Java.
O que é TDD?
Test Driven Development (TDD) ou, em português, Desenvolvimento Dirigido por Testes é uma técnica de desenvolvimento de software que se baseia em um ciclo curto de repetições. Primeiramente o desenvolvedor escreve um caso de teste automatizado que define uma melhoria desejada ou uma nova funcionalidade. Então, é produzido código que possa ser validado pelo teste. Posteriormente este código será refatorado para colocá-lo sob padrões aceitáveis.
Kent Beck declarou em 2003 que TDD encoraja designs de código simples e inspira confiança. Do ponto de vista de Robert C. Martin, escritor do livro “Agile Software Development”, o objetivo de TDD é a especificação e não a validação, ou seja, é a maneira de pensar através das necessidades do projeto antes de escrever o código funcional.
BDD, a evolução
BDD é técnica de desenvolvimento ágil que visa integrar regras de negócios com linguagem de programação, focando o comportamento do software. Além disso, pode-se dizer também, que BDD é a evolução do TDD. Isto porque, os testes ainda orientam o desenvolvimento, ou seja, primeiro se escreve o teste e depois o código.
O foco em BDD é a linguagem e as interações usadas no processo de desenvolvimento de software. Desenvolvedores que se beneficiam destas técnicas escrevem os testes em sua língua nativa em combinação com a linguagem ubíqua (Ubiquitous Language). Isso permite que eles foquem em por que o código deve ser criado, ao invés de detalhes técnicos, e ainda possibilita uma comunicação eficiente entre as equipes de desenvolvimento e testes.
"


ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    1 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Marcio Angelo Matté
Olá,
excelente artigo, pois estou utilizando BDD para minha monografia de um pós-graduação em Engenharia de Software e o tema é exatamente o BDD.

Sem delongas, a única coisa que achei estranho foi na página 79 (versão da revista digital via leitor digital) na listagem 7, onde, o que está escrito, é um arquivo web.xml. Navegando pela web encontrei uma apresentação sua no SlideShare e verifiquei que realmente a listagem 7 é outra.

No mais está excelente o artigo e me ajudou muito.

Abraços!
[há +1 mês] - Responder

 



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Ismael Soares

Desenvolvedor Java EE na Bluesoft Consultoria em São Paulo, formado em banco de dados pela Faculdade Impacta de Tecnologia. Tem mais de oito anos de experiências em análise e desenvolvimento de software. Já trabalhou com diversas tecnologias entre elas: VB6, ASP, PHP, C#.NET, VB.NET, ASP.NET, PL/SQL...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
3   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03