SlideShare uma empresa Scribd logo
1 de 32
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
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)
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

Mais procurados

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
 
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
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinQA or the Highway
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com CypressCOTIC-PROEG (UFPA)
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioPatrick Monteiro
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test PyramidElias Nogueira
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Fabrício Campos
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best PracticesSauce Labs
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilElias Nogueira
 
API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)Peter Thomas
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaFrederico Augusto Do Carmo Moreira
 
Karate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter ThomasKarate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter Thomasintuit_india
 
Software Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingSoftware Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingKostCare
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredElias Nogueira
 
Sistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - SocketSistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - SocketAdriano Teixeira de Souza
 
API Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonAPI Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonTEST Huddle
 

Mais procurados (20)

Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
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...
 
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
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.io
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test Pyramid
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best Practices
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
 
Automatizacion de Pruebas
Automatizacion de PruebasAutomatizacion de Pruebas
Automatizacion de Pruebas
 
API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
 
Karate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter ThomasKarate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter Thomas
 
Software Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingSoftware Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software Testing
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
 
Sistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - SocketSistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas Distribuídos - Comunicação Distribuída - Socket
 
API Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonAPI Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj Rollison
 

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

TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voceTDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em vocetdc-globalcode
 
Verdades e mitos sobre testes que eu gostaria
Verdades e mitos sobre testes que eu gostariaVerdades e mitos sobre testes que eu gostaria
Verdades e mitos sobre testes que eu gostariaLivia Gabos
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo RealLeandro Silva
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terÁtilla Silva Barros
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDJony Ferreira dos Santos
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsRafael Salerno de Oliveira
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JSNàtali Cabral
 
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...RodrigoLuis21
 
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
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012Leandro Silva
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e SeleniumAndré Thiago
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...minastestingconference
 

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

TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voceTDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
 
Testes - Para que?
Testes - Para que?Testes - Para que?
Testes - Para que?
 
Verdades e mitos sobre testes que eu gostaria
Verdades e mitos sobre testes que eu gostariaVerdades e mitos sobre testes que eu gostaria
Verdades e mitos sobre testes que eu gostaria
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria ter
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDD
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JS
 
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
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
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Confidence rocket engine
Confidence   rocket engineConfidence   rocket engine
Confidence rocket engine
 
Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012
 
JUnit Experience
JUnit ExperienceJUnit Experience
JUnit Experience
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 

Mais de minastestingconference

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

Mais de minastestingconference (20)

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

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

  • 1.
  • 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.
  • 15.
  • 16.
  • 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)
  • 20.
  • 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