TDD and the Terminator: An Introduction to Test-Driven Development

VMware Tanzu
VMware TanzuVMware Tanzu
@LaylaCodesIt
@LaylaCodesIt
@LaylaCodesIt
MICROSOFTMVP


GITHUBSTAR


MK.NETORGANISER


C#LOVER


DEVELOPERADVOCATE@VMWARE


LAYLAPORTER
@LaylaCodesIt
WHYTDDANDTHETERMINATOR?
@LaylaCodesIt
TDDSUCCESSES
•Acceptance Criteria


•Focus


•Interfaces


•Asynchronous development


•Cleaner code


•Safe refactoring


•Fewer bugs


•Increasing returns


•Living documentation
@LaylaCodesIt
BACKTOTHETERMINATOR
@LaylaCodesIt
THEPROCESS
@LaylaCodesIt
GATHERTHEREQUIREMENTS
@LaylaCodesIt
@LaylaCodesIt
Terminator Requirements
Scan subjects and determine if they
require further investigation
Investigate subjects of interest and
determine if they are the target -
TERMINATE!
@LaylaCodesIt
Scan subjects and determine if
they require further investigation
@LaylaCodesIt
STARTWITHFAILINGTESTS
@LaylaCodesIt
When you write tests after coding you
may be writing them to fit your code
and not your requirements
@LaylaCodesIt
RED/GREENREFACTORPATTERN
• Write a failing test


• Write enough code to get the test to pass


• Refactor!
@LaylaCodesIt
OVERTOCODE
@LaylaCodesIt
REFACTOR!
@LaylaCodesIt
public
 
bool
 
InvestigateFurther(ISubject
 
subject)


{


 
 
 


 
 
 
 
if
 
(subject.SubjectName.ToLower()
 
=
=
 
"woman")


 
 
 
 
{


 
 
 
 
 
 
 
 
return
 
true;


 
 
 
 
}
 
 
 
 
 
 
 
 


 
 
 
 
if
 
(subject.SubjectName.ToLower()
 
=
=
 
"girl")


 
 
 
 
{


 
 
 
 
 
 
 
 
return
 
true;


 
 
 
 
}
 
 
 
 
 
 
 
 


 
 
 
 
if
 
(subject.SubjectName.ToLower()
 
=
=
 
"man")


 
 
 
 
{


 
 
 
 
 
 
 
 
return
 
true;


 
 
 
 
}
 
 
 
 
 
 
 
 


 
 
 
 
if
 
(subject.SubjectName.ToLower()
 
=
=
 
"boy")


 
 
 
 
{


 
 
 
 
 
 
 
 
return
 
true;


 
 
 
 
}
 
 
 
 
 
 
 
 


 
 
 
 
return
 
false;


}
@LaylaCodesIt
public
 
bool
 
InvestigateFurther(ISubject
 
subject)


{


 
 
 
 
switch
 
(subject.SubjectName.ToLower())


 
 
 
 
{


 
 
 
 
 
 
 
 
case
 
"woman":


 
 
 
 
 
 
 
 
case
 
"girl":


 
 
 
 
 
 
 
 
case
 
"man":


 
 
 
 
 
 
 
 
case
 
"boy":


 
 
 
 
 
 
 
 
 
 
 
 
return
 
true;


 
 
 
 
 
 
 
 
default:


 
 
 
 
 
 
 
 
 
 
 
 
return
 
false;


 
 
 
 
}


}


public
public
 
bool
 
InvestigateFurther(ISubject
 
subject)


{


 
 
 
 
switch
 
(subject.SubjectName.ToLower())


 
 
 
 
{


 
 
 
 
 
 
 
 
case
 
"woman":


 
 
 
 
 
 
 
 
case
 
"girl":


 
 
 
 
 
 
 
 
case
 
"man":


 
 
 
 
 
 
 
 
case
 
"boy":


 
 
 
 
 
 
 
 
 
 
 
 
return
 
true;


 
 
 
 
 
 
 
 
default:


 
 
 
 
 
 
 
 
 
 
 
 
return
 
false;


 
 
 
 
}


}


[TestCase("woman")]


[TestCase("girl")]


[TestCase("man")]


[TestCase("boy")]


public
 
void
 
TerminatorShould_Determine_ToInvestigate
Further


(string
 
subjectName)


{


 
 
 
 
var
 
subject
 
=
 
new
 
Subject
 
{SubjectName
 
=
 
subject
Name};


 
 
 
 
var
 
result
 
=
 
_sut.InvestigateFurther(subject);


 
 
 
 
result.Should().BeTrue();


}


[Test]
public
 
bool
 
InvestigateFurther(ISubject
 
subject)


