Pages

Thursday, December 8, 2011

List of Testing Tools

Name: Visual Test
Company: Rational
Web Site: http://www.rational.com/products/visualtest/
Category: capture & playback, test suite management
Languages: any, but special integration with Visual C++
Platforms: Windows, integrated with Microsoft Developer Studio
Description: Test cases and suites described as program (in special TestBasic language) rather than scripts. Develop test programs, manage suites of tests. May write tests by hand or Scenario Recorder can record session and make into a test (capture & playback). Tests created by the Scenario Recorder can be edited.  Can write failure tests to catch exceptions. System testing only, not unit testing.
 

Name: SQA Suite
Company: Rational
Web Site:
http://www.rational.com/products/sqasuite/
Category: capture & playback, test suite management, simulation of network conditions
Languages: "focused on IS and Internet developers using Visual Basic®, PowerBuilder®, and Developer/2000"
Platforms: Windows
Description: Integrated collection of tools:
  • testing of Windows client-server applications (Web servers)
  • can port test cases across Windows platforms
  • SQA Repository: database of information about tests & results, accessible over the Internet for use of testers on multiple machines
  • SQA WebEntry: lets users query & modify the repository over the Internet (other applications update the repository also)
  • SQA Manager: helps manage a QA team, including notifying team members of defects via e-mail
  • SQA Robot: creates & runs test cases. Uses capture & playback to create tests scripts, which may be edited. Collects performance data.
  • SQA Process: a formal methodology for testing client/server applications (you get software, a written guide and a few days with a consultant to help set up a QA strategy for your organization)
  • SQA LoadTest: helps test performance with heavy loads by simulating multiple users (running the same test case with different data each time)
  • Tests created by capture & playback will work even after changes to Web pages
  • Integrated with Rational development and requirements tools, which can log requirements to be tested.

Name: SQA TestFoundation for PeopleSoft applications
Company: Rational
Web Site
http://www.rational.com/products/testfoundation/
Category: capture & playback, test suite management, simulation of network conditions
Languages: PeopleSoft
Description: PeopleSoft offers customizable packages for business use, including accounting, materials management, distribution, manufacturing, and human resources.  Rational has taken much of SQA Suite and integrated it with PeopleSoft packages, including some new customized features.

Name: PureCoverage
Company: Rational
Web Site:
http://www.rational.com/products/pure_coverage
Category: coverage tool
Languages: C, C++, Fortran
Platforms:  Unix
Description: Measures program coverage -- by function, block, or line. Customizable graphical user-interface, updated dynamically as tests are run. Supports C and C++ programming environments; also says it "detects untested code with or without source code".  Integrated with Purify.
 

Name:  Purify
CompanyRational
Web Site
http://www.rational.com/products/purify
Category:  property verification (run-time errors)
Languages:  can identify errors in any code, even without source, but handles source code for C, C++, Fortran
Platforms:  Windows & Unix
Description:  Run-time error detection for Windows and Unix platforms. Checks for memory leaks and other run-time errors (using uninitialized memory, array bounds violations, etc.) by inserting object code before every load and store instruction. Can check code even if source is not available.
 

 Name:  PreVue
CompanyRational
Web Site
http://www.rational.com/products/prevue/
Category:  capture & playback, simulation of network conditions
Languages: (I found no mention of specific language support)
Platforms:  Windows, Unix
Description:  Emulates network traffic. Generates "client emulation scripts" automatically from recorded data from actual runs; scripts can be edited by user. Versions: PreVue-CS for database servers, PreVue-Web for Web servers, PreVue-X for X Windows, and PreVue-ASCII for character-based servers.
 
 

Name:  Performix
CompanyRational
Web Site
http://www.rational.com/products/performix/
Category:  capture & playback, simulation of network conditions
Languages:  (I found no mention of specific language support)
Platforms:  Unix & Windows
Description:  Similar to PreVue -- I'm not sure of the difference from reading the web pages.

