Tópicos 1. Um pouco de História2. Conceito3. Modelos de desenvolvimentos4. Princípios5. Problemas6. Desenvolvimento ágil e dirigidos
a planos7. Extreme Programming (XP)
7.1 Testes em XP
Na decada de 1980 e início de 1990 a visão era queA melhor maneira de conseguir um software era porMeio de um planejamento cuidadoso.
• Envolvimento do Cliente
• Entrega incremental
• Pessoas, não processos
• Aceitar as mudanças
• Manter a simplicidade
Desenvolvimento ágil:
• Projeto e inplementação são fases centrais• As interações ocorrem em todas as atividades
Dirigido a planos:
• Fases distintas• A saída de uma fase é entrada de outra
Como identificar qual abordagem usar
1) É importante ter uma expecificação muitodetalhada antes de passar para a implementação
2) É valido uma estratégia incremental para umfeedback rápido.
3) Quão grande é o sistema ?
4) Que tipo de sistema está sendo desenvolvido
5) Qual o tempo de vida do sistema?
E uma metodologia ágil de desenvolvimento desoftware criada por Kent Beck
A Extreme Programming é uma metodologia ágilque se baseia no conceito de aplicar as bestpractices a níveis extremos, o tempo todo
Usadas para equipes pequenas e projetos comrequesitosVagos e de grande mudanças
A codificação é a principal atividade
Selecionar estórias de usuário para este
release
Divide estórias em tarefas
Planejar Release
Desenvolver/integrar testar software
Liberar SoftwareAvaliar Sistema
Princípios
• Planejamento Incrementa• Pequenas releases• Projeto simples• Desenvolvimento test-first• Refatoração• Programação em pares• Integração contínua• Ritmo sustentável• Cliente no local
PRESCRIÇÃO DE MEDICAMENTOS
Kate é uma médica que deseja precrever medicamentospara um paciente de uma clínica. O printuário do pacientejá está sendo exibido em seu computador, assim, ela clicao campo “MEDICAÇÃO” e pode selecionar “MEDICAÇÃ OATUAL”, ....
Pricipais Caracteristicas Testes XP
• Desenvolvimento test-fist
• Desenvolvimento de testes incremental apartis dos cenários
• Envolvimento dos usuários no desenvolvimento de teste e validação
• Uso de frameworks de testes automatizados
Test-Fist
Os testes são escritos antes do código. Isso permiteexecutar o teste enquanto o código está sendo escrítoe pode encontrar problemas durante odesenvolvimento
Evita problemas de test-lag
Desenvolvimento de testes incrementa apartis dos cenários
A équipe de desenvolvimento divide os cenário em tarefas
Cada tarefa gera um ou mais testes que vão verificar a implementação descrita naquela tarefa.
Envolvimento dos usuários no desenvolvimento de teste e validação
O cliente faz parte da equipe, escreve os testes enquanto o desenvolvimento avança.
Portanto, todos os novos códigos são validados paragarantir que realmente é o que o cliente necessita.
Problema!!!!!