SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
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
Testes Ágeis
CWI Learning
Baseado no livro Agile Testing
de Lisa Crispin e Janet Gregory
Métodos Ágeis
4 Valores
12 Princípios
Manifesto Ágil
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
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
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
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
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
Elaborado por Mike Cohn, 2009 - Pag 332 -
Desenvolvimento de Software com Scrum
Pirâmide da
Automação
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
Controle de Versão - Ferramentas
dos testes ágeis1° Quadrante
Hospedagem Remota
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
dos testes ágeis1° Quadrante
Cobertura e Qualidade de Código - Ferramentas
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
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
User Stories
Seis atributos de uma boa história
Independent
Negotiable
Valuable
Estimatable
Small
Testable
dos testes ágeis2° Quadrante
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
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
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
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
BDD - Behavior-Driven Development
Linguagem ubíqua
Entendimento dos requisitos
Fonte da verdade
Documentação viva
dos testes ágeis2° Quadrante
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
BDD - Features Files and Steps Definition
dos testes ágeis2° Quadrante
BDD - Ferramentas
dos testes ágeis2° Quadrante
Testes Funcionais
Automatizado - Serviços / API / WebServices
dos testes ágeis2° Quadrante
Testes Funcionais
Manual
Automatizado - record playback
dos testes ágeis2° Quadrante
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
Personas
Descreve perfil de usuário fictício do produto
Principais tarefas realizadas
Comportamento
Expectativas com o produto
dos testes ágeis3° Quadrante
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
Testes Usabilidade
Avaliação Heurística
Avaliação por especialistas
Checklists
Observação
Questionários
dos testes ágeis3° Quadrante
Testes Usabilidade
Vamos praticar!!!
dos testes ágeis3° Quadrante
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
dos testes ágeis4° Quadrante
Performance - Conceito
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.
dos testes ágeis4° Quadrante
Performance - Organização
• Avaliar desempenho de front-end;
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
dos testes ágeis4° Quadrante
Performance - Ferramentas Execução
• Desenvolver scripts automatizados;
• Executar os testes;
dos testes ágeis4° Quadrante
Performance - Ferramentas Monitoramento
• Acompanhar resultados;
• Gerar relatórios.
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
Segurança - Top 10 Vulnerabilidades - OWASP 2013
dos testes ágeis4° Quadrante
Segurança - Top 10 Vulnerabilidades - OWASP 2013
dos testes ágeis4° Quadrante
Segurança - Top 10 Vulnerabilidades - OWASP 2013
dos testes ágeis4° Quadrante
dos testes ágeis4° Quadrante
dos testes ágeis4° Quadrante
Integração Contínua - Ferramentas
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
Testes ÁgeisReferências
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
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
Diraci Junior Trindade da Silva
Líder Técnico
Fábrica de Testes
diraci@cwi.com.br
@diracijunior
diracijunior

Mais conteúdo relacionado

Mais procurados

Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Júlio de Lima
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Vanilton Pinheiro
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizadosCristiano Caetano
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Fernando Palma
 
Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]rafael327780
 
Certificação de processos e gestão da qualidade de software nas organizações
Certificação de processos e gestão da qualidade de software nas organizaçõesCertificação de processos e gestão da qualidade de software nas organizações
Certificação de processos e gestão da qualidade de software nas organizaçõesRafael Pires
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdadesCristiano Caetano
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processocrc1404
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 

Mais procurados (20)

Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
 
Pensando TDD
Pensando TDDPensando TDD
Pensando TDD
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizados
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 
Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]Ctfl 2018 sample_b[v1.3br]
Ctfl 2018 sample_b[v1.3br]
 
Certificação de processos e gestão da qualidade de software nas organizações
Certificação de processos e gestão da qualidade de software nas organizaçõesCertificação de processos e gestão da qualidade de software nas organizações
Certificação de processos e gestão da qualidade de software nas organizações
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdades
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
 
Papéis em teste e qualidade de software
Papéis em teste e qualidade de softwarePapéis em teste e qualidade de software
Papéis em teste e qualidade de software
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 

Destaque

