Questionnaire for the Testing Maturity Model
Tools
CURRENT PROJECT:
Please identify the frequency for using testing tools listed below.
TEST RESOURCE MANAGEMENT TOOLS
1.0 Configuration Managers (monitor and control the effects of changes throughout development and maintenance and preserve the integrity of released and developed versions)
Never Rarely Regular Often Always
1.1 Project Managers (help managers plan and track the development and maintenance of systems)
REQUIREMENTS AND DESIGN TEST SUPPORT TOOLS
2.0 Analyzers for Software Plans, Requirements, and Designs (evaluate the specifications for consistency, completeness, and conformance to establish specification standards)
2.1 System/Prototype Simulators (merge analysis and design activities with testing)
2.2 Requirements Tracers (reduce the work effort of tracing requirements to associated design information, source code, and test cases for large projects)
2.3 Requirement-Based Test Case Generators (help developers evaluate requirements and design information during the requirement analysis, design, and code phases)
2.4 Test Planners (assist developers in planning and defining acceptance, system, integration, and unit-level tests)
IMPLEMENTATION AND MAINTENANCE TEST SUPPORT TOOLS
3.0 Compilers
3.1 Source Code Static Analyzers (examine source code without executing it)
1) Auditors (analyze code to ensure conformance to establish rules and standards) Never Rarely Regular Often Always 2) Complexity Measurers (compute metrics from the source code to determine various complexity attributes associated with the source code or designs written in a program design language-PDL) Never Rarely Regular Often Always 3) Cross Referencing Tools (provide referencing between various entities) Never Rarely Regular Often Always 4) Size Measurers (count source lines of code- SLOC) Never Rarely Regular Often Always 5) Structure Checkers (identify some structure anomalies and portray the structure of the source code through graphics or text) Never Rarely Regular Often Always 6) Syntax and Semantics Analyzers (identify type conflicts in calling arguments of separately compiled subroutines) Never Rarely Regular Often Always
1) Auditors (analyze code to ensure conformance to establish rules and standards)
2) Complexity Measurers (compute metrics from the source code to determine various complexity attributes associated with the source code or designs written in a program design language-PDL)
3) Cross Referencing Tools (provide referencing between various entities)
4) Size Measurers (count source lines of code- SLOC)
5) Structure Checkers (identify some structure anomalies and portray the structure of the source code through graphics or text)
6) Syntax and Semantics Analyzers (identify type conflicts in calling arguments of separately compiled subroutines)
3.2 Test Preparation Tools (prepare test data or test case information that may require various levels of follow-on formatting)
1) Data Extractors (build test data from existing databases or test sets) Never Rarely Regular Often Always 2) Requirements-Based Test Case Generators (help developers evaluate code requirements by building test cases from requirements written following the rules of the tool's formal specification language) Never Rarely Regular Often Always 3) Test Data Generators (build test inputs that are formatted or can be readily formatted in the required files) Never Rarely Regular Often Always 4) Test Planners (assist developers in planning and defining tests) Never Rarely Regular Often Always
1) Data Extractors (build test data from existing databases or test sets)
2) Requirements-Based Test Case Generators (help developers evaluate code requirements by building test cases from requirements written following the rules of the tool's formal specification language)
3) Test Data Generators (build test inputs that are formatted or can be readily formatted in the required files)
4) Test Planners (assist developers in planning and defining tests)
3.3 Test Execution Tools (dynamically analyze the software to be tested)
1) Assertion Analyzers (instrument the code with logical expressions that specify conditions or relations among the program variables) Never Rarely Regular Often Always 2) Capture-Replay Tools (automatically record test inputs - capture scripts - and replay those test inputs - playback scripts - in subsequent tests after code changes) Never Rarely Regular Often Always 3) Coverage/Frequency analyzers (assess the coverage of test cases with respect to executed statements, branches, paths or modules) Never Rarely Regular Often Always 4) Debuggers (directly support the testing effort even though their prime intent is to locate errors resulting from testing) Never Rarely Regular Often Always 5) Emulators (may be used in place of missing or unavailable system components and usually operate at the real-time speed of the components being emulated) Never Rarely Regular Often Always 6) Network Analyzers (analyze the traffic on the network to identify problem areas and conditions as well as allow you to simulate the activities of multiple terminals) Never Rarely Regular Often Always 7) Performance/Timing Analyzers (monitor timing characteristics of software components or entire systems) Never Rarely Regular Often Always 8) Run-Time Error checkers (monitor programs for memory referencing, memory leaking, or memory allocation errors) Never Rarely Regular Often Always 9) Simulators (are used in place of missing or unavailable system components) Never Rarely Regular Often Always 10) Status Displayers/Session Documents (provide test status information and record selected information about a test run) Never Rarely Regular Often Always 11) Test Execution Managers (automate various functions of setting up test runs, performing a variety of tests, and cleaning up after a test to reset the system) Never Rarely Regular Often Always 12) Validation Suites (validate software against a well-defined standard) Never Rarely Regular Often Always
1) Assertion Analyzers (instrument the code with logical expressions that specify conditions or relations among the program variables)
2) Capture-Replay Tools (automatically record test inputs - capture scripts - and replay those test inputs - playback scripts - in subsequent tests after code changes)
3) Coverage/Frequency analyzers (assess the coverage of test cases with respect to executed statements, branches, paths or modules)
4) Debuggers (directly support the testing effort even though their prime intent is to locate errors resulting from testing)
5) Emulators (may be used in place of missing or unavailable system components and usually operate at the real-time speed of the components being emulated)
6) Network Analyzers (analyze the traffic on the network to identify problem areas and conditions as well as allow you to simulate the activities of multiple terminals)
7) Performance/Timing Analyzers (monitor timing characteristics of software components or entire systems)
8) Run-Time Error checkers (monitor programs for memory referencing, memory leaking, or memory allocation errors)
9) Simulators (are used in place of missing or unavailable system components)
10) Status Displayers/Session Documents (provide test status information and record selected information about a test run)
11) Test Execution Managers (automate various functions of setting up test runs, performing a variety of tests, and cleaning up after a test to reset the system)
12) Validation Suites (validate software against a well-defined standard)
3.4 Test Evaluators (perform time-consuming, error-prone, and boring functions)
1) Comparators (compare entities with each other after a software test and note the differences) Never Rarely Regular Often Always 2) Data Reducers and Analyzers (convert data to a form that can be more readily interpreted and can sometimes perform various statistical analyzers on the data) Never Rarely Regular Often Always 3) Defect/Change Trackers (keep track of error information and generate error reports) Never Rarely Regular Often Always
1) Comparators (compare entities with each other after a software test and note the differences)
2) Data Reducers and Analyzers (convert data to a form that can be more readily interpreted and can sometimes perform various statistical analyzers on the data)
3) Defect/Change Trackers (keep track of error information and generate error reports)
Comments