tdd er død. lenge leve tdd!
TRANSCRIPT
TDD er død. Lenge leve TDD!
Kjetil Klaussen
Capitech AS
Hva
Hvordan
Nekrolog
Test-Driven Development
Kunsten å velge
enkleløsninger
Kunsten
å kunne
endre
mening
Plan APlan BPlan C
First, solve the problem.
Then, write the code.
— John Johnson
Rød
GrønnRefaktorer
Make it work.
Make it right.
Make it fast.
- Kent Beck
Kode
Debug
Debug-Driven Development
Debug
Be humble about what
tests can achieve.
Tests don’t improve
quality: developers do.
- James O. Coplien
System-tester
If it doesn’t work,
it doesn’t matter how
fast it doesn’t work.
— Mich Ravera
Backend
IIS Apache Node
RDBMS NoSQL ESB
Frontend MobilWeb Windows
NTFS
Enhetstester
Backend C# Java Ruby Python JavaScript
Storage RDBMS NoSQL ESB MSMQ RabbitMQ
Frontend
AndroidWeb
JavaScript
HTML/CSS
WPF
XAML
C#
XML
Java
TCP Named pipesHTTP Web Sockets
TCP Named pipesHTTP Web Sockets
HTML/CSS XAML XML GUI
UI
Backend C# Java Ruby Python JavaScript
Frontend
AndroidWeb
JavaScript
WPF
C# Java
TDD: Test-først enhetstesting
Backend C# Java Ruby Python JavaScript
Frontend
AndroidWeb
JavaScript
WPF
C# Java
Proxy Facade
Mediator Strategy Factory Facade State
Observer Composite Strategy Visitor
Repository Adapter Factory Memento
Ekte vare Billig kopi
Backend C# Java Ruby Python JavaScript
Controller
RequestModel
ResponseModel
Repository
Domenemodell
x
y
z
Funksjonelle tester
BDDBehaviour-Driven Dev
ATDDAcceptance Test-Driven Dev
SbESpecification by Example
SDDStorytest-Driven Dev
AATAgile Acceptance Testing
EDDExample-Driven Dev
Backend C# Java Ruby Python JavaScript
Storage RDBMS NoSQL ESB MSMQ RabbitMQ
Frontend
AndroidWeb
JavaScript
HTML/CSS
WPF
XAML
C#
XML
Java
TCP Named pipesHTTP Web Sockets
TCP Named pipesHTTP Web Sockets
Stop obsessing about
unit tests, embrace
backfilling of tests
when you're happy with
the design, and strive for
overall system clarity
as your principle pursuit.
- David Heinemeier Hansson
Backend C# Java Ruby Python JavaScript
Storage RDBMS NoSQL ESB MSMQ RabbitMQ
Frontend
AndroidWeb
JavaScript
HTML/CSS
WPF
XAML
C#
XML
Java
TCP Named pipesHTTP Web Sockets
TCP Named pipesHTTP Web Sockets
Verktøy & Bibliotek
Enhetstesting
• C#
• XUnit.net
• NCrunch
• TestDriven.Net
• JavaScript
• Jasmine
• Karma
• Karma Test Adapter for Visual Studio
• PhantomJS
Funksjonelle tester
• SpecFlow
• Coypu
• Firefox
Any fool can write code
that a computer can
understand.
Good programmers write
code that humans can
understand.
- Martin Fowler