In the summer of 2009 I got the amazing opportunity to be an intern at the Jet Propulsion Lab as a rising junior. To make it even better, I was lucky enough to be part of the most exciting, scientifically promising, and coolest space project that was happening anywhere in the world - The Mars Science Laboratory.
I was assigned as an Intern to the Surface Sampling Subsystem (SSS) and was Mentored by Daniel Limonadi and Jason Feldman. Daniel was the Validation and Verification Phase Lead for SSS, and Jason Feldman was the JPL project manager for the Sample Analysis at Mars (SAM) instrument. The SSS system includes the rovers arm, all of the attachments and appendages on the arm (including everything on the turret), the spare drill bits on the front over the rover, and the analytical instruments inside the rover which will process the regolith (soil) samples. The purpose of my project at JPL was to perform software testing for the two analytical instruments which were onboard the Mars Science Laboratory. These two instruments are called SAM and CheMin.
SAM is the largest, heaviest, and most expensive instrument on-board the rover, and will also be the most capable scientific instrument ever sent to the surface of another planet. It contains a quadrapole mass spectrometer, a tunable laser spectrometer, and a six-column gas chromatograph. It really is a very impressive chemistry laboratory in a box. A box which is now inside the rover Curiosity, and will soon be on Mars.
The other analytical instrument on MSL is called the Chemistry and Minerology instrument, or better known as CheMin.
I did functional level testing of the software in two different ways. I did most of my work on a software simulation of the hardware and operating system. This system was called WSTS (Work Station Test Setup), and allows developers to quickly test software right from their desks. This is a huge benefit to expedite development. I also tested software on hardware simulations, which were kept in the test-bed and were ESD sensetive. This allowed me to compare my results, and I could not only test to make sure that the current software release for the two instruments was functional, but also evaluate the fidelity of WSTS by comparing the results.
I didn't always have an easy time with this project, I had a lot of learning to do about software testing and testing in general as I designed and developed the tests. I also needed to learn how to use a lot of tools in order to actually perform the tests. I was able to use scripts to turn command lists into batches that could run so I did not have to enter each one individually.