Você está na página 1de 3

Benef cios de Behavioural-Driven Development para o Desenvolvimento de Software Dirigido por Modelos

Valdemar V. Graciano Neto


o, Instituto Federal de Educac a Ci encia e Tecnologia de Goi as (IFG) Catal ao, Goi as, Brazil Email: vgracianoneto@gmail.com

Hernan Julho Munoz


Petrobr as Salvador, Bahia, Brazil Email: hernan99@gmail.com

AbstractBehavioral-Driven Development (BDD) ou Desen um m volvimento Dirigido por Comportamento e etodo de design baseado nas pr aticas de Test-Driven Development (TDD) criada o e o planejamento dos casos de para garantir que a documentac a teste estejam sempre alinhados e atualizados com os requisitos coletados para ger a-los. Considerando algumas semelhanc as vislumbradas entre BDD e Model-Driven Development (MDD) na pesquisa interinstitucional conduzida, este artigo apresenta modos de associar as ideias veiculadas por estas duas metodologias de desenvolvimento de software para que ambas sejam beneciadas por pr aticas que preenchem eventuais lacunas de ambas.

I. I NTRODUC AO es do desenvolvimento de Uma das principais preocupac o garantir que a documentac o gerada software moderno e a durante o processo de desenvolvimento esteja sempre con produzido []. Entretanto, nos sistente com o c odigo que e modelos de desenvolvimento de software convencionais e na o destes modelos na pr ` aplicac a atica dentro das ind ustrias, a medida que o software est a sendo desenvolvido ou mantido, nico modelo de software realmente atualizado e o pr ou oprio c odigo. Os modelos abstratos como documento de requisitos, de arquitetura, projeto e teste acabam por n ao representar o c odigo nal de modo dedigno devido a press oes de prazo e orc amento. O Desenvolvimento de Software Dirigido por Modelos (DSDM) combate este problema ao tornar os modelos abstratos os cidad aos de primeira classe do processo de desen es autom volvimento de sofware. Atrav es de transformac o aticas de modelos abstratos em c odigo, DSDM garante que o modelo mais atualizado ser a sempre o modelo abstrato e o c odigo nada mais ser a do que um reexo deste modelo (exceto nos necess casos em que e ario acrescentar c odigo manualmente o a aspectos poderia auxiliar neste sentido? Interesses orientac a n ao document aveis no modelo poderiam ser acrescentados por aspectos, trabalhando como o princ pio de linha de produto de software e core asset?). Uma outra abordagem de desenvolvimento de software o do software em criada recentemente prega a atualizac a

o a ` sua documentac o abstrata: o BDD (Behaviourrelac a a Driven Development). Nesta abordagem, inicialmente produz o abstrata textual especicada como uma se uma documentac a Linguagem Espec ca de Dom nio (DSL) que representa os casos de teste a serem gerados. Considerando esta semelhanc a inicial entre as metodologias DSDM e BDD em utilizar modelos abstratos e gerar c odigo a partir deles, uma pesquisa interinstitucional foi conduzida es entre as metodologias para explorar poss veis associac o citadas e os benef cios que poderiam ser obtidos a partir desta o. associac a Este artigo relata os resultados obtidos e as reex oes real o 2 apresenta o embasamento te izadas. A Sec a orico necess ario o 3 aprepara a compreens ao da pesquisa realizada. A Sec a o entre as metodologias senta as possibilidades de associac a o 4 apresenta como resultados parciais da pesquisa. E a Sec a es nais e trabalhos futuros. considerac o II. E MSABAMENTO T E ORICO o apresenta os alicerces sobre os quais se ap Esta sec a oiam esta pesquisa. A. Behavior-Driven Development INTRODUC AO SOBRE BDD, E SEU USO NA PETROBRAS. COMO FUNCIONA, ETC.; BDD - O QUE E, RESSALTAR COM GRAFICOS, TABELAS E ILUSTRAC OES OS BENEF ICIOS DE BDD NO AMBIENTE DA PETROBRAS (DADOS CEDIDOS PELO HERNAN); CRESCIMENTO DO ASSUNTO AO LONGO DOS ANOS (COLOCAR EM UM GRAFICO) A PARTIR DE UMA REVISAO EXPLORATORIA (VER A TAXONOMIA NA PALESTRA DO ENACOMP) DA LITERATURA NA ACM E IEEE. COM MDE B. POSSIBILIDADES DE ASSOCIAC AO o das similaridades Apresentar apenas uma breve descric a que se percebeu entre as metodologias que motivaram a pesquisa.

