Flaky tests: O flakiness que há em você!
Flaky tests - o
flakiness que há em
você!
hello!
Sou Ramses Almeida
Eu estou aqui porque gosto de churrasco apresentações
Atualmente trabalho na Ilegra/Agibank
Você me encontra em:
@rsaccoll
rsaccoll
hello!
Sou André Mendes
Estou aqui porque acredito muito em comunidades
Atualmente trabalho na Concrete
Você me encontra em:
@ap_mendes
André Mendes
http://conferenciagiletesters.com/
https://www.crowdcast.io/e/agiletesters-testwarstories/register
O que é flaky?
“
“Testes que falham devido a
intermitência ou algum fator
não mapeado.
Tests runs
Tests runs
Tests runs
Tests runs
Tests runs
Na manhã
seguinte
Flaky tests: O flakiness que há em você!
Flaky tests: O flakiness que há em você!
Culpados
Internet
“A internet está caindo”
“Nossa, essa rede está muito
lenta”
Ferramenta
“Esse framework não tem nada
que preciso”
“A comunidade não
implementou funcionalidade
XPTO na framework”
“Selenium resolve tudo”
Tempo
“Esse build tá demorando
muito, vou executar alguns
testes somente.
“Ah, demorou apenas 8 horas
para fazer esse botão ser
clicado
Colegas
“Ah, não acredito que o Ramsés fez isso para
selecionar um item… -_- “
“Pra que usar isso para automatizar!!”
Cobertura fraca
“Acho que preciso melhorar essa cobertura de
testes….Quando der…”
“Ah, usaram o meu test data denovo!!”
Culpados
“
“Flakiness is not get out of jail free
card”
Allister Scott (2015)
Flaky tests: O flakiness que há em você!
SACRED
SACRED - State
✘ A aplicação deve estar em um determinado estado para que a
automação seja eficiente.
Atenção para:
✘ Massa de dados
✘ Configuração
Senão…
✘ Elementos e dados inexistentes
na execução
✘ Cenários fracamente validados
SACRED - Algorithm
✘ "...not training them to be programmers, we're training to learn how to use
the tools..."
Atenção para:
✘ Steps
✘ Decisões
✘ Validação assertiva
✘ Ferramentas
✘ Entender o funcionamento das
coisas
Senão…
✘ sleep();
✘ Overengineering
✘ Lentidão
Allister Scott (2015)
SACRED - Codified oracles
✘ “Como definimos o que é um problema”
Atenção para:
✘ Validações
✘ Fluxo como um todo
✘ Mudanças no produto
✘ Decisão de ser um
problema
Senão…
✘ Manutenção excessiva
✘ Muitas validações
desnecessárias
✘ “Problemas não identificados”
SACRED - reporting
✘ O que o projeto quer da suite de testes?
✘ Quem quer saber o quê?
Atenção para:
✘ Estado da aplicação
✘ Logs
✘ Resultado
Senão…
✘ Demorar mais para entender e
corrigir o problema
✘ Quem precisa saber sobre o
que descobrimos?
✘ Falta de visão do valor gerado
SACRED - Execution
✘ Onde nós devemos executar os nossos testes?
Atenção para:
✘ Onde rodar?
✘ Quando?
✘ Hardware
✘ Rede
Senão…
✘ Não roda bem no ambiente
XPTO
✘ Instabilidade
✘ Ambiente compartilhado
✘ Execução mais lenta
SACRED - deterministic
✘ “...In my conversations with our delivery teams, one recurring problem that we've run
into is tests which have become unreliable, so unreliable that people don't pay much
attention to whether they pass or fail.”
Atenção para:
✘ Objetivo
✘ Confiabilidade
✘ Resultado
Senão…
✘ “Como não vimos esse
problema?
✘ Itens importantes não testados
✘ Muitas coisas desnecessárias
Martin Fowler (2011)
Mas eaí?
O que aprendemos?
✘ Tente não re-executar seus testes cegamente
✘ Conhecimento teórico ajuda
✘ Trabalhe a testabilidade da aplicação. Testabilidade não se resume a ids
✘ Questione determinado teste deveria mesmo ser automatizado
✘ Entenda sobre o produto
✘ Use quarentena
✘ Organize seu tempo
✘ Isole seus testes
Fontes
✘ https://testing.googleblog.com/2016/05/flaky-tests-at-google-and-how-we.html
✘ https://testing.googleblog.com/2017/04/where-do-our-flaky-tests-come-from.html
✘ https://www.youtube.com/watch?v=XnkWkrbzMh0
✘ https://www.youtube.com/watch?v=hmk1h40shaE
✘ https://watirmelon.blog/2015/11/11/your-tests-arent-flaky
✘ https://martinfowler.com/articles/nonDeterminism.html
Obrigado!
Perguntas?
Estamos em:
@rsaccoll || @ap_mendes
NÓS MOVEMOS O MUNDO.
Centro
Av. Presidente Wilson, 231
29º andar
(21) 2240-2030
Cidade Monções
Av. Nações Unidas, 11.541
3º andar
(11) 4119-0449
Savassi
Av. Getúlio Vargas, 671
Sala 800 - 8º andar
(31) 3360-8900
Ilha do Leite
Rua Sen. José Henrique, 199
2º andar
(81) 3018-6299
WWW.CONCRETE.COM.BR

