Important Distinctions for
Software Configuration Management &
Software Asset Management
 
Back
Home
Up
Next

 


Codeline

A collection of software entities that evolve together, are released together, and are managed as a singular unit.

  • Codelines can 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.

Baseline

A 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.

  • Baselines may 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.
  • Baselines may 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.
  • An intermediate 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 interaction)
  • A sub-system 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 execution profiling.
  • 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.
  • An integration test is a system test that reduces functional coverage but increases interaction path coverage as well as sub-product, product or system loading.
  • 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.
  • An acceptance 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.

 

     

Copyright 1974-2008 by Ricardo Jorge Lopez y DiPasquali, all rights reserved.

Home General Distinctions Important Distinctions for  SCM & SAM Important Distinctions for  Software Roles & Accountabilities

This site was last updated 12/06/08