Palestra Testes Ágeis - SEMAC INF UFRGS

520 visualizações

Publicada em

Palestra realizada na Semana Acadêmica do Instituto de Informática da UFRGS. Conteúdo baseado nos conceitos e técnicas propostos no livro Agile Testing de Lisa Crispin e Janet Gregory.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
520
No SlideShare
0
A partir de incorporações
0
Número de incorporações
120
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Palestra Testes Ágeis - SEMAC INF UFRGS

  1. 1. Diraci Junior Trindade da Silva Líder Técnico Fábrica de Testes • Ciência da Computação • 10 anos experiência em TI • MBA em Gestão da Qualidade • Foco em Qualidade de Software e processos de testes • Grupo RBS / Colombo / Cnova / Terra / Abril / Odebrecht / Fleury / Tramontina / … • Trabalho voluntário no GUTS-RS
  2. 2. Testes Ágeis CWI Learning Baseado no livro Agile Testing de Lisa Crispin e Janet Gregory
  3. 3. Métodos Ágeis 4 Valores 12 Princípios Manifesto Ágil
  4. 4. Métodos Ágeis 1. Indivíduos e interação entre eles mais que processos e ferramentas 2. Software em funcionamento mais que documentação abrangente 3. Colaboração com o cliente mais que negociação de contratos 4. Responder a mudanças mais que seguir um plano Valores
  5. 5. O que é Conceito que segue os valores e princípios do Manifesto Ágil, agrupa técnicas e práticas de testes utilizadas na avaliação de qualidade do código e produto desenvolvido. Visa garantir que as necessidades do cliente estão sendo atendidas e gerando valor ao negócio. Teste Ágil
  6. 6. Testes Ágeis Fornecer Feedback Contínuo Entregar Valor ao Cliente Comunicação Face-to-face Tenha Coragem Simplicidade Praticar Melhoria Contínua Responder à Mudança Auto Organização Foco nas Pessoas Satisfação Os 10 princípios
  7. 7. Testes Ágeis Colaborar com: • Desenvolvimento • Com usuários Fomenta a responsabilidade da qualidade Todo o time é responsável Conhecedor do negócio Automatizar o máximo possível dos testes O Perfil
  8. 8. O Manifesto dos Testes Ágeis 1. Executar testes em todas as etapas ao invés de apenas no final 2. Prevenir bugs ao invés de encontrar bugs 3. Testar o entendimento ao invés de checar a funcionalidade 4. Construir o melhor sistema ao invés de quebrar o sistema 5. Time responsável pela qualidade ao invés da responsabilidade ser apenas do testador
  9. 9. Elaborado por Mike Cohn, 2009 - Pag 332 - Desenvolvimento de Software com Scrum Pirâmide da Automação
  10. 10. dos testes ágeis1° Quadrante Suporte ao Time - Apoio Desenvolvimento Técnica principal: TDD Automatizado geralmente executados com Integração Contínua Testes de Unidade menor porção da aplicação Testes de Componentes um grupo de classes, uma parte Não visível ao cliente Qualidade do código
  11. 11. Controle de Versão - Ferramentas dos testes ágeis1° Quadrante Hospedagem Remota
  12. 12. TDD - Test-Drive Development dos testes ágeis1° Quadrante Desenvolvimento com foco em testes Testes são escritos antes do código Melhorar design do código Desenvolvidos para testar unidade de código Rodam periodicamente com integração contínua Facilita a Regressão Refactoring - minimiza riscos
  13. 13. dos testes ágeis1° Quadrante Cobertura e Qualidade de Código - Ferramentas
  14. 14. dos testes ágeis2° Quadrante Suporte ao Time - Apoio Desenvolvimento Técnica principal: BDD Validações de Telas Layout / Padrões Testes Funcionais Está voltada a aplicação em um formato que o cliente já entende Qualidade externa da aplicação
  15. 15. User Stories Descrição curta e simples de um requisito Perspectiva da pessoa que deseja a funcionalidade Pode ser descrito em: Um cartão; Ferramenta de gestão de requisitos. dos testes ágeis2° Quadrante
  16. 16. User Stories Seis atributos de uma boa história Independent Negotiable Valuable Estimatable Small Testable dos testes ágeis2° Quadrante
  17. 17. User Stories - Modelos Como <tipo de usuário>, desejo <algum objetivo> para que <alguma razão>. Para <benefício a ser obtido>, como <tipo de usuário>, desejo <algum objetivo>. Exemplo: Como usuário registrado, desejo realizar login com meu nome de usuário e senha para que eu possa confiar no sistema. dos testes ágeis2° Quadrante
  18. 18. User Stories - Critérios de Aceitação Teste de aceitação em alto nível; Será verdadeiro quando user story for finalizada. Exemplo: Senha não pode conter sequencia crescente com mais de 3 números. Senha deve conter uma letra maiúscula. dos testes ágeis2° Quadrante
  19. 19. User Stories - Especificação por exemplos Comunicar comportamento desejado para diversas situações; Tabelas de decisão e equivalência; Entendimento mais fácil. Senha Confirmação Alterado? Mensagem 1234user 1234user Não Senha não pode conter sequencia com mais de três números User12new User12new Sim Senha alterada com sucesso! user12 user12 Não Senha deve conter uma letra maiúscula! USER123 USER123 Sim Senha alterada com sucesso! dos testes ágeis2° Quadrante
  20. 20. BDD - Behavior-Driven Development Criado por Dan North Derivação do TDD Responder alguns questionamentos sobre TDD: Onde iniciar?
 O que testar e o que não testar?
 Quanto testar a cada etapa?
 Como devemos chamar os testes?
 Como entender porque um teste falha? dos testes ágeis2° Quadrante
  21. 21. BDD - Behavior-Driven Development Linguagem ubíqua Entendimento dos requisitos Fonte da verdade Documentação viva dos testes ágeis2° Quadrante
  22. 22. BDD - Gherkin - Idiomas Funcionalidade: Servir café
 O café não deve ser servido até que seja pago
 O café não deve ser servido até que o botão seja pressionado Se não tiver mais café o dinheiro deve ser devolvido Cenário: Comprar último café
 Dado que existe "1" "café" na máquina E Eu depositei "1$"
 Quando Eu pressiono o botão do “café" Então Eu devo receber "café" dos testes ágeis2° Quadrante
  23. 23. BDD - Features Files and Steps Definition dos testes ágeis2° Quadrante
  24. 24. BDD - Ferramentas dos testes ágeis2° Quadrante
  25. 25. Testes Funcionais Automatizado - Serviços / API / WebServices dos testes ágeis2° Quadrante
  26. 26. Testes Funcionais Manual Automatizado - record playback dos testes ágeis2° Quadrante
  27. 27. Crítica ao produto Voltado para a técnica de validações de usuário Testes manuais Uso da aplicação como usuário final Aplicação de testes exploratórios Cliente também é envolvido na execução Assegurar que necessidades do cliente foram atendidas dos testes ágeis3° Quadrante
  28. 28. Personas Descreve perfil de usuário fictício do produto Principais tarefas realizadas Comportamento Expectativas com o produto dos testes ágeis3° Quadrante
  29. 29. Testes Exploratórios Sem grande dependência dos requisitos Sem planejamento muito detalhado Baseados na experiência do testador Conhecimento sobre as plataformas suportadas Comparativo com versões anteriores Testes baseados em Sessões dos testes ágeis3° Quadrante
  30. 30. Testes Usabilidade Avaliação Heurística Avaliação por especialistas Checklists Observação Questionários dos testes ágeis3° Quadrante
  31. 31. Testes Usabilidade Vamos praticar!!! dos testes ágeis3° Quadrante
  32. 32. dos testes ágeis4° Quadrante Crítica ao produto Avaliação técnica - performance, carga e segurança Podem ser incluídos na Integração Contínua Gerados a partir de necessidades do cliente - User Story Utilização de ferramentas específicas e codificação
  33. 33. dos testes ágeis4° Quadrante Performance - Conceito
  34. 34. dos testes ágeis4° Quadrante Performance - Organização • Entender as necessidades do projeto e contexto; • Identificar cenários que agregam valor a avaliação de performance; • Mapear os requisitos de ambiente.
  35. 35. dos testes ágeis4° Quadrante Performance - Organização • Avaliar desempenho de front-end;
  36. 36. dos testes ágeis4° Quadrante Performance - Organização Como gestor de produto e-commerce Preciso ter informações sobre como meu site se comporta com um número alto de acessos de usuários Para que eu me sinta mais seguro quanto a sua disponibilidade em eventos como BlackFriday
  37. 37. dos testes ágeis4° Quadrante Performance - Ferramentas Execução • Desenvolver scripts automatizados; • Executar os testes;
  38. 38. dos testes ágeis4° Quadrante Performance - Ferramentas Monitoramento • Acompanhar resultados; • Gerar relatórios.
  39. 39. Segurança - Top 10 Vulnerabilidades - OWASP 2013 dos testes ágeis4° Quadrante A1 – Injeção A2 – Quebra de Autenticação e Gerenciamento de Sessão A3 – Cross-Site Scripting (XSS) A4 – Referência Insegura e Direta a Objetos A5 – Configuração Incorreta de Segurança A6 – Exposição de Dados Sensíveis A7 – Falta de Função para Controle do Nível de Acesso A8 – Cross-Site Request Forgery (CSRF) A9 – Utilização de Componentes Vulneráveis Conhecidos A10 – Redirecionamentos e Encaminhamentos Inválidos
  40. 40. Segurança - Top 10 Vulnerabilidades - OWASP 2013 dos testes ágeis4° Quadrante
  41. 41. Segurança - Top 10 Vulnerabilidades - OWASP 2013 dos testes ágeis4° Quadrante
  42. 42. Segurança - Top 10 Vulnerabilidades - OWASP 2013 dos testes ágeis4° Quadrante
  43. 43. dos testes ágeis4° Quadrante
  44. 44. dos testes ágeis4° Quadrante Integração Contínua - Ferramentas
  45. 45. Testes Ágeis #ficaDica Automatize Comece pelo simples e que lhe agregue valor Tenha preocupação com aquilo que irá entregar Obtenha o entendimento da necessidade do cliente As funcionalidades e prioridades irão mudar, esteja preparado Identifique quem possa lhe ajudar Sinta orgulho de assinar seu código, e seu teste
  46. 46. Testes ÁgeisReferências
  47. 47. Testes ÁgeisReferências • Agile Testing - A Pratical Guide for Testers and Agile Teams. Lisa Crispin and Janet Gregory • User Stories Applied - For Agile Software Development. Mike Cohn • Entrega Contínua - Como Entregar Software de Forma Rápida e Confiável. Jez Humble - David Farley • Clean Code - A Handbook of Agile Software Craftsmanship. Robert C. Martin • http://janetgregory.blogspot.com.br/2010/08/atdd-vs-bdd-vs-specification-by- example.html • http://www.manifestoagil.com.br • http://pt.slideshare.net/nashjain/agile-testing-392928 • http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants/ • http://www.infoq.com/br/articles/atdd-passo-a-passo • http://testobsessed.com/wp-content/uploads/2011/04/atddexample.pdf • http://www.exampler.com/old-blog/2003/08/22/#agile-testing-project-2 • http://www.owasp.org
  48. 48. Testes ÁgeisReferências • http://www.braintrustgroup.com • http://scrummethodology.com • http://www.agilenutshell.com • http://br.freepik.com/vetores-gratis/grafico-modelo-arte-vetorial_719132.htm Imagens
  49. 49. Diraci Junior Trindade da Silva Líder Técnico Fábrica de Testes diraci@cwi.com.br @diracijunior diracijunior

×