Lately, I've been feeling like the total amount of code in all my
projects is slowly getting closer to the point where I won't be able
to keep all the context in my head, and may make mistakes when modifying
things; especially later this year, with the projects I intend to release,
that will be a lot of software with intricate dependencies, and it's
becoming big for one person to handle all the details at once.
I still want to retain full control over the software, but I will need
ways to shed some load. And the thing that will be needed the most, I
think, is a run-time test suite, to catch regressions.
Currently, I simply try to pay very close attention to the code, and
after a few manual tests, it's generally good to go. But I have let slip
a few bugs in the latest releases that should never have passed, which
means I'm not performing all the testing that is needed; and testing is
boring and *extremely* time-consuming, so the more manual testing I do,
the less I design and code, which is not good.
There will be a point where I'll be unable to keep up, and release quality
will suffer - to some extent, it already has. So it's time for me to stop
claiming I can write bug-free code and don't need testing - it's true up to
a certain amount of code and context, but a man should know his limitations
(©1973 Clint Eastwood).
So I'm calling for help, because I know next to nothing about automated
testing.
What I need is:
- Pointers to good testing frameworks. Candidates have to be:
* dependency-free. They have to run in a POSIX environment with /bin/sh.
No Python, no Perl, nothing of the kind. Which goes together with...
* lightweight. Doubling the size of the tarball is unacceptable. Taking
too much time to run on small systems (think Rasperry Pi) is unacceptable.
* easy to integrate within the build system. I should be able to add a
"make test" target and basically be done.
- Unit tests for the software. And here, I'm really asking for contributions.
If you like execline, s6, or other stuff, and you know how to write functional
tests, and you are willing to write some tests for my software (who knows?
it's not my kink, but it may be yours!) then please contact me.
What's in it for you ?
- My eternal gratefulness
- Your name in the AUTHORS file, of course
- Better quality releases
- More time for me to write software, so more toys for you to play with
- Fame and fortune once we take over the world
(Alternatively, if you're a business that uses my software, I can be
contracted. It's a lot easier to spend time on the less shiny aspects of
development when you're getting paid for it.)
Thank you for any help, in any form, that you can give.
--
Laurent
Received on Sat Feb 28 2015 - 17:31:59 UTC