Maio 2020
Estratégia de Pipeline
Testes Automáticos
Temos que ser bons
em previnir bugs e
não em achá-los
Integração Contínua e Entrega Contínua
Imagem no formato de um 8 deitado.

Do lado esquerdo é o Dev, e segue a ordem da linha do 8: plan -> code -> build -> test 

Do lado directo é o Ops e segue a ordem: release -> deploy -> operate-> monitor

No X do 8 tem plan (Dev) e release (Ops)
Integração Contínua e Entrega Contínua
CI
Mesma imagem do primeiro slide de Integração Contínua e Entrega Contínua
Integração Contínua e Entrega Contínua
CI CD
Mesma imagem do primeiro slide de Integração Contínua e Entrega Contínua
Pirâmide de Testes
Component -> testes de um modulo ou pacote. Ex: Testar o controller e os métodos do
mesmo pacote que ele chama

Integration -> testes com o DB ou com dependências de outros pacotes

Incompleta -> tá faltando testes UI isolados, testes de contrato, testes de UI caixa
branca

Imagem da pirâmide de testes ideal do site watirmelon.blog. O formato dela é um
triângulo

Pirâmide de Testes
Pirâmide Ideal
Pirâmide de Testes
Pirâmide Ideal
+iso
- Mesma imagem do primeiro slide da Pirâmide Ideal
Pirâmide de Testes
Pirâmide Ideal
+iso
- Mesma imagem do primeiro slide da Pirâmide Ideal
Pirâmide de Testes
Pirâmide Ideal
+iso ¢
- Mesma imagem do primeiro slide da Pirâmide Ideal
Pirâmide de Testes
Pirâmide Ideal
+int
+iso ¢
- Mesma imagem do primeiro slide da Pirâmide Ideal
Pirâmide de Testes
Pirâmide Ideal
+int
+iso ¢
- Mesma imagem do primeiro slide da Pirâmide Ideal
Pirâmide de Testes
Pirâmide Ideal
+int
+iso
$$$
¢
- Mesma imagem do primeiro slide da Pirâmide Ideal
O local mais barato para
achar problemas é enquanto
aquela funcionalidade está
sendo desenvolvida
Para a pirâmide poder ser usada
efetivamente no desenvolvimento,
é preciso que aconteça um
feedback rápido dos testes
Pipeline
Detalhamento das tarefas
Repo Push
Pipeline
Build e
Teste Unit
Repo Push
Detalhamento das tarefas
Pipeline
Build e
Teste Unit
Teste
ComponenteRepo Push
Detalhamento das tarefas
Pipeline
Build e
Teste Unit
Teste
Componente
Teste
IntegraçãoRepo Push
Detalhamento das tarefas
Pipeline
Build e
Teste Unit
Teste
Componente
Teste
Integração
Teste
API
Repo Push
Detalhamento das tarefas
Pipeline
Build e
Teste Unit
Teste
Componente
Teste
Integração
Teste
API
Repo Push
Teste UI
Detalhamento das tarefas
Pipeline
Build e
Teste Unit
Teste
Componente
Teste
Integração
Teste
API
Teste
E2E
Repo Push
Teste UI
Detalhamento das tarefas
Pipeline
Build e
Teste Unit
Teste
Componente
Teste
Integração
Teste
API
Deploy
QA
Repo Push
Teste UI
Teste
E2E
Detalhamento das tarefas
Pipeline
Build e
Teste Unit
Teste
Componente
Teste
Integração
Teste
API
Deploy
QA
Exploratório
Repo Push
Teste UI
Teste
E2E
Detalhamento das tarefas
Mas e se não tenho
a pirâmide ideal?
Pirâmide de Testes
Cone de Sorvete
- Image do Anti-padrão da pirâmide de testes no formato de cone de sorvete do site
watirmelon.com.

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração automáticos
Pirâmide de Testes
Cone de Sorvete
- - Mesma imagem do primeiro slide da Pirâmide Cone de Sorvete
+int
+iso
$$$
¢
• Todo teste novo ter testes
Unitários
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
• Paralelizar os testes (selenium
grid)
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
• Paralelizar os testes (selenium
grid)
• Se seu sistema possui uma API,
use essa API nos seus testes de
UI
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
• Paralelizar os testes (selenium
grid)
• Se seu sistema possui uma API,
use essa API nos seus testes de
UI
• Separar os testes funcionais por
tarefas
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
• Paralelizar os testes (selenium
grid)
• Se seu sistema possui uma API,
use essa API nos seus testes de
UI
• Separar os testes funcionais por
tarefas
Separar UI de API
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
• Paralelizar os testes (selenium
grid)
• Se seu sistema possui uma API,
use essa API nos seus testes de
UI
• Separar os testes funcionais por
tarefas
Separar UI de API
Funcionalidade a ser lançada
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
• Paralelizar os testes (selenium
grid)
• Se seu sistema possui uma API,
use essa API nos seus testes de
UI
• Separar os testes funcionais por
tarefas
Separar UI de API
Funcionalidade a ser lançada
Funcionalidade com mais
retorno financeiro
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
• Paralelizar os testes (selenium
grid)
• Se seu sistema possui uma API,
use essa API nos seus testes de
UI
• Separar os testes funcionais por
tarefas
Separar UI de API
Funcionalidade a ser lançada
Funcionalidade com mais
retorno financeiro
Funcionalidade com mais
problemas
Pirâmide Cone de Sorvete
O que fazer?
• Todo teste novo ter testes
Unitários (teste unitário é débito
técnico)
• Paralelizar os testes (selenium
grid)
• Se seu sistema possui uma API,
use essa API nos seus testes de
UI
• Separar os testes funcionais por
tarefas
Separar UI de API
Funcionalidade a ser lançada
Funcionalidade com mais
retorno financeiro
Funcionalidade com mais
problemas
Testes de sanidade
Pirâmide Cone de Sorvete
O que fazer?
Pirâmide Cone de Sorvete
Pipeline de testes de UI
Repo Push
Pirâmide Cone de Sorvete
Pipeline de testes de UI
Teste de
Sanidade
Repo Push
Pirâmide Cone de Sorvete
Pipeline de testes de UI
Teste de
Sanidade
Func
mais lucrativaRepo Push
Pirâmide Cone de Sorvete
Pipeline de testes de UI
Teste de
Sanidade
Func
para lançar
Func
mais lucrativaRepo Push
Pirâmide Cone de Sorvete
Pipeline de testes de UI
Teste de
Sanidade
Func
para lançar
Func
mais lucrativa RegressãoRepo Push
Pirâmide Cone de Sorvete
Pipeline de testes de UI
Teste de
Sanidade
Func
para lançar
Func
mais lucrativa Regressão
Deploy
QA
Repo Push
Pirâmide Cone de Sorvete
Pipeline de testes de UI
Teste de
Sanidade
Func
para lançar
Func
mais lucrativa Regressão
Deploy
QA
Exploratório
Repo Push
Depois disso tudo eu
terei a pirâmide ideal?
Pirâmide de Testes
Bolinho (Cupcake)
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)
Pirâmide de Testes
Bolinho (Cupcake)
- - Mesma imagem do primeiro slide da Pirâmide Cone de Sorvete
+int
+iso
$$$
¢
E se eu tenho
vários serviços?
Micro Serviços
Estratégia
A
B
Micro Serviços
Estratégia
Teste de Contrato
A
B
Micro Serviços
Estratégia
A
Teste de Contrato
C
Teste de Contrato
B
Micro Serviços
Estratégia
A
Teste de Contrato
C
Teste de Contrato
Teste de Contrato Teste de Contrato
B
D
A pirâmide ainda é
válida hoje em dia?
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

