Em Direção a um Ambiente de Desenvolvimento de Software Orientado por Comportamento (Apresentação)

Embed Size (px)

DESCRIPTION

Dissertação apresentada como requisito parcial para a obtenção do título de Mestre em Ciências da Computação, área de concentração em Engenharia de Software pelo Programa de Pós-Graduação em Ciências da Computação do Centro de Informática da Universidade Federal de Pernambuco.Resumo:Criado por Dan North, o BDD (Behavior Driven Development) é uma técnica de desenvolvimento ágil de software baseada no TDD (Test Driven Development). Trata-se de uma metodologia de teste de software baseada em comportamentos, isto é, concentra-se nas razões pelo qual o software é criado, nos requisitos de comportamento do negócio. Incentiva a participação de toda pessoa interessada no projeto de software, e não apenas a equipe técnica. Apesar de vários benefícios propiciados pelo BDD, ele não tem uma aceitação tão grande no mercado quanto o TDD, sendo, muitas vezes, preterido em relação a este.Quais características devem fazer parte de uma ferramenta para que ela facilite e dinamize a utilização do BDD no contexto de um projeto de desenvolvimento de software? Como permitir o uso da mesma por um cliente leigo em testes, e, ao mesmo tempo, agregar valor para o gerente do projeto, os testadores e os desenvolvedores de software? Como o cliente poderia acompanhar em tempo real se o que ele espera obter está, de fato, sendo construído? Como medir o impacto da ferramenta?Através de análises e resultados obtidos em mais de 12 (doze) anos de experiência profissional no setor de tecnologia de instituições públicas e privadas, além de pesquisas na literatura, depoimentos e estudos de casos de profissionais da área, avaliou-se o cenário do BDD no mercado e, como fruto dessa avaliação, foi criado o BDD Plugin for Mantis (BDDPM): uma ferramenta cujo objetivo é facilitar a adoção do BDD em projetos de desenvolvimento de software, através de recursos que propiciem sua fácil aplicação e possibilitem a escrita e acompanhamento de testes pelos clientes.Entretanto, apenas a criação da ferramenta em si, não seria suficiente para sua avaliação quanto ao cumprimento dos objetivos. Fazia-se necessário entender e conhecer o que deveria ser medido, para, com isso, levantar métricas, fazer medições e mensurar resultados. Nesse sentido, para avaliar o plugin enquanto proposta de solução para os questionamentos levantados, foi utilizada uma técnica denominada GQM (Goal/Question/Metric). O GQM é uma abordagem que se orienta através dos objetivos de um artefato para planejar e mensurar métricas relacionadas a eles e, consequentemente, permitir a avaliação do artefato: BDDPM, neste caso.Este trabalho descreve, em detalhes, todo o ciclo de vida do projeto, ou seja, desde a concepção do BDDPM em seus primeiros estágios, passando pela sua justificativa, criação, tecnologias utilizadas, recursos incluídos, etc., até sua implantação dentro de um ambiente de produção real e posterior avaliação dos resultados obtidos com a técnica do GQM.