Name:  Testmate
Company: Rational
Web Site:
http://www.rational.com/products/testmate/ (Ada),
                  
http://www.rational.com/products/testmate/cpp/ (C, C++)
Category: test suite management, coverage tool, automatic test generation (?)
Languages: C, C++, Ada
Platforms: Sun Solaris, HP-UX, Digital UNIX, SGI IRIX, Sun SunOS, IBM RS 6000 AIX
Evaluation Software: RMC has it.
Independent Reviews:
Manufacturer's Literature:
Description: Tools for organizing and maintaining test suites for both module and system testing.  Automatic execution and reporting.  Integrated with Rational's Apex development environment.  Generates test cases from templates.
 
 

 Name:  C-Cover
CompanyBullseye Testing Technology
Web Site:
http://www.bullseye.com/webCcover.html Category:  coverage tool
Languages:  C, C++
Platforms:  Windows 95 or NT, Unix, OS/2, some embedded systems
Description:  Test coverage analyzer; branch or condition coverage.   Marick says it's easy to use.
 

Name:  BoundsChecker
CompanyNu-Mega
Web Site
http://www.numega.com/products/vc/vc.htm Category:  property verification (run-time errors)
Languages:  C++
Platforms:  Windows
Description:  Identifies run-time errors such as arguments out of range, memory leaks, dangling or nil pointers used.   When an error occurs, report includes call stack and other trace information.
 

Name: ObjectCoverage
Company: ObjectSoftware Inc.
Category: coverage tool
Languages: C++
Platforms: SPARC - SunOs 4.1.X and Solaris 2.X
Description: Produces branch coverage reports for C++ programs.
 

Name: ObjectTester
Company: ObjectSoftware Inc.
Category: automatic test generation
Languages: C++
Description: Generates unit testing scripts for C++ classes.  It's hard to tell from how the tests are generated.

Name: TestCenter
Company: CenterLine Software
Web Site
http://www.centerline.com/productline/test_center/test_center.html Category: coverage tool & property verification (run-time errors)
Languages: C, C++
Platforms: Sun, HP, AIX
Description: measures line coverage of test programs, helps check for run-time errors and memory leaks, can force errors such as "disk full" or "out of memory".  Integrated with other development tools.
 

Name: AcquaProva
Company: CenterLine Software
Web Site:
http://www.centerline.com/productline/AcquaProva/AcquaProva.html Category: source code analysis, property verification (runtime errors)
Languages: C, C++
Platforms: Sun, NCR
Description: Checks source code for errors as well as providing programming advice based on books by Scott Meyers.  User can add rules to enforce company coding practices.  Also detects runtime errors.
 

Name: QC/Replay
Company: CenterLine Software
Web Site:
http://www.centerline.com/productline/qcreplay/qcreplay.html Category: capture and playback
Platforms: XWindows on SunOS, Solaris 2.x, HP/UX, AIX
Description: Capture and playback for XWindows programs.
 
 

Name: Insure++
Company: ParaSoft
Web Site
http://www.parasoft.com/insure/home.htm Category: property verification (runtime errors), coverage tool
Languages: C, C++
Platforms: SunOS, HP, IBM RS6000, SGI 5.X, Digital UNIX, Lynx, Linux, SCO
Description: Detects many kinds of compile-time and runtime errors, such as memory leaks.  Coverage analysis is available as an optional add-on.
 
 

Name: CTC++
Company: Testwell
Web Site:
http://www.testwell.sci.fi/ctcdesc.html Category: coverage tool
Languages: C, C++
Platforms: MS-DOS, Windows 3.x/95/NT, DJGPP, HPUX, Sun/Solaris&SunOS, Linux, DEC Alpha OSF1.
Description: coverage analysis for C++, by function, statement, branch or condition.  Also provides timing information.  May be integrated with Microsoft Visual C++ Developer Studio.
 

