Software Development - Software Testing

Test-Driven Development

URL Description
Beginning Test-Driven Development in a Legacy System

Code Smells

  • Duplicated Code
  • Long method
  • Large class (God Object)
  • Feature envy (uses too much of another class)
  • Inappropriate intimacy (dependencies on implementation details of another class)
  • Lazy Class
  • Contrived complexity
  • Long identifiers
  • Excessive use of literals
HtmlUnit

HtmlUnit is a "GUI-Less browser for Java programs". It models HTML documents and provides an API that allows you to invoke pages, fill out forms, click links, etc... just like you do in your "normal" browser.

InsideOut - TDD Using C#

  1. TDD gives an opportunity to think as user of your code instead of implementer of dev code.
  2. Reduce bugs by identifying all the use case scenarios to reflect intent.
  3. Less-n-less time on debugging
  4. Avoid collateral damage.
  5. Helps you achieve YAGNI - You Aren't Gonna Need It, saves you from writing code you don't need.

JustMock Telerik
Top 5 TDD Mistakes
  1. Not using a Mocking Framework
  2. Too much test setup
  3. Asserting too many elements
  4. Writitng tests retrospectively
  5. Testing too much code