Model-based testing as a black-box testing technique has grown in importance. The models used represent the relevant features of the system under consideration (SUC), and can also be used as a basis for generating test case sets. In this work we introduce a novel representation of statecharts which subsumes common features of different statechart variants. Based on this model and well-defined test criteria, efficient algorithms are introduced for generating test case sets. Those test case sets are minimized to cover both the model of SUC and its inversion, i.e., the complementary model. Categories and Subject Descriptors D.2.5 [Software Engineering]: Testing and Debugging; H.1 [Information Systems Applications]: Models and principles General Terms Algorithms, Reliability Keywords Fault Modeling, Test Case Generation, Test Coverage, Test Optimization, Statecharts