uma metodologia que apresenta como principais MDD e benef cios a rastreabilidade, re uso, repetibilidade do processo o de c de transformac a odigo, manutenibilidade do c odigo, o como cidad modelos e documentac a aos de primeira classe, o entre documentac o e c garantia de sincronizac a a odigo re ltimo ser apenas um espelho do sultante em virtude do u primeiro. Por outro lado, BDD tamb em uma uma metodologia o conceitual de software atrav que reforc a a especicac a es de uma metodologia de design para TDD, n DSL. BDD e ao o ou teste especicamente. A ideia e que para programac a utilizando BDD gera-se hist orias abstratas e, a partir destas es utilizando DSL, gera-se manualmente os casos especicac o ` especicac o realizada. de teste correspondentes a a Atrav es disso nota-se a semelhanc a entre as metodologias o conuma vez que ambas trabalham com DSL, especicac a ceitual de software e geram c odigo a partir destes modelos, evoluindo da etapa de design do processo de desenvolvimento o de c para a etapa de gerac a odigo. A aprimeira diferenc a gerado e integrado: no aparece no modo como o c odigo e gerado manualmente, enquanto que com caso de BDD e gerado automaticamente atrav MDD e es de transformadores de modelos. o inicial conduziu-se a pesquisa soA partir desta motivac a ` s abordagens bre o tema e v arios pontos de benef cios m utuos a foram identicados. Tais pontos s ao elucidados na pr oxima o. sec a ENTRE BDD E DSDM III. A SSOCIAC OES A partir das reex oes feitas, v arias possibilidades de o e seus benef associac a cios entre BDD e DSDM foram es seguintes descrevem cada um vislumbradas. As subsec o delas. A. Gerac a atica de Casos de Teste o autom MDD faz com que o c odigo seja sempre um reexo do modelo abstrato, garantindo que modelo e c odigo estejam sempre o inicial tamb atualizados. No caso de BDD, a intenc a em e forc ar que os casos de teste estejam sempre atualizados em o a ` sua especicac o abstrata textual utilizando DSL. relac a a Os frameworks de BDD conseguem vericar se os casos es correspondem ao de teste s ao alterados e se as alterac o que est a documentado na DSL. Caso seja incoerente, um apontado pelo framework e o programador/testador erro e o respons o manualmente (da e avel por realizar a alterac a o textual ou do caso de teste) para tornar o caso de especicac a o a ` especicac o textual. teste novamente atualizado em relac a a BDD cuida da consist encia modelo-c odigo de modo n ao autom atico enquanto que MDD cuida da mesma consist encia, mas de modo autom atico. Logo, uma possibilidade de o entre estas abordagens e a benef cio advinda da associac a o de princ o autom utilizac a pios de MDD para gerac a atica de casos de teste a partir da DSL. Uma vez que a DSL possui sintaxe bem denida, afastando-se da ambiguidade o autom da linguagem natural, a transformac a atica pode ser implementada com sucesso [?], [?].

possibilidade1.PNG
Fig. 1. Simulation Results

es manuais nos casos de teste j Com isso, alterac o a n ao es deveriam ser realizadas sempre fariam sentido e as alterac o no modelo de entrada. B. Criac a o de Metamodelos de Stories para BDD o. Possibilidade de elevar ainda mais o n vel de abstrac a o ao anterior: seria criar Seria um passo adicional em relac a o anterior. um metamodelo para a DSL citada na subsec a Entretanto, o pr oprio template de stories do BDD pode ser visto como um metamodelo textual para casos de teste o que, uma vez instanciados, podem ser utilizados pela gerac a autom atica de casos de teste. PRINCIPAL GANHO CONJUNTO: ALEM DA ATUALIZAC AO GARANTIDA ENTRE MODELO DE AUTOMATICA TESTE E CODIGO, A GERAC AO DISSO. NECESSARIO: - ESTUDAR TESTE DIRIGIDO POR MODELOS (VER COM AURI SE GOSTARIA DE PARTICIPAR/INDICAR ARTIGOS); - ESTUDAR TAXONOMIA DE CASOS DE TESTE; C. Gerac a odigo testado por integrac a o de c o das metodologias es regUm desdobramento adicional das duas contribuic o es anteriores e a utilizac o das stories istradas nas subsec o a de BDD como modelos abstratos de software de tal modo es sendo passadas para o transque apenas suas especicac o formador fossem sucientes para gerar c odigo funcional e testado uma vez que BDD e TDD associados a princ pios de o de c refatorac a odigo s ao abordagens completas capazes de o da metodologerar um softwre completo ao nal da aplicac a capaz de gerar c gia. Pode supor-se que se MDD e odigo completo automaticamente, os modelos abstratos baseados em stories e um transformador que implemente os princ pios de o deveriam tamb TDD e refatorac a em ser capazes de gerar c odigo completo e funcional. o Ou seja, o transformador passaria a fazer a integrac a o de c das partes geradas e a refatorac a odigo que o ser humano faz, algo que j a possui pesquisas em andamento oAutom [c a aticaDeC odigoPorMDD]. Possibilidades: DESENVOLVIMENTO - DESENVOLVER REQUISITOS/DECISOES DE PROJETO DE UMA FERRAMENTA QUE ASSOCIE AMBOS; - PROPOSTAS DE MODELOS; - PROPOSTAS DE ASSOCIAC OES ENTRE AS DUAS METODOLO INICIAL DE UM GIAS; - TENTATIVA DE ILUSTRAC AO E POSSIBILIDADES DE DECENARIO DE APLICAC AO SENVOLVIMENTO DELE;

F INAIS IV. C ONSIDERAC OES CONCLUSOES EX- FRAMEWORK (ASSOCIAR BDD AO QUE JA ISTE COMO PROJETO DE PESQUISA - JA TENTAR ASSOCIAC AO); - RESSALTAR PRESENC A DE BDD NA PETROBRAS E GANHOS OBTIDOS; - RELEMBRAR OS GANHOS QUE PODERIAM SER OBTIDOS COM TAL ASSOCIAC AO; R EFERENCES

Você também pode gostar