SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
1 1
KLEITOR FRANKLINT
Automação de teste
Conheça: clipzen.blog
Lean SS Black Belt certified
Kanban Coach certified
Scrum Coach certified
Lean expert and QA specialist
Uma introdução sobre estratégias
2 2
O testador e o desenvolvedor de testes
Testes manuais x automatizados
Record x codificação
Implantação de automação
Escopo de automação
Considerações sobre automação
O universo “D”
3 3
Pontos de vista – sem pretensão de verdade-
sobre como minimizar armadilhas que reduzem o
ROI e promover uma linha mais suave na
implantação e manutenção de testes
automatizados.
4 4 4
Qual o valor da automação?
“I made a lipstick robot”
https://www.youtube.com/watch?v=WcW70-6eQcY
5 5 5
A automação
-Atende a necessidade do cliente?
-Torna o time mais produtivo?
6 6 6
Desenvolvimento orientado a valor como proposta.
Mas… o que é valor?
-Necessidade gera valor!
-Cliente puxa a produção
Plan driven x client driven
Teste continuo+entregas frequentes +
Restropectivas+ muito feedback+
envolva o time+ valores ágeis
7
Como descobrir e validar necessidades?
Ou Ágil , BDD e TDD anêmicos
8IBM Confidential
Testador
e
Desenvolvedor de testes.
Imagem: https://nzdunic.info/2014/07/06/test-infected-developer/
9IBM Confidential
Testes Manuais
X
Testes automatizados
Imagem: http://www.softwaretestingstudio.com/manual-vs-automation-testing-best/
10IBM Confidential
TESTES MANUAIS
Imagem: https://productblog.townscript.com/how-to-choose-between-manual-testing-
and-automated-testing-23a4a306b1
Testes manuais
-Alto custo para funcionalidade rotineiras
-Custo de manutenção alto: custo de
identificação de mudanças, etc
-Risco de perda de qualidade na execução
por causas diversas
-Limitações quanto à integração contínua
-Colaboram para agregar valor: testar x checar
11
Testes manuais
-No universo ágil são granulados pelo ciclo de
entrega contínua: histórias testáveis, testes
exploratórios
-Apoiam enriquecendo cenários para testes
automatizados
-Complexidade aumenta quando há
dependência
-Requerem mais esforço no custo de
manutenção
-Pões em risco a documentação viva
12
Teste automatizado
13
-Colabora com a reusabilidade
-Apoia e possibilita integração contínua
-Se usar TDD já refatora o código
-Curva inicial de aprendizagem não é pequena
-É sobre codificação (de alguma forma)
Imagem: http://blog.qatestlab.com/2012/02/03/the-necessity-of-software-test-
automation/
Teste automatizado
14
-Custo alto nas primeiras etapas
de implantação e manutenção
-Pode frustar e trazer novos problemas
quando não está apoiado por uma
estratégia de implantação e manutenção
Teste automatizado
15
-Inicialmente caro e não faz melhor trabalho
que os testes manuais.
-Requer tecnologia adicional: conhecimento x
recurso x compatibilidade
-Nem todos os testes manuais poderão ser
automatizados
-Só pode verificar resultados de máquina
interpretáveis
-Não um substituto para testes exploratórios
16
-Melhor utilização de recursos humanos
-Tempo de ciclo de teste reduzido
-Custo reduzido de testes, após o custo inicial de
implementação
-Testes reproduzíveis com confiabilidade
-Ampliam cobertura de teste, já que o teste pode
ser feito com mais frequência
Testes automatizados
Quando efetivos
17IBM Confidential
Record e Playback
X
Codificação
18IBM Confidential
Fácil de se quebrar: fragilidades na UI,
sessions, etc.
Não requer programação
Fácil inicialmente de criar
Difícil de manter: coesão x acoplamento
Um pouco de prática com Selenium IDE
Record e Playback
19IBM Confidential
Pensando em implantar
Automação de teste?
-Compreenda a necessidade/requisito de
automação
-Identifique e trate armadilhas
-Promova implementação incremental
-Comece simples e aumente a complexidade
com as habilidades do time
20IBM Confidential
-Identifique o custo do teste manual x automatizado
-Em quanto tempo o reuso cobre os custos operacionais?
-Que fatores impedirão que ele seja reutilizável e de ampla
utilização?
-Ele pode encontrar bugs que não estão diretamente
relacionados ao teste?
Pensando em implantar
Automação de teste?
21
O QUE AUTOMATIZAR?
-Casos de teste de longa duração, repetitivos e não
subjetivos
-Projetos/produtos que têm uma GUI de trabalho
relativamente estável
-Projetos/produtos que irão abranger várias versões
Imagem: http://www.cmbi.com.au/0095_ReportAutomation.html
22
O QUE NÃO
AUTOMATIZAR?
-Testes longos e complicados que requerem
intervenção humana
-Testes que levam muito tempo e difíceis de
assegurar reusabilidade mesmo se
automatizados
-Testes de usabilidade
-Use padrões de desenho que provam alta coesão e minimize
dependências
-Estabilize a app
-Minimize o distúrbio de novas funcionalidades sobre as
existentes;
-Identifique a interface que será testada antes de começar:
será a GUI?
-Escolha a ferramenta e descubra suas limitações
Considerações para
a automação
-Construa mantendo a extensibilidade
-Tenha logs da sua automação
-Arquitetura de automação alinhada com a de software
-Softwares desenhados para testabilidade
Considerações para
a automação
-Separe “o que” do “como”:
Testadores e implementadores
Objetos e arquitetura
-Defina os objetivos de design: manutenibilidade, robustez,
escalabilidade, portabilidade, confiabilidade, framework bem
documentado, etc.
Considerações para
a automação
26
Ferramentas e ambientes de automação funcional
http://codoid.com/functional-automation-testing-services/
27
Ferramentas de automação - performance
28
Ferramentas de automação- Pentest
Imagem: https://www.youtube.com/watch?v=u01xjySPUKA
“D” de design, “D” desenvolvimento
BDD
TDD
ATDD
E os outros “D”?
AMDD
DDT
TDDD
TDDWD
O Universo “D”
30 30
Test Driven Development (TDD)
30Figura: Acceptance Test Driven Development, Naresh Jain
 O que é?
