AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET...
Transcript of AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET...
![Page 1: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/1.jpg)
AUTO MAT IZAND O T EST ES E M CÓ D I G O . NE T L EG A D O
T R I L H A . N E T
M AT HE US @ T DC B H 1 5 JUN2 01 9
![Page 2: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/2.jpg)
OU
uma jornada para reduzir a entropiaem um código legado
![Page 3: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/3.jpg)
All the forms of tests, whether Given/When/Then or Arrange/Act/Assert or ... are statements of state transition: Given state A, When event X, Then state B. Therefore test suites are the state transitions that describe the App as a FSM.
@unclebobmartin - https://bit.ly/2IlHcJb
![Page 4: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/4.jpg)
VAMOS FALAR DE
![Page 5: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/5.jpg)
ESCREVER UMA FUNÇÃO QUE CALCULE A FORÇA DE
UMA SENHA
![Page 6: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/6.jpg)
QUAL É O PRIMEIRO PASSO?
D E F I N I R E N T R A DA S E S A Í DA S
![Page 7: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/7.jpg)
E N T R A DA S
S A Í DA S
senha
sim ou não
TDD – PASSO 1
![Page 8: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/8.jpg)
QUAL É O SEGUNDO PASSO?
D E F I N I R A A S S I N AT U R A
![Page 9: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/9.jpg)
TDD – PASSO 2
![Page 10: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/10.jpg)
QUAL É O TERCEIRO PASSO?
D E F I N I R O M E N O R C O M P O R TA M E N TO P O S S Í V E L
![Page 11: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/11.jpg)
TDD – PASSO 3
A S E N H A N ÃO P O D E S E R VA Z I A
![Page 12: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/12.jpg)
QUAL É O QUARTO PASSO?
E S C R E V E R O T E S T E
![Page 13: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/13.jpg)
TDD – PASSO 4
![Page 14: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/14.jpg)
TDD – PASSO 4
![Page 15: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/15.jpg)
QUAL É O QUINTO PASSO?
E S C R E V E R O C Ó D I G O
![Page 16: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/16.jpg)
TDD – PASSO 5
![Page 17: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/17.jpg)
![Page 18: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/18.jpg)
![Page 19: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/19.jpg)
T O P !
Mas e os códigos legados?
C O N T E X T O
E S P E C I F I C I D A D E S
P E S S O A S E N V O LV I D A S
P R O C E S S O S
U S A B I L I D A D E
![Page 20: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/20.jpg)
X
![Page 21: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/21.jpg)
1. Definir uma fronteira;
2. O que está fora da fronteira, mockar;
3. O que está dentro, testar;
![Page 22: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/22.jpg)
1. Construir um cenário controlado e conhecido;
2. Executar a aplicação;
3. Validar se o resultado (estado) obtido é o
resultado (estado) esperado.
![Page 23: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/23.jpg)
![Page 24: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/24.jpg)
![Page 25: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/25.jpg)
https://github.com/matheusaraujo/jornada-automacao-testes
![Page 26: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/26.jpg)
https://github.com/matheusaraujo/jornada-automacao-testes
![Page 27: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/27.jpg)
v e r s ã o i n i c i a l / l e ga d a d a a p l i c a ç ã o
![Page 28: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/28.jpg)
te s te s ex te r n o s a o c ó d i g o d a a p l i c a ç ã o
![Page 29: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/29.jpg)
te s te s u s a n d o o a m b i e nte d e
d e s e nv o l v i m e nto ,
s e p a ra ç ã o d o c ó d i g o e m c a m a d a s
![Page 30: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/30.jpg)
te s te s u s a n d o b a n c o d e d a d o s
c r i a d o e m te m p o d e exe c u ç ã o ,
r e fa to ra ç ã o d o r e p o s i tó r i o
![Page 31: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/31.jpg)
te s te s u s a n d o m o c k m a n u a l ,
i n s e r i d a i n j e ç ã o d e d e p e n d ê n c i a s
![Page 32: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/32.jpg)
te s te s u s a n d o f ra m e w o r k d e
m o c k ( m o q ) ,
r e fa to ra ç ã o c a m a d a d e p r o c e s s o
![Page 33: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/33.jpg)
![Page 34: AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019. OU uma jornada para reduzir a entropia em um código legado. All](https://reader034.fdocumento.com/reader034/viewer/2022050504/5f95f5971e6fd12aba2b5c68/html5/thumbnails/34.jpg)
MATHEUS ARAUJOARQUITETO DE SOLUÇÕES
MATHEUSARAUJO@GITHUBMATHEUS_SARAUJO@TWITTERMATHEUSSARAUJO@LINKEDIN
@ DTIDIGITAL
V A M O S C O N V E R S A R E T R O C A R E X P E R I Ê N C I A S ?