(ref.doc)olavi 280693

Next grahamd 100793 Prev: bs 250693 Up: Usenet

Newsgroups: comp.software.testing,comp.software-eng
From: [email protected] (Poutanen Olavi)
Subject: Re: coverage testing tools
Nntp-Posting-Host: kaarne.cs.tut.fi
Organization: Testwell
Distribution: comp
Date: Mon, 28 Jun 1993 11:16:00 GMT

In article <[email protected]> [email protected] (Tahsin Alam [temp]) writes:

>Hi:
>
>I am looking for tools that will allow one to measure the coverage
>(which routines were called, which binary branches were taken, etc.)
>achieved by running test suites. I already know about ...

WE ALSO ...

Testwell has some testing tools for Ada, C and C++ languages. Besides
test coverage tools we also have some test harnessing tools for unit
and unit integration level testing enabling the testing against the
intended functionality. Namely, even 100% test coverage alone does not
guarantee the correct behaviour. I hope that the short tool descriptions
below interest the audience of this newsgroup.

For Ada we have:

TBGEN   Test Bed Generator for Ada. This is a specification-based (black-
        box) unit testing (and unit integration testing) tool for Ada.
        Here a unit, or a module, is normally Ada's package. It has a call
        interface. Your need is to test it with various call sequences
        and parameter values and observe/check the results.

        TBGEN generates the testing environment, the test bed, for you.
        Also stubs can be generated if needed. The test bed allows both
        interactive and script based testing. A test session might look:

           MYBED> i : integer := 5 -- Ada-like command language
           MYBED> arr : pack.int_arr(1 .. 3) := (10, 20, 30)
           MYBED> -- Next is a test call. Out-parameters (or exception
           MYBED> -- raised) shown afterwards, i.e. make the tests visible
           MYBED> pack.proc(data => 100, p2 => i, buff => arr)
                  P2 (out) = 95
                  BUFF (out) = (110, 120, 130)
           MYBED> -- automatic result checking (normally in scripts)
           MYBED> assert not exception and
           MYBED+        i = 95 and arr(1) = 110 and arr(3) = 130
           MYBEB> ...

        The scripts may be nested, can have loops and ifs. Trace is written.
        The testing is standardized, visible, "easy" (as what comes to
        arranging the environment), automated, documented, measurable,...

TCMON   Test Coverage Monitor for Ada. Instrumentation based tool. Gives
        you (depending what options you take) statement coverage,
        condition coverage, subcondition coverage, subprogram execution
        timing (your own cost function can be used), timing of user defined
        events. TCMON is a simple, easy-to-use and efficient tool to ensure
        thorought testing and to complement the specification-based testing
        approach.

For C and C++ we have:

CTB     C Test Bed. A similar tool for C (sorry not for C++) that TBGEN
        is for Ada (see above). Written in portable ANSI C, assumes only
        ANSI C -- well, in practice we recognize also some dialects.
        Based on C header files generates (no user programming is needed!)
        very powerful unit test (and unit integration test) environment,
        the test bed. C-like command language. C.f. TBGEN above.

CTC++   Test Coverage Analyzer for C/C++. Instrumentation based tool.
        Gives you Function Coverage (the most lightweight instrumentation:
        have all functions been called), Decision Coverage (decisions and
        other control transfers), Interface Coverage (applies to C++
        classes only: how thoroughly the class interface has been exercized
        at each inheritance level), Function Execution Timing (you can supply
        your own cost function), and measuring of user-defined events.
        CTC++ is a simple, easy-to-use and efficient tool. Can be used
        together with CTB, too.

C++ Test Aider. This little pearl is a test harnessing tool for C++ classes.
        Its goals are quite the same as with TBGEN for Ada and CTB for C but
        the implementation technique is different. The tool provides you a 
        special Test Aider Language for writing the test driver on your
        C++ code to be tested. So, when in TBGEN and CTB test beds the test
        cases come from the terminal or from textual script files, here you
        have them hard-coded in your test driver. However, some of the
        important properties are preserved: trace writing of Test Aider
        Program execution (test progress is made visible and documented),
        assertions can be used, testing practices can be standardized,
        testing is repeatable. The private part of a class can be accessed
        at testing time.

Besides these testing tools Testwell markets a complexity measures tool
(McCabe, Halstead, line-of-code metrics for C/C++) and style guides for
C and C++ languages.

I hope the above gave you some true information of Testwell's product
offering. For more information, please contact.

Olavi Poutanen
Managing Director

Testwell Oy
Kanslerinkatu 8, SF-33720 Tampere, Finland
Tel. +358-31-316 5464, Fax. +3658-31-183 311
(Can be reached also with the following email: [email protected])


automatically generated by info2www version 1.2.2.8