1. A testbed for testing health of software; an input model representing an input system used in conjunction with the software; a hardware model representing one or more hardware components used in conjunction with the software; and a resource modeler coupled to the input model and the hardware model, the resource modeler configured to estimate effects on the software of conditions of the hardware components, the input system, or both.