SlideShare a Scribd company logo
@gil_zilberfeld
Spaceship TDD Style
Gil Zilberfeld
@gil_zilberfeld
Who Am I
Agile helper
Software improver
Author of “Everyday Unit Testing”
www.gilzilberfeld.com
www.everydayunittesting.com
@gil_zilberfeld
@gil_zilberfeld
Test Driven Development
@gil_zilberfeldhttp://www.buildtheenterprise.org/
@gil_zilberfeld
Rules of Engagement
• We’re building parts of a spaceship
• Gotta have a test framework
• Break into pairs
• Introduce yourself - 5 minutes
• Try to stick to technology you feel comfortable in
• Work in rounds
• 15 minute work
• 10 public review
@gil_zilberfeld
The Fantastic Four
• Navigation
• Weapons and Shields
• Engine
• Environment
Not the whole ship!
@gil_zilberfeld
Round 1: Silence of the Names
• Write empty tests
• Write as many test cases as possible using names
• All tests should pass
• No speaking
@gil_zilberfeld
Review - Names
• How do you feel about the names? Did it change over time?
• Did both of you suggest names?
• Are the names clear?
• Did the tests pass?
• How did the name ideation go?
• How did the first test set the stage?
@gil_zilberfeld
Round 2: Test Runner
• 1st person selects, writes and fails a test
• 2nd person makes it pass
• No refactoring
• All tests must pass
@gil_zilberfeld
Review – Test First, Pass Second
• How many tests passed?
• Which tests did you start with?
• Who’s holding up the line? What did you feel about this?
• What is the quality of the code?
• What is the quality of the test?
• Do the names describe the tests correctly?
• How much conversation time?
@gil_zilberfeld
Round 3 - Transformers
• Refactor code and tests
• Save the old version
• No adding and removing tests
• All tests must pass
@gil_zilberfeld
Review - Refactoring
• What did you decide to refactor?
• Who led the process?
• Did everyone agree on the changes?
• What did you refactor more, code or tests?
• Did you run the tests after every change?
• Did you do enough refactoring?
• How long between test runs?
@gil_zilberfeld
Round 4 –Predator Vs Alien
• Break up the pairs
• 3 minute introduction
• The Predators write the tests
• No talking to the aliens
• Add more tests if needed
• Step away when a test fails
• The Aliens write the passing code
• No talking to predators
• Observe already working tests and code
• Step away when a test passes
• All tests must pass
• Get points for passing additional tests
@gil_zilberfeld
Review – Facing the unknown
• Predators:
• What was the quality of tests compared to the ones you wrote before?
• Why did you pick those test cases?
• How did you work together?
• Aliens:
• What did you think about the tests picked by the predators?
• Was the existing code helpful?
• How did you work together?
@gil_zilberfeld
The many faces of TDD
• TDD is not just Red-Green-Refactor
• Can be done in different ways
• It is a learning experience
• More fun in groups / pairs
@gil_zilberfeld
What did you learn?
• New
• Surprising
• Disappointing
@gil_zilberfeld
Thank You!
• Questions?
• Contact me:
• @gil_zilberfeld
• http://www.gilzilberfeld.com
• http://www.everydayunittesting.com

More Related Content

PPTX
Testing economics101
PPTX
TDD for the rest of us...
PPTX
TDD patterns
PPTX
Beter code for better tests
PPTX
The New Agile
PPTX
To Estimate or #NoEstimate
PPTX
The fastest BDD crash-course ever
PPTX
Creating A Unit Testing Strategy
Testing economics101
TDD for the rest of us...
TDD patterns
Beter code for better tests
The New Agile
To Estimate or #NoEstimate
The fastest BDD crash-course ever
Creating A Unit Testing Strategy

What's hot (20)

