Gathering the stake holders requirement, analyzing the business logic and writing the use cases to drill down the requirement to middle level understanding and then writing test cases to make sure that maximum possible coverage is attained with all quality aspects