commands when using the CM technology. For test items, version control is the basic level of control while change control is the advanced level of control.
· Define a problem management process/procedure: This helps the testers track defects. This is typically already in place, but should not be forgotten. Also, if there is not already an automated problem management (defect tracking) technology in place, this should be considered.
· Define a change control process/procedure: This helps the testers understand the change procedure for test items under formal change control (if desired). For test items, version control is the basic level of control while change control is the advanced level of control, but requires more involvement from the test team. This may include performing change control training to ensure everyone understands the process.
· Establish the CM technology: This includes installing the CM tool, setting up a working infrastructure, and setting up the testers’ workspaces in which they can make changes to test items.
· Import all test items into the CM technology (repository): This focuses on identifying all test items (some of which should have been identified in the SCM analysis task) and either importing or checking them into the CM technology.
· Perform CM training: Train all applicable testers in the usage of the CM technology (how to checkout/checkin, how to label related test items, etc.). Conduct a CM system readiness review. Prior to converting to the CM infrastructure (technology and processes), meet with the test team to establish their readiness for using the CM technology and processes.
· Cut-over to the CM infrastructure: In part, this is a milestone when the test team begins using the CM infrastructure. However, the other part is to be ready to provide intensive CM support for the next 2-4 weeks while the test team gets used to the new CM infrastructure.
Another task where CM may help the test team is participating in the selection of a test automation technology. The CM person can contribute by investigating the integration with the CM technology. This is particularly useful since many automated test technologies produce numerous test scripts, data, and results. It’s good to have the ability to version control them as they get generated and associate related test items.
Test teams must manage more and more test items every day. CM professionals should be ready to help the test team when they are looking to build a CM capability for their test items. A solid CM process and technology to support a test team will help them manage their changes. This is particularly useful when test scripts must align with the ever-changing requirements. Any change to requirements precipitates a change to the code, which must have a test script or test case to validate the change. If the test script is not controlled, the test script may test too little and leave a gap in testing. Inversely, it may test too much and incorrectly showing errors. CM can help solve this issue and provide test teams with a solid change infrastructure that reduces the risks associated with a lack of control.
1. Chapter 4. “Establish an SCM Infrastructure for an Application” Software Configuration Management Implementation Roadmap , by Mario E. Moreira, 2004, Wiley, Ltd. Publishing
3. “Surviving the Top 10 Challenges of Software Test Automation” by Randall W. Rice, Rice Consulting Services, Inc, published in CrossTalk: The Journal of Defense Software Engineering, May 2002.
3. “Configuration Management – It’s Not Just for Source Code” Ralph Capasso, Rational Software, May 23, 2003.