Subscribe by Email


Showing posts with label Configuration management. Show all posts
Showing posts with label Configuration management. Show all posts

Saturday, July 7, 2012

How is Configuration management (CM) process applied in software testing?


Configuration management or CM finds its use in a wide number of fields including software engineering. The configuration management in the field of software engineering is called “software configuration management” or SCM. 

What is Software Configuration Management?


- SCM over the years has proven itself to be one of the best practices for monitoring the changes in a software system or application. 
- This process has been very effective when it comes to the identification of the physical as well as functional attributes of a software system or application at various intervals of time.
- This process also takes the responsibility for taking over the systematic control of the changes to be made to the identified attributes from the user and maintains the software traceability as well as integrity through out all the stages of the software development life cycle. 

In this article we have focused up on the application of the configuration management in the process of software testing. So let us see how to apply the configuration management process in software testing. 

What is Configuration Management?


- Configuration management is all about doing a detailed updating and recording of the information that gives a description of the computer system or network. 
- As the software systems and applications being developed today continue to rise in the measure of the complexity, the need for software configuration management drives in. 
Software building organizations require developing and maintaining variants of their software system or application in order to reach out to a diversified market. 
- Today almost every one is aware of the need for a better management and control of the software products.
- Customers, managers and developers all want to modify the requirements, technical approach and the project approach. 
- Though the modification is quite necessary as the time passes, it is very important that the changes that are to be made are properly controlled.
- It is important for the project leader to known about the state of the software product that is under development and whether or not it is satisfying the needs of the customers.
- Software configuration management can be considered to be a support or assistant that can help a manager to manage and control the software production in a much better way.

Under the concept of software testing, the software configuration management is often considered to be same as the change control which is wrong. 
- Both these processes are only related in the way that the change control forms a critical part of the software configuration management. 
- One thing that needs to be addressed in the configuration management is the modification of the test objects should be installed only in the test environment first and that too with the permission of the test team lead. 
- This approach of configuration management prevents a software system or application from failing in such situations where another version of the same object is being tested. 
- After this the change management documentation has also to be updated since it bears a very critical relation with the testing of the software system or application. 
- Plus the way in which the changes have been dealt with should also be mentioned. 

In simple words, we can say that the evolution of the software systems or application is controlled by the software configuration management and so it makes un- neglect-able contributes to the quality of the software system or application and also to its delay constraints. 
The software configuration management was introduced in the field of software testing as a result of the “software crisis” i.e., when it was realized that the programming was not everything in software engineering. 


Monday, June 25, 2012

What is the relation between installation testing and configuration management?


Installation testing as we all know falls under the genre of quality assurance work in the field of software engineering and is all focused up on what is to be done by the customers in order to set up and install the new software system or application successfully. 

Installation testing process is constituted of the following processes:
  1. Upgrading of installation and un- installation process.
  2. Partial installation and un- installation process.
  3. Full installation and un- installation process.

What is Configuration Management?


- Configuration management is somewhat self justifying and is looked up on as one of the best practices available for handling the changes that are made in the software system or application during the project development.  
- It is also used as a means for the identification of the physical as well as functional attributes of the software system or application at various points of time during the development process. 
- The configuration management takes up the systematic control of the changes to be made to the identified attributes with the following purposes:
  1. Maintaining software trace-ability throughout the software development life cycle.
  2. Maintaining software integrity throughout the software development life cycle.

Relation between Installation Testing and Configuration Management


Both the above mentioned processes i.e., installation testing and configuration management share a relation with each other.  

- Installation testing is performed by the software testing engineer in collaboration with the manager handling the configuration management process known as “configuration manager”. 
- The configuration management process shows up the need to trace the changes. 
- This process has the ability with the virtue of which it verifies whether or not the final developed software system or application has all the enhancements, features and functionality that are required to be in the release. 
- In a way we can say that the configuration management checks how correctly the installation testing has been implemented. 
- It is done by the means of four below mentioned procedures that need to be defined for all the software systems or applications in order to ensure that a proper configuration management process is implemented:

1. Configuration Identification: 
It involves identification of the attributes defining all the aspects of the configuration item.

2. Configuration Change Control:
It includes a set of approval stages and set of processes that are intended to change the attributes of a configuration item and re- baseline them.

3. Configuration Status Accounting:
By virtue of this ability the configuration baselines associated with all the configuration items at any instant of time are recorded and reported.

