Importance of Automated Software Testing
The election campaign is reaching the climax in Australia (election day on this Saturday). Last night, one voter asked Prime Minster a question of impact of troubled QLD health payroll system on upcoming E-Health system. In Queensland, this yet another IT project failure attracts a lot political attention, just have a look at news headlines below:
- Qld Govt blames IBM for health payroll bungle
- Qld may kill IBM payroll contract, seek damages
- Health payroll debacle: IBM to fight contract scrapping
- Queensland health payroll not fully tested
QLD health payroll failure is after similar one in the same city: Brisbane City Council to dump troubled payroll (this may not be done IBM though). And surprisingly, in this IT world, reputation or recent track records seems doesn't matter much, Gold Coast City Council (80KM from Brisbane) pays $55m to health payroll firm.
Globally, the biggest IT disaster believed to be UK NHS (based on this ZdNet article): : "experts have warned that the project could actually cost more than xC2xA330 billion, making it the greatest IT disaster in history."
The especially sad part of all this is that while these big companies walked away with millions, we as tax payers are ultimate victims.
Auditor-General's report on QLD Health Payroll: Pay system not properly tested: report.
Once one asked me, "What didn't they just fix the system? Given all the attentions (including demonstrations), 3 months is a long time, isn't it? I saw you fixing defects in our system very quickly."
My answer: "If they don't have automated regression testing in place (most likely not), fixing a defect may break other functions. Manual testing is not good finding out that quickly. Before I check-in fixes, I run some related regression test suites in TestWise, and our continuous build server runs full regression tests every day. That's why Steve McConnell says 'The only practical way to manage regression testing is to automate it'"
So will our elected politicians learn the lesson? Let's hope.