Monday, January 21, 2019

TDD vs. Create Test Case After Code

Test Case After Code
Test Case Before Code (TDD)
-         Focus is on artefacts
-         Writing tests after the code is a combination of recall of what has been coded and re-reading.
-         Relies much more on the discipline of the coder.
-         As a coder you may end up writing more code than is necessary when doing a test case after code
-         Requires coder to have a clue about where they are heading with the code.
-         It is the beginning of a detailed code design
-         We use the tests to literally drive function into the code, so that the fit between the test and code is much higher.
-         By writing a test before we are challenging ourselves to pass it.
-         TDD creates a narrowed focus, a narrow bandwidth to solve the issue on hand thereby ensuring optimized solution.

By writing test first, we force ourselves to design the program to be both testable as well as callable. This leads the class to be decoupled from its surroundings.

Diagram courtesy: Cohn

  • TDD takes about 15% longer than not doing TDD. But there is evidence that TDD leads to fewer defects. Bugs go down by 24% to 38%.
  • TDD may initially take a longer time, but will benefit the team in terms of reduced defects, reduced bug fixing and maintenance time.



No comments:

Post a Comment

Full capabilities of ChatGPT 4 O (O for Omni) - From Openai.com

Omni, O, has multimodal capabitlies, which means it can take text, voice or video as an input and serve audio/text/image output (there's...