Glossary of Software Testing Terms Provided by Testing Realms

Glossary of Software Testing Terms: C

This glossary of software testing terms and conditions is a compilation of knowledge, gathered over time, from many different sources. It is provided “as-is” in good faith, without any warranty as to the accuracy or currency of any definition or other information contained herein. If you have any questions or queries about the contents of this glossary, please contact Project Realms directly.

Capability Maturity Model for Software
Code Review Configuration Testing
Capability Maturity Model Integration
Code Walkthrough Conformance Criterion
Capture/Playback Coding Conformance Testing
Capture/Playback Tool Compatibility Testing Context Driven Testing
Computer-Aided Software Testing (CAST) Complete Path Testing Control Flow
Cause-Effect Graph Component Control Flow Graph
Certification Component Specification Control Flow Path
Code-Based Testing Component Testing Controller
Code Complete Concurrent Testing Conversion Testing
Code Coverage Condition Correctness
Code Freeze Condition Coverage Coverage
Code Inspection Condition Outcome Coverage Item

Capability Maturity Model for Software (CMM)
The CMM is a process model based on software best-practices effective in large-scale, multi-person projects. The CMM has been used to assess the maturity levels of organization areas as diverse as software engineering, system engineering, project management, risk management, system acquisition, information technology (IT) or personnel management, against a scale of five key processes, namely: Initial, Repeatable, Defined, Managed and Optimized.


Capability Maturity Model Integration (CMMI)
Capability Maturity Model ® Integration (CMMI) is a process improvement approach that provides organizations with the essential elements of effective processes. It can be used to guide process improvement across a project, a division, or an entire organization. CMMI helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes.

Seen by many as the successor to the CMM, the goal of the CMMI project is to improve the usability of maturity models by integrating many different models into one

Automated testing incorporates capture/playback tools. They capture every input and then may be played back to identify behavior. This does require scripting, so to be cost-effective, the application should be stable before attempting to automate testing. Capture/playback can only ensure that what was recorded is what is played back, this may or may not be what was intended for the system.

Capture/Playback Tool
A test tool that records test input as it is sent to the software under test, the input cases stored can then be sued to reproduce the test at a later time.

Computer-Aided Software Testing (CAST)
Acronym for computer-aided software testing. Automated software testing in one or more phases of the software life-cycle. See also ASQ.

Cause-Effect Graph
A graphical representation of inputs or stimuli (causes) with their associated outputs (effects), which can be used to design test cases.

The process of confirming that a system or component complies with tits specified requirements and is acceptable for operational use.
Code-Based Testing
The principle of structural code based testing is to have each an every statement in the program executed at least once during the test. Based on the premise that one cannot have confidence in a section of code unless it has been exercised by test, structural code based testing attempts to test all reachable elements in the software under the cost and time constraints. The testing process begins by first identifying areas in the program not being exercised by the current set of test cases, followed by creating additional test cases to increase the coverage.

Code Complete
A phase of development where functionality is implemented in its entirety; bug fixes are all that are left. All functions found in the Functional Specifications have been implemented.

Code Coverage
A measure used in software testing. It describes the degree to which the source code of a program has been tested. It is a form of testing that looks at the code directly and as such comes under the heading of white box testing.

To measure how well a program has been tested, there are a number of coverage criteria - the main ones being:
  • Functional Coverage - has each function in the program been tested?
  • Statement Coverage - has each line of the source code been tested?
  • Condition Coverage - has each evaluation point (i.e. a true/false decision) been tested?
  • Path Coverage - has every possible route through a given part of the code been executed?
  • Entry/Exit Coverage - has every possible call and return of the function been tested?

Code Freeze
See Stabilization Period.

Code Inspection
A formal testing technique where the programmer reviews source code with a group who ask questions analyzing the program logic, analyzing the code with respect to a checklist of historically common programming errors, and analyzing its compliance with coding standards.

Code Review
A code review is the verification of the application design and implementation based on the code written.

Code Walkthrough
A formal testing technique where source code is traced by a group with a small set of test cases, while the state of program variables is manually monitored, to analyze the programmer's logic and assumptions.

The generation of source code.

Compatibility Testing
The process of testing to understand if software is compatible with other elements of a system with which it should operate, e.g. browsers, Operating Systems, or hardware.

Complete Path Testing
See exhaustive testing.

A minimal software item for which a separate specification is available.

Component Specification
A description of a component's function in terms of its output values for specified input values under specified preconditions.

Component Testing
The testing of individual software components.

Concurrent Testing
Multi-user testing geared towards determining the effects of accessing the same application code, module or database records. See Load Testing.

A Boolean expression containing no Boolean operators. For instance, A<B is a condition but A and B is not.

Condition Coverage
See branch condition coverage.

Condition Outcome
The evaluation of a condition to TRUE or FALSE.

Configuration Testing
Configuration testing verifies the operation of different software and hardware configurations. In most environments, the particular hardware specifications for the client workstations, network connections and database servers vary between users.

This type of testing frequently involves hardware or application support personnel with specialized knowledge of the system. In planning for these efforts make sure to limit the effort to a focused small set of goals. Make as few changes as possible between each test execution to simplify analysis of the results. The system will consist of both hardware and software. To better ensure achieving Configuration test objectives, if possible, change only one of these two systems aspects at a time.
  • Hardware - Configuration testing may attempt to determine the best single server configuration such as the optimal number of CPUs or required RAM size. It may also look at optimal network topology or system architecture
  • Software - Software Configuration Testing focuses on optimizing the settings within software to get the desired behavior from the software. Enabling or disabling features, maximizing performance or optimizing software interactions with the hardware
    • Operating Systems - Determine optimal client or server Operating System setting is one form of Configuration testing. Testing upgrades, patches and hot fixes to an operating system are another form
    • Application Settings - Some applications have control settings that direct the applications interactions with the operating system or the hardware. Optimizing these configuration settings for a software application is another form of Configuration testing
    • Software Architecture - Testing with different software architectures is another form of Configuration testing. Comparing Java to .NET or trying different software prototypes is a common instance of this testing type.

Conformance Criterion
Some method of judging whether or not the component's action on a particular specified input value conforms to the specification.

Conformance Testing
The process of testing to determine whether a system meets some specified standard. To aid in this, many test procedures and test setups have been developed, either by the standard's maintainers or external organizations, specifically for testing conformance to standards.

Conformance testing is often performed by external organizations; sometimes the standards body itself, to give greater guarantees of compliance. Products tested in such a manner are then advertised as being certified by the external organization as complying with the standard.

Context Driven Testing
The context-driven school of software testing is similar to Agile Testing that advocates continuous and creative evaluation of testing opportunities in light of the potential information revealed and the value of that information to the organization right now.

Control Flow
An abstract representation of all possible sequences of events in a program's execution.

Control Flow Graph
The diagrammatic representation of the possible alternative control flow paths through a component.

Control Flow Path
See path.

The Controller is used to create and run scenarios. Once the VU scripts have been created they need to be parameterized, correlated, and then debugged. This enables execution of the scripts by the VU's for multiple iterations. We can specify the number of virtual users and the ramp up specifications to produce the demand on the system that is required. When running a scenario the controller co-ordinates all the virtual users. It starts virtual users as required, and can force them to synchronize with each other, thus producing a maximum peak demand.

Conversion Testing
Testing of programs or procedures used to convert data from existing systems for use in replacement systems.

The degree to which software conforms to its specification.

The degree, expressed as a percentage, to which a specified coverage item has been tested.

Coverage Item
An entity or property used as a basis for testing.

| Contact us for more info