Name: TCMON
CompanyTestwell
Web Site:
http://www.testwell.sci.fi/tcmdesc.html Category: coverage tool
Languages: Ada 83
Platforms: MS-DOS, VAX/VMS, Sun/Solaris&SunOS.  Ada source code available and may be ported to other platforms.
Description: coverage analysis for Ada, by statement, condition, or sub-condition.  Also provides timing information.  Works by producing a modified copy of the source code.
 
 

Name: TBGEN
CompanyTestwell
Web Site:
http://www.testwell.sci.fi/tbgdesc.html Category: test suite management, unit testing
Languages: Ada
Platforms: MS-DOS, VAX/VMS, Sun/Solaris&SunOS.  Ada source code available and may be ported to other platforms.
Description: Ada test bed: automates building of test drivers and stubs for unit/module testing.  Can test interactively or with a script, including tests, loops and assertions.
 

Name: CTB
Company: Testwell
Web Site:
http://www.testwell.sci.fi/ctbdesc.html Category: test suite management, unit testing
Languages: C
Platforms: MS-DOS, Windows and others.  May be ported to other platforms.
Description: C test bed; automates building of test drivers and stubs for unit/module testing.
 
 

Name: CMT++
Company: Testwell
Web Site:
http://www.testwell.sci.fi/cmtdesc.html
Category: source code analysis, property verification (complexity)
Languages: C, C++
Platforms: MS-DOS, Windows, several Unix platforms
Description: analyzies C/C++ code using McCabe's cyclomatic number and Halstead's estimated number of bugs.
 
 

Name: GCT
Company: Testing Foundations (Brian Marick)
Web Site:
ftp://cs.uiuc.edu/pub/testing/GCT.README
Category: coverage tool
Languages: C
Platforms: Unix
Description: analyzes test coverage for C.  More different coverage measures than most of the other programs, including weak mutation coverage and "race coverage" for multiprocessor systems.  Works by instrumenting C source code.
 

Name: Testworks
Company: Software Research, Inc.
Web Site:
http://www.soft.com/Products/index.html
Category:  test suite management, coverage tool, capture & playback, automatic test generation, source code analysis
Languages: Java, C, C++ Ada and F77.
Platforms: Windows, Unix
Description: An integrated suite of testing tools, providing management of test suites, coverage analysis, and capture and playback for both text and GUI-based applications.  The Unix version also includes a tool to generate test cases from templates provided by the user, and source code analysis to measure complexity and identify bugs or possible trouble spots.  The compoments may be purchased separately or bundled together.
 
 

Name: LDRA Testbed
Company: LDRA Ltd.
Web Site:
http://www.ldra.com/index.htm
Category: source code analysis, coverage tool
Languages: Ada, Algol, C/C++, Cobol, Coral 66, Fortran, Pascal, PL/M, PL/1, Assemblers (Intel + Motorola).
Platforms: Solaris, SunOS, Windows  95/NT/3.1x, Vax/VMS, Open VMS, HP-UX, Digital Unix, WinOS/2, AIX, IRIX, SCO, MVS.
Description: Source code analysis includes metrics on quality and complexity, data flow analysis, and variable cross references.  Coverage analysis includes statement, branch and subcondition coverage.  Also includes data flow analysis.
 

Name: Hindsight
Company: IntegriSoft, Inc.
Web Site
http://www.integrisoft.com/hindsight.htm
Category: coverage tool, test suite management, test suite analysis,
Languages: C, C++, Fortran
Platforms: SunOS, Solaris, HP/UX, and IBM AIX
Description: Several functions:
  • segment, branch and condition coverage analysis
  • generates test drivers and stubs for unit testing
  • cross-references test cases with functions or classes
  • recommends minimal set of test cases
  • complexity metrics

Name: Visual Testing Toolset
Company: McCabe and Associates
Web Site
http://www.mccabe.com/vtt/ Category: coverage tool
Languages & Platforms: says it supports many languages and platforms, but no details
Description: Reports and graphical displays with several kinds of coverage measures.  Computes code complexity and basis paths and shows which paths have been exercised by tests.
 