• Martin Fowler falou dela em 2012
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

• Martin Fowler falou dela em 2012
• Os artigos mais recentes falam mais do mesmo
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

• Martin Fowler falou dela em 2012
• Os artigos mais recentes falam mais do mesmo
• UI hoje em dia tem testes de caixa branca
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

• Martin Fowler falou dela em 2012
• Os artigos mais recentes falam mais do mesmo
• UI hoje em dia tem testes de caixa branca
são rápidos e baratos
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

• Martin Fowler falou dela em 2012
• Os artigos mais recentes falam mais do mesmo
• UI hoje em dia tem testes de caixa branca
são rápidos e baratos
Esse formato ideal ainda é válido?
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

Build and
Unit test
Node Unit
test
Repo Push Mais testes
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

• Martin Fowler falou dela em 2012
• Os artigos mais recentes falam mais do mesmo
• UI hoje em dia tem testes de caixa branca
são rápidos e baratos
Esse formato padrão ainda é válido?
• Seu projeto é um monolito
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

• Martin Fowler falou dela em 2012
• Os artigos mais recentes falam mais do mesmo
• UI hoje em dia tem testes de caixa branca
são rápidos e baratos
Esse formato padrão ainda é válido?
• Seu projeto é um monolito
• Seu projeto possui micro serviços
Pirâmide de Testes
Utilidade nos dias atuais
- Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake).

