Tag Info

New answers tagged

0

In my experience the biggest hurdle for TDD is that you need a clear specification and, preferably, traceability between specification items and tests so that if the specification is revised you know which tests to change. Sadly in many organisations that I have worked with the specification is released at Issue 1 between a week and a month after the code ...


0

I thought TDD would be impractical / not feasible for me in general because I am working with a 16bit uC. There is no open source test harness that directly compiles in my build environment and the proprietary solutions are pricey. The rest of my answer will be W.R.T. TDD in embedded C. I am working through James Grenning's book and he uses cpputest and ...


0

Make each test very small and focused. Avoid making tests depend on each other, either explicitly or implicitly. Dependencies among tests are a path to pain, expense, fragility, and complication. I have never seen an exception to this. Ever. Make each test express its intent very clearly. Pay attention to failure messages. Make each failure message as ...


1

TDD focuses on very small pieces of code. Classes or methods or (in some cases) very small groups of tightly collaborating objects. There are test-driven techniques that focuses on a larger scope. Two of these are Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD). To my eye, these approaches are similar in intent, though BDD ...


1

The one situation where I've found TDD unworkable: If other people are changing the same code without using TDD, or without at least keeping the existing tests current as they change the code. You could count that as a disadvantage: You can't effectively adopt it by yourself if you're working with others on the same codebase.


1

You should teach developers to write tests Test writing is time consuming It's complicated to judge test completeness TDD may not work due to project workflow and features TDD doesn't give you confidence that the code works You should rewrite tests too after changing some API, for example.


-1

For one it may be that the software will be developed to comply with the predefined tests only...



Top 50 recent answers are included