Tuesday, May 24, 2011

The Sludge Test, Blackbox Software Testing, and Reverse Engineering

Remember back in 9th grade physical science class, there was a lab called the sludge test? We were given a beaker with an unknown mixture of materials (sludge), and had to scientifically deduce its make-up by using methods of physical and chemical decomposition we had learned in class. There was a list of possible substances (water, salt, alcohol, etc), and their extraction methods (boiling, filtration, titration, etc). Based on the combination of tests we performed, we could make educated guesses with some degree of certainty as to make-up of the substance in the beaker.

Little did I know, this would be the basis of blackbox software testing (and reverse engineering) I would use in my career down the road.

At work recently, my team needed to find the attributes that went into the calculation of a GPS value called "uncertainty." Since this is established in a lower level of software, provided by one of our suppliers, we do not have access to the code which calculates the value. When tasked with investigating this value, I immediately thought about the sludge test. I began thinking about possible parameters which could affect the value, and ways to verify their presence.

One of the values which sprang to mind was SNR (signal to noise ratio). I came up with the idea of splitting a strong GPS signal to a very low level, and observing the effect on the uncertainty value. If it drops lower each time the signal is split further (with all other factors held constant), we can safely assume that signal quality is included in the calculation.

(Check out my lil drawing I did to illustrate the hardware setup....boredom + iPad is a dangerous combination smh.)

Test engineers need to have an open, creative mind. The most effective QA and testing methods involve innovative, colorful thinking. Closing your mind off to an idea before considering it can be costly, in that it can result in missed bugs, which are generally more stressful if discovered later in the process than earlier.

This recent epiphany that high school wasn't completely useless really shocked me to the core. I feel an obligation to spread this realization to the world now. Wow.