TESTANDO
ARQUITETURAS DE
MICRO-SERVIÇOS
Renan Martins @renan89
1
Recife, Belo Horizonte, São Paulo e Porto Alegre
2
3
#TWnaMTC2015
@thoughtworks_pt
4
AGENDA
1. O que são micro-serviços?
2. Vantagens e Desvantagens das arquiteturas de micro-serviços
3. Testando arquiteturas de mi...
DEFINIÇÃO
6
“Micro-serviços são pequenos,
autônomos serviços que trabalham em
conjunto"
PEQUENOS
7
Focados em fazer apenas uma coisa
bem feita!
AUTÔNOMOS
8
Podem ser modificados independente um dos outros. E
podem ser implantados sem demandar mudanças em
seus consumi...
ESTOU FAZENDO CORRETAMENTE?
9
É possível mudar um serviço e
implantá-lo sem efeitos colaterais em
outros serviços?
10
VANTAGENS DAS
ARQUITETURAS DE
MICRO-SERVIÇOS
HETEROGENEIDADE TECNOLÓGICA
11
A tecnologia correta para cada
problema
POSTS
<<ruby>>
FRIENDS
<<golang>>
PICTURES
<<java>>...
RESILIÊNCIA
12
Podemos construir sistemas capazes de lidar com falhas
totais de serviços e apenas degradar apropriadamente...
ESCALAR
PICTURES
POSTS
FRIENDS
FACILIDADE DE IMPLANTAÇÃO
Implantações são mais rápidas e
independentes. Os problemas podem
ser isolados mais facilmente.
ALINHAMENTO ORGANIZACIONAL
INVOICING SERVICE
INVENTORY SERVICE
Times e repositórios de código
menores!
Conway's Law
COMPONIBILIDADE E SUBSTITUIBILIDADE
COMPONIBILIDADE E SUBSTITUIBILIDADE
MONOLITHIC ECOM SYSTEM
COMPONIBILIDADE E SUBSTITUIBILIDADE
MONOLITHIC ECOM SYSTEM
PROFILE
MODULE
COMPONIBILIDADE E SUBSTITUIBILIDADE
MONOLITHIC ECOM SYSTEM
PROFILE
MODULE
COMPONIBILIDADE E SUBSTITUIBILIDADE
MONOLITHIC ECOM SYSTEM
PROFILE
MODULE
HTTPS
COMPONIBILIDADE E SUBSTITUIBILIDADE
MONOLITHIC ECOM SYSTEM
PROFILE
MODULE
New Point of Sale
HTTPS
COMPONIBILIDADE E SUBSTITUIBILIDADE
MONOLITHIC ECOM SYSTEM
PROFILE
MODULE
New Point of Sale
HTTPS
HTTP
COMPONIBILIDADE E SUBSTITUIBILIDADE
MONOLITHIC ECOM SYSTEM
PROFILE
MODULE
New Point of Sale
HTTPS
HTTP
Affiliate Store
HTTPS
17
NO
MICRO-SERVIÇOS NÃO SÃO PARA QUALQUER UM
http://martinfowler.com/bliki/MicroservicePrerequisites.html
MONOLÍTICOS PRIMEIRO…
19
http://martinfowler.com/bliki/MonolithFirst.html
20
TESTES
21
TEST AUTOMATION
CLOSER TO
THE USER
CLOSER TO
THE DEVELOPER
$$$
SLOWER / FEWER
$
FASTER / MORE
USER
JOURNEY
UI
INTEGRATI...
22
CÓDIGO PRODUÇÃO
Unit, Integration, end
to end tests, smoke
tests, etc..
Consumidores
23
COMO ISSO SE
APLICA AS
ARQUITETURAS DE
MICRO-SERVIÇOS ?
ANATOMIA DE UM MICRO-SERVIÇO
24http://martinfowler.com/articles/microservice-testing/
TESTES UNITÁRIOS EM MICRO-SERVIÇOS
25
Domain - Devemos focar em
testar o comportamento,
observando mudanças de
estado.
Gat...
TESTES DE INTEGRAÇÃO - PERSISTENCE E GATEWAYS
26http://martinfowler.com/articles/microservice-testing/
TESTES DE COMPONENTE - IN PROCESS
27http://martinfowler.com/articles/microservice-testing/
TESTES DE COMPONENTE - OUT OF PROCESS
28http://martinfowler.com/articles/microservice-testing/
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
29
mountebank - over the
wire test doubles
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
30
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
30
teste
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
30
teste
Configura os impostores
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
30
teste
Configura os impostores
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
30
teste
Configura os impostores
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
30
teste
SMTP TCP
IMPOSTOR
HTTP
Configura os impostores
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
30
teste
SUA APLICAÇÃO
SMTP TCP
IMPOSTOR
HTTP
Configura os impostor...
TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
30
teste
SUA APLICAÇÃO
SMTP TCP
IMPOSTOR
HTTP
Configura os impostor...
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SUA APLICAÇÃO IMPOSTOR
Test
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
SUA APLICAÇÃO IMPOSTOR
Test
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
SUA APLICAÇÃO IMPOSTOR
Test
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
SUA APLICAÇÃO IMPOSTOR
Test
SE TORNA
INVÁL...
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
SUA APLICAÇÃO IMPOSTOR
Test
SE TORNA
INVÁL...
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
BECOMES
INVALID!
SUA APLICAÇÃO IMPOSTOR
Te...
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
BECOMES
INVALID!
SUA APLICAÇÃO IMPOSTOR
Te...
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
BECOMES
INVALID!
SUA APLICAÇÃO IMPOSTOR
Te...
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
BECOMES
INVALID!
SUA APLICAÇÃO IMPOSTOR
Te...
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
BECOMES
INVALID!
SUA APLICAÇÃO IMPOSTOR
Te...
TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
SUPOSIÇÕES - Quão frequentemente você alte...
TESTES DE CONTRATO
32
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
CI PIPELINE DO SERVIÇO
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
CI PIPELINE DO SERVIÇO
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
CI PIPELINE DO SE...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
CI PI...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
COMPO...
CONSUMER DRIVEN CONTRACTS - IMPLEMENTAÇÕES
34
https://github.com/realestate-com-au/pact
TESTES PONTA A PONTA - CAIXA PRETA
35
TESTES PONTA A PONTA - CAIXA PRETA
35
TESTES PONTA A PONTA - CAIXA PRETA
35
1
4
2
3
5
6
7
8
TESTES PONTA A PONTA - CAIXA PRETA
35
1
4
2
3
5
6
7
8
TESTES PONTA A PONTA - CAIXA PRETA
35
1
4
2
3
5
6
7
8
TESTES PONTA A PONTA - CAIXA PRETA
35
1
4
2
3
5
6
7
8
BOA SORTE!
TESTES DE PONTA A PONTA EM ARQUITETURAS DE MICRO-SERVIÇOS
36
Escreva o menor número de testes
ponta a ponta possível!
TESTES DE PONTA A PONTA EM ARQUITETURAS DE MICRO-SERVIÇOS
37
Teste jornadas do usuário e não estórias
TESTES DE PONTA A PONTA EM ARQUITETURAS DE MICRO-SERVIÇOS
38
Certifique-se que seus testes ponta a
ponta são independente d...
CI PIPELINE - FEEDBACK RÁPIDO VS CUSTO
39
UNIT
INTEGRATION
CONTRACT
COMPONENT
JOURNEYS
FALAMOS SOBRE TODA A PIRÂMIDE - ACABAMOS?
40
FALAMOS SOBRE TODA A PIRÂMIDE - ACABAMOS?
40
Não.
FALAMOS SOBRE TODA A PIRÂMIDE - ACABAMOS?
40
Não.
Testes após a implantação em produção!
TESTANDO EM PRODUÇÃO
41
Diferenciar Implantação de Release
BLUE GREEN
DEPLOYMENT
TESTANDO EM PRODUÇÃO
41
Diferenciar Implantação de Release
BLUE GREEN
DEPLOYMENT
TESTANDO EM PRODUÇÃO
41
Diferenciar Implantação de Release
BLUE GREEN
DEPLOYMENT
SERVICE
V1
TESTANDO EM PRODUÇÃO
41
Diferenciar Implantação de Release
BLUE GREEN
DEPLOYMENT
SERVICE
V1
TESTANDO EM PRODUÇÃO
41
Diferenciar Implantação de Release
BLUE GREEN
DEPLOYMENT
SERVICE
V1
SERVICE
V2
TESTANDO EM PRODUÇÃO
41
Diferenciar Implantação de Release
BLUE GREEN
DEPLOYMENT
SERVICE
V1
SERVICE
V2
TESTANDO EM PRODUÇÃO
41
Diferenciar Implantação de Release
BLUE GREEN
DEPLOYMENT
SERVICE
V1
SERVICE
V2
TESTANDO EM PRODUÇÃO
41
Diferenciar Implantação de Release
BLUE GREEN
DEPLOYMENT
SERVICE
V1
SERVICE
V2
CANARY RELEASE
42
CANARY RELEASE
42
CANARY RELEASE
42
CANARY RELEASE
42
SERVICE
V1
CANARY RELEASE
42
SERVICE
V1
CANARY RELEASE
42
SERVICE
V1
SERVICE
V2
CANARY RELEASE
42
SERVICE
V1
SERVICE
V2
CANARY RELEASE
42
SERVICE
V1
SERVICE
V2
CANARY RELEASE
42
SERVICE
V1
SERVICE
V2
CANARY RELEASE
42
SERVICE
V1
SERVICE
V2
15%
85%
TEMPO MÉDIO PARA SE RECUPERAR
43
Não há dúvidas que os testes reduzem a quantidade
de defeitos, mas é importante reconhece...
TECH RADAR RECOMENDA ESSAS PRÁTICAS!
44
http://www.thoughtworks.com/radar
FALAMOS SOBRE
45
microservices meanTimeToRecover
canaryRelease blueGreenDeploy
CIPipelines testAutomation testJourneys
con...
rmartins@thoughtworks.com
MUITO OBRIGADO!
Próximos SlideShares
Carregando em…5
×

