This paper describes an automatic approach for selecting tests from a test suite to validate the changes made to an extended finite state machine (EFSM). EFSMs supporting variables over commonly used data types including booleans, numbers, arrays, queues, and records, and communicating with the environment using parameterized messages are considered. Changes to the EFSM add/delete/replace one or more transitions. Tests are described using a sequence of input and output messages with parameter values. We introduce a class of fully-observable tests. The description of a fully-observable test contains all the information to accurately determine the transitions executed by the test. Interaction among the EFSM transitions captured in terms of a compatibility relation is used along with a given test description to automatically identify fully-observable tests. A procedure is described for selecting a test for a given change based on accurately predicting if the test executes the change transition. We then describe how several tests can be simultaneously selected by grouping them based on overlap of their descriptions. The proposed approach has been implemented using a theorem prover and applied to several examples including protocols and web services with encouraging results.