IDENTIFICANDO E CORRIGINDO FALHAS DURANTE O DESENVOLVIMENTO DE SISTEMAS UTILIZANDO TDD
Por: Júlio De Paulo Júnior • 28/8/2016 • Projeto de pesquisa • 1.220 Palavras (5 Páginas) • 498 Visualizações
AVM Faculdade Integrada
Desenvolvimento de aplicações para dispositivos móveis (APP’S)
JÚLIO DE PAULO JÚNIOR
IDENTIFICANDO E CORRIGINDO FALHAS DURANTE O DESENVOLVIMENTO DE SISTEMAS UTILIZANDO TDD
OSASCO-SP
2016
AVM Faculdade Integrada
Curso de Pós-Graduação em Desenvolvimento de Aplicações para Dispositivos Móveis (APP’S)
JÚLIO DE PAULO JÚNIOR
IDENTIFICANDO E CORRIGINDO FALHAS DURANTE O DESENVOLVIMENTO DE SISTEMAS UTILIZANDO TDD
Projeto de pesquisa apresentado à
AVM Faculdade Integrada como parte integrante
do conjunto de tarefas avaliativas da disciplina
Metodologia da Pesquisa e da Produção Científica.
Márcia Gonzaga Nespereira Andelo
Osasco-SP
2016
SUMÁRIO
1 INTRODUÇÃO ...................................................................................................... 04
- Tema .............................................................................................................. 04
1.2 Problema ......................................................................................................... 04
1.3 Justificativa ..................................................................................................... 04
1.4 Objetivos ......................................................................................................... 05
1.4.1 Objetivo geral .................................................................................... 05
1.4.2 Objetivos específicos .......................................................................... 05
- REVISÃO DE LITERATURA .......................................................................... 06
3 METODOLOGIA .................................................................................................. 08
4 REFERÊNCIAS BIBLIOGRÁFICAS ............................................................... 09
1 INTRODUÇÃO
1.1 Tema
Identificando e corrigindo falhas durante o desenvolvimento de sistemas utilizando TDD.
1.2 Problema
Quais os elementos necessários para efetuar testes e entregar uma aplicação com menos bugs e com um maior grau de validação?
1.3 Justificativa
Com grande demanda, o mercado de software levanta questões, sendo a principal delas, se o produto vendido é confiável. Sendo assim, testes são fundamentais para construir softwares de qualidade. Atualmente, umas das técnicas utilizadas é o desenvolvimento dirigido por testes (Test Driven Development).
É importante ter em mente que os testes em TDD devem ser testes de unidades automatizadas, em que requisitos são definidos antes mesmo que o código seja criado. Para isso, o desenvolvedor deve ter conhecimento sobre o problema proposto, para saber testá-lo de forma correta.
Cumprindo todas as etapas, o software terá passado por testes consistentes de qualidade, além de se constituírem em códigos simples por terem sido refatorados.
1.4 Objetivos:
1.4.1 Objetivo geral:
Demonstrar a importância de testes para garantir qualidade, baixos custos, ganho em tempo e em desempenho.
1.4.2 Objetivos específicos:
Demonstrar a importância de testes para garantir qualidade;
Demonstrar a importância de testes para garantir ganho em tempo (em todo o projeto);
Demonstrar a importância de testes para garantir melhor desempenho da aplicação;
Demonstrar testes utlizando TDD.
2 REVISÃO DE LITERATURA
Atualmente é difícil ou impossível prever como um sistema baseado em computador evoluirá com o passar do tempo. Com um mercado de software nessa estabilidade, os engenheiros de software devem ser suficientemente ágeis para responder a um ambiente de negócios mutantes.
De acordo com Pressman (2010, p.59), “Jacobson [Jac02]‘Agilidade tornou-se atualmente uma palavra mágica quando se descreve um processo moderno de software. Tudo é ágil. [...]’”. Ela idealiza a rápida entrega do software operacional, dá menos importância para produtos de trabalho intermediários, adota os clientes como parte da equipe de desenvolvimento e trabalha para eliminar a atitude “nós e eles”, que tende a permanecer em muitos projetos de software.
Um dos fatores que faz um sistema ter ganho em agilidade é a qualidade dos testes que é aplicada. Em um sistema bem testado, não haverá retrabalho. Uma das maneiras de testar um sistema é utilizando TDD.
O Desenvolvimento Dirigido por Testes (TDD) tem por idealizador Kent Beck e uma das diferenças do TDD, em relação a outros métodos, é que com TDD o desenvolvedor vai evoluindo seu código aos poucos, conforme explora o problema, com o uso de testes automatizados escritos antes da solução sequer existir.
De acordo com Beck (2003), “[...] é uma abordagem evolutiva para o desenvolvimento que combina teste anterior de desenvolvimento, onde você escreve um teste antes de escrever código de produção apenas o suficiente para cumprir esse teste e a refatoração.”
Pode-se perder um pouco de um dos maiores benefícios de TDD, o feedback rápido sobre o que está sendo gerado. Nesse ponto, o design incremental é apresentado. A ideia é que a solução seja criada em pequenos passos, sendo eles: Escreva um teste que falhe; Faça o teste passer de maneira rápida e Refatore.
Um ponto importante em TDD é não ficar “preso” ao mesmo teste por muito tempo. Deve-se tentar resolvê-lo de forma rápida. Caso não consiga testá-lo rapidamente não se deve ficar preso a este teste, mas sim iniciar outro meio de “como fazer” o mesmo teste, para que o mesmo seja feito, testado e, se houver resultados positivos, refatorá-lo futuramente. Caso não haja melhoria, deve-se simplesmente voltar à versão anterior do projeto, que já passou por todas as etapas, foi refatorado e então voltou a ser testado, e continue a partir dele. Dessa forma, não há perda de tempo com depuração.
...