Abstract-Software metrics is developed and used by the various software organizations for evaluating and assuring software code quality, operation, and maintenance. Software metrics measure various types of software complexity like size metrics, control flow metrics and data flow metrics. These software complexities must be continuously calculated, followed, and controlled. One of the main objectives of software metrics is that applies to a process and product metrics. It is always considered that high degree of complexity in a module is bad in comparison to a low degree of complexity in a module. Software metrics can be used in different phases of the software development lifecycle. This paper reviews the theory, called "software complexity metrics", and analysis has been done based on static analysis. We try to evaluate and analyze different aspects of software metrics in structural testing which offers of estimating the effort needed for testing.