-Neste nível é sobre automação de teste. Criar
(mas não só) testes unitários seguidos do código.
Seu ciclo:
-Criar um teste que reprove, escrever o código
para aprovar, refatorar o código.
31 31 31
Então não é a mesma coisa que um teste unitário?
Não, “testes unitários” focam na lógica do código, TDD foca
no negócio.
Test Driven Development (TDD)
32 32
 Manutenibilidade
-Mais fácil manutenção: menor injeção de dependências
-Melhoria continua do design
- Refatora o código em tempo de desenvolvimento
- Provoca e promove testabilidade
 Orientado a valor
-Valida o código do ponto de vista do negócio
 Facilita a aprendizagem
-Auxilia time a entender o código e aprender mais rapidamente;
-Minimiza intermediários
TDD
33 33 33
 Debug x Test First: reativo x proativo
-Localização do bug mais rápida pela execução da suite de teste
 Entrega e integração contínua
-Produz teste de aceitação, integração e regressão
 Documentação viva
-Mantem a documentação sobre o código atualizada
-Agente estratégico na engenharia de conhecimento
-Basta rodar e aprender
TDD
34 34 34
 Melhora produtividade
-Agente colaborador de produtividade
-Auxilia a promover ritmo sustentável
-Integra o time
 Ferramenta de apoio a comunicação
-Experimentar e ganhar feedback
-Risk First
 Gestão de Falha x TDD
