SlideShare a Scribd company logo
Lessons Learnt from
Test-Driven Development
By: Anand Powar
Once Upon A Time
Our product has got quality issues
Manager Developer
We lack a good QA, lets hire one
6 Months Later...
Our development is slowing down
Manager Developer
There is just too much workload,
we need to introduce a shadow resource
“One bad programmer can easily
create two new jobs a year.”
David Parnas
The Problem
?
Good
Cheap Fast
No Silver Bullet
Good
Cheap Fast
However
A bit better
A bit cheaper A bit faster
Test-Driven
Development
Test Driven Development
Write
new test
New
require-
ment
Run
tests
Write
new
code
Run
tests
Refactor
Run
tests
Make it Fail
Make it Work
Make it Better
It’s a lot like going to the gym
Build your confidence
Use TDD where it's suitable, mix other styles
Only test things that can possibly break
Avoid bad design trade-offs
Yes, we still need QA
“Imperfect tests, run frequently, are
much better than perfect tests that
are never written at all”
Martin Fowler
Practical
Lego Game
Acceptance criteria:
It should be 4 inches tall
Our hypothesis: 4 inches is the ideal size
It should be able to walk
At least 2 legs
It should be able to jump
If I drop it from a height of 2 inches, it should not break
Build a toy dinosaur
5 minutes
Children want a bigger dinosaur
6 inches tall
Time to market
We need to beat the competition
Market Feedback
ASAP
Can your dinosaur still jump?
“If you don’t like unit testing your
product, most likely your customers
won’t like to test it either.”
Anonymous
Thanks
Get connected
http://in.linkedin.com/in/anandpowar
http://twitter.com/anandpowar

More Related Content

PPT
Executable Specifications with FitNesse and Selenium
PPTX
Creating change from within - Agile Practitioners 2012
PPTX
Teamleader testcon 2019
PDF
Being vs Doing agile
PPS
Test Driven Development by Sameer Arora
PPTX
A3 Process intro
PDF
Why is it so hard? Agile adoption anti-patterns, how to spot them and what to...
PDF
Tester vs Developer
Executable Specifications with FitNesse and Selenium
Creating change from within - Agile Practitioners 2012
Teamleader testcon 2019
Being vs Doing agile
Test Driven Development by Sameer Arora
A3 Process intro
Why is it so hard? Agile adoption anti-patterns, how to spot them and what to...
Tester vs Developer

What's hot (20)

PPTX
Building a culture of quality real world examples #CAST2015
PDF
Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...
PDF
Repeating the "Quality Debate" @ Agile Gurugram 2019 Conference
PPT
Kens Scrum Presentation
PPT
Scrum And The Enterprise
PDF
Software quality
PDF
Maximizing your professional value, from junior to leader
PPTX
2013 09-11 java zone - extreme programming live
PPTX
Developer testing webinar
PDF
Test driven, why not?
PPTX
Software Quality Assurance & Testing
PPTX
Testers developers think differently
PDF
Lessons learnt in ten years of agile testing
PDF
How to Ace Your Scrum Master Interview
PDF
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
PPTX
Agile testing experiments
PDF
How To Do Kick-Ass Software Development, by Sven Peters
PPTX
Agile Testing - What, why and how.
PPTX
Become a Quality Enabler
PDF
[XP Day Vietnam 2015] XP is not windows XP
Building a culture of quality real world examples #CAST2015
Agile Gurugram 2019 Conferecne | A "Quality" Debate - Rethinking the mindset ...
Repeating the "Quality Debate" @ Agile Gurugram 2019 Conference
Kens Scrum Presentation
Scrum And The Enterprise
Software quality
Maximizing your professional value, from junior to leader
2013 09-11 java zone - extreme programming live
Developer testing webinar
Test driven, why not?
Software Quality Assurance & Testing
Testers developers think differently
Lessons learnt in ten years of agile testing
How to Ace Your Scrum Master Interview
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
Agile testing experiments
How To Do Kick-Ass Software Development, by Sven Peters
Agile Testing - What, why and how.
Become a Quality Enabler
[XP Day Vietnam 2015] XP is not windows XP
Ad

Viewers also liked (20)

