The statecharts formalism is a graphical language that has been successfully used for specifying reactive and real-time systems. In this dissertation, we discuss two fundamental requirements engineering problems in the development of reactive and real-time systems based on statecharts: verification and testing. First we present a symbolic model checking approach to formal verification of statecharts. Symbolic model checking is a proven successful technology for the automatic verification of finite state machines. We show how CTL model checking, RTCTL model checking, and the quantitative analysis can be applied to statecharts and discuss how they can be implemented in the symbolic model checker SMV. Our approach enables the verification of properties ranging from temporal properties of safety and liveness to time-bounded properties and the computation of several timing information for reactive and real-time systems. Second we present a specification-based testing method for reactive systems using statecharts. We show that statecharts can be conservatively transformed into flow graphs modeling the flow of both control and data in statecharts. The transformation enables the application of conventional data flow analysis techniques to the selection of test sequences from statecharts. The resulting set of test sequences provides the capability of determning whether an implementation establishes the desired flow of data prescried in statecharts.