Mais conteúdo relacionado

PDF
Automate CRM systems through APIs with the new UiPath Integration Service
PPTX
RPA Developer Kickstarter Slide - Day 1.pptx
PDF
Overview of UiPath Insights.pdf
PDF
UiPath Platform - Automation Software
PPTX
UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...
PDF
UiPath Summer School Session1
PDF
Robotic process automation overview
PDF
Orchestrator - Practical Approach to host UiPath Orchestrator
Automate CRM systems through APIs with the new UiPath Integration Service
RPA Developer Kickstarter Slide - Day 1.pptx
Overview of UiPath Insights.pdf
UiPath Platform - Automation Software
UiPath Community Event - UiPath Action Center and UiPath Apps - human in the ...
UiPath Summer School Session1
Robotic process automation overview
Orchestrator - Practical Approach to host UiPath Orchestrator

Mais procurados (20)

PPTX
Treinamento Ágil / Scrum
PPTX
UiPath Community Event - Build more mature automations with Unattended Robots
PDF
UiPath Insights
PDF
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
PPT
Agile Metrics V6
PDF
How to integrate UiPath into your Microsoft environment
PDF
Usine Digitale RATP : déjà 3 ans, et tant de choses à faire encore
PDF
Benefits of REFramework.pdf
PPTX
Robotic process automation
PPTX
UiPath Automation Cloud - Best Practises session1.pptx
PDF
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
PDF
Introduction to UiPath licensing model
PPTX
Agile Training March 2015
PDF
2022.06 Community Update.pdf
PDF
Kanban e Scrum: obtendo o melhor de ambos
PPTX
PPTX
UiPath Automation Cloud Robots - Best Practises session 2.pptx
PPTX
Types of Workflow.pptx
PPTX
HyperAutomation (3).pptx
PDF
Error Handling In UiPath | Debugging & Exception Handling In UiPath | RPA Tra...
Treinamento Ágil / Scrum
UiPath Community Event - Build more mature automations with Unattended Robots
UiPath Insights
Beyond the Spotify Model - Team Topologies - Tech.rocks - 2020-12-10 - Matthe...
Agile Metrics V6
How to integrate UiPath into your Microsoft environment
Usine Digitale RATP : déjà 3 ans, et tant de choses à faire encore
Benefits of REFramework.pdf
Robotic process automation
UiPath Automation Cloud - Best Practises session1.pptx
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Introduction to UiPath licensing model
Agile Training March 2015
2022.06 Community Update.pdf
Kanban e Scrum: obtendo o melhor de ambos
UiPath Automation Cloud Robots - Best Practises session 2.pptx
Types of Workflow.pptx
HyperAutomation (3).pptx
Error Handling In UiPath | Debugging & Exception Handling In UiPath | RPA Tra...
Anúncio

Semelhante a Flaky tests: O flakiness que há em você! (14)