{


 
 
 
 
switch
 
(subject.SubjectName.ToLower())


 
 
 
 
{


 
 
 
 
 
 
 
 
case
 
"woman":


 
 
 
 
 
 
 
 
case
 
"girl":


 
 
 
 
 
 
 
 
case
 
"man":


 
 
 
 
 
 
 
 
case
 
"boy":


 
 
 
 
 
 
 
 
 
 
 
 
return
 
true;


 
 
 
 
 
 
 
 
default:


 
 
 
 
 
 
 
 
 
 
 
 
return
 
false;


 
 
 
 
}


}


[TestCase("woman")]


public
 
void
 


TerminatorShould_DetermineNot_ToInvestigateFurther()


{


 
 
var
 
subject
 
=
 
new
 
Subject
 
{SubjectName
 
=
 
"T1000"};


 
 
var
 
result
 
=
 
_sut.InvestigateFurther(subject);


 
 
result.Should().BeFalse();


}
@LaylaCodesIt
WITHGOODPRACTICES,CODEMANAGEMENTBECOMESINFINITELYEASIER
@LaylaCodesIt
TDDFAILURES
•Underestimating the learning curve


•Confusing TDD with unit testing


•Thinking TDD is enough testing


•Not starting with failing tests


•Not refactoring enough


•Not actually doing TDD!
@LaylaCodesIt
IMPLEMENTATIONWITHINYOURORGANIZATION
•Can be controversial and is a significant culture change


•Initial drop in productivity can be disconcerting


•Productivity will go up and reworks reduced


•Increased understanding of requirements and their acceptance criteria
@LaylaCodesIt
IFYOUTAKEONETHINGAWAYFROMTHISTALK...
@LaylaCodesIt
[Test]


public void


TerminatorShould_Determine_ToInvestigateFurther


(ISubject subject)


{


var subject = new Subject{SubjectName = "woman"};


var result = _sut.InfestigateFurther(subject);


result.Should().BeTrue();


}
@LaylaCodesIt
[Test]


public void


TerminatorShould_Determine_ToInvestigateFurther


(ISubject subject)


{


var subject = new Subject{SubjectName = "woman"};


var result = _sut.InfestigateFurther(subject);


result.Should().BeTrue();


}


public bool _sut.InvestigateFurther(ISubject subject)


{


return true;


}
@LaylaCodesIt
[Test]


public void


TerminatorShould_Determine_ToInvestigateFurther


(ISubject subject)


{


var subject = new Subject{SubjectName = "woman"};


var result = _sut.InfestigateFurther(subject);


result.Should().BeTrue();


}


public bool _sut.InvestigateFurther(ISubject subject)


{


return true;


}


Write the least amount
of code to get your test
to pass.
Return true!
@LaylaCodesIt
Twitter:@LaylaCodesIt


GitHub:Layla-P


Email:laylap@vmware.com
Repo:http://bit.ly/tdd-terminator


Deck:http://bit.ly/tdd-deck


Twitch:twitch.tv/LaylaCodesIt


Yaks:https://bit.ly/shaving-a-yak
1 of 28

Recommended

Security as Code: A DevSecOps Approach by
Security as Code: A DevSecOps ApproachSecurity as Code: A DevSecOps Approach
Security as Code: A DevSecOps ApproachVMware Tanzu
527 views38 slides
Matt carroll - "Security patching system packages is fun" said no-one ever by
Matt carroll - "Security patching system packages is fun" said no-one everMatt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one everDevSecCon
519 views40 slides
Static Analysis For Security and DevOps Happiness w/ Justin Collins by
Static Analysis For Security and DevOps Happiness w/ Justin CollinsStatic Analysis For Security and DevOps Happiness w/ Justin Collins
Static Analysis For Security and DevOps Happiness w/ Justin CollinsSonatype
394 views49 slides
Henrique Dantas - API fuzzing using Swagger by
Henrique Dantas - API fuzzing using SwaggerHenrique Dantas - API fuzzing using Swagger
Henrique Dantas - API fuzzing using SwaggerDevSecCon
1.1K views6 slides
Laravel ile hızlı ve modern web programlama by
Laravel ile hızlı ve modern web programlamaLaravel ile hızlı ve modern web programlama
Laravel ile hızlı ve modern web programlamaÖmer Çıtak
915 views28 slides
DevSecCon Tel Aviv 2018 - Security Testing for Containerised Apps by Omer Levi by
DevSecCon Tel Aviv 2018 - Security Testing for  Containerised Apps by Omer LeviDevSecCon Tel Aviv 2018 - Security Testing for  Containerised Apps by Omer Levi
DevSecCon Tel Aviv 2018 - Security Testing for Containerised Apps by Omer LeviDevSecCon
96 views48 slides

