1. Study on the software by given documentation like requirements, use cases, project plan, test plan, etc... If there is lack of documentation, work on software by executing exploratory testing and define as much as possible paths as a use case flow.
2. This step also may be called naming test cases in a given naming convention context. Identifying the test cases that represents the each path of the defined use cases is realized.
3. A detailing step follows naming. The test case is detailed by explaining the steps that user should do for test case execution. The "Cases" are made singular by adding several inputs.
A test case should contain following features at least;
- Name
- Description
- Prerequisites (Like user must logged in etc...)
- Steps
A test case step should contain;
- Description
- Input
- Expected result