Luiz Cezer Marrone Filho
TDD on Rails – Desenvolvimento Guiado a Testes em Aplicações Web com
framework Rails
Roteiro
IntroduçãoObjetivosJustificativaAmbiente de testes com RailsEstudo experimentalResultadosConclusão
Introdução
Pensar no software antes de começar o desenvolvimento :
Viabilidade do Projeto Prazos de entrega Linguagens e frameworks Metodologias
Problemas no desenvolvimento Código mal escrito / difícil manutenibilidade Problemas pequenos podem tornar-se grandes
Uso de Testes de software O que são testes de software?
Objetivo Geral
Demonstrar o uso do TDD como técnica de desenvolvimento de software em uma aplicação web Rails.
Por que TDD?
• Código mal escrito
• Difícil manutenção
• Não permite crescimento da aplicação
• Performance ruim
• Tempo gasto com debug
• Um erro pode se espalhar pela aplicação
• Custo de manutenção grande
• Código melhor escrito
• Código de fácil manutenção
• Código não fica com 'sobras'
• Benefícios ao programador
• Ajuda na compreensão dos requisitos
• Testar codificação e comportamento
TECNOLOGIAS UTILIZADASFundamentação teórica
Metodologias Ágeis
• Surgiram em meados dos anos 90
• Criados por Kent Beck e mais 15 desenvolvedores
• Melhorar o processo de desenvolvimento e planejamento de software
• Baseia-se em valores• Satisfazer o cliente com
entregas contínuas• Aceitar as mudanças• Trabalho em conjunto
entre equipe e pessoas que entender do negócio
• Simplicidade
Metodologia XP
• Metodologia ágil de desenvolvimento
• Baseia-se em certos valores :a. Feedbackb. Comunicaçãoc. Simplicidaded. Corageme. Respeito
• Principais práticas :
a. Design simples
b. Programação em pares
c. Código coletivo
d. Ritmo sustentável
e. Desenvolvimento Guiado a Testes
TDD
• Prática de desenvolvimento• Testes criados antes do código• Baby steps• Benefícios para o software e o desenvolvedor
Ciclo do TDD
Fonte : http://rodrigoamora.com.br/blog/
Linguagem Ruby
Criada em 1995 por Yukihiro 'Matz' Matsumoto Orientada a objeto Interpretada Tipagem forte e dinâmica Tenta se aproximar de linguagem humana
Framework Rails
• Criado em 2004 por David Hanson
• Utiliza linguagem Ruby• Meta-framework para
desenvolvimento web• Convenção sobre
Configuração• Não se repita• MVC
Estrutura Aplicação Rails
Ambiente de testes com Rails
Ambiente de testes com Rails
Ambiente de testes com Rails
Asserts Testes unitários Testes funcionais Testes de integração
ESTUDO EXPERIMENTALEstudo Experimental
Caso de Uso
Criando recursos da aplicação
Validações e testes a serem feitos
• Campo nome é obrigatório
• Campo username é obrigatório
• Campo password é obrigatório
Executando Testes Unitários
Fazendo teste passar
Criando Recurso de Task
Executando testes funcionais
Simulação de Login nos testes
Teste funcionais passando
Testes de Integração
Testes de Integração
Executando testes de integração
RESULTADOS E DISCUSSÕES
Resultados e discussões
Escreva algo aqui ainda, em termos de resultados verificados, deixe as conclusões lá no final.
CONCLUSÃO
Conclusão
Após o estudo e desenvolvimento deste trabalho, pode-se verificar que:
Framework Rails facilita a criação e encoraja a criação de testesMelhoria no código final da aplicaçãoTDD ajuda a compreender melhor requisitos e comportamentos
Trabalhos futuros?
Luiz Cezer Marrone Filho
TDD on Rails – Desenvolvimento Guiado a Testes em Aplicações Web com
framework Rails