Task: Develop test cases for Test Driven Development
This task focuses on the creation of a unit test plan.
Purpose
The purpose of a unit test plan is to give guidelines to the modelers and testers on how to properly test a component during the Object Analysis phase of development. 
Relationships
RolesPrimary: Additional: Assisting:
InputsMandatory: Optional: External:
  • None
Outputs
Main Description
This task creates the unit test plan or suite based upon the context of the model being built in the current activity. The model could be the Platform Independent Model or the Platform Specific Model.
Steps
Understand the expected behavior of the model you are designing
It is very important to understand how the piece of the model that you are designing is expected to work in the overall system, so that you can design accurate tests for the model.
Capture relevant test cases and data
For the newly added functionality or optimization, identify test cases that verify the correctness of the feature. Each test case should include preconditions, data, test flow, and expected results and outcomes.
Ensure you have Quality of Service tests as well

Part of the correctness of functionality is that it adheres to quality of service (QoS) requirements as well. Including worst case performance, memory complexity, access time, resiliency, and so on. Test cases should be added to ensure these qualities as well as the basic functionality.

Violate your assumptions
All software has preconditions, post-conditions and invariants. Robust software does the right thing even when such assumptions are invalidated. These should be represented as test cases as the functionality is added.
Update existing test cases as necessary
As new functionality is added, it often requires refactoring of existing software. This often requires some modification of the existing test cases to ensure that they continue to run properly.
Perform coverage analysis to ensure test case coverage is adequate
This is very difficult to do by hand.  It is best to perform coverage analysis using test coverage tools.
Specify tester steps required for test execution
The tester must know how to set up, perform, and analyze the test execution.
Examine test case set for completeness, accuracy, consistency, and correctness
Have you covered all the different kinds of tests? Is the test environment adequately described?