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...
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
OU
uma jornada para reduzir a entropiaem um código legado
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
VAMOS FALAR DE
ESCREVER UMA FUNÇÃO QUE CALCULE A FORÇA DE
UMA SENHA
QUAL É O PRIMEIRO PASSO?
D E F I N I R E N T R A DA S E S A Í DA S
E N T R A DA S
S A Í DA S
senha
sim ou não
TDD – PASSO 1
QUAL É O SEGUNDO PASSO?
D E F I N I R A A S S I N AT U R A
TDD – PASSO 2
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
TDD – PASSO 3
A S E N H A N ÃO P O D E S E R VA Z I A
QUAL É O QUARTO PASSO?
E S C R E V E R O T E S T E
TDD – PASSO 4
TDD – PASSO 4
QUAL É O QUINTO PASSO?
E S C R E V E R O C Ó D I G O
TDD – PASSO 5
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
X
1. Definir uma fronteira;
2. O que está fora da fronteira, mockar;
3. O que está dentro, testar;
1. Construir um cenário controlado e conhecido;
2. Executar a aplicação;
3. Validar se o resultado (estado) obtido é o
resultado (estado) esperado.
https://github.com/matheusaraujo/jornada-automacao-testes
https://github.com/matheusaraujo/jornada-automacao-testes
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
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
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
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
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
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
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 ?