This document provides an introduction to test driven development (TDD). It begins by clarifying that TDD is a design strategy, not just a testing strategy, and is intended for developers rather than testers. The core components of TDD - unit tests, functional tests, and integration tests - are explained. Benefits of TDD include less rework, regression testing due to refactoring, and faster development. Challenges include scaling TDD to larger projects and testing interfaces. The document concludes by emphasizing that code without tests is "broken by design."
HTML Injection Attacks: Impact and Mitigation Strategies
Introduction to Test Driven Development
1. Introduction to
Test Driven Development
Sivasubramaniam Arunachalam
Mar 29, 2014
@sivaa_in
http://barcampbangalore.org/bcb/bcb15/introduction-to-test-driven-development-tdd
75. Dis-advantages
(You will lose)
• Ability to say you are "done" before testing all your code.
• Opportunity to learn through debugging.
• Flexibility to ship code that you aren't sure of.
• Freedom to tightly couple your modules.
• Option to skip writing low level design documentation.
• Stability that comes with code that everyone is afraid to change.
• Capability to write hundreds or thousands of lines of code before
running it.
79. Debugging is twice as hard as writing
the code in the first place.
- Brian Kernighan
80. Debugging is twice as hard as writing
the code in the first place.
Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
- Brian Kernighan