Thanks for the comments, and sorry for the delayed reply. I should have been clearer: when talking about "testers" I meant independent product testers (black box or functional testers), not programmers testing their own code. I find I don't have many ideas for general-purpose testing tools. So here's the scenario I envision: A. Tester thinks, "It would be really nice if we could put up test results on an internal web page. The first page would have the high-level summary. You could click to drill down to details on particular suites, or examine the failures one by one, or whatever. Something like Mozilla's Tinderbox <http://tinderbox.mozilla.org/showbuilds.cgi?tree=SeaMonkey>, but more aimed at testing." Then she finds someone's Ruby code that does that. She'll have to recode the way it connects to test results, and maybe tweak what it displays, but that kind of thing is easy because several people have done it before, so those pieces are nicely isolated and some friendly person has written documentation about how to tinker with the package. The hard part is getting the first person to write one in Ruby (and then getting that person's company to let it be released). That said, here are some ideas, general or no: - a tool to distribute tests to set up remote machines, distribute tests there, run the tests, collect the results. (This is what Phil's article talks about.) - tools to summarize status and produce reports. The test-results viewer above is one example. Another would work with bug reports. Another would track "churn" - find files that have been changed often, or changed by many people. Those files likely have more bugs. - A Ruby version of TCL's expect (http://expect.nist.gov/), which is a package for talking to apps with a command-line interface, like modem dialers or FTP commands. - a tool to reserve machines, hardware boards, or other scarce things needed for tests. This wheel keeps being reinvented. - maybe a stress test driver (something that forks off a bunch of tests all at once). - a tool to populate databases with test data, maybe randomly, maybe with variation. - a tool to combine lists of test data such that every pairwise combination of values is present. (That is, if A=[on, off] and B=[red, yellow, green], the result is [on, red], [on, yellow], etc. It gets more complicated if you have more variables and you want a minimal list.) -- Brian Marick, marick / testing.com www.testing.com - Software testing services and resources www.testingcraft.com - Where software testers exchange techniques www.visibleworkings.com - Adequate understanding of system internals