-Modelo proativo, dinâmico e vivo de gerir falhas
TDD
35 35
TDD: Frameworks
35
Natural: NUnit
PHP: PHP Unit
Java: Junit, TestNG
36 36 36
Teste de aceitação com
Fonte da imagem: http://istqbexamcertification.com/what-are-the-different-agile-testing-methodology-test-driven-development-behavior-driven-development/
BDD
-Behavior Driven Development
-Behavior Driven Design
É sobre automação… mas é só?
Não… logo conversamos mais
37 37 37
E no começo só havia desenvolvedores
… e então surgiram analistas, testadores e stakeholders
Quem precisa
de BDD?
38 38 38
Como modelar a necessidade do cliente?
Dois universos…
“informações de valor” e “bug zero”
Quem precisa de BDD?
39 39 39
Quem precisa de BDD?
É sobre modelar a árvore de diferentes
pontos de vista
Não é mais sobre desenvolver sistemas…
é sobre o sistema que o cliente quer
é sobre ser produtivo na produção
40 40 40
BDD critério de aceitação
Desafio: expressões individualizadas do critério
Specification-By-Example with Gherkin, CHRISTIAN HASSA
41 4141
O que é
BDD (Behavior driven design)
• Prática onde a comunicação se faz por um vocabulário comum
encorajando a colaboração entre todo o time.
• Forma de escrever teste de aceitação ( ATDD ) com exemplos
DBE ( design by example).
 Foca nas razões pelas quais o código deve ser criado, e não em
detalhes técnicos
 Em vez do termo "testes" , preferimos “cenário" e
"especificação“
42 42 42
10 anos fazendo BDD
totalmente errado
Liz Keogh
https://www.youtube.com/watch?v=2EM4itu7j7I
O que faz valer à pena?
43 43
BDD em nível de implementação tem
duas partes Visão
viva do
cliente
44 44
BDD: Frameworks
44
Ruby: Cucumber
Java: JBehave, at all
PHP: Behat, at all.
45 45 45
 Melhora a captura da necessidade do cliente
- Ilustra comportamento com exemplos vivos
- Usar exemplos concretos quando se discute requisitos;
- Útil para finanças porque não intrínseco;
- Valida e roda o produto ao mesmo tempo:
Responde: Como modelar a aceitação em tempo de demonstração?
 Melhora a comunicação
- Promove linguagem universal entre times e envolvidos
- Permite Experimentar e ganhar feedback
BDD
46 46 46
 Entrega e integração contínua
 Produz teste de aceitação, integração e testes de regressão
 Gestão de Falha x BDD: mais proativo
 Melhora produtividade:
- quando o processo está maduro
- Produz colaboração: negócio x técnico
 Pode ser orientado a Riscos
 Facilita a aprendizagem ( engenharia do conhecimento)
 Documentação viva (Basta rodar e aprender)
BDD
47 47
Referencias
1- Automation Training, Strategy, Approach & Planning
2- Automated Testing vs Manual Testing, By Bhavin Turakhia
3- Achieving business benefits through automated software testing, By Dr. Mike Bartley, Founder
and CEO
4-Certified Tester Advanced Level Syllabus. Version 2016, International Software Testing
Qualifications Board
48 48
Imagens
1- https://www.eremedia.com/tlnt/hr-strategies-for-dummies-4-elements-that-better-be-part-of-it/
2- http://www.adcet.edu.au/oao/for-academics-and-teachers/teaching-strategies-for-students-with-a-specific-learning-
disability/
3- https://www.theodysseyonline.com/opinions-and-why-yours-is-wrong
49 49
Parabéns!!!!!
Seu time conseguiu

Mais conteúdo relacionado

Mais procurados

Métodos Ágeis e Scrum - Introdução
Métodos Ágeis e Scrum - IntroduçãoMétodos Ágeis e Scrum - Introdução
Métodos Ágeis e Scrum - IntroduçãoYuri Morais
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilJaffer Veronezi
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Elias Nogueira
 
Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01gtiprotec
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produção
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produçãoBug metrics - o uso das métricas para apoiar a priorização dos Bugs de produção
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produçãoJoyce Bastos
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
Ferramentas da Qualidade
Ferramentas da QualidadeFerramentas da Qualidade
Ferramentas da QualidadeMauro Sobrenome
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
[Agile Brazil 2017] Guildas e comunidades de prática
[Agile Brazil 2017] Guildas e comunidades de prática[Agile Brazil 2017] Guildas e comunidades de prática
[Agile Brazil 2017] Guildas e comunidades de práticaGuilherme Motta
 
