For a long time now, I’ve been working on automated testing for legacy software (or legacy features of evolving software).
It’s been an education.
The thing is, a new feature should be developed with a test-first strategy that uses assertions. And a failed assertion should be repaired immediately.
But for a legacy feature, automated testing will reveal a number of low-severity bugs that will not be fixed anytime soon. That’s why detailed logging and a detailed changes report are paramount.
So now I’ve founded a new GitHub project, RubyTest, that will make available, as working software, much of what I’ve learned.
The beginning is modest — just a logger, a few helpers, and their tests. (Yes, the framework itself gets thorough testing.)
Next, I think, will be a simple REST client example that uses the endpoints at JSONPlaceholder.com. This will be the opportunity to show how the framework will handle endpoints, data objects, and verdicts.
Much more to come.