Mockist vs. Classicists TDD

David Völkel
David VölkelSoftware Developer and IT-Consultant um codecentric AG
Mockist vs. Classicist
TDD
Softwerkskammer Berlin
18.01.2016
David Völkel
@davidvoelkel
@softwerkskammer
TTD & Design
Agenda
● Talk
● Mockist
● Classicist
● Trade-offs
● Discussion
● Another Beer
Disclaimer
Classicists vs. Mockists
● Who knows?
Classicists vs. Mockists
● Who knows?
● Who leverages what?
Mockists?
Mockists
● „London School“:
Steve Freeman, Nat Pryce
J.B. Rainsberger
● XP 2000 paper
„Endo-Testing: Unit Testing with Mock Objects “
● OOPSLA 2004 „Mock Roles, not Objects“
● Book „Growing Object Oriented Software“
#GOOS 2009
Mockists
● Problem
too many integrated tests
=> break dependencies to test in isolation
● Interfaces & Mocks
● behaviour verification on non-leaf objects,
“Back Door Testing“
● Outside-In Design
“Double Loop“ ATDD
From Growing Object-Oriented
Software by Nat Pryce and Steve
Freeman
Outside-In Design
UI
Domain Service
Repository DB Adapter
DB
End2End Test
Outside-In Design
UI
Domain Service Mock
Repository DB Adapter
DB
Domain Service Interface
Unit Test
End2End Test
Outside-In Design
UI
Domain Service
Repository DB Adapter
DB
Repository Interface
Domain Service Interface
Unit Test
Unit Test
End2End Test
Outside-In Design
UI
Domain Service
Repository DB Adapter
DB
Repository Interface
Domain Service Interface
Unit Test
Unit Test
Integration
Test
End2End Test
Outside-In Design
UI
Domain Service
Repository DB Adapter
DB
Repository Interface
Domain Service Interface
Unit Test
Unit Test
Integration
Test
End2End Test
London School Demo
Double Loop ATTD
Outside-In Design
Classicists?
Classicists
● “Detroit School“: Kent Beck, Uncle Bob, …
more integrated testing
● “front door testing“ & “state verification“
● Only mock at the process boundary
● 3rd Party Systems
● Own DB?
● Design emerges bottom-up/inside-out
(mostly)
Bottom-Up Design
Leaf Node Unit Test
Bottom-Up Design
Leaf Node
Leaf Node Unit Test
Unit Test
Bottom-Up Design
UI
Leaf Node
Leaf Node
Acceptance Test
Unit Test
Unit Test
Classicist Demo
“TDD as if you meant it“
Design Direction
Inside-Out
● Classicist default
● Design
unknown before
more emergent
Outside In
● Mockist default
● Classicist option
● YAGNI
● Design
clear before
Refactorability
Common objection:
"Mocking freezes the design and binds it to the
implementation"
Front-Door Classicist IO
out = pureFunction(in);
object.changeStateBasedOn(in);
out = object.getState();
● Functional
● State-based
Back-Door Mockist IO
public Object myQuery() {
return repository.query();
}
when(repository.query()).thenReturn(in);
● Queries: Stubbing indirect input
Back-Door Mockist IO
public Object myQuery() {
return repository.query();
}
when(repository.query()).thenReturn(in);
private void myCommand() {
mailGateway.sendMail(out);
}
verify(mailGateway).sendMail(out);
● Queries: Stubbing indirect input
● Commands: Spies check indirect output
Mocking is awkward
when(neighbour.query()).thenReturn(in);
verify(neighbour).command(out);
Harder to read
● more verbose
● JMock expectations break AAA
● non-primitive types hard to verify
Classicist Isolation
● No isolation = „front door“
● Leaf
● Integrated test
● Separate IO & Logic
● “Functional Core, Imperative Shell“, Gary Bernhard
● “IODA Architecture“, Ralf Westphal
● “Intermediary Results“ , Kent Beck
● “Ultratestable Coding Style“, Jessica Kerr
Criteria
● Design Uncertainty
● Complexity in non-leaf objects
● Architecture
● “Back-Door“ IO with external systems
● Message passing
Conclusion
Don`t be a Mockist
Don`t be a Classicist
Be both & choose the right tool for the right job
Questions & Discussion
Softwerkskammer Berlin
18.01.2016
David Völkel
Images
von RaminusFalcon
http://commons.wikimedia.org/wiki/File:Split-
scissors.svg?uselang=de
Lizenz
Creative Commons Attribution-ShareAlike 3.0
https://creativecommons.org/licenses/by-sa/3.0/de/
1 von 34