Desperdício: O Custo da Não Qualidade
Desperdício: O Custo da Não QualidadeDesperdício: O Custo da Não Qualidade
Desperdício: O Custo da Não QualidadeElder André Zuin
 

Mais procurados (20)

Métodos Ágeis e Scrum - Introdução
Métodos Ágeis e Scrum - IntroduçãoMétodos Ágeis e Scrum - Introdução
Métodos Ágeis e Scrum - Introdução
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 
Kanban
KanbanKanban
Kanban
 
O Método Kanban
O Método KanbanO Método Kanban
O Método Kanban
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
 
Mapa Mental Scrum
Mapa Mental ScrumMapa Mental Scrum
Mapa Mental Scrum
 
Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produção
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produçãoBug metrics - o uso das métricas para apoiar a priorização dos Bugs de produção
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produção
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Ferramentas da Qualidade
Ferramentas da QualidadeFerramentas da Qualidade
Ferramentas da Qualidade
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
[Agile Brazil 2017] Guildas e comunidades de prática
[Agile Brazil 2017] Guildas e comunidades de prática[Agile Brazil 2017] Guildas e comunidades de prática
[Agile Brazil 2017] Guildas e comunidades de prática
 
Desperdício: O Custo da Não Qualidade
Desperdício: O Custo da Não QualidadeDesperdício: O Custo da Não Qualidade
Desperdício: O Custo da Não Qualidade
 
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
 
Lean Manufacturing 4
Lean Manufacturing 4Lean Manufacturing 4
Lean Manufacturing 4
 

Semelhante a Automação de testes - uma introdução sobre estratégias

TDD e UnitTest em Java
TDD e UnitTest em JavaTDD e UnitTest em Java
TDD e UnitTest em JavaJúlio de Lima
 
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
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
 
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
 
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
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMFelipe Freire
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 

Semelhante a Automação de testes - uma introdução sobre estratégias (20)

TDD e UnitTest em Java
TDD e UnitTest em JavaTDD e UnitTest em Java
TDD e UnitTest em Java
 
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?
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
 
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...
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
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
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Falando sobre DevOps no azure
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBM
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Teste Ágeis para todo o time
Teste Ágeis para todo o timeTeste Ágeis para todo o time
Teste Ágeis para todo o time
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 

Mais de Kleitor Franklint Correa Araujo

Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentosGestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentosKleitor Franklint Correa Araujo
 

Mais de Kleitor Franklint Correa Araujo (20)

Metricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projetoMetricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projeto
 
Modelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitosModelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitos
 
Engenharia de software Lean Kanban
Engenharia de software  Lean KanbanEngenharia de software  Lean Kanban
Engenharia de software Lean Kanban
 
Fundamentos Gestão de Escopo e Qualidade
Fundamentos Gestão de Escopo e QualidadeFundamentos Gestão de Escopo e Qualidade
Fundamentos Gestão de Escopo e Qualidade
 
MBA em projetos - Gestao Ágil
MBA em projetos - Gestao ÁgilMBA em projetos - Gestao Ágil
MBA em projetos - Gestao Ágil
 
Papeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional ScrumPapeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional Scrum
 
Teste de software gestao e kaizen
Teste de software gestao e kaizenTeste de software gestao e kaizen
Teste de software gestao e kaizen
 
Gestao de Projeto com gráfico burndown
Gestao de Projeto com gráfico burndownGestao de Projeto com gráfico burndown
Gestao de Projeto com gráfico burndown
 
Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1
 
Introdução de teste de segurança app web
Introdução de teste de segurança app webIntrodução de teste de segurança app web
Introdução de teste de segurança app web
 
Gestão Agil de tudo - Retrospectivas
Gestão Agil de tudo - RetrospectivasGestão Agil de tudo - Retrospectivas
Gestão Agil de tudo - Retrospectivas
 
Gestao Ágil do Backlog - Taskboards
Gestao Ágil do Backlog - TaskboardsGestao Ágil do Backlog - Taskboards
Gestao Ágil do Backlog - Taskboards
 
Gestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlogGestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlog
 
