collection of software entities that evolve together, are released
together, and are managed as a singular unit.
be source lines, which are collection of source files used to
construct derivative entities. They can be derivative lines,
which can be used by other codelines to support their
construction, deployment, or execution.
collection of codelines, in source or derivative form, each at a
specified release level and development state, which is deposited onto a
file store for the purposes of software construction.
be time dependent entities in many cases. This implies that
acquiring a baseline at one time may produce different results
when acquiring the baseline at other times.
also be static, which is common for released baselines. This
implies that acquiring such a baseline at one time will produce
the same results when acquiring that baseline at any other time.
Product, Sub-Product and Intermediate Product
A product is a
functional deliverable that is fully testable as an integration
unit, system/sub-system test unit, and acceptance test unit.
A sub-product is
a functional deliverable that is fully testable as an integration
unit, and system/sub-system test unit.
product is a potentially functional unit (realized or unrealized in
its constructed form) that is testable as a unit or testable as an
element within an integration unit.
Unit Test, Sub-system Test, System Test, Integration Test,
Regression Test and Acceptance Test
A unit test is a
test that tests a isolated intermediated product or sub-product. The
test encompasses all functional requirements of the unit under test
(UUT) and supports code coverage testing. A unit test is part of the
units assessment, which includes static analysis, inspection and
review as well as appropriate characterizations (e.g. code space,
code time, code loading, and where appropriate code power and
test is a test that tests the requirements of a sub-product or
product . The test encompasses all exposed functional requirements
of the sub-product or product . It is not expected to support code
coverage testing, but it must support nominal path coverage and
A system test is
a test that tests a sub-product, product or system. The test
encompasses all functional interactions between sub-products of a
product or products of a system. It covers all of the exposed
functional requirements of the sub-product, product or system as
well as the derived intermediate requirements of their interaction.
test is a system test that reduces functional coverage but increases
interaction path coverage as well as sub-product, product or system
A regression test
is a system test that captures all prior and applicable test cases
used to elicit defect exposure. The initial regression test is
composed of the acceptance test.
test is a test that tests a product or system. The test is limited
to the exposed functional requirements of the product or system and
the characterization of the product or system. This includes code
space, code time, code loading, code interaction, and code power.