PPTX
Why TDD is Important for Everyone
PPTX
TDD for the rest of us
PPTX
TDD For The Rest Of Us
PPTX
Introduction to TDD
PPTX
Introduction to Unit Testing
PPTX
Introduction to BDD
PPTX
Planning with #NoEstimates
PDF
TestBoss Manchester March 2019 - Automation in Testing: The missing piece
PPTX
Agile Programming Live - AgilePrague2012
KEY
Community and Github: 7/27/2011
PDF
Mikey Ariel - My personal tech-writing agile manifesto
PPTX
WeActuallyBuildStuff - Extreme Programming Live
PDF
Technical Machine's Hardware Playbook
PPTX
SQuAD 2013: Team Collaboration for Testing
PDF
What schools should be teaching IT students
PDF
15 Explosive Things You Should Try As An Agilist by Peter Gfader
PPTX
Full Stack Engineering - April 29th, 2014 @ Full Stack Engineering Meetup NYC
PDF
Lean Startup and Tech
PPTX
B leach
PPTX
2013 09-11 java zone - extreme programming live
Why TDD is Important for Everyone
TDD for the rest of us
TDD For The Rest Of Us
Introduction to TDD
Introduction to Unit Testing
Introduction to BDD
Planning with #NoEstimates
TestBoss Manchester March 2019 - Automation in Testing: The missing piece
Agile Programming Live - AgilePrague2012
Community and Github: 7/27/2011
Mikey Ariel - My personal tech-writing agile manifesto
WeActuallyBuildStuff - Extreme Programming Live
Technical Machine's Hardware Playbook
SQuAD 2013: Team Collaboration for Testing
What schools should be teaching IT students
15 Explosive Things You Should Try As An Agilist by Peter Gfader
Full Stack Engineering - April 29th, 2014 @ Full Stack Engineering Meetup NYC
Lean Startup and Tech
B leach
2013 09-11 java zone - extreme programming live
Ad

Viewers also liked (11)

PPTX
It's not that simple
DOCX
Apagon analogico
PPTX
Повышение эффективности вложений в эксплуатацию инф.систем
PPTX
Rocking SEO for WP - #WCLV2015
PPT
Irena Sendler
PPTX
Building a Strategic Business Case for your Product
PPTX
Bitcoin
PDF
Telum Media Hong Kong and Greater China PR Alert - 30th August 2016
PPT
乳腺癌治疗药物全球研发现状
PDF
5 Tips for Business English Fluency - Infographic
It's not that simple
Apagon analogico
Повышение эффективности вложений в эксплуатацию инф.систем
Rocking SEO for WP - #WCLV2015
Irena Sendler
Building a Strategic Business Case for your Product
Bitcoin
Telum Media Hong Kong and Greater China PR Alert - 30th August 2016
乳腺癌治疗药物全球研发现状
5 Tips for Business English Fluency - Infographic
Ad

Similar to Spaceship TDD Style (20)

PPTX
TDD for Testers
PDF
TDD and Simple Design Workshop - Session 1 - March 2019
PPTX
Rebooting Application Life Cycle Management
PDF
Introducción práctica a Test-Driven Development (TDD)
PDF
Introducción práctica a TDD
PPTX
Real Life Test Maintenance
PPTX
TDD & Refactoring
PPTX
{10.0} Test Driven Development.pptx
PDF
Test Driven Development SpeedRun
PPTX
Zen and the Art of Test Maintenance
PPT
The ten commandments of TDD
PPTX
The New Agile II
PDF
Technical excellence - practices matter
PPT
Los diez mandamientos de TDD
PDF
Refactoring Test Collaboration
PDF
Driving Quality with TDD
PPTX
Intro to TDD
PDF
Global Day of Coderetreat Munich 2017
PDF
Demise of test scripts rise of test ideas
PDF
A Taste of TDD: The basics of TDD, why it is hard and how to do it better
TDD for Testers
TDD and Simple Design Workshop - Session 1 - March 2019
Rebooting Application Life Cycle Management
Introducción práctica a Test-Driven Development (TDD)
Introducción práctica a TDD
Real Life Test Maintenance
TDD & Refactoring
{10.0} Test Driven Development.pptx
Test Driven Development SpeedRun
Zen and the Art of Test Maintenance
The ten commandments of TDD
The New Agile II
Technical excellence - practices matter
Los diez mandamientos de TDD
Refactoring Test Collaboration
Driving Quality with TDD
Intro to TDD
Global Day of Coderetreat Munich 2017
Demise of test scripts rise of test ideas
A Taste of TDD: The basics of TDD, why it is hard and how to do it better

More from Gil Zilberfeld (20)

