Anda di halaman 1dari 10




S-TCAT is the System Test Coverage Analysis Tool of the STW/Coverage tool group. S-TCAT measures the structural completeness of a test suite by reporting on the percentage of function call-pairs exercised. Scover is an S-TCAT utility used to assess the value of S1 coverage.

Coverage analysis usually involves the use of more detailed information and measurement data than that for reliability analysis. But, fortunately, various coverage analysis tools exist to collect coverage information during test execution. For example, several popular commercial test tools collect and analyze coverage information to provide feedback and quality assessments to the testing process or the overall development process, including: 0 McCabe Test from McCabe and Associates provides control flow coverage related information and analysis. o S-TCAT (System Test Coverage Analysis Tool) from SRI (Software Research, Inc.) provides function-level coverage and call-pair information. S-TCAT can also be integrated into a tool suite called Testworks from SRI for various other testing purposes. o ATAC (Automatic Test Analysis for C) from Telecodia is a data flow coverage analysis tool for white-box testing.

Test coverage tools:

TCAT C/C++ for Windows provides measurements to determine how much code has been tested. TCAT C/C++ produces textual and graphical reports that identify what has and has not been exercised. It uses logical branch coverage for unit and system testing, and function call coverage for integration tests. TCAT C/C++ uses recursive descent compiler technology to handle all standard constructs and dialects of C and C++. TCAT and S-TCAT, a branch-level unit-test and system test coverage analysis tool, provides branch and call-pair coverage for F77 and Ada programs. (Call

pair coverage for C, C++ is built into TCAT/C-C++). TCAT and S-TCAT measure the number of times each segment or function-call pair is exercised. o C1 expresses test effectiveness as the percentage of every segment exercised in a program by a test suite, relative to the number of such segments existing in the system. o S1 expresses test effectiveness as the percentage of every function-call exercised in a program by a test suite, relative to the number of such function-calls existing in the system. TCAT and S-TCAT instrument the application by placing markers at each segment or function-call. When test cases have been run against the instrumented code, TCAT/S-TCAT collects and stores test coverage data in a tracefile. TCAT/S-TCAT then extracts this information to create coverage reports indicating which calls remain untested or frequently tested, and which test cases duplicate coverage. TCAT/S-TCAT also creates archive files containing cumulative test information. The instrumentation process also generates call-trees that identify a program's modules and represent the caller-callee hierarchical structure (as well as subtrees of caller-callee dependencies) within a program. Using optional user annotation and or supplied color annotation, the call-tree shows each functions' level of interface exercise. When a function-call coverage values are low the user can navigate directly to the corresponding source code. The call-trees can also generate directed graphs depicting the controlflow structure for individual modules. TestWorks / Coverage measures C1 (branch coverage), S0 (module coverage) and S1 (callpair coverage) for C, C++, Ada, F77 and Java. UNIX Xcalltree TCAT Xcover Xdigraph TCAT Main Menu WINcover WINdigraph WinIC9 Main Menu Windows WINcalltree

The Xcalltree below has been annotated to show the level of call pair coverage (S1) for the application under test. Red, Yellow and Green functions in the tree indicate low, average, or high coverage for each node. The user can set these threshold levels.

WINcalltree displays a calltree of the application under test. From this display, you can also view source code and directed graphs of your application.

The basic coverage analyzer in TestWorks/Coverage is called Xcover. Xcover displays both call pair (S1) and branch coverage (C1) reports of your testing process in an easy to read tabular format. Select a filename and you see all the functions in that file. Select a function name and the display expands to show segments and call pairs. Click on a segment or callpair and see the corresponding source text.

WINcover shows coverage values for C/C++ in a flexible graphical format. Current and past test information, complete details down to the segment or callpair level, and immediate source access are all available.

Xdigraph depicts the structure and flow of the application under test. From the directed graph (shown left), you can also view statistics (upper right) and associated source code (lower right).

WINdigraph shows the structure and sequence of flow of the application under test. Click on an edge to see the actual source code corresponding to the edge.

TCAT Main Menu

This screen shows the contents of the main menu for TCAT Ver. 9. As you can see the menu provides for single-button access to all of the main fucntions needed to support automated instrumentation.

WinIC9 Main Menu

This is WinIC9 main dialog.