Model-based testing suggests generating test cases from a model representing relevant features of a system under consideration. The design of large systems usually requires the decomposition of the model into several hierarchical layers. However, test case generation necessitates a fully resolved model by replacing the refined components with their subcomponents. It is evident that the "deeper" the model hierarchy, the longer the test sequences and the greater their number necessary for complete test coverageincreasing test costs. On the other hand, "thorough" testing using long test sequences often enables detection of critical faults. To solve this conflict, this thesis presents layer-centric testing (LC). Furthermore, LC is combined with a novel selection strategy to identify layers that are more likely to hide latent faults than others. The resulting selective layer-centric testing (SLC) concentrates test effort on these "neuralgic" components to produce optimized test suites. Compared to the conventional, full resolution approach observed in a large case study drawn from a commercial web-based application, LC has been shown capable of uncovering about 80% of the faults with about 20% of the test effort. SLC is capable of reducing the test effort by an additional 30% while assuring the same level of overall reliability.