Your SlideShare is downloading. ×
0
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Desenvolvimento Ágil de Software com Qualidade Intrínseca

1,172

Published on

This is a little presentation to make absolutely clear why test automation and test driven development are key to any software development process that strives for high quality and high productivity. …

This is a little presentation to make absolutely clear why test automation and test driven development are key to any software development process that strives for high quality and high productivity. Brazilian portuguese.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,172
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Processo de Desenvolvimento Ágil com Qualidade Intrínseca Teoria, Práticas e Ferramentas
  • 2. Processo Típico Desenvolvimento-Teste Segregado 1 mês Desenvolvimento Testes Desenvolvimento Testes Bug Bug Bug Bug Introduzido Detectado Corrigido Verificado Ágil?
  • 3. Processo “Pull” Visão Analista de Clientes e Suporte Valor Usuários Código Funcionalidades Desenvolvedor Analista de Negócio Cenários e Critérios de Histórias Aceitação Analista de Qualidade
  • 4. Como? • Competências – Linguagem de Histórias e Cenários – Automação de Cenários – Desenvolvimento de Software • Práticas – AATDD – Automated Acceptance Test Driven-Development – BDD & TDD – Behaviour & Test Driven-Development • Ferramentas – RFT – Selenium – Watir – Jemmy – Cucumber – Twist – Junit – Java – Ruby – ...
  • 5. Testes, testes, testes... Tradicional Intrínseca Escrevendo Escrevendo Automatizando Automatizando Executando Executando Analisando Analisando Onde está o trabalho do analista de qualidade?
  • 6. Meta: eliminar o trabalho de execução de testes Teste manual é um imposto caro pago a cada ciclo de desenvolvimento
  • 7. Qualidade Tradicional x Ágil Tradicional Intrínseca • Manual • Automatizada • Desmotivante • Divertida • Lenta • Rápida • Falha • Sistemática, abrangente • Baixa competência • Alta competência • Baixo valor agregado • Alto valor agregado • Reativa • Proativa • Defensiva • Direcionadora • Segregada • Integrada
  • 8. Próximo Nível de Qualidade Qualidade Intrínseca (Automatizada) Desenvolvedor Automação de Testes A. de Testes Linguagem de Cenários A. de Negócios Qualidade por Inspeção (Manual)
  • 9. 5 razões para amar testes ágeis 1. Sempre existe tempo para testes, pois os testes são a primeira coisa que é feita 2. Chega de testes manuais 3. Os resultados dos testes aparecem várias vezes por dia 4. O clima é de “time jogando junto” 5. O testador pode consertar bugs
  • 10. Linguagem de Histórias e Cenários http://dannorth.net/whats-in-a-story
  • 11. Linguagem de Histórias • Para que ... • Eu, como ... • Quero ...
  • 12. Linguagem de Histórias • Para que ... VALOR • Eu, como ... PAPEL • Quero ... FUNCIONALIDADE
  • 13. Linguagem de Histórias • Para que se possa decidir sobre ações numa emergência • Eu, como gerente de recursos materiais, • Quero consultar que materiais de um determinado tipo estão disponíveis para potencial uso na resposta a emergência
  • 14. Linguagem de Cenários • Dado que ... – E ... • Quando ... – E ... • Então ... – E ...
  • 15. Linguagem de Cenários • Dado que ... CONTEXTO / PRÉ-CONDIÇÕES – E ... • Quando ... EVENTO / ENTRADA – E ... • Então ... EXPECTATIVA / SAÍDA – E ...
  • 16. Linguagem de Cenários • Dado que estou acompanhando uma emergência em andamento na fábrica • Quando eu entrar no módulo de Consultas – E clicar em “Recursos Materiais” na árvore de classes – E buscar por tipo “Barreiras” • Então eu devo ver uma lista de objetos do tipo “Barreiras” – E eu devo ver a quantidade disponível de cada recurso para minha unidade – E eu devo ver a distância de cada recurso para minha unidade – E eu devo ver o status de expiração para cada recurso – E eu devo ver um link “Solicitar” para cada recurso
  • 17. Automação de Cenários • Dado que estou acompanhando uma emergência em Código andamento na fábrica executável • Quando eu entrar no módulo de Consultas Código – E clicar em “Recursos Materiais” na árvore de classes executável – E buscar por tipo “Barreiras” • Então eu devo ver uma lista de objetos do tipo “Barreiras” – E eu devo ver a quantidade disponível de cada recurso para minha unidade Código – E eu devo ver a distância de cada recurso para minha unidade executável – E eu devo ver o status de expiração para cada recurso – E eu devo ver um link “Solicitar” para cada recurso
  • 18. Automação de Cenários com Cucumber
  • 19. Automação de Cenários com Cucumber When /clicar em “(.*)” na árvore de classes/ do |classe| arvore = browser.current_page.arvore_de_classes arvore.click(classe) end Then /eu devo ver uma lista de objetos do tipo “(.*)”/ do |tipo| pagina = browser.current_page assert_true(pagina.contains_text?(“Resultado”)) assert_true(pagina.contains_text?(“ encontrados”)) assert_true(pagina.contains_text?(tipo)) end
  • 20. Automação de Cenários com Cucumber-Java public class ArvoreSteps { @When(“clicar em “(.*)” na árvore de classes”) public void clicarEmClasse(String classe) { arvore = new ArvoreClasses(browser().getCurrentPage()) arvore.click(classe) } }
  • 21. THE END Moral da história: “Teste de regressão manual é uma prática totalmente inviável e inaceitável.” ”Use os testes de aceitação automatizados para direcionar o desenvolvimento.”

×