Palestra Testes Ágeis - SEMAC INF UFRGS

51

Transcript of Palestra Testes Ágeis - SEMAC INF UFRGS

Page 1: Palestra Testes Ágeis - SEMAC INF UFRGS
Page 2: Palestra Testes Ágeis - SEMAC INF UFRGS

Diraci Junior Trindade da SilvaLíder TécnicoFá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

Page 3: Palestra Testes Ágeis - SEMAC INF UFRGS

Testes Ágeis

CWI Learning

Baseado no livro Agile Testing de Lisa Crispin e Janet Gregory

Page 4: Palestra Testes Ágeis - SEMAC INF UFRGS

Métodos Ágeis

4 Valores

12 Princípios

Manifesto Ágil

Page 5: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 6: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 7: Palestra Testes Ágeis - SEMAC INF UFRGS

Testes ÁgeisFornecer 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

Page 8: Palestra Testes Ágeis - SEMAC INF UFRGS

Testes ÁgeisColaborar com:

• Desenvolvimento• Com usuários

Fomenta a responsabilidade da qualidadeTodo o time é responsável

Conhecedor do negócio

Automatizar o máximo possível dos testes

O Perfil

Page 9: Palestra Testes Ágeis - SEMAC INF UFRGS

O Manifestodos 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

Page 10: Palestra Testes Ágeis - SEMAC INF UFRGS
Page 11: Palestra Testes Ágeis - SEMAC INF UFRGS

Elaborado por Mike Cohn, 2009 - Pag 332 - Desenvolvimento de Software com Scrum

Pirâmide daAutomação

Page 12: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis1° QuadranteSuporte 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

Page 13: Palestra Testes Ágeis - SEMAC INF UFRGS

Controle de Versão - Ferramentas

dos testes ágeis1° Quadrante

Hospedagem Remota

Page 14: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 15: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis1° QuadranteCobertura e Qualidade de Código - Ferramentas

Page 16: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis2° QuadranteSuporte 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

Page 17: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 18: Palestra Testes Ágeis - SEMAC INF UFRGS

User StoriesSeis atributos de uma boa história

Independent Negotiable Valuable Estimatable Small Testable

dos testes ágeis2° Quadrante

Page 19: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 20: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 21: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 22: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 23: Palestra Testes Ágeis - SEMAC INF UFRGS

BDD - Behavior-Driven Development

Linguagem ubíqua

Entendimento dos requisitos

Fonte da verdade

Documentação viva

dos testes ágeis2° Quadrante

Page 24: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 25: Palestra Testes Ágeis - SEMAC INF UFRGS

BDD - Features Files and Steps Definition

dos testes ágeis2° Quadrante

Page 26: Palestra Testes Ágeis - SEMAC INF UFRGS

BDD - Ferramentas

dos testes ágeis2° Quadrante

Page 27: Palestra Testes Ágeis - SEMAC INF UFRGS

Testes Funcionais

Automatizado - Serviços / API / WebServices

dos testes ágeis2° Quadrante

Page 28: Palestra Testes Ágeis - SEMAC INF UFRGS

Testes Funcionais

ManualAutomatizado - record playback

dos testes ágeis2° Quadrante

Page 29: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 30: Palestra Testes Ágeis - SEMAC INF UFRGS

Personas

Descreve perfil de usuário fictício do produto

Principais tarefas realizadas Comportamento

Expectativas com o produto

dos testes ágeis3° Quadrante

Page 31: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 32: Palestra Testes Ágeis - SEMAC INF UFRGS

Testes Usabilidade

Avaliação Heurística

Avaliação por especialistas

Checklists

Observação

Questionários

dos testes ágeis3° Quadrante

Page 33: Palestra Testes Ágeis - SEMAC INF UFRGS

Testes Usabilidade

Vamos praticar!!!

dos testes ágeis3° Quadrante

Page 34: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 35: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis4° QuadrantePerformance - Conceito

Page 36: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis4° QuadrantePerformance - 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.

Page 37: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis4° QuadrantePerformance - Organização

• Avaliar desempenho de front-end;

Page 38: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis4° QuadrantePerformance - 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

Page 39: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis4° QuadrantePerformance - Ferramentas Execução

• Desenvolver scripts automatizados; • Executar os testes;

Page 40: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis4° QuadrantePerformance - Ferramentas Monitoramento

• Acompanhar resultados; • Gerar relatórios.

Page 41: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 42: Palestra Testes Ágeis - SEMAC INF UFRGS

Segurança - Top 10 Vulnerabilidades - OWASP 2013

dos testes ágeis4° Quadrante

Page 43: Palestra Testes Ágeis - SEMAC INF UFRGS

Segurança - Top 10 Vulnerabilidades - OWASP 2013

dos testes ágeis4° Quadrante

Page 44: Palestra Testes Ágeis - SEMAC INF UFRGS

Segurança - Top 10 Vulnerabilidades - OWASP 2013

dos testes ágeis4° Quadrante

Page 45: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis4° Quadrante

Page 46: Palestra Testes Ágeis - SEMAC INF UFRGS

dos testes ágeis4° QuadranteIntegração Contínua - Ferramentas

Page 47: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 48: Palestra Testes Ágeis - SEMAC INF UFRGS

Testes ÁgeisReferências

Page 49: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 50: Palestra Testes Ágeis - SEMAC INF UFRGS

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

Page 51: Palestra Testes Ágeis - SEMAC INF UFRGS

Diraci Junior Trindade da SilvaLíder Técnico

Fábrica de Testes

[email protected]

@diracijunior

diracijunior