AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO …€¦ · EM CÓDIGO .NET LEGADO TRILHA .NET...

34
AUTOMATIZANDO TESTES EM CÓDIGO .NET LEGADO TRILHA .NET MATHEUS@TDCBH 15JUN2019

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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
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

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

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

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

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
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
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://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://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

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

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

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

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

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

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
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

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 ?