Abstract :
This paper describes the design of the development test environment for the mission data processing and control subsystem (MPCS), code-named "Chill." MPCS Chill is currently in development to support the Mars Science Laboratory (MSL), scheduled for launch in 2009. Chill is a Linux-based ground data system which includes both telemetry and command functions. The development test configuration consists of five levels: unit testing, end-to-end testing, user interface testing, external interface testing, and installation/deployment testing. This paper will focus primarily on the automation of the lowest two levels, unit and end-to-end testing. MPCS Chill\´s continuous integration process is provided by its adaptation of CruiseControl, which is an open source framework for a continuous build process. CruiseControl is configured on the dedicated build machine, a Linux workstation, which is the target platform. Chill has configured CruiseControl into two project loops: the first fetches the latest version of software from a central repository, builds it, and performs unit tests (JUnit). The second loop runs scripted end-to-end tests, which are performed on the results of the first build. Results are reported via email notification and a web interface provides the details of the current and previous builds for each loop. The evolution of test definition is: requirements feed into design, design leads to use cases, and tests are derived from use cases, thus leading to the mapping of tests to requirements. Unit tests operate on internal components, while end-to-end tests operate at a higher level of abstraction and therefore can be traced to requirements. The evolutionary process ensures that we are testing to requirements. MPCS Chill presents a model for testing Java-based distributed ground systems in a semi-automated manner. The MPCS model is highly applicable to other projects looking to automate their testing in addition to achieving continuous integration.
Keywords :
Java; Linux; Mars; aerospace computing; aerospace control; CruiseControl; Java-based distributed ground data system; Linux-based ground data system; MPCS Chill; Mars mission data processing; dedicated build machine; end-to-end testing; evolutionary process; external interface testing; installation-deployment testing; tests mapping; unit testing; user interface testing; Automatic testing; Data processing; Data systems; Java; Laboratories; Mars; Performance evaluation; Process control; System testing; Telemetry;