O documento discute testes de arquiteturas de micro-serviços. Primeiro, define micro-serviços e discute suas vantagens, como heterogeneidade tecnológica, resiliência e facilidade de implantação. Em seguida, aborda diferentes níveis de testes, como testes unitários, de integração e ponta a ponta. Por fim, discute estratégias de testes em produção, como blue-green deployment e canary release.
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
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
31. ANATOMIA DE UM MICRO-SERVIÇO
24http://martinfowler.com/articles/microservice-testing/
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. TESTES DE INTEGRAÇÃO - PERSISTENCE E GATEWAYS
26http://martinfowler.com/articles/microservice-testing/
34. TESTES DE COMPONENTE - IN PROCESS
27http://martinfowler.com/articles/microservice-testing/
35. TESTES DE COMPONENTE - OUT OF PROCESS
28http://martinfowler.com/articles/microservice-testing/
36. TESTES DE COMPONENTE - COMO SIMULAR SERVIÇOS EXTERNOS ?
29
mountebank - over the
wire test doubles
47. TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
SUA APLICAÇÃO IMPOSTOR
Test
48. TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
SUA APLICAÇÃO IMPOSTOR
Test
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. TESTES DE COMPONENTE - PROBLEMAS COM STUBS
31
SERVIÇO REAL
EM CONSTANTE
MUDANÇA
SUA APLICAÇÃO IMPOSTOR
Test
SE TORNA
INVÁLIDO!!
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. 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. 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. 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. 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. 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!!
59. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
60. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
CI PIPELINE DO SERVIÇO
61. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
CI PIPELINE DO SERVIÇO
62. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
CI PIPELINE DO SERVIÇO
63. CONTRATOS GUIADOS POR CONSUMIDORES (CONSUMER DRIVEN CONTRACTS)
33
SERVIÇO REAL
EM
CONSTANTE
MUDANÇA
UNIT
INTEGRATION
CI PIPELINE DO SERVIÇO
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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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!