Some newbie questions...

J.T. Conklin jtc at acorntoolworks.com
Wed Dec 10 20:46:59 UTC 2003


I have been experimenting with QMTest, have read the manual, and have
gone through the tutorial.

I have hopes that QMTest will enable my project to follow through on
good intentions of having a good testsuite.  There have been efforts
in the past (primarily a hoge-poge of unit tests, each with it's own
mechanism for reporting success/failure), the lack of an framework has
lead to the tests not being run and eventually to test bitrot.

While the manual is pretty good at explaining what can be done, it is
a light on general recommendations for making an effective testsuite.
Part of this is the nature of a flexible framework, but there must be
some best practices that are applicable to wide variety of
applications.

* Are there any recommendations for the use of QMTest with a code
  control system -- especially those unlike CVS where an explicit
  "edit" command must be used before changing files.  There is no
  indication that a change will fail (within the GUI) until you
  OK the changes, where QMTest fails with a python exception (because 
  of the read-only test file).

* Are there any recommendations for the location of executables used
  by tests?  Our unit tests are currently built in the same
  subdirectory as the code that implements the module.  Using absolute
  paths to the test executables does not work, as every engineer has
  their own sandbox; Using relative paths does not work because QMTest
  seems to change directories as it executes.  We could set the PATH
  to include all of the modules in our makefiles (actually SConscripts
  in our case) or maybe have a QMTest wrapper, but that seems pretty
  clumsy.

* The canned Exec tests cause the test program to inherit environment
  variables.  These semantics seem to be just asking for testsuites
  that behaves differently for different users.  If I understand the
  concept of test classes correctly, I think I can get around this 
  by subclassing ExecTestBase and overriding MakeEnvironment, but it
  seems odd that this is necessary.

        --jtc

-- 
J.T. Conklin



More information about the qmtest mailing list