Gestao Ágil de Projeto - Reunião Diária
Gestao Ágil de Projeto - Reunião DiáriaGestao Ágil de Projeto - Reunião Diária
Gestao Ágil de Projeto - Reunião Diária
 
Agil - coisas essenciais de sempre
Agil - coisas essenciais de sempreAgil - coisas essenciais de sempre
Agil - coisas essenciais de sempre
 
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentosGestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
 
Gestão de projeto- conceitos essenciais
Gestão de projeto- conceitos essenciaisGestão de projeto- conceitos essenciais
Gestão de projeto- conceitos essenciais
 
Estrategias Ágeis para testes sob pressão
Estrategias Ágeis para testes sob pressãoEstrategias Ágeis para testes sob pressão
Estrategias Ágeis para testes sob pressão
 
Teste de Segurança orientado a valor
Teste de Segurança orientado a valorTeste de Segurança orientado a valor
Teste de Segurança orientado a valor
 
Mobile App Security Test
Mobile App Security TestMobile App Security Test
Mobile App Security Test
 

Automação de testes - uma introdução sobre estratégias

  • 1. 1 1 KLEITOR FRANKLINT Automação de teste Conheça: clipzen.blog Lean SS Black Belt certified Kanban Coach certified Scrum Coach certified Lean expert and QA specialist Uma introdução sobre estratégias
  • 2. 2 2 O testador e o desenvolvedor de testes Testes manuais x automatizados Record x codificação Implantação de automação Escopo de automação Considerações sobre automação O universo “D”
  • 3. 3 3 Pontos de vista – sem pretensão de verdade- sobre como minimizar armadilhas que reduzem o ROI e promover uma linha mais suave na implantação e manutenção de testes automatizados.
  • 4. 4 4 4 Qual o valor da automação? “I made a lipstick robot” https://www.youtube.com/watch?v=WcW70-6eQcY
  • 5. 5 5 5 A automação -Atende a necessidade do cliente? -Torna o time mais produtivo?
  • 6. 6 6 6 Desenvolvimento orientado a valor como proposta. Mas… o que é valor? -Necessidade gera valor! -Cliente puxa a produção Plan driven x client driven
  • 7. Teste continuo+entregas frequentes + Restropectivas+ muito feedback+ envolva o time+ valores ágeis 7 Como descobrir e validar necessidades? Ou Ágil , BDD e TDD anêmicos
  • 8. 8IBM Confidential Testador e Desenvolvedor de testes. Imagem: https://nzdunic.info/2014/07/06/test-infected-developer/
  • 9. 9IBM Confidential Testes Manuais X Testes automatizados Imagem: http://www.softwaretestingstudio.com/manual-vs-automation-testing-best/
  • 10. 10IBM Confidential TESTES MANUAIS Imagem: https://productblog.townscript.com/how-to-choose-between-manual-testing- and-automated-testing-23a4a306b1
  • 11. Testes manuais -Alto custo para funcionalidade rotineiras -Custo de manutenção alto: custo de identificação de mudanças, etc -Risco de perda de qualidade na execução por causas diversas -Limitações quanto à integração contínua -Colaboram para agregar valor: testar x checar 11
  • 12. Testes manuais -No universo ágil são granulados pelo ciclo de entrega contínua: histórias testáveis, testes exploratórios -Apoiam enriquecendo cenários para testes automatizados -Complexidade aumenta quando há dependência -Requerem mais esforço no custo de manutenção -Pões em risco a documentação viva 12
  • 13. Teste automatizado 13 -Colabora com a reusabilidade -Apoia e possibilita integração contínua -Se usar TDD já refatora o código -Curva inicial de aprendizagem não é pequena -É sobre codificação (de alguma forma) Imagem: http://blog.qatestlab.com/2012/02/03/the-necessity-of-software-test- automation/
  • 14. Teste automatizado 14 -Custo alto nas primeiras etapas de implantação e manutenção -Pode frustar e trazer novos problemas quando não está apoiado por uma estratégia de implantação e manutenção
  • 15. Teste automatizado 15 -Inicialmente caro e não faz melhor trabalho que os testes manuais. -Requer tecnologia adicional: conhecimento x recurso x compatibilidade -Nem todos os testes manuais poderão ser automatizados -Só pode verificar resultados de máquina interpretáveis -Não um substituto para testes exploratórios
  • 16. 16 -Melhor utilização de recursos humanos -Tempo de ciclo de teste reduzido -Custo reduzido de testes, após o custo inicial de implementação -Testes reproduzíveis com confiabilidade -Ampliam cobertura de teste, já que o teste pode ser feito com mais frequência Testes automatizados Quando efetivos
  • 17. 17IBM Confidential Record e Playback X Codificação
  • 18. 18IBM Confidential Fácil de se quebrar: fragilidades na UI, sessions, etc. Não requer programação Fácil inicialmente de criar Difícil de manter: coesão x acoplamento Um pouco de prática com Selenium IDE Record e Playback
  • 19. 19IBM Confidential Pensando em implantar Automação de teste? -Compreenda a necessidade/requisito de automação -Identifique e trate armadilhas -Promova implementação incremental -Comece simples e aumente a complexidade com as habilidades do time
  • 20. 20IBM Confidential -Identifique o custo do teste manual x automatizado -Em quanto tempo o reuso cobre os custos operacionais? -Que fatores impedirão que ele seja reutilizável e de ampla utilização? -Ele pode encontrar bugs que não estão diretamente relacionados ao teste? Pensando em implantar Automação de teste?
  • 21. 21 O QUE AUTOMATIZAR? -Casos de teste de longa duração, repetitivos e não subjetivos -Projetos/produtos que têm uma GUI de trabalho relativamente estável -Projetos/produtos que irão abranger várias versões Imagem: http://www.cmbi.com.au/0095_ReportAutomation.html
  • 22. 22 O QUE NÃO AUTOMATIZAR? -Testes longos e complicados que requerem intervenção humana -Testes que levam muito tempo e difíceis de assegurar reusabilidade mesmo se automatizados -Testes de usabilidade
  • 23. -Use padrões de desenho que provam alta coesão e minimize dependências -Estabilize a app -Minimize o distúrbio de novas funcionalidades sobre as existentes; -Identifique a interface que será testada antes de começar: será a GUI? -Escolha a ferramenta e descubra suas limitações Considerações para a automação
  • 24. -Construa mantendo a extensibilidade -Tenha logs da sua automação -Arquitetura de automação alinhada com a de software -Softwares desenhados para testabilidade Considerações para a automação
  • 25. -Separe “o que” do “como”: Testadores e implementadores Objetos e arquitetura -Defina os objetivos de design: manutenibilidade, robustez, escalabilidade, portabilidade, confiabilidade, framework bem documentado, etc. Considerações para a automação
  • 26. 26 Ferramentas e ambientes de automação funcional http://codoid.com/functional-automation-testing-services/
  • 28. 28 Ferramentas de automação- Pentest Imagem: https://www.youtube.com/watch?v=u01xjySPUKA
  • 29. “D” de design, “D” desenvolvimento BDD TDD ATDD E os outros “D”? AMDD DDT TDDD TDDWD O Universo “D”
  • 30. 30 30 Test Driven Development (TDD) 30Figura: Acceptance Test Driven Development, Naresh Jain  O que é? -Neste nível é sobre automação de teste. Criar (mas não só) testes unitários seguidos do código. Seu ciclo: -Criar um teste que reprove, escrever o código para aprovar, refatorar o código.
  • 31. 31 31 31 Então não é a mesma coisa que um teste unitário? Não, “testes unitários” focam na lógica do código, TDD foca no negócio. Test Driven Development (TDD)
  • 32. 32 32  Manutenibilidade -Mais fácil manutenção: menor injeção de dependências -Melhoria continua do design - Refatora o código em tempo de desenvolvimento - Provoca e promove testabilidade  Orientado a valor -Valida o código do ponto de vista do negócio  Facilita a aprendizagem -Auxilia time a entender o código e aprender mais rapidamente; -Minimiza intermediários TDD
  • 33. 33 33 33  Debug x Test First: reativo x proativo -Localização do bug mais rápida pela execução da suite de teste  Entrega e integração contínua -Produz teste de aceitação, integração e regressão  Documentação viva -Mantem a documentação sobre o código atualizada -Agente estratégico na engenharia de conhecimento -Basta rodar e aprender TDD
  • 34. 34 34 34  Melhora produtividade -Agente colaborador de produtividade -Auxilia a promover ritmo sustentável -Integra o time  Ferramenta de apoio a comunicação -Experimentar e ganhar feedback -Risk First  Gestão de Falha x TDD -Modelo proativo, dinâmico e vivo de gerir falhas TDD
  • 35. 35 35 TDD: Frameworks 35 Natural: NUnit PHP: PHP Unit Java: Junit, TestNG
  • 36. 36 36 36 Teste de aceitação com Fonte da imagem: http://istqbexamcertification.com/what-are-the-different-agile-testing-methodology-test-driven-development-behavior-driven-development/ BDD -Behavior Driven Development -Behavior Driven Design É sobre automação… mas é só? Não… logo conversamos mais
  • 37. 37 37 37 E no começo só havia desenvolvedores … e então surgiram analistas, testadores e stakeholders Quem precisa de BDD?
  • 38. 38 38 38 Como modelar a necessidade do cliente? Dois universos… “informações de valor” e “bug zero” Quem precisa de BDD?
  • 39. 39 39 39 Quem precisa de BDD? É sobre modelar a árvore de diferentes pontos de vista Não é mais sobre desenvolver sistemas… é sobre o sistema que o cliente quer é sobre ser produtivo na produção
  • 40. 40 40 40 BDD critério de aceitação Desafio: expressões individualizadas do critério Specification-By-Example with Gherkin, CHRISTIAN HASSA
  • 41. 41 4141 O que é BDD (Behavior driven design) • Prática onde a comunicação se faz por um vocabulário comum encorajando a colaboração entre todo o time. • Forma de escrever teste de aceitação ( ATDD ) com exemplos DBE ( design by example).  Foca nas razões pelas quais o código deve ser criado, e não em detalhes técnicos  Em vez do termo "testes" , preferimos “cenário" e "especificação“
  • 42. 42 42 42 10 anos fazendo BDD totalmente errado Liz Keogh https://www.youtube.com/watch?v=2EM4itu7j7I O que faz valer à pena?
  • 43. 43 43 BDD em nível de implementação tem duas partes Visão viva do cliente
  • 44. 44 44 BDD: Frameworks 44 Ruby: Cucumber Java: JBehave, at all PHP: Behat, at all.
  • 45. 45 45 45  Melhora a captura da necessidade do cliente - Ilustra comportamento com exemplos vivos - Usar exemplos concretos quando se discute requisitos; - Útil para finanças porque não intrínseco; - Valida e roda o produto ao mesmo tempo: Responde: Como modelar a aceitação em tempo de demonstração?  Melhora a comunicação - Promove linguagem universal entre times e envolvidos - Permite Experimentar e ganhar feedback BDD
  • 46. 46 46 46  Entrega e integração contínua  Produz teste de aceitação, integração e testes de regressão  Gestão de Falha x BDD: mais proativo  Melhora produtividade: - quando o processo está maduro - Produz colaboração: negócio x técnico  Pode ser orientado a Riscos  Facilita a aprendizagem ( engenharia do conhecimento)  Documentação viva (Basta rodar e aprender) BDD
  • 47. 47 47 Referencias 1- Automation Training, Strategy, Approach & Planning 2- Automated Testing vs Manual Testing, By Bhavin Turakhia 3- Achieving business benefits through automated software testing, By Dr. Mike Bartley, Founder and CEO 4-Certified Tester Advanced Level Syllabus. Version 2016, International Software Testing Qualifications Board
  • 48. 48 48 Imagens 1- https://www.eremedia.com/tlnt/hr-strategies-for-dummies-4-elements-that-better-be-part-of-it/ 2- http://www.adcet.edu.au/oao/for-academics-and-teachers/teaching-strategies-for-students-with-a-specific-learning- disability/ 3- https://www.theodysseyonline.com/opinions-and-why-yours-is-wrong