Estudo
União Dinâmica de Faculdades Cataratas Avaliação da ferramenta JIJnit para teste de software unitário em ambientes de desenvolvimento ágil com foco na programação extrema Anteprojeto de Graduação submetido como requisito parcial por Sérgio Anderson Vieira, acadêmico do Curso de Graduação de Sistemas de Informação à obtenção do grau de Bacharel em Sistemas de Informação, sob a orientação do professor Sidney Viana. UDC – União Dinâmica de Faculdades Cataratas – Foz do Iguaçu, Paraná.
Ano 2010 TERMO DE APROVAÇ 6 Swip page Sérgio Anderson Vieira Trabalho de Conclusão de Curso apresentado à Faculdade Dinâmica das Cataratas, Curso de Sistemas de Informação para obtenção do grau de Bacharel em Sistemas de Informação aprovado pela banca examinadora formada por: Orientador: Professor Sidney Viana -lal Studia JUnit…… 30 Figura 4: Incluir . jar no path……. — Figura 5: Estrutura de classe minha experiência acadêmica e na conclusão deste trabalho.
Aos colegas de classe pelos momentos especiais de companheirismo, estudos e trabalhos compartilhados no decorrer de todos estes anos juntos durante o curso de Sistemas de Informação e no desenvolvimento deste trabalho. LISTA DE FIGURAS Figura 1: Gráfico comparativo da produtividade durante o desenvolvimento…. 20 Figura 2: Testes de Software ao longo do …. … 32 desenvolvimento………………. . Figura 3: Arquitetura do …. 25 Figura 6. Classe Calculo qu 26 [NDICE DE TABELAS E QUADROS Tabela 1: Ferramentas para Testes Unitários…….
O processo de desenvolvimento de software envolve uma série de atividades, que mesmo com uso de técnicas, métodos e ferramentas os produtos de software desenvolvidos podem conter erros e defeitos. No processo ágil de desenvolvimento, por exemplo, na programação extrema (XP), não existe todo m processo documental, apenas as historias contadas pelos usuários. O papel de teste nesse caso é de suma importância para o sucesso do projeto. Esse trabalho tem como foco encontrar os principais testes a serem realizados nesse ambiente e assim poder visualizar o alcance das ferramentas neste contexto.
Palavras-chave: teste, processo ágil, software, código NTRODUÇÃO O processo ágil de desenvolvimento de software tem como característica principal a produção de código em detrimento a produção de documentação. Esta documentação deve ser o suficiente para garantir a manutenção do código. Além isso, o próprio código vem acompanhado de informações que auxiliam e complementam a documentação técnica do software. A velocidade com que se produzem executáveis deve corresponder à velocidade com que se testam esta produção de códigos. Os testes podem ser feitos de forma manual e de forma automatizada.
Os testes executados de forma manual são importantes para situações que não exigem alta complexidade ciclomática ou grandes quantidades de códigos que devem ser testados frequentemente. Os testes automáticos são Importantes para situações em que existe alta complexidade ciclomática. O so de ferramentas que auxiliam na execução dos testes nem sempre são adequadas pa or uma série de razões, 4 26 trabalho avalia a aderência de ferramentas de teste unitário de software com as necessidades impostas por um ambiente de desenvolvimento ágil de software.
OBJETIVOS OBJETIVO GERAL Avaliar a aderência da ferramenta para testes unitários JUnit em ambiente ágil realizando teste prático de configuração e utilização da mesma focando o teste de unidade como um fator para o processo ágil de desenvolvimento de software. OBJETIVOS ESPECÍFICOS * Descrever os princípios da metodologias ágil XP assim como s princípios de teste de software. Identificar e descrever o teste unitário e utilizar com exemplos a ferramenta JIJnit para estes processos de teste; * Fazer uma avaliação critica da ferramenta adotada para processos ágeis e conclusão. JUSTIFICATIVA Diante das dificuldades encontradas pelas equipes de desenvolvimento ágeis de software em relação aos testes que necessitam realizar, este trabalho Visa abordar uma metodologia como a XP que possui características ágeis, para aplicação de ferramentas de teste unitário no sentido de avaliar sua aderência.
METODOLOGIA A metodologia deste traba s 6 m ler informações especifico O capítulo II faz uma abordagem sobre desenvolvimento ágil de software focando a XP e apresenta os processos para teste de software. O capítulo III introduz informações sobre o teste abordado para a XP e ferramenta de teste de software para ambientes ágeis, discorre sobre dimensionamento e focalizando seus alcances na prática para esses testes com uma avaliação crítica.
O capítulo IV contém a conclusão sobre o assunto decorrido durante todo o trabalho. 6 As pessoas mudam suas prioridades devido a vários motivos em um processo de software, por isso esse plano deve ser maleável. PRINCÍPIOS DE DESENVOLVIMENTO ÁGI DE SOFTWARE O desenvolvimento ágil enfoca os talentos e habilidades dos indivíduos moldando o processo às necessidades das pessoas e das equipes e não o contrario.
Segundo Ambler (2008), o desenvolvimento ágil defende uma filosofia de princípios aos quais as metodologias ágeis devem se adequar: a) A maior prioridade é satisfazer mediante entregas de software em tempo hábil e continuamente; b) Mudanças de requisitos são bem aceitas mesmo em fase avançada de desenvolvimento; c) Entregar o software funcionando com frequência em algumas semanas a alguns meses; d) As equipes de negócios e de desenvolvimento devem rabalhar juntas durante todo o desenvolvimento do projeto; e) Indivíduos motivados com o projeto, tendo apoio e ambiente adequados para realizar o projeto; f) Comunicação cara a cara com a equipe; g) Software funcionando é a principal medida de progresso; h) Processos ágeis provocam desenvolvimento sustentável, a equipe e usuários devem manter um ritmo constante e indefinidamente; i) Atenção contínua e a excelência técnica aumentam a agilidade, simplicidade e a arte de maximizar o trabalho não realizado são essenciais; j) Equipes organizadas; k) Adaptar e aperfeiçoar seu comportamento são traços de uma quipe ágil eficaz. segundo Cohen (2004) o f ortante é provavelmente para esses projetos.
Uma questão ainda aberta é a aplicabilidade de métodos ágeis em equipes com mais de 20 desenvolvedores. Para escolher pelo uso, ou não, de um método ágil, surge a análise de risco, indicando ambientes prop[cios para cada abordagem: * Baixa criticidade; * Desenvolvedores sênior; * Mudanças frequentes de requisitos; * Pequeno número de desenvolvedores; * Cultura que tem sucesso no caos. O grupo dos modelos ágeis vem seguindo esses princípios, e hoje existem diversos modelos ágeis de processos, cada um deles exposto pela aliança ágil. PROCESSO AGIL DE SOFTWARE Os processos devem ser adaptáveis ao projeto tanto nas modificações rápidas quanto nas condições técnicas. ara Pressman (2006), um processo ágil é caracterizado de modo que atenda três suposições chave sobre os processos de software: a) É difícil prever quais requisitos de software vão persistir e quais serão modificados e como as prioridades do cliente serão mudadas de acordo que o projeto prossegue; b) Para muitos tipos de software, o projeto e a construção são Intercalados de modo que os modelos de projetos sejam comprovados à medida que são criados, é difícil prever o quanto e projeto é necessário antes que a construção seja usada para comprovar o projeto; c) Análise, projeto, construção e testes não são tão prewsveis. Para Teles (2004) a chave de um rocesso ágil está na adaptabilidade increment equipe requer feedback com o cliente, incrementos de software deve ser entregues em curtos períodos de tempo de modo que a adaptação acerte os passos com as modificações. PROGRAMAÇÃO EXTREMA – XP A XP é uma metodologia ágil, utilizada para auxiliar no desenvolvimento de projetos de softwares que oferece uma rápida adaptação a mudanças de requisitos.
Para Beck (2004), a XP se apresenta de uma forma simples e eficaz e pode ser aliada a algumas metodologias tradicionais de software bem como agregar valor á maturidade do processo, dando uma maior agilidade aos processos. Segundo Teles (2005), a utilização da XP é notória em diversas empresas do mundo, com isso mostra que essa metodologia é madura, e apresenta e apresenta uma forma dinâmica e flexível de desenvolver com foco principalmente na produção de conhecimentos. A XP é organizada em torno de um conjunto de valores e práticas que atuam de forma harmônica e coesa para assegurar que o liente sempre receba um alto retorno em software.
VALORES DA XP Segundo Teles (2004) O XP se baseia em quatro valores primordiais que servem como parâmetro para o desenvolvimento: feedback: analogamente o feedbeck reflete a realimentação entre o cliente e a equipe, sugerindo alternativas sobre os requisitos ou design entre outras o cliente aprende como o sistema irá contri alimenta a equipe equipe e o cliente precisam trocar idéias e informações para que o desenvolvimento ganhe forma e atinja seu objetivo de forma eficiente e eficaz. Simplicidade: evitar o retrabalho que resulta no desconhecimento u da precipitação, assim analisando as atividades desnecessárias ou incorretas no desenvolvimento, implementando as funcionalidades sempre de forma mais simples possível.
Coragem: o XP se baseia em várias premissas que contrariam os processos tradicional sendo assim o XP exige que as equipes de desenvolvimentos tenham coragem para: * Desenvolver o software de forma incremental; * Manter o sistema simples; * Permitir que o cliente priorizasse funcionalidades; * Fazer os desenvolvedores trabalharem em par; * Investir tempo em refactoring; * Investir tempo em testes automatizados; * Estimar as estórias na presença do cliente; Expor o código a todos os membros da equipe; * Integrar o sistema diversas vezes ao dia; * Adotar um ritmo sustentável; * Abrir mão de documentação que servem como defesa; * Propor contatos de escopo variável; * Propor a adoção de um processo novo. Com as histórias levantadas pelo cliente, são definidos os requisitos a serem implementados na interação, e os que ficarão para a próxima. Esse desenvolvimento é baseado em revisão continua, onde significa que uma versão é apresentada para o cliente e após seu feedback novas versões são feitas. PRATICAS DA XP A metodologia XP aborda 0 DF 26 ráticas de seus valores