A software is a collection of items
like programs, data, documents etc. that can be changed easily. Throughout the
software development cycle the software design documents, software code or
software requirements document etc. are changed regularly and it is very
important that the changes that have been done in software are done in a
controlled manner. Software Configuration Management(SCM) is the discipline for
systematically controlling the changes in software and supporting documents like
Test Cases, Test Plan, Design Documents, SRS etc. during the software
development life cycle.
As per IEEE Software Configuration
Management is:
“SCM is the process of
identifying and defining the items in the system, controlling the changes of
these items throughout their life cycle, recording and reporting the status of
items and change requests, and verifying the completeness and correctness of
items.
Configuration Item: A software configuration
item as information that is created as part of the software engineering process
likely to be changed. Live data will not be under configuration management.
Baseline: A specification or product
that has been formally reviewed and agreed upon, that thereafter serves as the
basis for further development, and that can be changed only through formal
change control procedures.
Configuration management Tools :
Configuration management tools are not strictly testing tools either, but good configuration management is critical for maintaining a controlled testing
For example, a test group started
testing the software, in order to find the usually made no’ of defects.
But if, the software seemed to be much better than previous times
and if very few defects were found. Before releasing the software
they just want to make an additional check to see if they had the
right version of software made or not. But they discovered that they were
actually testing the version from two months earlier which had
already been debugged with the tests for that earlier version., but
actually they are not testing what they were supposed to test or
what they should have been testing. It is really very important to
know exactly what it is that we are supposed to test, such as the exact version
of all of the things that belong in a system. It is possible to perform
configuration management activities without using the tools, but the tools make
it a lot easier, especially in complex environments.
Testware needs to be under
configuration management and the same tool may be able to be used for testware
as well as for software items. Testware also has different versions and is
changed sooner or later. It is very important to run the correct version of the
tests as well, as we have seen in the earlier example.
Features or characteristics of
configuration management tools are:
- To store information about versions and builds of the software and testware.
- Traceability between software and testware and different versions or variants.
- To keep track of which versions belong with which configurations (e.g. operating systems, libraries, browsers).
- To build and release management.
- Baselining (e.g. all the configuration items that make up a specific release).
- Access control (checking in and out).
No comments:
Post a Comment