You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xml.apache.org by Sh...@lotus.com on 2001/02/12 23:22:29 UTC
RE: Test Infrastructure Project Proposal - Re:Kelly - minitest/smoketest/acceptance
test
Although it's a bit of a tangent, here's one way that I've seen projects
separate kinds of testing organizationally.
---- you Kelly Campbell <ca...@channelpoint.com> wrote: ----
> I think another requirement that you've covered in a roundabout way,
but
> should be added explicitely is the test suites should be easily
runnable by
> individual developers, and the full suite should be run prior to
committing
> code changes.
- Yes, it must be easy for developers to write individual new tests, to
run them, and to run any existing tests.
- Yes, some set of tests should be voted on by each individual project
as their checkin criteria, or 'Minitest' to run.
- As to running *all* tests for every checkin: if you use each of the
implemented ProcessorWrapper 'flavors' currently, you'd spend nearly an
hour on a P-500 Win32 machine running tests for Xalan. A little bit
much, eh?
Below are a few definitions I've worked on with several different
proprietary software teams to categorize testing efforts. Obviously,
many of the nuances and roles & responsibilites are *significantly*
different in the open source world! But it might be useful for some
people to see one proven way to slice & dice your testing efforts.
---- Shane's 1-2-3 definitions of test sets ----
Minitest
"automated tests all developers must run and pass before checking in any
code"
Constraints: must execute in a limited amount of time (anwhere between
30 seconds and 5 minutes, traditionally), have no extra dependencies,
especially environment dependencies, be thoroughly documented and simple
and one-step to execute. I.e. the barrier to entry/usage must be low so
that we can get every developer to use it.
There are several important maintenance points to the Minitest:
- Every posted build must pass the Minitest posted with it as-is when
posted. This ensures that if a developer runs it and it fails, the
failure was caused by the developer's changes and not by any other
problem.
- The Minitest and it's documentation must be maintained regularly -
nothing annoys developers more than having a Minitest that changes or is
hard to use, and is a prime reason for development staff abandoning it's
use.
Xalan notes: already (partially) implemented in Xalan-J 2.x:
xml-xalan\java\build.xml target 'minitest' using the normal development
Ant makefile
Smoketest
"tests the build team/lab must run and pass before posting any builds
for development (or any other) use"
Constraints: must execute in a somewhat limited amount of time (between
5min and 15 ~ 30 minutes, traditionally), have few and well documented
extra dependencies, be thoroughly documented and simple to execute.
I.e. the barrier to entry must be moderate, mainly so that maintenance
of the test structure is kept to a minimum.
Xalan notes: already (partially) implemented in Xalan-J 2.x:
xml-xalan\java\build.xml target 'smoketest' using the normal development
Ant makefile, although this needs updating and better definition.
Acceptance test
"tests the QA/QE team will run and require to pass before posting any
build for general QA/QE use"
Constraints: whatever the QA/QE team decides upon, since it's normally
run by the testers themselves.
---- Shane's 1-2-3 definitions of test sets ----
-Shane