PDF
TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
PDF
[GUTS-RS] Combatendo a síndrome do “testa ae” com sessões de exploratory testing
PDF
4 engenharia de software
PDF
Selenium
PPT
Gerenciando Testes Com Qualidade V2a
PPTX
Automação de Teste Funcionais - Selenium
PPTX
Palestra Teste de Software: princípios, ferramentas e carreira
PDF
TesteDeSoftware_WorkshopSINFO2014.pdf
PDF
Test-driven Development - Introdução
PDF
Introdução a Testes Automatizados
PDF
Teste de software gestao e kaizen
PDF
TDC 2011 Trilha de Teste
PPTX
Aula 8 - Plano de Teste.pptx
PPT
Dba Testes Gerentes B2
TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
[GUTS-RS] Combatendo a síndrome do “testa ae” com sessões de exploratory testing
4 engenharia de software
Selenium
Gerenciando Testes Com Qualidade V2a
Automação de Teste Funcionais - Selenium
Palestra Teste de Software: princípios, ferramentas e carreira
TesteDeSoftware_WorkshopSINFO2014.pdf
Test-driven Development - Introdução
Introdução a Testes Automatizados
Teste de software gestao e kaizen
TDC 2011 Trilha de Teste
Aula 8 - Plano de Teste.pptx
Dba Testes Gerentes B2
Anúncio

Mais de minastestingconference (20)

PDF
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
PDF
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
PDF
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
PDF
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
PDF
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
PDF
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
PDF
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
PDF
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
PDF
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
PDF
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
PDF
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
PDF
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
PDF
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
PDF
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
PPTX
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
PDF
MTC 2019 - Precisamos falar sobre teste de infra
PPTX
Selenium WebDriver com Docker
PDF
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
PPTX
Saia do 7x0 com testes de segurança
PPTX
QA além da automação
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - Precisamos falar sobre teste de infra
Selenium WebDriver com Docker
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Saia do 7x0 com testes de segurança
QA além da automação

Último (12)

PPT
06_slide de Arquitetura_de_Software .ppt
PPT
09_Evolucao de software e_Refatoracao.ppt
PDF
SLIDES - AULA 3 - CLASSES E OBJETOS EM JAVA - Material de Cleyton Souza - IFPB
PPT
03_slide de Gerenciamento de Projetos .ppt
PPT
07_slides de Estilos_Arquiteturais sommerville.ppt
PDF
SLIDES - AULA 1 - APRESENTAÇÃO - Material de Cleyton Souza - IFPB
PDF
SLIDES - AULA 5 - HERANÇA - Material de Cleyton Souza - IFPB
PPT
05_slide especificacao de sistemas de software e a uml UML.ppt
PPT
00_Apresentacao sobre o livro do sommerville_ES.ppt
PDF
SLIDES - AULA 2 - INTRODUÇÃO - Material de Cleyton Souza - IFPB
PDF
SLIDES - AULA 7 - SWING - Cleyton Souza - IFPB
PPT
10_ slides de Reuso sommerville cap 10.ppt
06_slide de Arquitetura_de_Software .ppt
09_Evolucao de software e_Refatoracao.ppt
SLIDES - AULA 3 - CLASSES E OBJETOS EM JAVA - Material de Cleyton Souza - IFPB
03_slide de Gerenciamento de Projetos .ppt
07_slides de Estilos_Arquiteturais sommerville.ppt
SLIDES - AULA 1 - APRESENTAÇÃO - Material de Cleyton Souza - IFPB
SLIDES - AULA 5 - HERANÇA - Material de Cleyton Souza - IFPB
05_slide especificacao de sistemas de software e a uml UML.ppt
00_Apresentacao sobre o livro do sommerville_ES.ppt
SLIDES - AULA 2 - INTRODUÇÃO - Material de Cleyton Souza - IFPB
SLIDES - AULA 7 - SWING - Cleyton Souza - IFPB
10_ slides de Reuso sommerville cap 10.ppt