More Related Content

What's hot

DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen by
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi DouglenDevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi DouglenDevSecCon
1.1K views55 slides
ATAGTR2017 Security Test Driven Development (STDD) by
ATAGTR2017 Security Test Driven Development (STDD)ATAGTR2017 Security Test Driven Development (STDD)
ATAGTR2017 Security Test Driven Development (STDD)Agile Testing Alliance
1K views13 slides
Improve existing code with confidence, supported by unit tests by
Improve existing code with confidence, supported by unit testsImprove existing code with confidence, supported by unit tests
Improve existing code with confidence, supported by unit testsDattatray Kale
296 views35 slides
Ast in CI/CD by Ofer Maor by
Ast in CI/CD by Ofer MaorAst in CI/CD by Ofer Maor
Ast in CI/CD by Ofer MaorDevSecCon
785 views37 slides
DevSecOps - The big picture by
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big pictureDevSecOpsSg
1.4K views31 slides
DevSecCon London 2017: when good containers go bad by Tim Mackey by
DevSecCon London 2017: when good containers go bad by Tim MackeyDevSecCon London 2017: when good containers go bad by Tim Mackey
DevSecCon London 2017: when good containers go bad by Tim MackeyDevSecCon
360 views38 slides

What's hot(20)

DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen by DevSecCon
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi DouglenDevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen
DevSecCon1.1K views
Improve existing code with confidence, supported by unit tests by Dattatray Kale
Improve existing code with confidence, supported by unit testsImprove existing code with confidence, supported by unit tests
Improve existing code with confidence, supported by unit tests
Dattatray Kale296 views
Ast in CI/CD by Ofer Maor by DevSecCon
Ast in CI/CD by Ofer MaorAst in CI/CD by Ofer Maor
Ast in CI/CD by Ofer Maor
DevSecCon785 views
DevSecOps - The big picture by DevSecOpsSg
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big picture
DevSecOpsSg1.4K views
DevSecCon London 2017: when good containers go bad by Tim Mackey by DevSecCon
DevSecCon London 2017: when good containers go bad by Tim MackeyDevSecCon London 2017: when good containers go bad by Tim Mackey
DevSecCon London 2017: when good containers go bad by Tim Mackey
DevSecCon360 views
DevSecCon London 2017: Shift happens ... by Colin Domoney by DevSecCon
DevSecCon London 2017: Shift happens ... by Colin Domoney DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon746 views
Sec4dev 2021 - Catch Me If You can : Continuous Delivery vs. Security Assurance by Abdessamad TEMMAR
Sec4dev 2021  - Catch Me If You can : Continuous Delivery vs. Security AssuranceSec4dev 2021  - Catch Me If You can : Continuous Delivery vs. Security Assurance
Sec4dev 2021 - Catch Me If You can : Continuous Delivery vs. Security Assurance
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx by DevSecCon
DevSecCon London 2017: Threat modeling in a CI environment by Steven WierckxDevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon504 views
DevSecCon London 2017: How far left do you want to go with security? by Javie... by DevSecCon
DevSecCon London 2017: How far left do you want to go with security? by Javie...DevSecCon London 2017: How far left do you want to go with security? by Javie...
DevSecCon London 2017: How far left do you want to go with security? by Javie...
DevSecCon326 views
DevSecOps for Developers: How To Start by Patricia Aas
DevSecOps for Developers: How To StartDevSecOps for Developers: How To Start
DevSecOps for Developers: How To Start
Patricia Aas505 views
In graph we trust: Microservices, GraphQL and security challenges by Mohammed A. Imran
In graph we trust: Microservices, GraphQL and security challengesIn graph we trust: Microservices, GraphQL and security challenges
In graph we trust: Microservices, GraphQL and security challenges
Mohammed A. Imran841 views
#ATAGTR2018 Presentation " Security Testing for RESTful APIs" By Anuradha Raman by Agile Testing Alliance
#ATAGTR2018 Presentation " Security Testing for RESTful APIs" By Anuradha Raman #ATAGTR2018 Presentation " Security Testing for RESTful APIs" By Anuradha Raman
#ATAGTR2018 Presentation " Security Testing for RESTful APIs" By Anuradha Raman
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD) by Hui (Henry) Chen
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
Hui (Henry) Chen43 views
Stranger Danger: Securing Third Party Components (Tech2020) by Guy Podjarny
Stranger Danger: Securing Third Party Components (Tech2020)Stranger Danger: Securing Third Party Components (Tech2020)
Stranger Danger: Securing Third Party Components (Tech2020)
Guy Podjarny1.6K views
Integrating DevOps and Security by Stijn Muylle
Integrating DevOps and SecurityIntegrating DevOps and Security
Integrating DevOps and Security
Stijn Muylle421 views
The Rise of DevSecOps - Fabian Lim - DevSecOpsSg by DevSecOpsSg
The Rise of DevSecOps - Fabian Lim - DevSecOpsSgThe Rise of DevSecOps - Fabian Lim - DevSecOpsSg
The Rise of DevSecOps - Fabian Lim - DevSecOpsSg
DevSecOpsSg285 views
[DevSecOps Live] DevSecOps: Challenges and Opportunities by Mohammed A. Imran
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities
Mohammed A. Imran418 views