- Na base tem testes Unitários automáticos

- Depois tem Testes de integração (API, contrato, componente)

• Martin Fowler falou dela em 2012
• Os artigos mais recentes falam mais do mesmo
• UI hoje em dia tem testes de caixa branca
são rápidos e baratos
Esse formato padrão ainda é válido?
• Seu projeto é um monolito
• Seu projeto possui micro serviços
Referências
• https://samnewman.io/books/building_microservices/
• https://www.thoughtworks.com/insights/blog/build-right-regression-suite-using-behavior-
driven-testing-bdt
• https://khushiy.com/2019/02/07/test-pyramid-antipatterns/
• https://martinfowler.com/articles/practical-test-pyramid.html
• https://martinfowler.com/bliki/TestPyramid.html
• https://www.thoughtworks.com/insights/blog/introducing-software-testing-cupcake-anti-
pattern
• Youtube: https://www.youtube.com/c/qaops
• Linkedin: https://www.linkedin.com/in/rafaelplima/
Obrigado

Mais conteúdo relacionado

PPTX
Quebrando as barreiras DevOps
PDF
BDD em Testes de Serviço
PDF
Quebrando as barreiras
PDF
Qualidade de Software em Micro Serviços
PPTX
Meetup SP - O QA & a Especificação Por Exemplo
PPTX
[DevOps Carioca] Testes Automatizados
PDF
Visual Regression Testing: mais um tipo de teste pra sua pipeline
PDF
[PHPConferenceBR] Automação de testes com Codeception
Quebrando as barreiras DevOps
BDD em Testes de Serviço
Quebrando as barreiras
Qualidade de Software em Micro Serviços
Meetup SP - O QA & a Especificação Por Exemplo
[DevOps Carioca] Testes Automatizados
Visual Regression Testing: mais um tipo de teste pra sua pipeline
[PHPConferenceBR] Automação de testes com Codeception

Mais procurados (20)

PDF
ATC BSB - Agile Testing
PDF
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
PPTX
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
PDF
MTC - Automatizando Visual Regression Testing
PDF
WTM - Workshop Agile Testing
PDF
Coders On Beer + Ministry Of Testing - Agile Testing
PPTX
[7Masters Aug, 2018] Escolhas durante automação de testes de API
PDF
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
PDF
Automacao de testes com keyword driven
PDF
Caipira agil automacao front end selenium
PDF
Medindo a performance de aplicações web com JMeter
PDF
Palestra sobre Automação de Testes com Rest-Assured
PDF
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
PDF
Testes para dispositivos móveis
PDF
Revisitando as Práticas de Engenharia Ágil
PDF
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
PDF
Java+DDD+BDD+TDD=Sucesso Total
PDF
DEV-OPS para teste de software
PDF
Testes performance nuvem com j meter e blazemeter
PDF
Palestra Rest-Assured com Maven e JUnit
ATC BSB - Agile Testing
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
MTC - Automatizando Visual Regression Testing
WTM - Workshop Agile Testing
Coders On Beer + Ministry Of Testing - Agile Testing
[7Masters Aug, 2018] Escolhas durante automação de testes de API
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Automacao de testes com keyword driven
Caipira agil automacao front end selenium
Medindo a performance de aplicações web com JMeter
Palestra sobre Automação de Testes com Rest-Assured
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
Testes para dispositivos móveis
Revisitando as Práticas de Engenharia Ágil
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
Java+DDD+BDD+TDD=Sucesso Total
DEV-OPS para teste de software
Testes performance nuvem com j meter e blazemeter
Palestra Rest-Assured com Maven e JUnit
Anúncio