TDC2012 - Fábrica de Testes usufruindo da integração de Ferramentas ALM e Ges...
TDC2012 - Fábrica de Testes usufruindo da integração de Ferramentas ALM e Ges...TDC2012 - Fábrica de Testes usufruindo da integração de Ferramentas ALM e Ges...
TDC2012 - Fábrica de Testes usufruindo da integração de Ferramentas ALM e Ges...Diraci Junior Trindade da Silva
 
Testes Ágeis - Quallis
Testes Ágeis - QuallisTestes Ágeis - Quallis
Testes Ágeis - QuallisQuallis
 
Produtividade na gestão de equipes ágeis com Rally Agile ALM
Produtividade na gestão de equipes ágeis com Rally Agile ALMProdutividade na gestão de equipes ágeis com Rally Agile ALM
Produtividade na gestão de equipes ágeis com Rally Agile ALMagiletalkscrumminas
 
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testesBrateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testesananegrello
 
Build FAST with parallel_calabash
Build FAST with parallel_calabashBuild FAST with parallel_calabash
Build FAST with parallel_calabashThoughtworks
 
Testing Factory Nexion En
Testing Factory Nexion EnTesting Factory Nexion En
Testing Factory Nexion Enppdeazul
 
Artificial intelligence in qa
Artificial intelligence in qaArtificial intelligence in qa
Artificial intelligence in qaTaras Lytvyn
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testingThoughtworks
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalAdriano Petrich
 
Automated testing of software applications using machine learning edited
Automated testing of software applications using machine learning   editedAutomated testing of software applications using machine learning   edited
Automated testing of software applications using machine learning editedMilind Kelkar
 

Destaque (16)

TDC2012 - Fábrica de Testes usufruindo da integração de Ferramentas ALM e Ges...
TDC2012 - Fábrica de Testes usufruindo da integração de Ferramentas ALM e Ges...TDC2012 - Fábrica de Testes usufruindo da integração de Ferramentas ALM e Ges...
TDC2012 - Fábrica de Testes usufruindo da integração de Ferramentas ALM e Ges...
 
Testes Ágeis - Quallis
Testes Ágeis - QuallisTestes Ágeis - Quallis
Testes Ágeis - Quallis
 
Produtividade na gestão de equipes ágeis com Rally Agile ALM
Produtividade na gestão de equipes ágeis com Rally Agile ALMProdutividade na gestão de equipes ágeis com Rally Agile ALM
Produtividade na gestão de equipes ágeis com Rally Agile ALM
 
Archivo - XIII Reunion Anual
Archivo - XIII Reunion AnualArchivo - XIII Reunion Anual
Archivo - XIII Reunion Anual
 
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testesBrateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
 
The avengers testers team
The avengers testers teamThe avengers testers team
The avengers testers team
 
Test factory approach to automated testing
Test factory approach to automated testingTest factory approach to automated testing
Test factory approach to automated testing
 
Build FAST with parallel_calabash
Build FAST with parallel_calabashBuild FAST with parallel_calabash
Build FAST with parallel_calabash
 
Testing Factory Nexion En
Testing Factory Nexion EnTesting Factory Nexion En
Testing Factory Nexion En
 
Industrialization of testing
Industrialization of testing Industrialization of testing
Industrialization of testing
 
Catal Huyuk
Catal HuyukCatal Huyuk
Catal Huyuk
 
Artificial intelligence in qa
Artificial intelligence in qaArtificial intelligence in qa
Artificial intelligence in qa
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao final
 
Automated testing of software applications using machine learning edited
Automated testing of software applications using machine learning   editedAutomated testing of software applications using machine learning   edited
Automated testing of software applications using machine learning edited
 

Semelhante a Palestra Testes Ágeis - SEMAC INF UFRGS

Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Igor Abade
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliJoao Galdino Mello de Souza
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenhoEvandro Grezeli
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...Juliano Ribeiro
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018Karla Silva
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POAGUTS-RS
 
Panorama geral sobre testes e qualidade de software
Panorama geral sobre testes e qualidade  de softwarePanorama geral sobre testes e qualidade  de software
Panorama geral sobre testes e qualidade de softwareAriane Izac
 
Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Alain Ageev, SFPC
 