PPTX
Dirty tests and How To Clean Them
PPTX
Unit testing for Grown-ups
PPTX
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
PPTX
Zen And the Art of Test Maintenance Presentation
PPTX
Spock: It's Only Logical
PPTX
Better Estimation and Planning
PPTX
Dependency injection and Why It Matters to Testers
PPTX
Spring Testing Features
PPTX
Better Estimation and Planning
PPTX
The Untold User Story
PPTX
The Whole Story - Mapping, Slicing and Figuring things out
PPTX
Fractal test planning
PPTX
Agile Intro to DevOps
PDF
Playing games remotely
PPTX
A Horror Story
PPTX
An agile introduction to DevOps
PPTX
PPTX
Interview with the Vampire
PPTX
PPTX
What is wrong with agile
Dirty tests and How To Clean Them
Unit testing for Grown-ups
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen And the Art of Test Maintenance Presentation
Spock: It's Only Logical
Better Estimation and Planning
Dependency injection and Why It Matters to Testers
Spring Testing Features
Better Estimation and Planning
The Untold User Story
The Whole Story - Mapping, Slicing and Figuring things out
Fractal test planning
Agile Intro to DevOps
Playing games remotely
A Horror Story
An agile introduction to DevOps
Interview with the Vampire
What is wrong with agile

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Cloud computing and distributed systems.
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25 Week I
Cloud computing and distributed systems.
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
20250228 LYD VKU AI Blended-Learning.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm

Spaceship TDD Style

  • 2. @gil_zilberfeld Who Am I Agile helper Software improver Author of “Everyday Unit Testing” www.gilzilberfeld.com www.everydayunittesting.com @gil_zilberfeld
  • 5. @gil_zilberfeld Rules of Engagement • We’re building parts of a spaceship • Gotta have a test framework • Break into pairs • Introduce yourself - 5 minutes • Try to stick to technology you feel comfortable in • Work in rounds • 15 minute work • 10 public review
  • 6. @gil_zilberfeld The Fantastic Four • Navigation • Weapons and Shields • Engine • Environment Not the whole ship!
  • 7. @gil_zilberfeld Round 1: Silence of the Names • Write empty tests • Write as many test cases as possible using names • All tests should pass • No speaking
  • 8. @gil_zilberfeld Review - Names • How do you feel about the names? Did it change over time? • Did both of you suggest names? • Are the names clear? • Did the tests pass? • How did the name ideation go? • How did the first test set the stage?
  • 9. @gil_zilberfeld Round 2: Test Runner • 1st person selects, writes and fails a test • 2nd person makes it pass • No refactoring • All tests must pass
  • 10. @gil_zilberfeld Review – Test First, Pass Second • How many tests passed? • Which tests did you start with? • Who’s holding up the line? What did you feel about this? • What is the quality of the code? • What is the quality of the test? • Do the names describe the tests correctly? • How much conversation time?
  • 11. @gil_zilberfeld Round 3 - Transformers • Refactor code and tests • Save the old version • No adding and removing tests • All tests must pass
  • 12. @gil_zilberfeld Review - Refactoring • What did you decide to refactor? • Who led the process? • Did everyone agree on the changes? • What did you refactor more, code or tests? • Did you run the tests after every change? • Did you do enough refactoring? • How long between test runs?
  • 13. @gil_zilberfeld Round 4 –Predator Vs Alien • Break up the pairs • 3 minute introduction • The Predators write the tests • No talking to the aliens • Add more tests if needed • Step away when a test fails • The Aliens write the passing code • No talking to predators • Observe already working tests and code • Step away when a test passes • All tests must pass • Get points for passing additional tests
  • 14. @gil_zilberfeld Review – Facing the unknown • Predators: • What was the quality of tests compared to the ones you wrote before? • Why did you pick those test cases? • How did you work together? • Aliens: • What did you think about the tests picked by the predators? • Was the existing code helpful? • How did you work together?
  • 15. @gil_zilberfeld The many faces of TDD • TDD is not just Red-Green-Refactor • Can be done in different ways • It is a learning experience • More fun in groups / pairs
  • 16. @gil_zilberfeld What did you learn? • New • Surprising • Disappointing
  • 17. @gil_zilberfeld Thank You! • Questions? • Contact me: • @gil_zilberfeld • http://www.gilzilberfeld.com • http://www.everydayunittesting.com