Recomendados

Software Craftsmanship @Code Camp Festival 2022.pdf von
Software Craftsmanship @Code Camp Festival 2022.pdfSoftware Craftsmanship @Code Camp Festival 2022.pdf
Software Craftsmanship @Code Camp Festival 2022.pdfVictor Rentea
516 views85 Folien
The tests are trying to tell you something@VoxxedBucharest.pptx von
The tests are trying to tell you something@VoxxedBucharest.pptxThe tests are trying to tell you something@VoxxedBucharest.pptx
The tests are trying to tell you something@VoxxedBucharest.pptxVictor Rentea
709 views51 Folien
Introduction to RxJS von
Introduction to RxJSIntroduction to RxJS
Introduction to RxJSBrainhub
3.7K views28 Folien
The Functional Programming Toolkit (NDC Oslo 2019) von
The Functional Programming Toolkit (NDC Oslo 2019)The Functional Programming Toolkit (NDC Oslo 2019)
The Functional Programming Toolkit (NDC Oslo 2019)Scott Wlaschin
6.3K views261 Folien
Introduction to threejs von
Introduction to threejsIntroduction to threejs
Introduction to threejsGareth Marland
596 views22 Folien
Testing Spring Boot application in post-JUnit 4 world von
Testing Spring Boot application in post-JUnit 4 worldTesting Spring Boot application in post-JUnit 4 world
Testing Spring Boot application in post-JUnit 4 worldYura Nosenko
1.8K views84 Folien

Más contenido relacionado

Was ist angesagt?

Memory Management in the Java Virtual Machine(Garbage collection) von
Memory Management in the Java Virtual Machine(Garbage collection)Memory Management in the Java Virtual Machine(Garbage collection)
Memory Management in the Java Virtual Machine(Garbage collection)Prashanth Kumar
328 views56 Folien
Towards Functional Programming through Hexagonal Architecture von
Towards Functional Programming through Hexagonal ArchitectureTowards Functional Programming through Hexagonal Architecture
Towards Functional Programming through Hexagonal ArchitectureCodelyTV
2.5K views94 Folien
A quick and fast intro to Kotlin von
A quick and fast intro to Kotlin A quick and fast intro to Kotlin
A quick and fast intro to Kotlin XPeppers
1.7K views32 Folien
Testing Spring Boot Applications von
Testing Spring Boot ApplicationsTesting Spring Boot Applications
Testing Spring Boot ApplicationsVMware Tanzu
1.4K views24 Folien
Advanced JavaScript von
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScriptStoyan Stefanov
4K views113 Folien
Finally, easy integration testing with Testcontainers von
Finally, easy integration testing with TestcontainersFinally, easy integration testing with Testcontainers
Finally, easy integration testing with TestcontainersRudy De Busscher
988 views15 Folien

Was ist angesagt?(20)