Similar to TDD and the Terminator: An Introduction to Test-Driven Development

CodeOne Java Debugging Tips by
CodeOne Java Debugging TipsCodeOne Java Debugging Tips
CodeOne Java Debugging TipsMartin (高馬丁) Skarsaune
262 views31 slides
How to get the most out of code reviews by
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviewsJavaDayUA
773 views30 slides
ScalaClean at ScalaSphere 2019 by
ScalaClean at ScalaSphere 2019ScalaClean at ScalaSphere 2019
ScalaClean at ScalaSphere 2019Rory Graves
270 views41 slides
Pushing the hassle from production to developers. Easily by
Pushing the hassle from production to developers. EasilyPushing the hassle from production to developers. Easily
Pushing the hassle from production to developers. EasilyMartin Gutenbrunner
372 views44 slides
Odessa .NET User Group - 10.11.2011 - Applied Code Generation by
Odessa .NET User Group - 10.11.2011 - Applied Code Generation Odessa .NET User Group - 10.11.2011 - Applied Code Generation
Odessa .NET User Group - 10.11.2011 - Applied Code Generation Dmytro Mindra
392 views66 slides
Building a Bridge to a Legacy Application: How Hard Can That Be? by
Building a Bridge to a Legacy Application: How Hard Can That Be?Building a Bridge to a Legacy Application: How Hard Can That Be?
Building a Bridge to a Legacy Application: How Hard Can That Be?M. Scott Ford
279 views69 slides

Similar to TDD and the Terminator: An Introduction to Test-Driven Development(20)

How to get the most out of code reviews by JavaDayUA
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviews
JavaDayUA773 views
ScalaClean at ScalaSphere 2019 by Rory Graves
ScalaClean at ScalaSphere 2019ScalaClean at ScalaSphere 2019
ScalaClean at ScalaSphere 2019
Rory Graves270 views
Pushing the hassle from production to developers. Easily by Martin Gutenbrunner
Pushing the hassle from production to developers. EasilyPushing the hassle from production to developers. Easily
Pushing the hassle from production to developers. Easily
Odessa .NET User Group - 10.11.2011 - Applied Code Generation by Dmytro Mindra
Odessa .NET User Group - 10.11.2011 - Applied Code Generation Odessa .NET User Group - 10.11.2011 - Applied Code Generation
Odessa .NET User Group - 10.11.2011 - Applied Code Generation
Dmytro Mindra392 views
Building a Bridge to a Legacy Application: How Hard Can That Be? by M. Scott Ford
Building a Bridge to a Legacy Application: How Hard Can That Be?Building a Bridge to a Legacy Application: How Hard Can That Be?
Building a Bridge to a Legacy Application: How Hard Can That Be?
M. Scott Ford279 views
Stability patterns devoxx_pl_2017 by Daniel Lebrero
Stability patterns devoxx_pl_2017Stability patterns devoxx_pl_2017
Stability patterns devoxx_pl_2017
Daniel Lebrero138 views
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018 by Matthew Groves
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 20185 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018
5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018
Matthew Groves336 views
Clean Code III - Software Craftsmanship by Theo Jungeblut
Clean Code III - Software CraftsmanshipClean Code III - Software Craftsmanship
Clean Code III - Software Craftsmanship
Theo Jungeblut4.1K views
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle by Ko Turk
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @GeekleControlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle
Ko Turk85 views
The SEO Guide to Migrate International Websites #SMProfs by Aleyda Solís
The SEO Guide to Migrate International Websites #SMProfsThe SEO Guide to Migrate International Websites #SMProfs
The SEO Guide to Migrate International Websites #SMProfs
Aleyda Solís2.3K views
Migration from IBM DOORS 9 to DOORS Next Generation by Matt Mendell
Migration from IBM DOORS 9 to DOORS Next GenerationMigration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next Generation
Matt Mendell851 views
Real life unit testing tools and practices by Gil Zilberfeld
Real life unit testing   tools and practicesReal life unit testing   tools and practices
Real life unit testing tools and practices
Gil Zilberfeld481 views
An Introduction to MongoDB Compass by MongoDB
An Introduction to MongoDB CompassAn Introduction to MongoDB Compass
An Introduction to MongoDB Compass
MongoDB14.6K views
How I Learned to Stop Worrying and Love Legacy Code by Gene Gotimer
How I Learned to Stop Worrying and Love Legacy CodeHow I Learned to Stop Worrying and Love Legacy Code
How I Learned to Stop Worrying and Love Legacy Code
Gene Gotimer21 views
What is quality code? From cruft to craft by Nick DeNardis
What is quality code? From cruft to craftWhat is quality code? From cruft to craft
What is quality code? From cruft to craft
Nick DeNardis1.4K views
TDD CrashCourse Part2: TDD by David Rodenas
TDD CrashCourse Part2: TDDTDD CrashCourse Part2: TDD
TDD CrashCourse Part2: TDD
David Rodenas129 views
Lightweight Enterprise Java With Microprofile by Roberto Cortez
Lightweight Enterprise Java With MicroprofileLightweight Enterprise Java With Microprofile
Lightweight Enterprise Java With Microprofile
Roberto Cortez1.3K views

