Agile Testing com Drupal

of 42 /42
Agile Testing com Drupal Pass Fail por João Paulo Seregatte @justdigital

Embed Size (px)

Transcript of Agile Testing com Drupal

  1. 1. Agile Testing com Drupal Pass Fail por Joo Paulo Seregatte @justdigital
  2. 2. O que e Agile? um conjunto de metodologias de desenvolvimento de software: Entregas constantes de valor atravs de ciclos curtos. Aumentar a taxa de feedback para responder a mudanas. Ter leveza e flexibilidade para mudar. Aprendizado continuo para melhorar continuamente.
  3. 3. Manifesto gil. Indivduos e interaes > Processos e Ferramentas. Software em funcionamento > Documentao abrangente. Colaborao com o cliente > Negociao de contratos. Responder a mudanas > Seguir um plano.
  4. 4. O que e Agile testing? Agile testing e uma pratica de teste de software que segue os principios do desenvolvimento agil.
  5. 5. Agile testing. 1. Feedback contnuo. 2. Entrega de valor ao cliente. 3. Comunicac ao face-to-face. 4. Coragem. 5. Simplicidade. 6. Resposta a mudanc as. 7. Auto-organizac ao. 8. Foco em pessoas.
  6. 6. Cenrios: Testers / Agile Tester 1. Desenvolvedores ageis sao test infected. 2. Colaboram com o usuario. 3. TODO O TIME e responsavel por teste! 4. Todos devem entender do nego cio. 5. AUTOMATIZAM!!! 1. No sabem o que gil. 2. No sabem programar. 3. O desenvolvedor seu maior inimigo. 4. Programador frustrado ou querendo ser BA. 5. No querem passar trabalho.
  7. 7. Onde comea o processo de agile testing?
  8. 8. Comea desde o levantamento de requisitos com o cliente!
  9. 9. Quando o PO faz isso, o Team Dev agradece!
  10. 10. Como levantar os requisitos? Sistema de tringulos. Um professor do ensino fundamental (Segunda srie) quer um sistema para representar os tipos de tringulos para seus alunos onde eles vo entrar com os 3 lados de um tringulo e o sistema informa qual o tipo do dele.
  11. 11. Como levantar os requisitos? Sistema de tringulos. 1. Escola privada. 2. Sistema usado no labortorio da escola. 3. Acesso a internet no laboratrio. 4. Entra com 3 Campos > Tipo do tringulo. 5. Individualmente. 6. Sem mensurao de dados. 7. No deve ter figuras.
  12. 12. User Story Uma user story representa funcionalidades que devem fornecer valor para o negocio (projeto). Representa os requisitos (desejos) mais do que documenta -los. Fornece um flash para comunicac ao. Sua definic ao de pronto orienta os testes necessa rios para a estoria
  13. 13. User Story 1. Quem?: a. Personas ou Roles: i. Cliente ii. Cliente VIP iii. Fornecedor iv. Atendente do call center. 2. O que?: a. Aes. b. Rotinas. 3. Por qu?: a. Efeito no negcio. b. Valor para o cliente.
  14. 14. User Story 1. Como um dono de padaria preciso saber meu lucro por cada po por isso preciso listar os custos fixos rateado pela quantidade de pes produzidos. 2. Como um vendedor, gostaria de consultar o estoque de um determinado produto para oferecer ao cliente. 3. Como um diretor, gostaria de obter o volume de vendas do ms para acompanhar as metas. 4. Como um cliente eu gostaria de visualizar os planos existentes para decidir qual plano devo comprar.
  15. 15. De volta aos tringulos. Sistema de tringulos. Um professor do ensino fundamental (Segunda srie) quer um sistema para representar os tipos de tringulos para seus alunos onde eles vo entrar com os 3 lados de um tringulo e o sistema informa qual o tipo do dele.
  16. 16. Porque eu no perguntei o por qu? Sistema de tringulos. 1. Escola privada. 2. Sistema usado no labortorio da escola. 3. Acesso a internet no laboratrio. 4. Entra com 3 Campos > Tipo do tringulo. 5. Individualmente. 6. Sem mensurao de dados. 7. No deve ter figuras!
  17. 17. No caia na cilada do bvio! Esse professor d aulas de matemtica para uma turma de alunos superdotados e precisa usar esse sistema como experimento para sua tese de mestrado.
  18. 18. Escopo Fora 1. Validar tringulos invlidos. 2. Exibir o tringulo graficamente. 3. Validar entrada do usurio. Dentro 1. Trngulo com todos os lados iguais equiltero. 2. Tringulo com 2 lados iguais isceles. 3. Triangulo com todos os lados diferentes escaleno.
  19. 19. O que uma boa User Story? Independent Negotiable Valuable to users or customers Estimable Small Testable
  20. 20. Continuando com triangulos... Eu como professor gostaria de avaliar a capacidade dos meus alunos para gerar uma tese de mestrado. Para conhecer o tipo de um tringulo como um aluno de matemtica, eu quero informar os tamanhos do lado de um tringulo e saber qual seu tipo.
  21. 21. Testable - critrios de aceite Scenario: Tringulo isceles Given 2 nmeros iguais e 1 diferente. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo isceles Scenario: Tringulo equiltero Given 3 nmeros iguais. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo equiltero Scenario: Tringulo escaleno Given 3 nmeros diferentes. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo escaleno Scenario: No quero ver imagens Given 3 nmeros. When eu clicar em Calcular Then eu espero no ver uma imagem no resultado
  22. 22. Hora de desenvolver?
  23. 23. Hora do Sprint Planing
  24. 24. DoR e o DoD deve estar acordado entre Dev Team, SM e PO
  25. 25. ATDD TDD BDD TAD Antes de desenvolver
  26. 26. Antes de desenvolver
  27. 27. Teste unitrios 1. So de responsabilidade do Desenvolvedor. 2. Deve testar pequenas partes do sistema (funces, classes). 3. Facilita o desenvolvedor encontrar a origem de bugs no sistema. 4. No faz muito sentido para a o pessoal de negcio.
  28. 28. Teste unitrios? Que tal TDD? No Drupal?
  29. 29. Mdulo SimpleTest - DrupalUnitTestCase Teste unitrio sem bootstrap de banco de dados.
  30. 30. Ento vamos fazer teste unitrios com TDD?
  31. 31. Teste de aceitao? No Drupal?
  32. 32. Mdulo SimpleTest - DrupalWebTestCase Teste de aceitao simulando um browser e com banco de dados separado.
  33. 33. Ento vamos fazer testes de aceitao com SimpleTest?
  34. 34. Teste de UI? No Drupal?
  35. 35. Mdulo SimpleTest + Mdulo Selenium Teste de UI usando um seo de um browser real.
  36. 36. Teste de Aceitao e Teste de UI, integrados! Os 2 testes na mesma ferramenta + linguagem neutra, voltada a negcios.
  37. 37. No se esquea dos critrios de aceite Scenario: Tringulo isceles Given 2 nmeros iguais e 1 diferente. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo isceles Scenario: Tringulo equiltero Given 3 nmeros iguais. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo equiltero Scenario: Tringulo escaleno Given 3 nmeros diferentes. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo escaleno Scenario: No quero ver imagens Given 3 nmeros. When eu clicar em Calcular Then eu espero no ver uma imagem no resultado
  38. 38. Ento vamos fazer testes de UI com Behat e Selenium? Scenario: Tringulo isceles Given 2 nmeros iguais e 1 diferente. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo isceles Scenario: Tringulo equiltero Given 3 nmeros iguais. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo equiltero Scenario: Tringulo escaleno Given 3 nmeros diferentes. When eu clicar em Calcular Then eu espero ver a mensagem Tringulo escaleno Scenario: No quero ver imagens Given 3 nmeros. When eu clicar em Calcular Then eu espero no ver uma imagem no resultado
  39. 39. Continuous Integration!
  40. 40. E os teste manuais, acabam? No, testes exploratrios nunca acabam! 1. Aprender sobre mais sobre o software. 2. Desenvolver mais testes. 3. Executar testes. Use o feedback do ltimo teste para executar o prximo!
  41. 41. Quando o Dev Team faz isso, o PO e o cliente agradecem!
  42. 42. Fim! Joo Paulo Head of technology [email protected]