[clue] Test traceability tool experience

Michael J. Hammel mjhammel at graphics-muse.org
Tue Apr 9 15:39:17 MDT 2013


On Tue, 2013-04-09 at 13:18 -0600, Andrew Diederich wrote:
> Has anyone used a tool they like? Right now my choices look like
> RequisitePro, a spreadsheet, building a django app, buying/finding
> something new, or the "hope" method. (I don't think the last one will
> fly.)

The guys at work got me hooked on Jenkins.  I'm writing a mobile
intelligent agent application in Java and wanted to integrate my TestNG
tests into something automated.  Jenkins allows me to hook multiple
scripts together into a single test suite.  I use one script to make
sure the application is deployed (RPM installs) on some remote systems,
another to start the app on those systems and test that they see each
other (neighbor discovery) and another to verify that one host is set up
as a controller for the other hosts in the test.  Finally, another
script does cleanup on the test systems.  Each script can exit with an
error that Jenkins can catch.

Jenkins lets me run each script independently or chain them together as
a grouped set of scripts.  

There are a lot of plugins in Jenkins that let me do things like
consolidate TestNG results, run sloccount stats and hook Mercurial (or
GIT or whatever) pushes into automated runs of the build and tests.
I've configured it to email me the build/tests results and publish
success/failures to our local IRC (Jenkins creates its own channels for
that).  One thing I haven't tried is Jenkins ability to launch VMs as
part of its build/test processes.

FYI: Jenkins abstracts everything into "Projects".  A project is a build
or a test suite or a collection of builds or a collection of test
suites, etc.  So a push to a repo can trigger a build that can trigger -
if the build succeeds - a test suite project - which can then trigger
dependent builds, etc.  Variations ad nauseum.  

I didn't set up the Jenkins system but I think its pretty straight
forward.  Installing plugins is via the web interface, so that's pretty
easy.  We run it (currently) in a VM with only 12GB disk space and it
manages a large metabuild (C/Java including cross toolchain, kernel and
Buildroot builds) and my project.  We'll be moving off the VM later just
so it has more disk and hardware to run on as we make greater use of it.

-- 
Michael J. Hammel <mjhammel at graphics-muse.org>



More information about the clue mailing list