Automated Testing

WyCash Plus was growing faster than we could keep in our heads. Gary Goldberg was working out formulas from careful reading of contracts while I was implementing those formulas where they went in the system. Eventually it dawned on me: Load the spreadsheet data into the program and let it check itself.

We already had editable reports presented in tabular form. I created a model that held expected and actual results for each case (row) and highlighted those that did not agree. Gary and I would bring sections of the program up together noticing whether the highlights were systematic or scattered. The former tended to be mine to correct, the latter, typical of spreadsheet selection errors he would correct.

We had a fellow from a big-five consulting company come visit for a week to certify the correctness of our calculations. When I arrived at work the first day Gary had already run him through our testing methodology and he couldn't think of anything else to check. We knew then that we weren't doing financial software the usual way.

I especially liked that Gary could work ahead of me or I could work ahead of Gary. We were basically programming everything twice. But Gary was reconciling his work with contracts while I was reconciling my work with all that we'd done before. These were complementary tasks that needed to be done so there was no waste in duplication.

I wrote several versions of this framework for consulting clients and eventually wrote one that aspired to be reusable called FIT.