Jet Propulsion Laboratory (JPL) creates one of a kind spacecraft that are sent on missions to objects in our solar system. Some go to planets, others to asteroids and some orbit the Earth or target our Moon. Some of the spacecraft fly by numerous solar system objects; while others orbit an object. A few actually drive across the rocky planets. Each one of these spacecraft has a unique set of instruments and a unique computer operating system called flight software (FSW).
At JPL there is ground software that simulates the FSW commands to make sure that the commands will not harm the spacecraft. Typically, the number of commands makes it impossible to fully test their impact/effect on the spacecraft. Testing this volume of command states is impossible in the time frame that is required to command the spacecraft. This presentation outlines the various ways testing has evolved to adequately test the software. The science of testing involves understanding spacecraft. The art deals with picking the right set of tests to build and automate. The presentation includes videos that show the spacecraft testing and describe the difference between hardware simulation and software simulation as it is practiced at JPL.
Video producer: http://www.associationforsoftwaretesting.org/