The Empire Tests First

Gil Zilberfeld
Gil ZilberfeldUnit tester. Agile learner. Speaker. Author of Everyday Unit Testing. Co Organizer of Agile Practitioners conference at Gil Inc.
@gil_zilberfeld
The Empire Tests
First
Making a Star Wars
movie with BDD
@gil_zilberfeld
Hello!
I AM GIL ZILBERFELD
www.gilzilberfeld.com
www.everydayunittesting.com
@gil_zilberfeld
@gil_zilberfeld
First things first
◉ Copy darkFunction Editor
◉ And images from the memory
sticks
◉ Or from http://bit.ly/1U7cSji
@gil_zilberfeld
Brian
Marick’s
Testing
Quadrants
@gil_zilberfeld
Why test first?
@gil_zilberfeld
Test-first benefits
◉ The code works with proof
◉ Just the code we need
◉ Think before you type
◉ Incremental development
◉ Regression suite
@gil_zilberfeld
From test-first to spec-first
@gil_zilberfeld
Requirements
Learning to read the clock
@gil_zilberfeld
Behavior driven development
Dan North
AKA:
Acceptance test DD
Specification by example
Example DD
@gil_zilberfeld
What is BDD?
BDD is a second-generation, outside-in, pull-based,
multiple-stakeholder, multiple-scale, high-
automation, agile methodology.
It describes a cycle of interactions with well-defined
outputs, resulting in the delivery of working, tested
software that matters.
@gil_zilberfeld
It’s all about the conversations!
@gil_zilberfeld
The Three Amigos
George Dinwiddie
Developer
Tester
Business analyst
@gil_zilberfeld
Benefits of BDD
◉ Shared understanding
◉ Full workflows
◉ Specific examples
◉ Focus
◉ Regression
@gil_zilberfeld
Let’s make a movie!
@gil_zilberfeld
The Search For More Money
◉ Write a script including a pass/fail criteria
◉ Make the movie
◉ Retrospect
◉ Refactor if needed
@gil_zilberfeld
darkFunction Studio Editor
Demo
@gil_zilberfeld
A New Hope
◉ Build an origin team movie script
◉ Define who should be there
◉ In what order they join
◉ Where they are placed
◉ Present it to everyone
@gil_zilberfeld
Make the Movie!
@gil_zilberfeld
Popcorn Time!
@gil_zilberfeld
The Empire Strikes Back
◉ The bad guys arrive
◉ They fight!
◉ Make it dramatic!
◉ Script should be testable for acceptance criteria
◉ …but leaves an artistic license to the director
@gil_zilberfeld
Popcorn Time!
@gil_zilberfeld
The Director’s Cut
◉ Our top star is dead!
◉ The film is out in a few days!
◉ Rewrite the script but WITHOUT removing the
already edited version
@gil_zilberfeld
Popcorn Time!
@gil_zilberfeld
The Trailer
◉ We’re getting a DVD with the two movies
◉ Script the trailer
◉ Use existing parts from the movies
@gil_zilberfeld
Popcorn Time!
@gil_zilberfeld
The Prequel
◉ Everything is set in the present
◉ Write a script for a prequel that makes sense
based on existing “infrastructure”
◉ Make the movie
@gil_zilberfeld
Popcorn Time!
@gil_zilberfeld
The Force Awakens
◉ Time for a new generation of movies
◉ You can reuse images of the past to build the
future
◉ Make the movie!
@gil_zilberfeld
Popcorn Time!
@gil_zilberfeld
Re-shoot
◉ You’re movie’s not good enough
◉ I’ll tell you what to do as we go
◉ Make the movie!
@gil_zilberfeld
Popcorn Time!
@gil_zilberfeld
“Do more Star Wars BDD, you should. Hmmm”
Yoda
Executive producer
@gil_zilberfeld
May the Force be with you!
ANY QUESTIONS?
You can find me at:
@gil_zilberfeld
http://www.GilZilberfeld.com
http://www.EverydayUnitTesting.com
1 of 33

Recommended

Valerie Kalfrin - excerpt from lecture about film adaptations by
Valerie Kalfrin - excerpt from lecture about film adaptationsValerie Kalfrin - excerpt from lecture about film adaptations
Valerie Kalfrin - excerpt from lecture about film adaptationsvaleriek109
1.4K views16 slides
Personal project by
Personal projectPersonal project
Personal projectbenzibob1234
58 views9 slides
Lord of the Flies Adaptation by
Lord of the Flies AdaptationLord of the Flies Adaptation
Lord of the Flies AdaptationSondoss Ifranji
629 views16 slides
12 years of slave by
12 years of slave12 years of slave
12 years of slaveMariam Juma
141 views6 slides
About Me by
About MeAbout Me
About MeTyler B
161 views22 slides
Meme by
MemeMeme
MemeJayesh Ughade
420 views3 slides

More Related Content

Similar to The Empire Tests First

Introduction to BDD by
Introduction to BDDIntroduction to BDD
Introduction to BDDGil Zilberfeld
615 views29 slides
The fastest BDD crash-course ever by
The fastest BDD crash-course everThe fastest BDD crash-course ever
The fastest BDD crash-course everGil Zilberfeld
560 views44 slides
Real Life Test Maintenance by
Real Life Test MaintenanceReal Life Test Maintenance
Real Life Test MaintenanceGil Zilberfeld
109 views61 slides
TDD patterns by
TDD patternsTDD patterns
TDD patternsGil Zilberfeld
2.1K views21 slides
TDD For The Rest Of Us by
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of UsTEST Huddle
648 views16 slides
Why TDD is Important for Everyone by
Why TDD is Important for EveryoneWhy TDD is Important for Everyone
Why TDD is Important for EveryoneGil Zilberfeld
1.9K views16 slides