Memory Management in the Java Virtual Machine(Garbage collection) von Prashanth Kumar
Memory Management in the Java Virtual Machine(Garbage collection)Memory Management in the Java Virtual Machine(Garbage collection)
Memory Management in the Java Virtual Machine(Garbage collection)
Prashanth Kumar328 views
Towards Functional Programming through Hexagonal Architecture von CodelyTV
Towards Functional Programming through Hexagonal ArchitectureTowards Functional Programming through Hexagonal Architecture
Towards Functional Programming through Hexagonal Architecture
CodelyTV2.5K views
A quick and fast intro to Kotlin von XPeppers
A quick and fast intro to Kotlin A quick and fast intro to Kotlin
A quick and fast intro to Kotlin
XPeppers1.7K views
Testing Spring Boot Applications von VMware Tanzu
Testing Spring Boot ApplicationsTesting Spring Boot Applications
Testing Spring Boot Applications
VMware Tanzu1.4K views
Finally, easy integration testing with Testcontainers von Rudy De Busscher
Finally, easy integration testing with TestcontainersFinally, easy integration testing with Testcontainers
Finally, easy integration testing with Testcontainers
Rudy De Busscher988 views
Advanced javascript von Doeun KOCH
Advanced javascriptAdvanced javascript
Advanced javascript
Doeun KOCH487 views
RxJS Evolved von trxcllnt
RxJS EvolvedRxJS Evolved
RxJS Evolved
trxcllnt3.4K views
Py.test von soasme
Py.testPy.test
Py.test
soasme6.7K views
Whitebox testing of Spring Boot applications von Yura Nosenko
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applications
Yura Nosenko1.5K views
Domain Driven Design Made Functional with Python von Jean Carlo Machado
Domain Driven Design Made Functional with Python Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python
Jean Carlo Machado429 views
Garbage collector in python von Ibrahim Kasim
Garbage collector in pythonGarbage collector in python
Garbage collector in python
Ibrahim Kasim151 views
Testing Kafka containers with Testcontainers: There and back again with Vikto... von HostedbyConfluent
Testing Kafka containers with Testcontainers: There and back again with Vikto...Testing Kafka containers with Testcontainers: There and back again with Vikto...
Testing Kafka containers with Testcontainers: There and back again with Vikto...
HostedbyConfluent2.2K views
The Power of Composition (NDC Oslo 2020) von Scott Wlaschin
The Power of Composition (NDC Oslo 2020)The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)
Scott Wlaschin2.2K views
Java Concurrency Gotchas von Alex Miller
Java Concurrency GotchasJava Concurrency Gotchas
Java Concurrency Gotchas
Alex Miller11.5K views

Destacado

Infrastructure as Code for Beginners von
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for BeginnersDavid Völkel
1.9K views47 Folien
Transformation Priority Premise @Softwerkskammer MUC von
Transformation Priority Premise @Softwerkskammer MUCTransformation Priority Premise @Softwerkskammer MUC
Transformation Priority Premise @Softwerkskammer MUCDavid Völkel
1.3K views22 Folien
Bad test, good test von
Bad test, good testBad test, good test
Bad test, good testSeb Rose
6.7K views34 Folien
Mockist vs Classicists TDD von
Mockist vs Classicists TDDMockist vs Classicists TDD
Mockist vs Classicists TDDDavid Völkel
1.6K views64 Folien
Wie wird mein Code testbar? von
Wie wird mein Code testbar?Wie wird mein Code testbar?
Wie wird mein Code testbar?David Völkel
849 views45 Folien
Integration Test Hell von
Integration Test HellIntegration Test Hell
Integration Test HellDavid Völkel
2.6K views34 Folien

Destacado(10)

Infrastructure as Code for Beginners von David Völkel
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for Beginners
David Völkel1.9K views
Transformation Priority Premise @Softwerkskammer MUC von David Völkel
Transformation Priority Premise @Softwerkskammer MUCTransformation Priority Premise @Softwerkskammer MUC
Transformation Priority Premise @Softwerkskammer MUC
David Völkel1.3K views
Bad test, good test von Seb Rose
Bad test, good testBad test, good test
Bad test, good test
Seb Rose6.7K views
Mockist vs Classicists TDD von David Völkel
Mockist vs Classicists TDDMockist vs Classicists TDD
Mockist vs Classicists TDD
David Völkel1.6K views
Wie wird mein Code testbar? von David Völkel
Wie wird mein Code testbar?Wie wird mein Code testbar?
Wie wird mein Code testbar?
David Völkel849 views
Fake It Outside-In TDD @XP2017 von David Völkel
Fake It Outside-In TDD @XP2017Fake It Outside-In TDD @XP2017
Fake It Outside-In TDD @XP2017
David Völkel1.9K views
Unit vs. Integration Tests von David Völkel
Unit vs. Integration TestsUnit vs. Integration Tests
Unit vs. Integration Tests
David Völkel2.2K views
Fake It Outside-In TDD Workshop @ Clean Code Days von David Völkel
Fake It Outside-In TDD Workshop @ Clean Code Days Fake It Outside-In TDD Workshop @ Clean Code Days
Fake It Outside-In TDD Workshop @ Clean Code Days
David Völkel670 views