Semelhante a [QaOps] ]Integração Contínua | Estrategia de pipeline (20)

PPTX
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
PPTX
Continuous Delivery - versão estendida :)
PPT
Tdc continuous testing
PPTX
MTC 2017 pirâmide de automação mobile de testes
PPTX
[Lady talks]Continuous Delivery
PPTX
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
PPT
Brateste 2013: Testes Agile em Processos Agile
PPTX
CNQS - Testes Automatizados & Continuous Delivery
PDF
DevOps - Aula 4 - Testes Automatizados e Garantia de Qualidade E CI.pdf
PDF
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
PDF
Android Dev Conference 2017 - Automação de Testes na Cloud
PPTX
[DevOps Carioca] Continuous Delivery
PDF
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
PPTX
Feedback mais rápido na sua build dividindo os testes funcionais
PPT
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
PPT
TDC 2013 7 Dicas para acelerar os testes
PPT
Treinamento Testes Unitários - parte 2
PDF
Testes automatizados end-to-end com WordPress por Fabio Nas
PDF
QConSP 2014 - Continuous Delivery - Part 05 - Testes
PDF
586555302-Testes2-Verificacao-e-Validacao.pdf
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
Continuous Delivery - versão estendida :)
Tdc continuous testing
MTC 2017 pirâmide de automação mobile de testes
[Lady talks]Continuous Delivery
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Brateste 2013: Testes Agile em Processos Agile
CNQS - Testes Automatizados & Continuous Delivery
DevOps - Aula 4 - Testes Automatizados e Garantia de Qualidade E CI.pdf
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
Android Dev Conference 2017 - Automação de Testes na Cloud
[DevOps Carioca] Continuous Delivery
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
Feedback mais rápido na sua build dividindo os testes funcionais
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
TDC 2013 7 Dicas para acelerar os testes
Treinamento Testes Unitários - parte 2
Testes automatizados end-to-end com WordPress por Fabio Nas
QConSP 2014 - Continuous Delivery - Part 05 - Testes
586555302-Testes2-Verificacao-e-Validacao.pdf
Anúncio