Name: XRunner
Company: Mercury Interactive
Web Site:
http://www.merc-int.com/products/xrunguide.html Category: capture & replay, automatic test generation
Platforms: all Unix platforms, may be ported to Windows
Description: Generates test suites for XWindows applications.  Test results can be compared as bitmaps, or at a higher level.  You can also create your own test suites by capture & replay or with the help of a graphical interface to your program and a test script language
 

Name: WinRunner
Company: Mercury Interactive
Web Site:
http://www.merc-int.com/products/winrunguide.html Category: capture & replay, automatic test generation
Platforms: Windows
Description: Sounds just like XRunner, but for Windows GUI applications.
 

Name:  LoadRunner
Company: Mercury Interactive
Web Site:
http://www.merc-int.com/products/loadrunguide.html Category: load testing
Platforms: Windows, Unix
Description: Emulates a multi-user network load, with each virtual user running tests (scripts may be developed with XRunner or WinRunner).


Name: TestDirector
Company: Mercury Interactive
Category: test suite management
Platforms: Windows
Description: Tool for managing test suites, maintaining records about test plans for multi-user projects, tracking progress in finding and fixing bugs.  Integrated with WinRunner.  (TestSuite = WinRunner + TestDirector.)
 


Name: Astra SiteTest
Company: Mercury Interactive
Web Site:
http://www.merc-int.com/products/astrastguide.html Category: load testing
Platforms: Windows
Description: Stress testing for web sites.  Includes LoadRunner, plus other stuff specific to web sites.  May be integrated with Astra SiteManger, a tool for managing web sites -- can gather statistics about usage which can be used to generate testing scenarios.
 

Name: TestBytes
Company: Mercury Interactive
Web Site:
http://www.merc-int.com/products/testbytesguide.html Description: Data test generation; couldn't access full description due to Network problem.


Name: ITEX - Interactive TTCN Editor and Executor
Company: Telelogic
Web Site
http://www.telelogic.com Category: automatic test generation, test suite management
Platforms: Win 95/NT, Sun Solaris/SunOS, HP-UX
Description: If you have an SDL specification of the system being tested, provides "semi-automatic" test case generation.  If you write your own test cases, they are checked against the specification.
 
 

Monday, November 14, 2011

Disadvantages of Automation Software Testing

Though the automation testing has many advantages, it has its own disadvantages too. Some of the disadvantages are:
·         Proficiency is required to write the automation test scripts.
·         Debugging the test script is major issue. If any error is present in the test script, sometimes it may lead to deadly consequences.
·         Test maintenance is costly in case of playback methods. Even though a minor change occurs in the GUI, the test script has to be rerecorded or replaced by a new test script.
·         Maintenance of test data files is difficult, if the test script tests more screens.
·         Cost of learning a new language vs. its limited applicability
·         Cost of designing, implementing, and maintaining a domain-specific language as well as the tools required to develop with it (IDE)
·         Finding, setting, and maintaining proper scope.
·         Difficulty of balancing trade-offs between domain-specificity and general-purpose programming language constructs.
·         Potential loss of processor efficiency compared with hand-coded software.
·         Proliferation of similar non-standard domain specific languages, i.e. a DSL used within insurance company A versus a DSL used within insurance company B.
·         Non-technical domain experts can find it hard to write or modify DSL programs by themselves.

Thursday, October 13, 2011

Challenges while testing an application on different platforms

One of the biggest challenges facing the mobile games industry, however, is the sheer number of different devices, operating systems, screen sizes and local market requirements. With more than 4000 different J2ME enabled devices and several hundred Brew Devices in the global market in along with multi-language and other customization requirements from mobile operators,

J2ME Devices – a large number of vendors such as Nokia, Motorola, Samsung, LG, Philips make Java enabled handsets and less backward compability.

Brew devices- have different brand and less backward compability

