iit.gif (699 bytes)

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)

Never Rarely Regular Often Always

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)

Never Rarely Regular Often Always

2.1 System/Prototype Simulators (merge analysis and design activities with testing)

Never Rarely Regular Often Always

2.2 Requirements Tracers (reduce the work effort of tracing requirements to associated design information, source code, and test cases for large projects)

Never Rarely Regular Often Always

2.3 Requirement-Based Test Case Generators (help developers evaluate requirements and design information during the requirement analysis, design, and code phases)

Never Rarely Regular Often Always

2.4 Test Planners (assist developers in planning and defining acceptance, system, integration, and unit-level tests)

Never Rarely Regular Often Always

IMPLEMENTATION AND MAINTENANCE TEST SUPPORT TOOLS

3.0 Compilers

Never Rarely Regular Often Always

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

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

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

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

Comments