tdd on rails

36
Luiz Cezer Marrone Filho TDD on Rails – Desenvolvimento Guiado a Testes em Aplicações Web com framework Rails

Upload: cezinha-cezer

Post on 03-Jul-2015

556 views

Category:

Entertainment & Humor


2 download

TRANSCRIPT

Page 1: Tdd On Rails

Luiz Cezer Marrone Filho

TDD on Rails – Desenvolvimento Guiado a Testes em Aplicações Web com

framework Rails

Page 2: Tdd On Rails

Roteiro

IntroduçãoObjetivosJustificativaAmbiente de testes com RailsEstudo experimentalResultadosConclusão

Page 3: Tdd On Rails

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?

Page 4: Tdd On Rails

Objetivo Geral

Demonstrar o uso do TDD como técnica de desenvolvimento de software em uma aplicação web Rails.

Page 5: Tdd On 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

Page 6: Tdd On Rails

TECNOLOGIAS UTILIZADASFundamentação teórica

Page 7: Tdd On Rails

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

Page 8: Tdd On Rails

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

Page 9: Tdd On Rails

TDD

• Prática de desenvolvimento• Testes criados antes do código• Baby steps• Benefícios para o software e o desenvolvedor

Page 10: Tdd On Rails

Ciclo do TDD

Fonte : http://rodrigoamora.com.br/blog/

Page 11: Tdd On Rails

Linguagem Ruby

Criada em 1995 por Yukihiro 'Matz' Matsumoto Orientada a objeto Interpretada Tipagem forte e dinâmica Tenta se aproximar de linguagem humana

Page 12: Tdd On Rails

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

Page 13: Tdd On Rails

Estrutura Aplicação Rails

Page 14: Tdd On Rails

Ambiente de testes com Rails

Page 15: Tdd On Rails

Ambiente de testes com Rails

Page 16: Tdd On Rails

Ambiente de testes com Rails

Asserts Testes unitários Testes funcionais Testes de integração

Page 17: Tdd On Rails

ESTUDO EXPERIMENTALEstudo Experimental

Page 18: Tdd On Rails

Caso de Uso

Page 19: Tdd On Rails

Criando recursos da aplicação

Page 20: Tdd On Rails

Validações e testes a serem feitos

• Campo nome é obrigatório

• Campo username é obrigatório

• Campo password é obrigatório

Page 21: Tdd On Rails

Executando Testes Unitários

Page 22: Tdd On Rails

Fazendo teste passar

Page 23: Tdd On Rails

Criando Recurso de Task

Page 24: Tdd On Rails

Executando testes funcionais

Page 25: Tdd On Rails

Simulação de Login nos testes

Page 26: Tdd On Rails

Teste funcionais passando

Page 27: Tdd On Rails

Testes de Integração

Page 28: Tdd On Rails

Testes de Integração

Page 29: Tdd On Rails

Executando testes de integração

Page 30: Tdd On Rails

RESULTADOS E DISCUSSÕES

Page 31: Tdd On Rails
Page 32: Tdd On Rails

Resultados e discussões

Escreva algo aqui ainda, em termos de resultados verificados, deixe as conclusões lá no final.

Page 33: Tdd On Rails

CONCLUSÃO

Page 34: Tdd On Rails

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

Page 35: Tdd On Rails

Trabalhos futuros?

Page 36: Tdd On Rails

Luiz Cezer Marrone Filho

TDD on Rails – Desenvolvimento Guiado a Testes em Aplicações Web com

framework Rails