SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
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

Mais procurados

ATC BSB - Agile Testing
ATC BSB - Agile Testing ATC BSB - Agile Testing
ATC BSB - Agile Testing Samanta Cicilia
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
 
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingDevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingSamanta Cicilia
 
MTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression TestingMTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression TestingSamanta Cicilia
 
WTM - Workshop Agile Testing
WTM - Workshop Agile TestingWTM - Workshop Agile Testing
WTM - Workshop Agile TestingSamanta Cicilia
 
Coders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingCoders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingSamanta Cicilia
 
[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de APIJúlio de Lima
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Qualister
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword drivenQualister
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Medindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterMedindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterJúlio de Lima
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredQualister
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveisQualister
 
Revisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilRevisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilDanilo Sato
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
 
Java+DDD+BDD+TDD=Sucesso Total
Java+DDD+BDD+TDD=Sucesso TotalJava+DDD+BDD+TDD=Sucesso Total
Java+DDD+BDD+TDD=Sucesso TotalEduardo Bregaida
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterQualister
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitQualister
 

Mais procurados (20)

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

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

[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...Samanta Cicilia
 
Continuous Delivery - versão estendida :)
Continuous Delivery - versão estendida :)Continuous Delivery - versão estendida :)
Continuous Delivery - versão estendida :)Samanta Cicilia
 
Tdc continuous testing
Tdc   continuous testing Tdc   continuous testing
Tdc continuous testing Walter Farias
 
MTC 2017 pirâmide de automação mobile de testes
MTC 2017   pirâmide de automação mobile de testesMTC 2017   pirâmide de automação mobile de testes
MTC 2017 pirâmide de automação mobile de testesWellington Avelino dos Santos
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous DeliverySamanta Cicilia
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
Brateste 2013: Testes Agile em Processos Agile
Brateste 2013:  Testes Agile em Processos AgileBrateste 2013:  Testes Agile em Processos Agile
Brateste 2013: Testes Agile em Processos Agileananegrello
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryQConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryRodrigo Russo
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudiMasters
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous DeliverySamanta Cicilia
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisElias Nogueira
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaGabriela Patuci
 
TDC 2013 7 Dicas para acelerar os testes
TDC 2013  7 Dicas para acelerar os testesTDC 2013  7 Dicas para acelerar os testes
TDC 2013 7 Dicas para acelerar os testesFelipe Freire
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Diego Pacheco
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasWordCamp Floripa
 
QConSP 2014 - Continuous Delivery - Part 05 - Testes
QConSP 2014 - Continuous Delivery - Part 05 - TestesQConSP 2014 - Continuous Delivery - Part 05 - Testes
QConSP 2014 - Continuous Delivery - Part 05 - TestesRodrigo Russo
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...Bruno Tanoue
 

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

[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
 
Continuous Delivery - versão estendida :)
Continuous Delivery - versão estendida :)Continuous Delivery - versão estendida :)
Continuous Delivery - versão estendida :)
 
Tdc continuous testing
Tdc   continuous testing Tdc   continuous testing
Tdc continuous testing
 
MTC 2017 pirâmide de automação mobile de testes
MTC 2017   pirâmide de automação mobile de testesMTC 2017   pirâmide de automação mobile de testes
MTC 2017 pirâmide de automação mobile de testes
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
Brateste 2013: Testes Agile em Processos Agile
Brateste 2013:  Testes Agile em Processos AgileBrateste 2013:  Testes Agile em Processos Agile
Brateste 2013: Testes Agile em Processos Agile
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryQConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na Cloud
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous Delivery
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionais
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
TDC 2013 7 Dicas para acelerar os testes
TDC 2013  7 Dicas para acelerar os testesTDC 2013  7 Dicas para acelerar os testes
TDC 2013 7 Dicas para acelerar os testes
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio Nas
 
QConSP 2014 - Continuous Delivery - Part 05 - Testes
QConSP 2014 - Continuous Delivery - Part 05 - TestesQConSP 2014 - Continuous Delivery - Part 05 - Testes
QConSP 2014 - Continuous Delivery - Part 05 - Testes
 
Android apps ci
Android apps ciAndroid apps ci
Android apps ci
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 

[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