Não há agile sem práticas ágeis
Não há agile sem práticas ágeisNão há agile sem práticas ágeis
Não há agile sem práticas ágeisMarco Baccaro
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018Larissa Soares
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 

Semelhante a Palestra Testes Ágeis - SEMAC INF UFRGS (20)

Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?
 
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
Melhoria de processos em métodos ágeis: não é o que você está pensando! - Raf...
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
 
Panorama geral sobre testes e qualidade de software
Panorama geral sobre testes e qualidade  de softwarePanorama geral sobre testes e qualidade  de software
Panorama geral sobre testes e qualidade de software
 
Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3
 
Não há agile sem práticas ágeis
Não há agile sem práticas ágeisNão há agile sem práticas ágeis
Não há agile sem práticas ágeis
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Lean agile testing
Lean agile testingLean agile testing
Lean agile testing
 

Palestra Testes Ágeis - SEMAC INF UFRGS

  • 1.
  • 2. 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
  • 3. Testes Ágeis CWI Learning Baseado no livro Agile Testing de Lisa Crispin e Janet Gregory
  • 4. Métodos Ágeis 4 Valores 12 Princípios Manifesto Ágil
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10.
  • 11. Elaborado por Mike Cohn, 2009 - Pag 332 - Desenvolvimento de Software com Scrum Pirâmide da Automação
  • 12. 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
  • 13. Controle de Versão - Ferramentas dos testes ágeis1° Quadrante Hospedagem Remota
  • 14. 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
  • 15. dos testes ágeis1° Quadrante Cobertura e Qualidade de Código - Ferramentas
  • 16. 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
  • 17. 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
  • 18. User Stories Seis atributos de uma boa história Independent Negotiable Valuable Estimatable Small Testable dos testes ágeis2° Quadrante
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. BDD - Behavior-Driven Development Linguagem ubíqua Entendimento dos requisitos Fonte da verdade Documentação viva dos testes ágeis2° Quadrante
  • 24. 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
  • 25. BDD - Features Files and Steps Definition dos testes ágeis2° Quadrante
  • 26. BDD - Ferramentas dos testes ágeis2° Quadrante
  • 27. Testes Funcionais Automatizado - Serviços / API / WebServices dos testes ágeis2° Quadrante
  • 28. Testes Funcionais Manual Automatizado - record playback dos testes ágeis2° Quadrante
  • 29. 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
  • 30. Personas Descreve perfil de usuário fictício do produto Principais tarefas realizadas Comportamento Expectativas com o produto dos testes ágeis3° Quadrante
  • 31. 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
  • 32. Testes Usabilidade Avaliação Heurística Avaliação por especialistas Checklists Observação Questionários dos testes ágeis3° Quadrante
  • 33. Testes Usabilidade Vamos praticar!!! dos testes ágeis3° Quadrante
  • 34. 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
  • 35. dos testes ágeis4° Quadrante Performance - Conceito
  • 36. 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.
  • 37. dos testes ágeis4° Quadrante Performance - Organização • Avaliar desempenho de front-end;
  • 38. 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
  • 39. dos testes ágeis4° Quadrante Performance - Ferramentas Execução • Desenvolver scripts automatizados; • Executar os testes;
  • 40. dos testes ágeis4° Quadrante Performance - Ferramentas Monitoramento • Acompanhar resultados; • Gerar relatórios.
  • 41. 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
  • 42. Segurança - Top 10 Vulnerabilidades - OWASP 2013 dos testes ágeis4° Quadrante
  • 43. Segurança - Top 10 Vulnerabilidades - OWASP 2013 dos testes ágeis4° Quadrante
  • 44. Segurança - Top 10 Vulnerabilidades - OWASP 2013 dos testes ágeis4° Quadrante
  • 45. dos testes ágeis4° Quadrante
  • 46. dos testes ágeis4° Quadrante Integração Contínua - Ferramentas
  • 47. 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
  • 49. 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
  • 50. 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
  • 51. Diraci Junior Trindade da Silva Líder Técnico Fábrica de Testes diraci@cwi.com.br @diracijunior diracijunior