PDF
200 Bài tập Tích phân - Megabook.vn
PDF
Apple ipad 2 128gb
PDF
Đề thi thử ĐH và đáp án môn Toán học lần 2 (2013) trường THPT chuyên Nguyễn H...
PDF
Sparql a simple knowledge query
PDF
Đề thi thử ĐH môn Hóa lần 1 khối A, B (2014) THPT Nguyễn Chí Thanh, Huế - Meg...
PDF
Distributed tracing - get a grasp on your production
PDF
Bai tap chuyen de 7
DOCX
Aamir Khan's Dangal: An Alternate Review
PPTX
UGC NET- ENVIRONMENTAL SCIENCE
DOCX
Charade & Shadows of India's Currency Remonetization 2016
PDF
Đáp án chính thức môn Sinh - Khối B - Kỳ thi Đại học năm 2010
PDF
Đáp án chính thức môn Sinh - Khối B - Kỳ thi Đại học năm 2011
PDF
Đáp án chính thức môn Sinh - Khối B - Kỳ thi Đại học năm 2012
PPT
Units conversion CBSE UGC JRF/NET
PDF
Chuyên đề Ngữ âm Tiếng Anh tập 2 - Megabook.vn
PDF
Environmental-pollution-control-by-CS RAO
PDF
Chuyên đề Toán học chinh phục phương trình và bất phương trình vô tỷ bằng phư...
PDF
CHUYÊN ĐỀ :TỌA ĐỘ PHẲNG - PHƯƠNG PHÁP VECTƠ
PDF
Distributed Tracing with OpenTracing, ZipKin and Kubernetes
PDF
Tập 5 chuyên đề Toán học: Hình không gian - Megabook.vn
200 Bài tập Tích phân - Megabook.vn
Apple ipad 2 128gb
Đề thi thử ĐH và đáp án môn Toán học lần 2 (2013) trường THPT chuyên Nguyễn H...
Sparql a simple knowledge query
Đề thi thử ĐH môn Hóa lần 1 khối A, B (2014) THPT Nguyễn Chí Thanh, Huế - Meg...
Distributed tracing - get a grasp on your production
Bai tap chuyen de 7
Aamir Khan's Dangal: An Alternate Review
UGC NET- ENVIRONMENTAL SCIENCE
Charade & Shadows of India's Currency Remonetization 2016
Đáp án chính thức môn Sinh - Khối B - Kỳ thi Đại học năm 2010
Đáp án chính thức môn Sinh - Khối B - Kỳ thi Đại học năm 2011
Đáp án chính thức môn Sinh - Khối B - Kỳ thi Đại học năm 2012
Units conversion CBSE UGC JRF/NET
Chuyên đề Ngữ âm Tiếng Anh tập 2 - Megabook.vn
Environmental-pollution-control-by-CS RAO
Chuyên đề Toán học chinh phục phương trình và bất phương trình vô tỷ bằng phư...
CHUYÊN ĐỀ :TỌA ĐỘ PHẲNG - PHƯƠNG PHÁP VECTƠ
Distributed Tracing with OpenTracing, ZipKin and Kubernetes
Tập 5 chuyên đề Toán học: Hình không gian - Megabook.vn
Ad

Similar to Lessons learnt from test driven development (20)

PPTX
Test-Driven Development In Action
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
PDF
A Not-So-Serious Introduction to Test Driven Development (TDD)
PPTX
Test Driven Development
PPTX
Test Driven Development
PPTX
A Brief Introduction to Test-Driven Development
PPT
Automated Unit Testing and TDD
PPT
Test-Driven Development
PDF
Test Driven Development
PDF
Test-Driven Development Effectiveness - AgileEE 2016
PPTX
Test-Driven-Development.pptx
PDF
PPTX
TDD in Agile
PDF
Test Driven Development (TDD)
PDF
Test Driven Development (TDD)
Test-Driven Development In Action
Test driven development
Test driven development
Test driven development
Test driven development
Test driven development
Test driven development
A Not-So-Serious Introduction to Test Driven Development (TDD)
Test Driven Development
Test Driven Development
A Brief Introduction to Test-Driven Development
Automated Unit Testing and TDD
Test-Driven Development
Test Driven Development
Test-Driven Development Effectiveness - AgileEE 2016
Test-Driven-Development.pptx
TDD in Agile
Test Driven Development (TDD)
Test Driven Development (TDD)

