Quality Assurance
Quality assurance is a process, and it must
be an integral part of development, not subservient
to it. A quality assurance process
consists of a set of procedures,
criteria, and guidelines
which ensure that developed code works and agrees
with specifications, and that the
resulting system meets all requirements.
In order to achieve this, it is clear that the quality
assurance process must be built into the development
process, so the development lead
must play a major role in designing the QA
process; it cannot be completely delegated, because
only the development lead or management have the authority
to mandate the required procedures and checkpoints. Also,
because of the tight integration of the QA
process with development, designing a complete
QA process requires intimate understanding
of the workflow process being used. The
development and QA process constitute
a system, and someone must design the system, and then
have the authority to institute it and subsequently work
out the kinks.
The first order of business for the lead development engineer,
therefore, is to approach the development of a quality
assurance process and its components (test suites,
scripts, test databases, etc.) as a design and implementation
task that is closely integrated with all other modules
being designed and built, and the specification and implementation
of these should ideally precede the actual system being
built.
All of the products of the analysis,
specification, design,
and implementation processes should be
placed under configuration control, using a source code
control system, and be made available project wide via
a shared directory on a LAN. When the project transitions
from one phase to the next (e.g., from design to development),
the final versions of the documents produced in the prior
phase should be published in an easily accessible form,
such as an internal web site. A web site administrator
would be responsible for publishing any updates to these
otherwise frozen documents, and in general making sure
they are current. Nevertheless, the documents of prior
phases should be maintained under configuration control
at least until the system is released, in case deleted
material needs to be recovered.
Extract from "Advanced Java Development for Enterprise
Application"
written by Clifford J. Berg
Published by Prentice Hall PTR New Jersey 1998
|