SlideShare a Scribd company logo
Test Driven Development
Diego Caxito
Changing Software Reason
1. Adding a feature
1. Fixing a bug
1. Improving the design
1. Optmize resource usage
Working Effectively With Legacy Code
Usual Flow
Build Code
Build App
Test Manually
at the time
Change can be paintfull
In software, when something is
painful, the way to reduce the pain is
to do it more frequently, not less
Continuous Delivery
Lean startup loop fundamental
Do push para a produção - Agile Brazil 2014
Type of Tests
Continuous Delivery
Test pyramid
Martin Fowler Bliki
Do push para a produção - Agile Brazil 2014
when someone begin with
automation
Software testing pattern Ice-cream Cone Anti-Pattern
Watirmelon.com
Diferent tests can be overlap
Pragmmatic not dogmatic TDD
Ideal
Watirmelon.com
Test pyramid
Martin Fowler Bliki
Unit Test
Unit test
“Unit tests is the idea that they are tests in isolation of
individual components of software.”
Good Unit Test
It should be automated and repeatable.
It should be easy to implement.
Once it’s written, it should remain for future use.
Anyone should be able to run it.
It should run at the push of a button.
It should run quickly.
The art of uniting testing
Treinamento TDD
TDD
Baby steps
Como a prática de TDD influencia o projeto de
classes em sistemas orientados a objetos.
Como a prática de TDD influencia o projeto de classes em
sistemas orientados a objetos.
Hello world!!!!!
Jasmine
● describe
● it
● expect
○ toEqual
○ toBe
○ not
http://jasmine.github.io/
Exercise
Dojo
Mock
Mock roles, not objects!
● como testar seu projeto javascript com dependência
○ isolando-a
Obrigado!

More Related Content

PPT
Continuous Integration
PDF
Methodology: IT test
PPT
Test Driven Development
PPTX
Difference between traditional and agile software development
PPTX
DevOps Tactical Adoption Theory: Continuous Testing
PPTX
How google crush Quality Assurance
PDF
Test Driven Development (TDD) & Continuous Integration (CI)
PPT
extreme programming
Continuous Integration
Methodology: IT test
Test Driven Development
Difference between traditional and agile software development
DevOps Tactical Adoption Theory: Continuous Testing
How google crush Quality Assurance
Test Driven Development (TDD) & Continuous Integration (CI)
extreme programming

What's hot (20)

PPTX
A Story’s Journey
PPT
QA in Agile
PDF
Agile and test driven development
PPTX
From Gatekeeper to Partner by Kelsey Shannahan
PDF
Design Sprints
PPTX
Lean Enterprise, A Definitive Approach in Software Development Production
PPT
Practical Programming It Awareness Advocacy
PPT
Trends in Agile Testing by Lisa Crispin
PPTX
DevOps Tactical Adoption Theory - DevOpsDays istanbul 2016
PPTX
Agile Testing
PPTX
Developer testing webinar
PPTX
How to overcome agile methodology challenges
ODP
Agile and QA... ma che ciazzecca?
PDF
02.1 software development processes
PDF
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
PDF
Machine learning in software testing
PDF
Agile Testing 20021015
PPT
Agile QA and Testing process
PPT
Build FAST with parallel_calabash
PPTX
The four generations of test automation
A Story’s Journey
QA in Agile
Agile and test driven development
From Gatekeeper to Partner by Kelsey Shannahan
Design Sprints
Lean Enterprise, A Definitive Approach in Software Development Production
Practical Programming It Awareness Advocacy
Trends in Agile Testing by Lisa Crispin
DevOps Tactical Adoption Theory - DevOpsDays istanbul 2016
Agile Testing
Developer testing webinar
How to overcome agile methodology challenges
Agile and QA... ma che ciazzecca?
02.1 software development processes
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Machine learning in software testing
Agile Testing 20021015
Agile QA and Testing process
Build FAST with parallel_calabash
The four generations of test automation
Ad

Similar to Treinamento TDD (20)

PDF
Agile testingoverview
PDF
Agile testing overview
PDF
Quality Assurance - The Other Side of the Fence
PDF
When you get lost in api testing #ForumPHP
PDF
Jason Olson - Test What You've Built
PPTX
Challenges with agile testing process and how to debug and troubleshoot these...
PDF
Continuous integration
PPTX
Introduction to Software Testing Techniques
PPTX
Best pratice
PDF
How to Build in Quality from Day 1 using Lean QA and Agile Testing
PDF
Agile case studies
PDF
Agile Testing - A quality culture in the company's core business
ODP
Testing Software
PDF
Atlassian Summit 2015 Lean QA and Agile Testing
PPTX
Myths and reality about software testing
PPT
Testing.ppt
PPT
Testing
PPT
Testing.ppt
PPT
Testing.ppt
PDF
Inrotduction of Testing
Agile testingoverview
Agile testing overview
Quality Assurance - The Other Side of the Fence
When you get lost in api testing #ForumPHP
Jason Olson - Test What You've Built
Challenges with agile testing process and how to debug and troubleshoot these...
Continuous integration
Introduction to Software Testing Techniques
Best pratice
How to Build in Quality from Day 1 using Lean QA and Agile Testing
Agile case studies
Agile Testing - A quality culture in the company's core business
Testing Software
Atlassian Summit 2015 Lean QA and Agile Testing
Myths and reality about software testing
Testing.ppt
Testing
Testing.ppt
Testing.ppt
Inrotduction of Testing
Ad

More from Diego Caxito (6)

PPTX
Meu primeiro bot no Facebook Messenger
PPTX
Resumo F8 2017
PDF
Agile Brazil 2015
PPTX
Papo reto - saindo do mundo enterprise, entrando no mundo mobile
PPT
DojoMoc - Kata Catope
PPT
DojoMoc - Introdução Coding Dojo
Meu primeiro bot no Facebook Messenger
Resumo F8 2017
Agile Brazil 2015
Papo reto - saindo do mundo enterprise, entrando no mundo mobile
DojoMoc - Kata Catope
DojoMoc - Introdução Coding Dojo

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
ai tools demonstartion for schools and inter college
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPT
Introduction Database Management System for Course Database
How to Choose the Right IT Partner for Your Business in Malaysia
How Creative Agencies Leverage Project Management Software.pdf
CHAPTER 2 - PM Management and IT Context
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
ManageIQ - Sprint 268 Review - Slide Deck
ai tools demonstartion for schools and inter college
Understanding Forklifts - TECH EHS Solution
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Design an Analysis of Algorithms II-SECS-1021-03
Design an Analysis of Algorithms I-SECS-1021-03
VVF-Customer-Presentation2025-Ver1.9.pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Operating system designcfffgfgggggggvggggggggg
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PTS Company Brochure 2025 (1).pdf.......
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Introduction Database Management System for Course Database

Treinamento TDD

Editor's Notes

  • #3: Working Effectively With Legacy Code
  • #4: quanto mais aplicação se constrói, mas difícil fica de sair testando tudo
  • #24: Não depende de linguagem, language of your preference