Hello,

I've discovered that as my CGI::App projects goes in complexity, which
each new change, it's more likely that some part of the project is
affected in an unexpected way. (that is, a bug is inadvertently
introduced :). Since the project is large, it's time-consuming to test
all the functions of the project each time a tweak is made. Often if I
choose to test areas that I think are affected, another subtle change in
another area will be missed. 

Here are some ideas on how to address this:

A.  For each subroutine I change, I could systemically find every place
it's called and try to generate an accurate list of all affected parts
of the projects, allowing me to safely test just want needs testing. The
problem with this approach, I think, is that even if I can find all the
subroutines that use my affected code, the total number of possible data
combinations that could be be passed through the system is exponentially
large. 

B. Write a "testing bot" that would zoom through the system as a user
might, systemicatly trying all the functions, and generating a report.
There would be significant overhead in developing the initial system,
and then I would have to be careful to keep it up to date with the code,
_and_ worry about bugs in my testing system. 

What actually happens is "C"-- I do some testing on my home FreeBSD
machine to make sure things look reasonable (nothing is exploding), and
then I launch code on 2 or 3 personal installations of the project,
where small failures are tolerated. After the code has passed "real
world" usage on these systems (and any resulting bugs have been ferreted
out), the process is repeated until it's perceived that there are no
more bugs, and the code is released.

And I suppose there are some other options to improve Quality as well:

D. Have a project specification and keep it up to date to test against.
If it's complete, and a third party should be able to use it to test the
project completely, free-ing up the developer to keep coding. 

[ ponders for a moment. ] I think in my particular case, the issue may
not be so much "regression testing" specifically, but resource shortage
in general. If I had more time or people involved in the project, QA
would happen more smoothly. 

Do other folks have QA procedures for complex CGI projects they are
happy with?

  -mark

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to