Thursday, 1 October 2015

Configuration Management

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