Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
Search
Stefan Teixeira
November 07, 2016
Programming
0
100
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
Palestra apresentada no Agile Brazil 2016, no dia 07/11.
Stefan Teixeira
November 07, 2016
Tweet
Share
More Decks by Stefan Teixeira
See All by Stefan Teixeira
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker
stefanteixeira
0
76
Latinoware 2016 - Continuous Delivery com ferramentas open source
stefanteixeira
0
58
Ágiles 2016 - Using open source tools to support Continuous Delivery
stefanteixeira
0
47
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous Delivery
stefanteixeira
0
39
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
stefanteixeira
0
110
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-source
stefanteixeira
0
79
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
stefanteixeira
0
64
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
stefanteixeira
0
57
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
stefanteixeira
0
63
Other Decks in Programming
See All in Programming
AmperとFleetを使ったAndroidアプリ
yoppie
0
250
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
480
Code Reviews
bkuhlmann
4
890
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
try! Swift Tokyo 初参加報告LT
hinakko2
0
230
Going beyond Apache Parquet's default settings
xhochy
0
120
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
1k
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
860
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
300
Ruby Function Composition
bkuhlmann
1
340
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
900
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
180
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
Side Projects
sachag
451
41k
Being A Developer After 40
akosma
66
580k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Docker and Python
trallard
35
2.7k
Clear Off the Table
cherdarchuk
85
310k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
Into the Great Unknown - MozCon
thekraken
14
1k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
The Power of CSS Pseudo Elements
geoffreycrofte
61
5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Transcript
5 fundamentos essenciais de padrões xUnit Stefan Teixeira @stefan_teixeira
[email protected]
• QA Automation Engineer @ Toptal • Co-organizador dos Meetups
DevOps Carioca e Grupo de Testes Carioca • Blogs: stefanteixeira.com.br (pt-br) / stefanteixeira.com (en) Contatos: • E-mail:
[email protected]
• Twitter: twitter.com/stefan_teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira Sobre
Motivação
Testes Automatizados
Feedback rápido é essencial!
Testes facilitam refactoring
O que é xUnit?
None
http://xunitpatterns.com/
None
Alguns frameworks
Mas é só para unit tests? Não!
5 fundamentos essenciais
1. Conceitos básicos
Classes de teste
Métodos de teste
Four-phase Test
Assertions
Suites
2. Verificação de resultados
Delta assertion
None
Guard assertion
None
None
None
Custom assertions
None
None
3. Organização de testes
Suites
Helpers
Métodos utilitários
4. Manutenção de fixtures
Setup/Teardown • @BeforeClass
Setup/Teardown • @BeforeClass • @Before
Setup/Teardown • @BeforeClass • @Before • @After
Setup/Teardown • @BeforeClass • @Before • @After • @AfterClass
Shared fixtures
None
Shared fixtures • Tempo de execução mais rápido
Shared fixtures • Tempo de execução mais rápido • Cuidado
com estado entre testes!
Fresh fixtures
None
Fresh fixtures • Tempo de execução mais lento
Fresh fixtures • Tempo de execução mais lento • Evita
possíveis problemas de estado entre testes
5. Padrões para testes com bancos de dados
Testando Stored Procedures
Transaction rollback
Table truncation
Leituras recomendadas
None
Stefan Teixeira @stefan_teixeira
[email protected]
Obrigado!