JReality
JavaTM Virtual Reality Applications and
Related Technologies
"Freedom" Service-Oriented Methodology
Implementation and Test Process
Principles -- Implementation and Test
- DDI Principle:
Design drives implementation
Implement modules consistent with the design specifications.
If the design specifications appear incorrect, change them; but
do not ignore them.
- DDT Principle:
Design drives testing
Implement test code consistent with the design specifications.
If the design specifications appear incorrect, change them; but
do not ignore them.
- DDD Principle:
Design drives documentation
Implement API documentation consistent with the design
specifications. If the design specifications appear incorrect,
change them; but do not ignore them.
- Test Segregation Principle:
Testers should not be the developers
Tests should be developed by different people than the code
to be tested. This not only avoids obvious conflict of interest,
but helps identify ambiguities and false assumptions in the
design specifications and the code.
- Test All Principle:
Test all code; validate all documents
All code modules should be regression tested, and all
documentation checked for correctness and completeness, by the
test team. Anything not tested or checked is almost certain to
have errors.
Create Code and Unit Tests
Source code conforming to the
behavior tables for the current
release group is developed and added to the
user interface mockup. Source code for the supporting
common service objects is also developed based on the
interface specifications and
operation/method behavior tables. All source code utilizes
the coding and commenting standards adopted for the project.
As with other tasks, the
quality requirements are used to guide selection among
competing implementation alternatives.
The entry point operation (e.g., Java main method) of
common service objects is used to host developer
unit test code. Developers write unit tests for the classes
they develop to ensure that the code delivered to the test team for
regression testing is reasonably bug free. In order to encourage
adequate unit testing, management may choose to reward developers
whose code consistently exhibits low failure rates during regression
testing.
Create Regression Tests
In parallel with the source code development, black box
regression tests are developed by test team personnel
based on the same
interface specifications used to develop the source code.
All regression tests utilize the coding and commenting
standards adopted for the project.
Perform Regression Tests
The test team invokes the
regression tests on the completed
source code. Failures due to errors in the source code are reported
to the development team using any efficient internal reporting
mechanism such as direct communication with the appropriate developers,
or "pair testing" (i.e., having the developer who wrote the code
assist in running the regression tests for that code). Use of formal
bug reports for internal communication should be avoided.
Failures due to errors in the regression tests are immediately
corrected by the test team, and the tests rerun.
Any
common service module interface changes deemed necessary from
the coding or regression tests processes
are promulgated as changes to the
interface specifications and
operation/method behavior tables. Regression tests and application
source code are then revised in parallel based on the modified
specifications.
Note that changes to reusable common service module interfaces are
not permitted once the reusable code is
Released to the
reuse library. Interface changes to reusable code
after initial release must take the form of new operations or methods,
with the old code being deprecated.
Create Application Program Interface (API) Documentation
API documentation records the black box view of the
common service objects and
reusable
functionality objects of the application program,
formatted for easy reference by developers and maintainers.
API documentation is created by the developers based on the
interface specifications used to develop the source code,
as well as on the
header comments of the source code. The API documentation
is the primary reference documentation for
reusable code,
and serves as maintenance documentation for the application.
Validate Application Program Interface (API) Documentation
The
API documentation is validated by test team personnel.
Validation includes checking the content for completeness and
consistency with the source code, as well as checking natural
language descriptions for correct spelling and grammar. Any
deficiencies noted are reported to the development team using any
efficient internal reporting mechanism, such as direct communication
with the appropriate developers.
Create User Documentation
User documentation records usage instructions for each human user
stimulus set of the application program, and may include
stimulus sequences for common
Enterprise Process Model tasks
that can be performed using the application program. User
documentation should include a table of contents and index for ease
of reference, and may be published in hard copy or soft copy
(on-line) form.
User documentation is created by the developers, or by technical
publications personnel with the assistance of the developers,
based on the human user branches of the
functionality tree, associated
behavior tables, and
user interface design. The user documentation is the only
formal book documentation consistently produced using Freedom. All
other formal documents, such as formal requirements and design
documents, are at the discretion of customer management.
Validate User Documentation
The
User documentation is validated by test team personnel.
Validation includes checking the content for completeness and
consistency relative to the user interface branches of the
functionality tree and the associated
behavior tables, as well as checking natural language
descriptions for correct spelling and grammar.
All documented stimulus sequences for
Enterprise Process Model tasks are performed by test team
personnel to ensure accuracy and clarity of the documented usage
processes. Any deficiencies noted are reported to the development
team using any efficient internal reporting mechanism, such as direct
communication with the appropriate developers.
home
about
downloads
gallery
goal
plan
products
e-commerce
future
science & engin
you & me
Copyright (C) 2000-2003 LDJ Trust