Similar a Mockist vs. Classicists TDD

Mockist vs. Classicists TDD von
Mockist vs. Classicists TDDMockist vs. Classicists TDD
Mockist vs. Classicists TDDDavid Völkel
2.3K views33 Folien
JavaScript Unit Testing von
JavaScript Unit TestingJavaScript Unit Testing
JavaScript Unit TestingKeir Bowden
695 views21 Folien
Building XWiki von
Building XWikiBuilding XWiki
Building XWikiVincent Massol
371 views42 Folien
Oren rubin statistical element locator von
Oren rubin   statistical element locatorOren rubin   statistical element locator
Oren rubin statistical element locatorPractiTest
539 views51 Folien
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016 von
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016Oren Rubin
905 views51 Folien
Mobile Developers Talks: Delve Mobile von
Mobile Developers Talks: Delve MobileMobile Developers Talks: Delve Mobile
Mobile Developers Talks: Delve MobileKonstantin Loginov
534 views52 Folien

Similar a Mockist vs. Classicists TDD(20)

Mockist vs. Classicists TDD von David Völkel
Mockist vs. Classicists TDDMockist vs. Classicists TDD
Mockist vs. Classicists TDD
David Völkel2.3K views
JavaScript Unit Testing von Keir Bowden
JavaScript Unit TestingJavaScript Unit Testing
JavaScript Unit Testing
Keir Bowden695 views
Oren rubin statistical element locator von PractiTest
Oren rubin   statistical element locatorOren rubin   statistical element locator
Oren rubin statistical element locator
PractiTest539 views
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016 von Oren Rubin
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016
Oren Rubin905 views
User first! 前端的最後一塊拼圖 von Maxis Kao
User first! 前端的最後一塊拼圖User first! 前端的最後一塊拼圖
User first! 前端的最後一塊拼圖
Maxis Kao284 views
Implementing a JavaScript Engine von Kris Mok
Implementing a JavaScript EngineImplementing a JavaScript Engine
Implementing a JavaScript Engine
Kris Mok12.7K views
Avoiding GraphQL insecurities with OWASP SKF - OWASP HU meetup von Davide Cioccia
Avoiding GraphQL insecurities with OWASP SKF - OWASP HU meetupAvoiding GraphQL insecurities with OWASP SKF - OWASP HU meetup
Avoiding GraphQL insecurities with OWASP SKF - OWASP HU meetup
Davide Cioccia1.3K views
GDG Madrid - Dart Event - By Iván Zaera von Jc Miñarro
GDG Madrid - Dart Event - By Iván ZaeraGDG Madrid - Dart Event - By Iván Zaera
GDG Madrid - Dart Event - By Iván Zaera
Jc Miñarro2.5K views
OpenThink Labs Training : Diving into Java, The Head First Way von Wildan Maulana
OpenThink Labs Training : Diving into Java, The Head First WayOpenThink Labs Training : Diving into Java, The Head First Way
OpenThink Labs Training : Diving into Java, The Head First Way
Wildan Maulana416 views
Angular or Backbone: Go Mobile! von Doris Chen
Angular or Backbone: Go Mobile!Angular or Backbone: Go Mobile!
Angular or Backbone: Go Mobile!
Doris Chen5K views
Test Driven Design by Jonas Auken von agilencr
Test Driven Design by Jonas AukenTest Driven Design by Jonas Auken
Test Driven Design by Jonas Auken
agilencr483 views
Data Persistence in Android with Room Library von Reinvently
Data Persistence in Android with Room LibraryData Persistence in Android with Room Library
Data Persistence in Android with Room Library
Reinvently1.1K views
Cassandra drivers and libraries von Duyhai Doan
Cassandra drivers and librariesCassandra drivers and libraries
Cassandra drivers and libraries
Duyhai Doan2.3K views
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ... von Victoria Schiffer
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...
Victoria Schiffer343 views
Masterin Large Scale Java Script Applications von Fabian Jakobs
Masterin Large Scale Java Script ApplicationsMasterin Large Scale Java Script Applications
Masterin Large Scale Java Script Applications
Fabian Jakobs1.9K views

Más de David Völkel

