Showing posts with label advantages of test driven development. Show all posts
Showing posts with label advantages of test driven development. Show all posts

Monday, April 13, 2020

Test driven development


  • It is just about writing the test before the program.
  • It’s a testing technique as well as a design Technique.
  •  In the end, there is no code without a test.
  • The developer can tell at any time.
  • Unit Tests and Refactoring are the tools of TDD.

Unit Tests:

´  Easy to read & understand.

´   Execute very quickly.
´   Independent of execution order.
´   Test specific aspects of a functionality.
´  Tests a very small section of code isolation.
     Rapid feedback

Refactoring


´  Take existing code & change it more efficient.
´  Change the internal structure of  code without changing its external
´  behavior. Ex :•ab + ac = a(b+c)
´   Same result, but the expression is simplified.

Advantages


´  Gets running code very quickly.
´  Development in small steps. This will make debugging easier since we will have small code chunks to debug. 
´  Produce fully testable code.
´  Design to the specification, don’t over engineer

Disadvantages


´  “Write test, write code to pass test, repeat” loop is   overly strict.
´   Setup requires some what complex wiring.
´  Causes people to take paths they wouldn’t otherwise