I have been doing some tests with Code Tester Beta, redoing a group of tests I already had as SqlScripts, and I am rather satisfied how it works. It helps me to make my tests more structured. It helps me to find lacking tests and it makes me repeat whole testsets where I would otherwise only have rerun those tests that “I guessed might be influenced” and so I would have missed avoidable errors.
On the other hand I have a sinking feeling that it will be very hard to use this tool to integrate Test Driven Development in my daily working practice.
It is often said that 80% of all development effort is maintenance, and in my work it is probably close to 95% and that on complicated logistic and financial software.
I am sure the implementation of TDD would mean a major improvement in software quality. It would however have to start with a development effort that I guesstimate at at least 30% of the original development costs if it is done over the Code Tester GUI. So much investment is needed to define a sufficiently complete test base before one can fully reap the rewards of TDD if you are not starting from scratch.
What is painfully missing in Code Tester is a facility to implement it in existing software environments. What is needed is a generator to define basic testsuites for already existing PlSql code. GUI is great when you are building new things using TDD. When you want to implement TDD in an existing environment, you can’t use it however. What you need then is a batch process that scans the current software, accepting all the current outcomes as “right enough for now” and registers those as a basic testsuite for Code Tester to build upon.
Although I have the feeling TDD and Code Tester could mean very much for software quality improvement, I am sure acceptance in our daily practice will be minimal without such a generator, which will make it practical to use TDD for maintenance, not just for fully new development.
Are there any plans for such an addition? Without it TDD will crawl instead fo flying.