In addition different screen size pixel length, keyboard, touch screen, dimension
Over 4000 os variation and more than 80 variations in carriers just collect info and guidelines

Cross platform or Intra platform porting:
J2ME to BREW, Symbian to BlackBerry, J2ME to iPhone etc.
Operator or Carrier specific porting:

Most US (AT&T (Formerly Cingular), T-Mobile, Sprint, Verizon), European (Vodaphone, Orange, Virgin Mobile etc.) and Canadian Carriers)

Inter platform porting:
Up-gradation of OS versions, new device compatibility, new features addition or enhancement, etc.

The biggest challenge is day by day growing new technologies cannot meet global criteria. Tight deadline and device and operator guidelines

Wednesday, September 14, 2011

When to Stop Testing?

Before ask this question, let us try to answer another question

Is Complete Testing Possible?

Obviously No :)
To prove that a program is completely free of defects is practically impossible and theoritically MAMMOTH exercise. Hence the conclusion is to provide a suitable, convincing demo that the application/software has been tested enough.

Some of the STOP CRITERIAS are

·         Time runs out (POOR Criteria..!!)
·         Resources run out
·         Testing stops when all test cases execute without producing any error
·         Testing stops when certain number of errors are found
·         Testing stops when all statements and all branches are executed and all test cases execute without failure
·         Testing stops when the result is unproductive ie., No. of errors per person day reduces

Tuesday, August 2, 2011

Configuration Management Terms

                            Glossary of Configuration Management Terms
Term Description 
As Built state The baseline description of a built configuration. 
As Planned state The baseline description of planned configuration e.g. as planned to be installed. 
Audit trail/history Auditable information that records for example what was done, when it was done, by whom and why. 
Backup A copy of a working environment, taken on a regular basis to provide security against disaster or loss.  The lifetime of the backup may be quite short, depending upon the frequency that the backup copies are taken. 
Baseline See Configuration Baseline. 
Build The construction of a Configuration, from its component Configuration Items. The usually involves some processing or conversion of the Component Configuration Items (eg. compiling source code, text processing etc.) inputs to output Configuration Items eg. executables. 
Category Classification of a group of Configuration Items, change documents or problems. 
Change The addition, modification or removal of approved, supported or baselined business process, hardware, network, software, application, environment, system, desktop build or associated documentation. 
Change Advisory Board Decisions to create or change Products should be made by a Change Advisory Board (CAB). All viewpoints should be represented on the CAB, especially those of the Buyer and the End User. The CAB should endeavour to reach decisions by consensus, with reference to written criteria, although the final decision will rest with one member, normally the Chairman. The decisions of the CAB should be logged. For a large Project or Service, more than one level of CAB may be needed, with major impact problems being passed upwards from CABs managing parts of the development to a higher level CAB. 
Change Authority A group that is given the authority to approve change, e.g. by the Project Board. Sometimes referred to as the Change Review Board or Change Advisory Board. 
Change Control A formal system for ensuring that all changes are controlled
obtaining approval to make the change 
reporting planned and emergency changes to systems/processes 
 evaluating impact of these changes on the systems/processes 
 post implementation review of the change 