Similar to The Empire Tests First(9)

More from Gil Zilberfeld

Dirty tests and How To Clean Them by
Dirty tests and How To Clean ThemDirty tests and How To Clean Them
Dirty tests and How To Clean ThemGil Zilberfeld
227 views29 slides
Unit testing for Grown-ups by
Unit testing for Grown-upsUnit testing for Grown-ups
Unit testing for Grown-upsGil Zilberfeld
415 views39 slides
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv by
Zen and the art of Test Maintenance - #TestIL Meetup Tel AvivZen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen and the art of Test Maintenance - #TestIL Meetup Tel AvivGil Zilberfeld
685 views43 slides
Zen And the Art of Test Maintenance Presentation by
Zen And the Art of Test Maintenance PresentationZen And the Art of Test Maintenance Presentation
Zen And the Art of Test Maintenance PresentationGil Zilberfeld
684 views40 slides
Spock: It's Only Logical by
Spock: It's Only LogicalSpock: It's Only Logical
Spock: It's Only LogicalGil Zilberfeld
474 views19 slides
Better Estimation and Planning by
Better Estimation and PlanningBetter Estimation and Planning
Better Estimation and PlanningGil Zilberfeld
867 views78 slides

More from Gil Zilberfeld(20)

Dirty tests and How To Clean Them by Gil Zilberfeld
Dirty tests and How To Clean ThemDirty tests and How To Clean Them
Dirty tests and How To Clean Them
Gil Zilberfeld227 views
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv by Gil Zilberfeld
Zen and the art of Test Maintenance - #TestIL Meetup Tel AvivZen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Gil Zilberfeld685 views
Zen And the Art of Test Maintenance Presentation by Gil Zilberfeld
Zen And the Art of Test Maintenance PresentationZen And the Art of Test Maintenance Presentation
Zen And the Art of Test Maintenance Presentation
Gil Zilberfeld684 views
Better Estimation and Planning by Gil Zilberfeld
Better Estimation and PlanningBetter Estimation and Planning
Better Estimation and Planning
Gil Zilberfeld867 views
Dependency injection and Why It Matters to Testers by Gil Zilberfeld
Dependency injection and Why It Matters to TestersDependency injection and Why It Matters to Testers
Dependency injection and Why It Matters to Testers
Gil Zilberfeld500 views
Zen and the Art of Test Maintenance by Gil Zilberfeld
Zen and the Art of Test MaintenanceZen and the Art of Test Maintenance
Zen and the Art of Test Maintenance
Gil Zilberfeld263 views
Better Estimation and Planning by Gil Zilberfeld
Better Estimation and PlanningBetter Estimation and Planning
Better Estimation and Planning
Gil Zilberfeld355 views
The Whole Story - Mapping, Slicing and Figuring things out by Gil Zilberfeld
The Whole Story - Mapping, Slicing and Figuring things outThe Whole Story - Mapping, Slicing and Figuring things out
The Whole Story - Mapping, Slicing and Figuring things out
Gil Zilberfeld677 views
An agile introduction to DevOps by Gil Zilberfeld
An agile introduction to DevOpsAn agile introduction to DevOps
An agile introduction to DevOps
Gil Zilberfeld620 views
Creating A Unit Testing Strategy by Gil Zilberfeld
Creating A Unit Testing StrategyCreating A Unit Testing Strategy
Creating A Unit Testing Strategy
Gil Zilberfeld1.4K views
Introduction to Unit Testing by Gil Zilberfeld
Introduction to Unit TestingIntroduction to Unit Testing
Introduction to Unit Testing
Gil Zilberfeld556 views

Recently uploaded

The Path to DevOps by
The Path to DevOpsThe Path to DevOps
The Path to DevOpsJohn Valentino
5 views6 slides
Sprint 226 by
Sprint 226Sprint 226
Sprint 226ManageIQ
8 views18 slides
Myths and Facts About Hospice Care: Busting Common Misconceptions by
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common MisconceptionsCare Coordinations
6 views1 slide
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
8 views49 slides
The Era of Large Language Models.pptx by
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptxAbdulVahedShaik
7 views9 slides
Introduction to Maven by
Introduction to MavenIntroduction to Maven
Introduction to MavenJohn Valentino
6 views10 slides

Recently uploaded(20)

Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ8 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana11 views
Quality Engineer: A Day in the Life by John Valentino
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the Life
John Valentino6 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi215 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski12 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik8 views
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 views
Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app8 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254556 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j12 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8712 views

The Empire Tests First

Editor's Notes

  1. First was TDD Benefits of TDD: Focus, thinking, simplicity, regression suite, documentation Same can be applied at the feature/product level
  2. Different names. ATDD was about automating the application BDD used DDD ubiquitous language Step reusability GWT format
  3. All three hats are responsible to make a product that is easy to build and maintain, and also solves the customer’s problems.
  4. I want Kylo Ren and Han stare off I want a star destroyer in the beginning. Two death stars Yoda with a green saber Han is too old, we need fresh face Four death stars Yoda with a blue saber Jabba the hut running across the screen