To my mind, there's really nothing better. Working on open source software with a community of programmers passionate about what they're building, and getting paid to do it. Perhaps this is becoming more common for developers, but it is certainly a rare occurrence for a quality engineer. Very few companies that I know of dedicate QA resources to open source projects.
Tools are a big part of testing any project. Finding the right test tools, that will add value, can require careful research and analysis. This problem is somewhat constrained for open source projects, since the tools themselves should also be open sourced and (hopefully) distributable with the project. A great list of open source testing tools can be found at http://opensourcetesting.org/. In addition, some companies (and another and another) allow open source projects to use their tools for free, but not redistribute them.
On the Hadoop project, for instance, we use a number of tools that fit the above models:
- Hudson - open source continuous integration server
- Findbugs - static analyzer of Java code
- JUnit - unit test framework
- Checkstyle - coding style adherence tool
- Clover - commercial code coverage tool, donated to Apache
- Jira - commercial issue tracking tool, donated to Apache
There are many other tools that I'd like to evaluate and integrate as time permits, including PMD, Chord, MultithreadedTC. Have experience using any of these tools on open source projects? Have other tool suggestions? I'd love to hear your comments!
Want a fun job testing open source? Passionate about software quality? I'm hiring! Talk to me at: ndaley at yahoo-inc dot com. Testing and coding experience required.
Grid Computing QA Lead