1. A computer-implemented method comprising: using a system-definition-modeling device comprising a processor and a memory, building a model of an application, and a model of a system comprising one or more components, wherein the application, for which the model of the application is built, is to be installed in the system; based on the building, performing a logical deployment evaluation, wherein the evaluation involves comparing the model of the application to the model of the system to determine whether the application could be installed in the system; building a model of a test environment that includes at least some of the components in the system; determining a physical deployment to the test environment; accessing the model of the application; accessing the model of the system; accessing the model of the test environment; and automatically generating, with the system definition-modeling-device, an installation specification for the application that facilitates installation of the application onto the system in the test environment, the installation specification being derived at least in part from the accessed model of the application, the accessed model of the system, and the accessed model of the test environment; performing physical deployment of the application to the test environment; running one or more tests to determine functionality of the application; generating a plurality of device class installation specifications for the application, each of the plurality of device class installation specifications being for a different one of a plurality of classes of devices in the test environment on which the application could be installed.