More from VMware Tanzu

What AI Means For Your Product Strategy And What To Do About It by
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItVMware Tanzu
84 views38 slides
Make the Right Thing the Obvious Thing at Cardinal Health 2023 by
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023VMware Tanzu
65 views23 slides
Enhancing DevEx and Simplifying Operations at Scale by
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleVMware Tanzu
54 views4 slides
Spring Update | July 2023 by
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023VMware Tanzu
74 views37 slides
Platforms, Platform Engineering, & Platform as a Product by
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductVMware Tanzu
80 views6 slides
Building Cloud Ready Apps by
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready AppsVMware Tanzu
55 views73 slides

More from VMware Tanzu(20)

What AI Means For Your Product Strategy And What To Do About It by VMware Tanzu
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu84 views
Make the Right Thing the Obvious Thing at Cardinal Health 2023 by VMware Tanzu
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu65 views
Enhancing DevEx and Simplifying Operations at Scale by VMware Tanzu
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu54 views
Spring Update | July 2023 by VMware Tanzu
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu74 views
Platforms, Platform Engineering, & Platform as a Product by VMware Tanzu
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu80 views
Building Cloud Ready Apps by VMware Tanzu
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
VMware Tanzu55 views
Spring Boot 3 And Beyond by VMware Tanzu
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu153 views
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf by VMware Tanzu
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu73 views
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023 by VMware Tanzu
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu65 views
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023 by VMware Tanzu
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu43 views
tanzu_developer_connect.pptx by VMware Tanzu
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
VMware Tanzu156 views
Tanzu Virtual Developer Connect Workshop - French by VMware Tanzu
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu34 views
Tanzu Developer Connect Workshop - English by VMware Tanzu
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
VMware Tanzu90 views
Virtual Developer Connect Workshop - English by VMware Tanzu
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
VMware Tanzu26 views
Tanzu Developer Connect - French by VMware Tanzu
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu13 views
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023 by VMware Tanzu
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu77 views
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot by VMware Tanzu
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu118 views
SpringOne Tour: The Influential Software Engineer by VMware Tanzu
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
VMware Tanzu41 views
SpringOne Tour: Domain-Driven Design: Theory vs Practice by VMware Tanzu
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu24 views
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions by VMware Tanzu
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
VMware Tanzu40 views

Recently uploaded

Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
12 views1 slide
What is API by
What is APIWhat is API
What is APIartembondar5
12 views15 slides
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptxNeo4j
17 views26 slides
Agile 101 by
Agile 101Agile 101
Agile 101John Valentino
10 views20 slides
How Workforce Management Software Empowers SMEs | TraQSuite by
How Workforce Management Software Empowers SMEs | TraQSuiteHow Workforce Management Software Empowers SMEs | TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuiteTraQSuite
6 views3 slides
predicting-m3-devopsconMunich-2023.pptx by
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptxTier1 app
8 views24 slides

Recently uploaded(20)

Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable12 views
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
Neo4j17 views
How Workforce Management Software Empowers SMEs | TraQSuite by TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuiteHow Workforce Management Software Empowers SMEs | TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuite
TraQSuite6 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app8 views
Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ11 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app11 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert29 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...
NimaTorabi216 views
Understanding HTML terminology by artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar57 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
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan6 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492162 views

TDD and the Terminator: An Introduction to Test-Driven Development