[QaOps] ]Integração Contínua | Estrategia de pipeline

  • 1. Maio 2020 Estratégia de Pipeline Testes Automáticos
  • 2. Temos que ser bons em previnir bugs e não em achá-los
  • 3. Integração Contínua e Entrega Contínua Imagem no formato de um 8 deitado. Do lado esquerdo é o Dev, e segue a ordem da linha do 8: plan -> code -> build -> test Do lado directo é o Ops e segue a ordem: release -> deploy -> operate-> monitor No X do 8 tem plan (Dev) e release (Ops)
  • 4. Integração Contínua e Entrega Contínua CI Mesma imagem do primeiro slide de Integração Contínua e Entrega Contínua
  • 5. Integração Contínua e Entrega Contínua CI CD Mesma imagem do primeiro slide de Integração Contínua e Entrega Contínua
  • 7. Component -> testes de um modulo ou pacote. Ex: Testar o controller e os métodos do mesmo pacote que ele chama Integration -> testes com o DB ou com dependências de outros pacotes Incompleta -> tá faltando testes UI isolados, testes de contrato, testes de UI caixa branca Imagem da pirâmide de testes ideal do site watirmelon.blog. O formato dela é um triângulo Pirâmide de Testes Pirâmide Ideal
  • 8. Pirâmide de Testes Pirâmide Ideal +iso - Mesma imagem do primeiro slide da Pirâmide Ideal
  • 9. Pirâmide de Testes Pirâmide Ideal +iso - Mesma imagem do primeiro slide da Pirâmide Ideal
  • 10. Pirâmide de Testes Pirâmide Ideal +iso ¢ - Mesma imagem do primeiro slide da Pirâmide Ideal
  • 11. Pirâmide de Testes Pirâmide Ideal +int +iso ¢ - Mesma imagem do primeiro slide da Pirâmide Ideal
  • 12. Pirâmide de Testes Pirâmide Ideal +int +iso ¢ - Mesma imagem do primeiro slide da Pirâmide Ideal
  • 13. Pirâmide de Testes Pirâmide Ideal +int +iso $$$ ¢ - Mesma imagem do primeiro slide da Pirâmide Ideal
  • 14. O local mais barato para achar problemas é enquanto aquela funcionalidade está sendo desenvolvida
  • 15. Para a pirâmide poder ser usada efetivamente no desenvolvimento, é preciso que aconteça um feedback rápido dos testes
  • 17. Pipeline Build e Teste Unit Repo Push Detalhamento das tarefas
  • 18. Pipeline Build e Teste Unit Teste ComponenteRepo Push Detalhamento das tarefas
  • 25. Mas e se não tenho a pirâmide ideal?
  • 26. Pirâmide de Testes Cone de Sorvete - Image do Anti-padrão da pirâmide de testes no formato de cone de sorvete do site watirmelon.com. - Na base tem testes Unitários automáticos - Depois tem Testes de integração automáticos
  • 27. Pirâmide de Testes Cone de Sorvete - - Mesma imagem do primeiro slide da Pirâmide Cone de Sorvete +int +iso $$$ ¢
  • 28. • Todo teste novo ter testes Unitários Pirâmide Cone de Sorvete O que fazer?
  • 29. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) Pirâmide Cone de Sorvete O que fazer?
  • 30. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) • Paralelizar os testes (selenium grid) Pirâmide Cone de Sorvete O que fazer?
  • 31. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) • Paralelizar os testes (selenium grid) • Se seu sistema possui uma API, use essa API nos seus testes de UI Pirâmide Cone de Sorvete O que fazer?
  • 32. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) • Paralelizar os testes (selenium grid) • Se seu sistema possui uma API, use essa API nos seus testes de UI • Separar os testes funcionais por tarefas Pirâmide Cone de Sorvete O que fazer?
  • 33. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) • Paralelizar os testes (selenium grid) • Se seu sistema possui uma API, use essa API nos seus testes de UI • Separar os testes funcionais por tarefas Separar UI de API Pirâmide Cone de Sorvete O que fazer?
  • 34. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) • Paralelizar os testes (selenium grid) • Se seu sistema possui uma API, use essa API nos seus testes de UI • Separar os testes funcionais por tarefas Separar UI de API Funcionalidade a ser lançada Pirâmide Cone de Sorvete O que fazer?
  • 35. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) • Paralelizar os testes (selenium grid) • Se seu sistema possui uma API, use essa API nos seus testes de UI • Separar os testes funcionais por tarefas Separar UI de API Funcionalidade a ser lançada Funcionalidade com mais retorno financeiro Pirâmide Cone de Sorvete O que fazer?
  • 36. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) • Paralelizar os testes (selenium grid) • Se seu sistema possui uma API, use essa API nos seus testes de UI • Separar os testes funcionais por tarefas Separar UI de API Funcionalidade a ser lançada Funcionalidade com mais retorno financeiro Funcionalidade com mais problemas Pirâmide Cone de Sorvete O que fazer?
  • 37. • Todo teste novo ter testes Unitários (teste unitário é débito técnico) • Paralelizar os testes (selenium grid) • Se seu sistema possui uma API, use essa API nos seus testes de UI • Separar os testes funcionais por tarefas Separar UI de API Funcionalidade a ser lançada Funcionalidade com mais retorno financeiro Funcionalidade com mais problemas Testes de sanidade Pirâmide Cone de Sorvete O que fazer?
  • 38. Pirâmide Cone de Sorvete Pipeline de testes de UI Repo Push
  • 39. Pirâmide Cone de Sorvete Pipeline de testes de UI Teste de Sanidade Repo Push
  • 40. Pirâmide Cone de Sorvete Pipeline de testes de UI Teste de Sanidade Func mais lucrativaRepo Push
  • 41. Pirâmide Cone de Sorvete Pipeline de testes de UI Teste de Sanidade Func para lançar Func mais lucrativaRepo Push
  • 42. Pirâmide Cone de Sorvete Pipeline de testes de UI Teste de Sanidade Func para lançar Func mais lucrativa RegressãoRepo Push
  • 43. Pirâmide Cone de Sorvete Pipeline de testes de UI Teste de Sanidade Func para lançar Func mais lucrativa Regressão Deploy QA Repo Push
  • 44. Pirâmide Cone de Sorvete Pipeline de testes de UI Teste de Sanidade Func para lançar Func mais lucrativa Regressão Deploy QA Exploratório Repo Push
  • 45. Depois disso tudo eu terei a pirâmide ideal?
  • 46. Pirâmide de Testes Bolinho (Cupcake) - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente)
  • 47. Pirâmide de Testes Bolinho (Cupcake) - - Mesma imagem do primeiro slide da Pirâmide Cone de Sorvete +int +iso $$$ ¢
  • 48. E se eu tenho vários serviços?
  • 51. Micro Serviços Estratégia A Teste de Contrato C Teste de Contrato B
  • 52. Micro Serviços Estratégia A Teste de Contrato C Teste de Contrato Teste de Contrato Teste de Contrato B D
  • 53. A pirâmide ainda é válida hoje em dia?
  • 54. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) • Martin Fowler falou dela em 2012
  • 55. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) • Martin Fowler falou dela em 2012 • Os artigos mais recentes falam mais do mesmo
  • 56. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) • Martin Fowler falou dela em 2012 • Os artigos mais recentes falam mais do mesmo • UI hoje em dia tem testes de caixa branca
  • 57. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) • Martin Fowler falou dela em 2012 • Os artigos mais recentes falam mais do mesmo • UI hoje em dia tem testes de caixa branca são rápidos e baratos
  • 58. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) • Martin Fowler falou dela em 2012 • Os artigos mais recentes falam mais do mesmo • UI hoje em dia tem testes de caixa branca são rápidos e baratos Esse formato ideal ainda é válido?
  • 59. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) Build and Unit test Node Unit test Repo Push Mais testes
  • 60. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) • Martin Fowler falou dela em 2012 • Os artigos mais recentes falam mais do mesmo • UI hoje em dia tem testes de caixa branca são rápidos e baratos Esse formato padrão ainda é válido? • Seu projeto é um monolito
  • 61. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) • Martin Fowler falou dela em 2012 • Os artigos mais recentes falam mais do mesmo • UI hoje em dia tem testes de caixa branca são rápidos e baratos Esse formato padrão ainda é válido? • Seu projeto é um monolito • Seu projeto possui micro serviços
  • 62. Pirâmide de Testes Utilidade nos dias atuais - Image do Anti-padrão da pirâmide de testes no formato de um Bolinho (Cupcake). - Na base tem testes Unitários automáticos - Depois tem Testes de integração (API, contrato, componente) • Martin Fowler falou dela em 2012 • Os artigos mais recentes falam mais do mesmo • UI hoje em dia tem testes de caixa branca são rápidos e baratos Esse formato padrão ainda é válido? • Seu projeto é um monolito • Seu projeto possui micro serviços
  • 63. Referências • https://samnewman.io/books/building_microservices/ • https://www.thoughtworks.com/insights/blog/build-right-regression-suite-using-behavior- driven-testing-bdt • https://khushiy.com/2019/02/07/test-pyramid-antipatterns/ • https://martinfowler.com/articles/practical-test-pyramid.html • https://martinfowler.com/bliki/TestPyramid.html • https://www.thoughtworks.com/insights/blog/introducing-software-testing-cupcake-anti- pattern
  • 64. • Youtube: https://www.youtube.com/c/qaops • Linkedin: https://www.linkedin.com/in/rafaelplima/ Obrigado