Flaky tests: O flakiness que há em você!

  • 2. Flaky tests - o flakiness que há em você!
  • 3. hello! Sou Ramses Almeida Eu estou aqui porque gosto de churrasco apresentações Atualmente trabalho na Ilegra/Agibank Você me encontra em: @rsaccoll rsaccoll
  • 4. hello! Sou André Mendes Estou aqui porque acredito muito em comunidades Atualmente trabalho na Concrete Você me encontra em: @ap_mendes André Mendes
  • 7. O que é flaky?
  • 8.
  • 9. “Testes que falham devido a intermitência ou algum fator não mapeado.
  • 17. Culpados Internet “A internet está caindo” “Nossa, essa rede está muito lenta” Ferramenta “Esse framework não tem nada que preciso” “A comunidade não implementou funcionalidade XPTO na framework” “Selenium resolve tudo” Tempo “Esse build tá demorando muito, vou executar alguns testes somente. “Ah, demorou apenas 8 horas para fazer esse botão ser clicado
  • 18. Colegas “Ah, não acredito que o Ramsés fez isso para selecionar um item… -_- “ “Pra que usar isso para automatizar!!” Cobertura fraca “Acho que preciso melhorar essa cobertura de testes….Quando der…” “Ah, usaram o meu test data denovo!!” Culpados
  • 19. “ “Flakiness is not get out of jail free card” Allister Scott (2015)
  • 22. SACRED - State ✘ A aplicação deve estar em um determinado estado para que a automação seja eficiente. Atenção para: ✘ Massa de dados ✘ Configuração Senão… ✘ Elementos e dados inexistentes na execução ✘ Cenários fracamente validados
  • 23. SACRED - Algorithm ✘ "...not training them to be programmers, we're training to learn how to use the tools..." Atenção para: ✘ Steps ✘ Decisões ✘ Validação assertiva ✘ Ferramentas ✘ Entender o funcionamento das coisas Senão… ✘ sleep(); ✘ Overengineering ✘ Lentidão Allister Scott (2015)
  • 24. SACRED - Codified oracles ✘ “Como definimos o que é um problema” Atenção para: ✘ Validações ✘ Fluxo como um todo ✘ Mudanças no produto ✘ Decisão de ser um problema Senão… ✘ Manutenção excessiva ✘ Muitas validações desnecessárias ✘ “Problemas não identificados”
  • 25. SACRED - reporting ✘ O que o projeto quer da suite de testes? ✘ Quem quer saber o quê? Atenção para: ✘ Estado da aplicação ✘ Logs ✘ Resultado Senão… ✘ Demorar mais para entender e corrigir o problema ✘ Quem precisa saber sobre o que descobrimos? ✘ Falta de visão do valor gerado
  • 26. SACRED - Execution ✘ Onde nós devemos executar os nossos testes? Atenção para: ✘ Onde rodar? ✘ Quando? ✘ Hardware ✘ Rede Senão… ✘ Não roda bem no ambiente XPTO ✘ Instabilidade ✘ Ambiente compartilhado ✘ Execução mais lenta
  • 27. SACRED - deterministic ✘ “...In my conversations with our delivery teams, one recurring problem that we've run into is tests which have become unreliable, so unreliable that people don't pay much attention to whether they pass or fail.” Atenção para: ✘ Objetivo ✘ Confiabilidade ✘ Resultado Senão… ✘ “Como não vimos esse problema? ✘ Itens importantes não testados ✘ Muitas coisas desnecessárias Martin Fowler (2011)
  • 29. O que aprendemos? ✘ Tente não re-executar seus testes cegamente ✘ Conhecimento teórico ajuda ✘ Trabalhe a testabilidade da aplicação. Testabilidade não se resume a ids ✘ Questione determinado teste deveria mesmo ser automatizado ✘ Entenda sobre o produto ✘ Use quarentena ✘ Organize seu tempo ✘ Isole seus testes
  • 30. Fontes ✘ https://testing.googleblog.com/2016/05/flaky-tests-at-google-and-how-we.html ✘ https://testing.googleblog.com/2017/04/where-do-our-flaky-tests-come-from.html ✘ https://www.youtube.com/watch?v=XnkWkrbzMh0 ✘ https://www.youtube.com/watch?v=hmk1h40shaE ✘ https://watirmelon.blog/2015/11/11/your-tests-arent-flaky ✘ https://martinfowler.com/articles/nonDeterminism.html
  • 32. NÓS MOVEMOS O MUNDO. Centro Av. Presidente Wilson, 231 29º andar (21) 2240-2030 Cidade Monções Av. Nações Unidas, 11.541 3º andar (11) 4119-0449 Savassi Av. Getúlio Vargas, 671 Sala 800 - 8º andar (31) 3360-8900 Ilha do Leite Rua Sen. José Henrique, 199 2º andar (81) 3018-6299 WWW.CONCRETE.COM.BR