This paper describes key elements of automated testing that need to be
considered, models for testing that can be used for designing a test automation architecture, and
considerations for successfully combining the elements to form an automated test environment.
The paper first develops a general framework for discussion of software testing and test
automation. This includes a definition of test automation, a model for software tests, and a
discussion of test oracles. The remainder of the paper focuses on using the framework to plan for
a test automation architecture that addresses the requirements for the specific software under test
(SUT).