Die Kunst der kleinen Schritte - Softwerkskammer Lübeck von
Die Kunst der kleinen Schritte - Softwerkskammer LübeckDie Kunst der kleinen Schritte - Softwerkskammer Lübeck
Die Kunst der kleinen Schritte - Softwerkskammer LübeckDavid Völkel
330 views64 Folien
KPI Driven-Development in der Praxis - XP Days Germany von
KPI Driven-Development in der Praxis - XP Days GermanyKPI Driven-Development in der Praxis - XP Days Germany
KPI Driven-Development in der Praxis - XP Days GermanyDavid Völkel
384 views33 Folien
KPI-Driven-Development von
KPI-Driven-DevelopmentKPI-Driven-Development
KPI-Driven-DevelopmentDavid Völkel
187 views31 Folien
TDD Trade-Offs @Softwerkskammer Karlsruhe von
TDD Trade-Offs @Softwerkskammer KarlsruheTDD Trade-Offs @Softwerkskammer Karlsruhe
TDD Trade-Offs @Softwerkskammer KarlsruheDavid Völkel
582 views90 Folien
Global Day of Coderetreat Munich 2018 von
Global Day of Coderetreat Munich 2018Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018David Völkel
151 views74 Folien
Trade Off! von
Trade Off!Trade Off!
Trade Off!David Völkel
520 views22 Folien

Más de David Völkel(12)

Die Kunst der kleinen Schritte - Softwerkskammer Lübeck von David Völkel
Die Kunst der kleinen Schritte - Softwerkskammer LübeckDie Kunst der kleinen Schritte - Softwerkskammer Lübeck
Die Kunst der kleinen Schritte - Softwerkskammer Lübeck
David Völkel330 views
KPI Driven-Development in der Praxis - XP Days Germany von David Völkel
KPI Driven-Development in der Praxis - XP Days GermanyKPI Driven-Development in der Praxis - XP Days Germany
KPI Driven-Development in der Praxis - XP Days Germany
David Völkel384 views
TDD Trade-Offs @Softwerkskammer Karlsruhe von David Völkel
TDD Trade-Offs @Softwerkskammer KarlsruheTDD Trade-Offs @Softwerkskammer Karlsruhe
TDD Trade-Offs @Softwerkskammer Karlsruhe
David Völkel582 views
Global Day of Coderetreat Munich 2018 von David Völkel
Global Day of Coderetreat Munich 2018Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018
David Völkel151 views
Die Kunst der kleinen Schritte - XP Days Germany 2018 von David Völkel
Die Kunst der kleinen Schritte - XP Days Germany 2018Die Kunst der kleinen Schritte - XP Days Germany 2018
Die Kunst der kleinen Schritte - XP Days Germany 2018
David Völkel289 views
Global Day of Coderetreat Munich 2017 von David Völkel
Global Day of Coderetreat Munich 2017Global Day of Coderetreat Munich 2017
Global Day of Coderetreat Munich 2017
David Völkel423 views
Baby Steps TDD Approaches von David Völkel
Baby Steps TDD ApproachesBaby Steps TDD Approaches
Baby Steps TDD Approaches
David Völkel3.3K views
Clean Test Code (Clean Code Days) von David Völkel
Clean Test Code (Clean Code Days)Clean Test Code (Clean Code Days)
Clean Test Code (Clean Code Days)
David Völkel2K views

Último

Advanced API Mocking Techniques von
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
19 views11 Folien
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft... von
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...Deltares
7 views18 Folien
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... von
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...Deltares
7 views28 Folien
The Era of Large Language Models.pptx von
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptxAbdulVahedShaik
5 views9 Folien
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... von
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...Deltares
17 views12 Folien
Navigating container technology for enhanced security by Niklas Saari von
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariMetosin Oy
13 views34 Folien

Último(20)

DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft... von Deltares
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
Deltares7 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... von Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares7 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... von Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares17 views
Navigating container technology for enhanced security by Niklas Saari von Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy13 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... von Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
Airline Booking Software von SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta5 views
Fleet Management Software in India von Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx von animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... von Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke28 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... von TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin95 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... von 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...
sparkfabrik5 views
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action von Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 views

Mockist vs. Classicists TDD