Tests, Technical Debt, and Christmas Holidays

Ovid on 2008-12-31T11:31:11

I'm just about done with my major cleanup of how our files are organized in our system. So far the tests pass (and the Heisenbug has mysteriously gone away). When I'm done, I'll have moved 903 files (a combinations of 403 XML test fixtures and 490 Perl libraries) and have edited almost 1000 files. It's taken almost a week to get this done and the only thing which has made it taken this long is that the full test suite takes over an hour to run right now :/

Still, having those tests means that I'm able to make a huge, sweeping reorganization of our system with little fear. All xml fixtures are now organized into three simple directories (rather than the multiple ones they were randomly scattered across) and all of our core class have had their class names changed to be cleaner. So why on earth would I ever again want to work for a company which doesn't test? I can't think of any reason, other than being brought in specifically to build their test system.

In other news, the latest Parrot doesn't pass its test on my system. Bug reports might be forthcoming.

Update: I just needed a fresh checkout of Parrot. I must have broken something internally.


Working for someone that doesn't test...

Alias on 2008-12-31T15:54:44

> I can't think of any reason, other than being brought in specifically to build their test system.

I can attest to the nice feeling of starting with nothing but 250,000 lines of code and a mandate to get it "tested" and building up not only a test library, but also a build and packaging pipeline, smoke system, release methodology, database schema migration system and configuration management system.

It has certainly taken time for the naysayers to come around, but as the test suite continues to grow and become more reliable (and actually catch real problems and prevent them from reaching production) they are all finally coming into line and it's full steam towards the future now.