4. Configuration Audits:
It occurs at the moment of incorporating the change. These can be divided in to two categories:
(a)Functional configuration audits: ensures achievement of the performance and functional attributes of the configuration items and
(b)Physical configuration audits: ensures proper installation of the configuration item with the requirements mentioned in the design documentation.

- In installation testing a complied version of the code is placed in a pre- production environment which also acts as the configuration item for configuration management. 
- The configuration management is carried out outside the usual software development environment so that the corruption to the code is limited from the past as well as the future releases.
- The set up program used in the package software acts as a multi configuration wrapper and each and every configuration in it should be tested appropriately so that it can be released with confident. 

In a way we can say that these two processes i.e., installation testing and configuration testing are locked with each other to some extent and this is what that keeps them related to each other.


Monday, July 26, 2010

High-level Best Practice One(1) in Software Configuration Management

Software configuration management (SCM) is a set of activities that are designed to control change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling changes that are imposed, and auditing and reporting on the changes that are made.
Software Configuration Management Best Practices are the techniques, policies and procedures for ensuring the integrity, reliability and reproducibility of developing software products.
When implementing SCM tools and processes, you must define what practices and policies to employ to avoid common configuration problems and maximize team productivity. There are six areas of SCM deployment, and some coarse-grained
best practices within each of those areas.
- Workspaces: It is the area where the engineers edit source files, build the software components they’re working on, and test and debug what they have built. The best practices for workspaces include:
. Don’t share workspaces.
· Don’t work outside of managed workspaces.
· Don’t use jello views: A file in your workspace should not change unless you
explicitly cause the change. A “jello view” is a workspace where file changes are
caused by external events beyond your control.
· Stay in sync with the code line.
· Check in often: Integrating your development work with other peoples’ work also
requires you to check in your changes as soon as they are ready.


Monday, June 28, 2010

How are testing tools categorized ? - Part II

Embedded Software Testing Tools :
It is a very challenging task to test embedded software as the timing requirements for these applications are very stringent. The code has to be optimized so that it occupies the minimum memory. IBM Rational Test Real Time is the widely used test tool in this category.
Network Protocol Testing Tools :
Testing networking and communication software has attained a lot of importance in recent years as computer networks are becoming widespread. There are number of tools available for testing networking and communication protocols. ANVL(Automated Network Validation Library) is to test routers and other networking products. Agilent Technologies, Rhode and Schwartz etc supply protocol analyzers which generate the necessary protocols based on international standards such as ITU-T standards.
Configuration Management/Bug Tracking Tools
Configuration Management is a very important process. When test engineers report bugs, the managers have to track these bugs and ensure that all the bugs are removed. Bugzilla is an open source defect tracking system. Samba's Jitterbug is a freeware defect tracking system. IBM Rational Software's Clear DDTS is a change request management software. GNU's GNATS is a freeware bug tracking and change management software.
Software Testing Management Tools
These tools help in managing process oriented software testing. Using these tools, the QA manager can create a formal test plan, allocate resources, schedule unattended testing, track the status etc. AutoTester's AutoAdviser, Compuware's QA Director are such tools.


Tuesday, April 27, 2010

Configuration Management (CM) and Decision Analysis and Resolution (DAR) process area in CMMi

The purpose of Configuration Management (CM) is to establish and maintain the integrity of work products using configuration identification, configuration control, configuration status accounting, and configuration audits. It is a support process area at Maturity Level 2.
Configuration management is normally not used or managed within the development process for a Level 1 organization.

Specific Practices by Goal


SG 1 Establish Baselines
- SP 1.1 Identify Configuration Items.
- SP 1.2 Establish a Configuration Management System.
- SP 1.3 Create or Release Baselines.
SG 2 Track and Control Changes
- SP 2.1 Track Change Requests.
- SP 2.2 Control Configuration Items.
SG 3 Establish Integrity
- SP 3.1 Establish Configuration Management Records.
- SP 3.2 Perform Configuration Audits.

Decision Analysis and Resolution (DAR)
It is a support process area at Maturity Level 3. The purpose of Decision Analysis and Resolution (DAR) is to analyze possible decisions using a formal evaluation process that evaluates identified alternatives against established criteria.

Specific Practices by Goal


SG 1 Evaluate Alternatives
- SP 1.1 Establish Guidelines for Decision Analysis.
- SP 1.2 Establish Evaluation Criteria.
- SP 1.3 Identify Alternative Solutions.
- SP 1.4 Select Evaluation Methods.
- SP 1.5 Evaluate Alternatives.
- SP 1.6 Select Solutions.

Note : SP stands for Specific Practice and SG stands for Specific Goal.


Facebook activity