Testes em uma arquitetura de micro-serviços - Renan Martins

615 visualizações

Publicada em

A arquitetura de micro-serviços vem sendo cada vez mais adotada pela indústria. A possibilidade de implantar e escalar componentes separadamente, manter e paralelizar os seus desenvolvimentos em múltiplos times são apenas alguns dos benefícios responsáveis por essa adoção. Entretanto, esse tipo de arquitetura introduz desafios às estratégias de testes convencionais, principalmente devido aos diversos pontos de integração existentes. Nessa palestra iremos discutir diferentes estratégias de testes para lidar com esses desafios.

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
615
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Testes em uma arquitetura de micro-serviços - Renan Martins

  1. 1. TESTANDO ARQUITETURAS DE MICRO-SERVIÇOS Renan Martins @renan89 1
  2. 2. Recife, Belo Horizonte, São Paulo e Porto Alegre 2
  3. 3. 3 #TWnaMTC2015 @thoughtworks_pt
  4. 4. 4 AGENDA
  5. 5. 1. O que são micro-serviços? 2. Vantagens e Desvantagens das arquiteturas de micro-serviços 3. Testando arquiteturas de micro-serviços 5 FALAREMOS SOBRE
  6. 6. DEFINIÇÃO 6 “Micro-serviços são pequenos, autônomos serviços que trabalham em conjunto"
  7. 7. PEQUENOS 7 Focados em fazer apenas uma coisa bem feita!
  8. 8. AUTÔNOMOS 8 Podem ser modificados independente um dos outros. E podem ser implantados sem demandar mudanças em seus consumidores.
  9. 9. ESTOU FAZENDO CORRETAMENTE? 9 É possível mudar um serviço e implantá-lo sem efeitos colaterais em outros serviços?
  10. 10. 10 VANTAGENS DAS ARQUITETURAS DE MICRO-SERVIÇOS
  11. 11. HETEROGENEIDADE TECNOLÓGICA 11 A tecnologia correta para cada problema POSTS <<ruby>> FRIENDS <<golang>> PICTURES <<java>> <<Document Store>> <<graph DB>> <<Blob Store>>
  12. 12. RESILIÊNCIA 12 Podemos construir sistemas capazes de lidar com falhas totais de serviços e apenas degradar apropriadamente as funcionalidades afetadas
  13. 13. ESCALAR PICTURES POSTS FRIENDS
  14. 14. FACILIDADE DE IMPLANTAÇÃO Implantações são mais rápidas e independentes. Os problemas podem ser isolados mais facilmente.
  15. 15. ALINHAMENTO ORGANIZACIONAL INVOICING SERVICE INVENTORY SERVICE Times e repositórios de código menores! Conway's Law
  16. 16. COMPONIBILIDADE E SUBSTITUIBILIDADE
  17. 17. COMPONIBILIDADE E SUBSTITUIBILIDADE MONOLITHIC ECOM SYSTEM
  18. 18. COMPONIBILIDADE E SUBSTITUIBILIDADE MONOLITHIC ECOM SYSTEM PROFILE MODULE
  19. 19. COMPONIBILIDADE E SUBSTITUIBILIDADE MONOLITHIC ECOM SYSTEM PROFILE MODULE
  20. 20. COMPONIBILIDADE E SUBSTITUIBILIDADE MONOLITHIC ECOM SYSTEM PROFILE MODULE HTTPS
  21. 21. COMPONIBILIDADE E SUBSTITUIBILIDADE MONOLITHIC ECOM SYSTEM PROFILE MODULE New Point of Sale HTTPS
  22. 22. COMPONIBILIDADE E SUBSTITUIBILIDADE MONOLITHIC ECOM SYSTEM PROFILE MODULE New Point of Sale HTTPS HTTP
  23. 23. COMPONIBILIDADE E SUBSTITUIBILIDADE MONOLITHIC ECOM SYSTEM PROFILE MODULE New Point of Sale HTTPS HTTP Affiliate Store HTTPS
  24. 24. 17 NO
  25. 25. MICRO-SERVIÇOS NÃO SÃO PARA QUALQUER UM http://martinfowler.com/bliki/MicroservicePrerequisites.html
  26. 26. MONOLÍTICOS PRIMEIRO… 19 http://martinfowler.com/bliki/MonolithFirst.html
  27. 27. 20 TESTES
  28. 28. 21 TEST AUTOMATION CLOSER TO THE USER CLOSER TO THE DEVELOPER $$$ SLOWER / FEWER $ FASTER / MORE USER JOURNEY UI INTEGRATION UNIT Connection of UI tests to a persona like flow through the system Testing on the level of the users - incl. browser, network, databases, external systems, … Tests of multiple integrated method Tests of single methods without dependencies
  29. 29. 22 CÓDIGO PRODUÇÃO Unit, Integration, end to end tests, smoke tests, etc.. Consumidores
  30. 30. 23 COMO ISSO SE APLICA AS ARQUITETURAS DE MICRO-SERVIÇOS ?
  31. 31. ANATOMIA DE UM MICRO-SERVIÇO 24http://martinfowler.com/articles/microservice-testing/
  32. 32. TESTES UNITÁRIOS EM MICRO-SERVIÇOS 25 Domain - Devemos focar em testar o comportamento, observando mudanças de estado. Gateways, Resources and Persistence - Devemos focar em testar as interações e colaborações (Mocks, test doubles) http://martinfowler.com/articles/microservice-testing/
  33. 33. TESTES DE INTEGRAÇÃO - PERSISTENCE E GATEWAYS 26http://martinfowler.com/articles/microservice-testing/
  34. 34. TESTES DE COMPONENTE - IN PROCESS 27http://martinfowler.com/articles/microservice-testing/
  35. 35. TESTES DE COMPONENTE - OUT OF PROCESS 28http://martinfowler.com/articles/microservice-testing/
  36. 36. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 29 mountebank - over the wire test doubles
  37. 37. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 30
  38. 38. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 30 teste
  39. 39. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 30 teste Configura os impostores
  40. 40. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 30 teste Configura os impostores
  41. 41. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 30 teste Configura os impostores
  42. 42. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 30 teste SMTP TCP IMPOSTOR HTTP Configura os impostores
  43. 43. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 30 teste SUA APLICAÇÃO SMTP TCP IMPOSTOR HTTP Configura os impostores
  44. 44. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ? 30 teste SUA APLICAÇÃO SMTP TCP IMPOSTOR HTTP Configura os impostores
  45. 45. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31
  46. 46. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SUA APLICAÇÃO IMPOSTOR Test
  47. 47. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA SUA APLICAÇÃO IMPOSTOR Test
  48. 48. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA SUA APLICAÇÃO IMPOSTOR Test
  49. 49. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA SUA APLICAÇÃO IMPOSTOR Test SE TORNA INVÁLIDO!!
  50. 50. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA SUA APLICAÇÃO IMPOSTOR Test SE TORNA INVÁLIDO!!
  51. 51. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA BECOMES INVALID! SUA APLICAÇÃO IMPOSTOR Test SE TORNA INVÁLIDO!!
  52. 52. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA BECOMES INVALID! SUA APLICAÇÃO IMPOSTOR Test SE TORNA INVÁLIDO!!
  53. 53. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA BECOMES INVALID! SUA APLICAÇÃO IMPOSTOR Test SE TORNA INVÁLIDO!!
  54. 54. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA BECOMES INVALID! SUA APLICAÇÃO IMPOSTOR Test SE TORNA INVÁLIDO!!
  55. 55. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA BECOMES INVALID! SUA APLICAÇÃO IMPOSTOR Test SE TORNA INVÁLIDO!!
  56. 56. TESTES DE COMPONENTE - PROBLEMAS COM STUBS 31 SERVIÇO REAL EM CONSTANTE MUDANÇA SUPOSIÇÕES - Quão frequentemente você altera seus testes e stubs ? BECOMES INVALID! SUA APLICAÇÃO IMPOSTOR Test SE TORNA INVÁLIDO!!
  57. 57. TESTES DE CONTRATO 32 SERVIÇO REAL EM CONSTANTE MUDANÇA
  58. 58. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33
  59. 59. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA
  60. 60. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA CI PIPELINE DO SERVIÇO
  61. 61. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA CI PIPELINE DO SERVIÇO
  62. 62. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT CI PIPELINE DO SERVIÇO
  63. 63. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION CI PIPELINE DO SERVIÇO
  64. 64. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CI PIPELINE DO SERVIÇO
  65. 65. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT CI PIPELINE DO SERVIÇO
  66. 66. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT CI PIPELINE DO SERVIÇO
  67. 67. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT CI PIPELINE DO SERVIÇO
  68. 68. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT CI PIPELINE DO SERVIÇO
  69. 69. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT CI PIPELINE DO SERVIÇO
  70. 70. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT CI PIPELINE DO SERVIÇO
  71. 71. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT CI PIPELINE DO SERVIÇO
  72. 72. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT CI PIPELINE DO SERVIÇO
  73. 73. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS) 33 SERVIÇO REAL EM CONSTANTE MUDANÇA UNIT INTEGRATION COMPONENT CONTRACT IMPLANTAÇÃO! CI PIPELINE DO SERVIÇO
  74. 74. CONSUMER DRIVEN CONTRACTS - IMPLEMENTAÇÕES 34 https://github.com/realestate-com-au/pact
  75. 75. TESTES PONTA A PONTA - CAIXA PRETA 35
  76. 76. TESTES PONTA A PONTA - CAIXA PRETA 35
  77. 77. TESTES PONTA A PONTA - CAIXA PRETA 35 1 4 2 3 5 6 7 8
  78. 78. TESTES PONTA A PONTA - CAIXA PRETA 35 1 4 2 3 5 6 7 8
  79. 79. TESTES PONTA A PONTA - CAIXA PRETA 35 1 4 2 3 5 6 7 8
  80. 80. TESTES PONTA A PONTA - CAIXA PRETA 35 1 4 2 3 5 6 7 8 BOA SORTE!
  81. 81. TESTES DE PONTA A PONTA EM ARQUITETURAS DE MICRO-SERVIÇOS 36 Escreva o menor número de testes ponta a ponta possível!
  82. 82. TESTES DE PONTA A PONTA EM ARQUITETURAS DE MICRO-SERVIÇOS 37 Teste jornadas do usuário e não estórias
  83. 83. TESTES DE PONTA A PONTA EM ARQUITETURAS DE MICRO-SERVIÇOS 38 Certifique-se que seus testes ponta a ponta são independente de dados existentes
  84. 84. CI PIPELINE - FEEDBACK RÁPIDO VS CUSTO 39 UNIT INTEGRATION CONTRACT COMPONENT JOURNEYS
  85. 85. FALAMOS SOBRE TODA A PIRÂMIDE - ACABAMOS? 40
  86. 86. FALAMOS SOBRE TODA A PIRÂMIDE - ACABAMOS? 40 Não.
  87. 87. FALAMOS SOBRE TODA A PIRÂMIDE - ACABAMOS? 40 Não. Testes após a implantação em produção!
  88. 88. TESTANDO EM PRODUÇÃO 41 Diferenciar Implantação de Release BLUE GREEN DEPLOYMENT
  89. 89. TESTANDO EM PRODUÇÃO 41 Diferenciar Implantação de Release BLUE GREEN DEPLOYMENT
  90. 90. TESTANDO EM PRODUÇÃO 41 Diferenciar Implantação de Release BLUE GREEN DEPLOYMENT SERVICE V1
  91. 91. TESTANDO EM PRODUÇÃO 41 Diferenciar Implantação de Release BLUE GREEN DEPLOYMENT SERVICE V1
  92. 92. TESTANDO EM PRODUÇÃO 41 Diferenciar Implantação de Release BLUE GREEN DEPLOYMENT SERVICE V1 SERVICE V2
  93. 93. TESTANDO EM PRODUÇÃO 41 Diferenciar Implantação de Release BLUE GREEN DEPLOYMENT SERVICE V1 SERVICE V2
  94. 94. TESTANDO EM PRODUÇÃO 41 Diferenciar Implantação de Release BLUE GREEN DEPLOYMENT SERVICE V1 SERVICE V2
  95. 95. TESTANDO EM PRODUÇÃO 41 Diferenciar Implantação de Release BLUE GREEN DEPLOYMENT SERVICE V1 SERVICE V2
  96. 96. CANARY RELEASE 42
  97. 97. CANARY RELEASE 42
  98. 98. CANARY RELEASE 42
  99. 99. CANARY RELEASE 42 SERVICE V1
  100. 100. CANARY RELEASE 42 SERVICE V1
  101. 101. CANARY RELEASE 42 SERVICE V1 SERVICE V2
  102. 102. CANARY RELEASE 42 SERVICE V1 SERVICE V2
  103. 103. CANARY RELEASE 42 SERVICE V1 SERVICE V2
  104. 104. CANARY RELEASE 42 SERVICE V1 SERVICE V2
  105. 105. CANARY RELEASE 42 SERVICE V1 SERVICE V2 15% 85%
  106. 106. TEMPO MÉDIO PARA SE RECUPERAR 43 Não há dúvidas que os testes reduzem a quantidade de defeitos, mas é importante reconhecer que eles não os eliminam por completo!
  107. 107. TECH RADAR RECOMENDA ESSAS PRÁTICAS! 44 http://www.thoughtworks.com/radar
  108. 108. FALAMOS SOBRE 45 microservices meanTimeToRecover canaryRelease blueGreenDeploy CIPipelines testAutomation testJourneys consumerDrivenContracts contractTests componentTests mountebank pact noSilverBullet technologyHeterogeneity resilience scaling easeOfDeployment organizationalAlignment
  109. 109. rmartins@thoughtworks.com MUITO OBRIGADO!

×