final summary and approval of documentation 
Change Control Board See Change Advisory Board. 
Change Document Change request, change control form, change order, change record. 
Change Log A log of change requests raised during the project, showing information on each change, its evaluation what decisions have been made and its current status, e.g. Raised, Reviewed, Approved, Implemented, Closed 
Change Management Process of managing changes to the project, infrastructure or any aspect of services, in a controlled manner, enabling approved changes with minimum disruption. 
Change Record Record containing details of which Configuration Items are affected by an authorized change (planned or implemented) and how. 
Change Request A generic form or screen, used to record details of a request for a change to a configuration item. Examples are Request for Change, Project Scope Change, Software Change Control form. It is a means of proposing a modification to the current specification of a product, system or environment. 
Change Review Board See Change Advisory Board. 
Classification Process of formally grouping Configuration Items by type, e.g. software, hardware, documentation, environment, application. Process of formally identifying changes by type e.g. project scope change request, change request, infrastructure change request. 
Configuration A Configuration is the complete technical description required to build, test, accept, install, operate, maintain and support a system. It includes all documentation pertaining to the system as well as the system itself. 
Configuration Audit The process of verifying that all the required Configuration Items have been produced, that the current version agrees with specified requirements, that the technical documentation completely and accurately describes the Configuration Items and that all Change Requests have been resolved. Regular Configuration Audits should be held. Inspection of plans, procedures, working practices, repositories and other records would be included in such audits. 
Configuration Baseline Configuration of a product or system established at a specific point in time, which captures both the structure and details of the product. It serves as reference for further activities and is also known as a configuration baseline (ISO 10007). An application or software baseline provides the ability to change or to rebuild the specific version at a later date. A snapshot or a position which is recorded. Although the position may be updated later, the baseline remains unchanged and available as a reference of the original state and as a comparison against the current position (PRINCE 2). 
Configuration Control Activities comprising the control of changes to Configuration Items after formal establishment of its configuration documents. It includes the evaluation, co-ordination, approval or rejection of changes. The implementation of changes includes changes, deviations and waivers that impact on the configuration. 
Configuration Documentation Documents that define requirements, system design, build, production, and verification for a configuration item. 
Configuration Identification Activities that determine the product structure, the selection of Configuration Items, and the documentation of the configuration items physical and functional characteristics including interfaces and subsequent changes. It includes  the allocation if identification characters or numbers to the Configuration Items and their documents. It also includes the unique numbering of configuration control forms associated with changes and problems. 
Configuration Item (CI) Aggregation of hardware, network, software, application, environment, services or any of its discrete portions, that is designated for Configuration Management and treated as single entity in the Configuration Management process. Configuration Items may vary widely in complexity, size and type - from an entire system (including all hardware, software and documentation) to a version or variant of a single module. 
Configuration Management Technical and organizational activities comprising configuration identification, configuration control, configuration status accounting and configuration audit. This includes the processes of identifying and defining the Configuration Items, recording and reporting the status of Configuration Items and requests for change, and verifying the completeness and correctness of Configuration Items. 
Configuration Management Database A database which contains all relevant details of each Configuration Item and details of the important relationships between Configuration Item. 
Configuration Management Plan Document setting out the organisation and procedures for the Configuration Management of a specific product, project, system, support group or service. 
Configuration Management Tool (CM Tool) A software product providing automatic support for configuration management e.g. change, configuration or version control. 
Configuration Status Accounting The process of recording and reporting information that is needed to manage a Configuration effectively, including the approved current Configuration identification, the status of proposed changes to the Configuration and the implementation status of approved changes. 
Configuration Structure A heirarchy of all the Configuration Items that comprise a configuration. 
Element Application programs, object files, source code files, documentation, database structures, key parameter file information. 
Environment A collections of hardware, software, network communications and procedures that work together to provide a discrete type of computer service. There may be one or more environments on a physical platform e.g. test, production. An environment has unique features and characteristics that dictate how they are administered in similar, yet diverse manners. Examples are the UNIX-Oracle server, NT file server. 
Granularity Level at which items are to become Configuration Items, i.e. under the control of the Configuration Management System. 
Impact Analysis Impact Analysis is the term given to the process of assessing the ramifications of pursuing a particular course of action - typically a change to the existing system. 
Incremental Change Modifications made to correct processing problems, inefficiencies. These are normally limited in scope. See Minor Release. 
Interface Physical or functional interaction at the boundary between Configuration Items. 
Library A storage area for Configuration Items. This may, for example, be a filing cabinet for documents, a database for software or a designated room for hardware. 
Major Release Contains major new enhancements in functionality from the previous release. 
Master Copy There will be only one Master copy of an item.  Where duplication of items can occur, appropriate mechanisms must be in place to detect and manage variants. 
Milestone This is a point in a Project when a major objective is achieved. It may be a Release, a Baseline or a major control point. 
Minor Release Contains minor modifications to the software (e.g. fixes, patches) made to correct processing problems, inefficiencies. These are normally limited in scope. 
Process A set of inter-related activities, which transform inputs into outputs. They bring about a particular outcome, in terms of information to be gathered, decisions to be made, results and status that must be achieved. 
Product Any output from a Project. PRINCE distinguishes between Management Products (which are produced as a part of the Management of the Project) and Quality Products (which show that quality has been built into the system) and Technical Products (those Products which make up the system). A Product may be an item of Software, Hardware or Documentation and may itself be a collection of other Products. 
Project Change Control The procedure to ensure that all project changes, @ changes and project issues are controlled, including the submission, analysis and decision making. 
Project Issue Report  A document used to raise any Issues relating to the Project in any way. 
Relationships Define how objects are impacted by change documents and other Configuration Items.  The build process captures relationships between input and output Configuration Items. 
Release A particular version of a configuration item that is made available for a specific purpose. For example, a test release or a production release. 
Software Configuration Items (SCI) As configuration item, excluding hardware and services.  
Software Environment Software used to support an application such as: Operating system, database management system, development tools, compilers, and application software. 
Software Library A controlled collection of software Configuration Items designated to keep those with like status and type together and segregated from unlike, to aid in development, operation and maintenance. 
Software Release A set of new or changed software Configuration Items which is promoted for use at a more advanced stage of the Life Cycle and which comes under the control of a higher authority (eg. Specification to Design; Implementation to Testing; Installation to Use). Software Release will consist of a set of Configuration Items from a specified Configuration Baseline, collected together for use by others in the development process or by users. For example a set of Software modules may be collected together and released for Testing. 
Status Accounting Recording and reporting current and historical data on the status of each CI. The status of all versions should be readily determinable, e.g. for what purposes they are approved for use. The lifecycle status (e.g. new; testable; tested; approved; released) for intermediate and end products must be defined and controlled. The configuration of each released baseline needs to be documented, as does the configuration of the released system. 
Sub-Contractor Control Sub-Contractor Control activities are concerned with the incorporation into project Configuration Items of items developed outside of the project environment. The Configuration Management Plan defines the activities for incorporating the externally developed items into Project Configuration Items. Also the Configuration Management Plan shall define activities to co-ordinate changes to those external items with their developers. The Configuration Management Plan shall describe: 
What Configuration Management requirements are to be part of the sub-contractors agreement 
What configuration Audits and Reviews of sub-contractors items will be held 
How external items will be tested, verified, accepted and merged with the Project software 
System An integrated composite that consists of one or more of the processes, hardware, software, facilities and people, that provides a capability to satisfy a stated need or objective. 
Third Party Supplier Enterprises or groups, external to the project or service suppliers organisation, which provide services and/or products that contribute to, or supplement, the overall product, configuration or service. 
Traceability The history and content of all versions of items handed over from one person or organisation to another must be traceable, as must the results of the handover, ie. Whether the version was accepted or used. 
Variant One item version is a variant of another, if neither is a revision of the other. Variants allow one item to meet conflicting requirements at the same time. Temporary variants allow parallel development and will eventually be merged. Permanent variations are not merged but enable the CI to meet different functional requirements. An example might be a screen with text in a different (foreign) language. 
Version An identified instance of a configuration item within a configuration structure for the purpose of tracking and auditing change history. 
A configuration Item may have a number of versions relating to the continuing development of that Configuration Item. In the first instance, a Configuration Item will be created and submitted.  The configuration Item will then undergo a number of modifications as it is tested and errors corrected, or as changes are requested. Subsequent submissions of the Configuration Item will be distinguished by an increasing version number. 
Version Control The means by which items are identified, the dependency information associated with them, the means by which it is stored and how access to it is controlled. The establishment of baselines containing that item and its constituent parts. 
Version Identifier A version number; version date; or version date and time stamp.