Recently uploaded (20)

PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Transform Your Business with a Software ERP System
PPTX
Introduction to Artificial Intelligence
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
L1 - Introduction to python Backend.pptx
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Digital Strategies for Manufacturing Companies
PPTX
ai tools demonstartion for schools and inter college
PDF
medical staffing services at VALiNTRY
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Nekopoi APK 2025 free lastest update
PPTX
history of c programming in notes for students .pptx
PDF
System and Network Administration Chapter 2
PPT
Introduction Database Management System for Course Database
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Transform Your Business with a Software ERP System
Introduction to Artificial Intelligence
Operating system designcfffgfgggggggvggggggggg
L1 - Introduction to python Backend.pptx
Upgrade and Innovation Strategies for SAP ERP Customers
Digital Strategies for Manufacturing Companies
ai tools demonstartion for schools and inter college
medical staffing services at VALiNTRY
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
How to Migrate SBCGlobal Email to Yahoo Easily
Which alternative to Crystal Reports is best for small or large businesses.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Nekopoi APK 2025 free lastest update
history of c programming in notes for students .pptx
System and Network Administration Chapter 2
Introduction Database Management System for Course Database
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free

Lessons learnt from test driven development

Editor's Notes

  • #2: Hello everyone, My name is Anand and today I will be talking about 1. my experience while working with teams using TDD And later 2. We will follow this by playing fun game using lego bricks
  • #3: Let me tell you a story, One day my manager had a meeting with the client where the client raised quality concerns
  • #4: There was another complaint And again, I told him it’s not my fault And then we hired an intern
  • #5: Thus proving who developed the concept of information hiding in modular programming (encapsulation)
  • #6: So, you see, in order to achieve good quality and have a faster development we sacrificed on the 3rd angle: cheap In software development , we all have been looking for a technique which could help us produce good, fast and cheap s/w Do you know one ?
  • #7: what i have realized is that there is no silver bullet
  • #8: In Agile, there are a number of practices which can help make the s/w a bit better, a bit faster and a bit cheaper And TDD being one of them.
  • #9: This is the TDD cycle, Here you write a unit test that doesn‘t work Then you Make the test work quickly (committing whatever sins necessary) And then you eliminate all of the duplication created in merely getting the test to work Loose coupling
  • #10: You know it is good for you, all the arguments make sense, so you start working out. There's an initial rush, which is great, but after a few days you start to wonder if it is worth the trouble. You're taking an hour out of your day to change your clothes and run on a treadmill and you're not sure you're really gaining anything other than sore legs and arms. Then, after maybe one or two weeks, just as the soreness is going away, a Big Deadline begins approaching. You need to spend every waking hour trying to get "useful" work done, so you cut out extraneous stuff, like going to the gym. You fall out of the habit, and by the time Big Deadline is over, you're back to square one. If you manage to make it back to the gym at all, you feel just as sore as you were the first time you went. You do some reading, to see if you're doing something wrong. You begin feel a little bit of irrational spite toward all the fit, happy people extolling the virtues of exercise. You realize that you don't have a lot in common. They don't have to drive 15 minutes out of the way to go to the gym; there is one in their building. They don't have to argue with anybody about the benefits of exercise; it is just something everybody does and accepts as important. When a Big Deadline approaches, they aren't told that exercise is unnecessary any more than your boss would ask you to stop eating. http://stackoverflow.com/a/69263
  • #11: Practice.
  • #12: Remember the TDD is not a silver bullet. Depending upon the situation you should consider other styles: plain unit tests, BDD, ATDD and even manual testing http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html http://martinfowler.com/articles/is-tdd-dead/
  • #13: We need not achieve 100% code coverage so my advise is to write tests for code that is prone to change. Ignore extensively 3rd party libraries and other reusable components As a developer you aren't paid to write tests, you just write enough to be confident
  • #14: TDD is not just a testing technique but also a way to design your application architecture. When starting with TDD it's good to have a mentor who is knows about the common mistakes that developers make. Do pair programming with them.
  • #15: Last but not the least
  • #17: form groups of 5-6 people Identify observers
  • #23: Did you unit test? Remind about the initial acceptance criteria. What did we learn?