I've been a professional developer for over 15 years, and in my experience I've learned how powerful and rewarding it is to test working code as it is built. At Box, we test code early and often to avoid running into problems further down the line. In fact, for every change we make, we run over 100,000 tests! However, I've always been frustrated with manual test generation, which is tedious and time consuming. Failing to find a good solution, I created a tool called TestScribe to address this problem.
TestScribe lets developers focus on choosing inputs and interpreting outputs, taking repetitive work out of the testing process. It makes developers' lives easier without sacrificing the fun of designing test cases.
We've been using TestScribe at Box for around nine months. Our PHP developers have found that TestScribe:
- finds bugs that would have been more costly to fix later.
- cuts down testing time (by at least half) in many cases.
- increases test coverage by decreasing the overall cost of testing.
I'm excited to announce that we've open sourced TestScribe so developers everywhere can take advantage of the tool and improve upon it. We're planning several improvements over the coming months, including enabling one click updates for many tests.
Since most of Box’s code base is in PHP, the tool is initially targeted in PHP. But the technique is language agnostic.