Testing of software is broadly divided into three types i.e., code based, model based and specification based. To find faults at early stage, model based testing can be used in which testing can be started from design phase. Furthermore, in this chapter, to generate new test cases and to ensure the quality of changed software, regression testing is used. Early detection of faults will not only reduce the cost, time and effort of developers but also will help finding risks. We are using structural metrics to check the effect of changes made to software. Finally, the authors suggest identifying metrics and analyze the results using NDepend simulator. If results show deviation from standards then again perform regression testing to improve the quality of software.