Software Configuration Management :-
- The process of identifying, organizing, and controlling changes to the software during development and maintenance.
- SCM is a support activity that makes technical and managerial activities more effective.
- SCM operates throughout the software life cycle.
- A methodology to control and manage a software development project.
Purpose of SCM :-
- Establish and maintain the integrity of work products.
Why do we need SCM :-
To manage :
- Multiple people have to work on software that is changing.
- Projects delivered in several releases (builds).
- Software must run on different machines and operating systems (rapid evaluation of software and hardware).
Problems Resulting from Poor Configuration Management :-
- Can't roll back to previous subsystem.
- One change over writes another.
- Which code changes belong to which version ?
- Faults which were fixed Re-appear.
- Tests worked perfectly-on old version.
- Shouldn't that feature be in this version ?
Using Configuration Management :-
Advantages :
- Multiple project members concurrent access.
- Orderly control of change.
- View diffs
- Rollback changes
- Release management
- History
- One of the key process area in SEI CMMI level 2.
The Sample List of Software Configuration Items :-
- Management plans (project plan, test plan etc.)
- Specification (Requirements, Design, Test cases etc.)
- Customer documentation (implementation manuals, user manuals. on-line help files)
- Source code (java, .net, php etc.)
- Executable code (exe's etc.)
- Libraries (packages,#include files, apis, dlls etc.)
- Database (data being processed, test data etc.)
- Production documentation (how to make our application or installable application)
SCM - How it is accomplished ?
All these goals are accomplished through Version control.
Version control :
Commonly used in engineering and software development Changes identified by incrementing on associated number.
Done in two ways :
1) Manually
2) Using Configuration Management Tool
1) Manually :
In company server, administrator creates the project folder and he can provide the access permissions to all users (project members).
2) Automation (Configuration Tools) :
Open source-Free :
- Cvs - http://evshome.org
- Subversion - http://subversion.tigris.org
- Darcs - http://ww.abridgegame.org/darcs/
- Pvcs - http://www.pvcs.synergex.com/
- Perforce - http://www.perforce.com/
- Visual source safe - http://www.microsoft.com
How does Configuration Tool works :-
- Vss & Cvs uses a client/server architecture.
- A sys admin would normally install the server.
- The server maintains the repository (database).
- Developers and test engineers use the client.
- The client allows for check-in, check-out the files etc.
Repository :
A server where the files (project deliverables) are stored
Check-out :-
Copies a working copy from the repository
Check-in :-
Copy the changes on the local files to the directory
(The vc software takes care of changes since the last synchronization)
Undo Check out (Uncheck-out)
- The undo check command does just that the files returns to the status it had before it was checked out.
- This can be done even if changes have been made to the local copy of course, these do not go into the database.
Navigation to MS VSS 6.0 (Visual Source Safe)
- It is a commercial software from Microsoft
- Software is available in two types
- VSS server software
- VSS client software
- VSS server software is installed on organizational server machine by administrator.
- VSS client software to be installed in to our local machines (project member machines)
- Administrator will create the users for VSS and he will provide access permissions for all users (projects members) to access VSS repository.
Permissions :
- Read
- Check-out, Check-in
- Add, rename, delete
Navigation to Launch VSS :-
- Start -> Programs -> Click on Visual source safe -> Observe VSS login window -> Enter valid username, password and click on (ok) -> Observe VSS home page is displayed.
The test engineers responsibilities are :
1) Check-Out files (copy files from VSS)
2) Check-In Files
1) Check-Out (copy files from VSS)
- Go to projects folder, select the file and right click on the file and click on view and save as the file to local working folder (or) select files and right click files and click on get latest version (or) Right click on file and select CHECK-OUT.
- This is the way we can get the required documents (test plan, requirements specification, functional requirements, templates and test cases) from VSS.
2) Check-In files
- First check-out the file from VSS local working folder.
- Before check-out, we need create set working folder.
- Go to file menu -> click on set working folder browse and select existing working folder and click on (ok).
- Now go to the file and right click the file and click on check-out. Observe file is copied to local working folder. Do the necessary modifications in file and saves the file into local machine.
- Go to VSS, right click the file and click on check-in, observer modifications are updated successfully and new version will be created automatically with your modifications.
- Even we can go back to the previous versions, right click the file and click on show history.
- Even we can compare the files.