[MUD-Dev] software engineer: testing (was: [DGN] Creating a MUD)

Miroslav Silovic miro at vams.com
Thu Jun 6 12:34:24 CEST 2002


Bruce Mitchener wrote:

> If you take the line of reasoning that a lot of stuff that should
> be common sense is allowed to fall into software engineering, then
> we can include things like software testing. :)

> And ... software testing should be done on all projects, large and
> small.  Previously, most of the tools that I've liked using were
> fairly expensive (Purify, Quantify), but lately, some pretty nice
> free or cheaper equivalents have come along.

My current development procedures:

  - I put a test suite in each source file (I've been using mostly
  C++, lately), and use preprocessor to supress them in release
  build. The suites generally test the functionality implemented in
  each given source file (and when the functionality moves, so do
  the tests).

  - Tests are automatically run on each application startup, and
  assertions make the application bail as soon as any weirdness gets
  detected.

  - As of late, I add occasional valgrind runs. This valgrinds the
  unit tests.

  - Each exported interface is documented using doxygen. I write the
  docs as soon as the interface gets finalized and implemented
  (yeah, I know, I ought to document the interface /before/ I
  implement it, but... :) )

  - I have strict memory management policies and adher to them
  almost religiously.

I do this in my solo projects, too. The effects on the speed of
development have been nothing short of stunning. In particular,
pervasive testing makes me less conservative about redesigning
things - I know my back is covered if I break something (extreme
programming, anyone?).

And also, I can drop some project for a few months, if I don't have
the time,.  and resume coding within 10-15 minutes once I decide to
return to it.

    Miro


_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list