Teknik Informatika    
   
Daftar Isi
(Sebelumnya) Canonical form (Boolean algebra)Canto (news aggregator) (Berikutnya)

Cantata++

Cantata++, or simply Cantata in newer versions, is a computer program for software testing at run time of C and C++ programs.

Contents

Overview

Cantata belongs to a category of software tools which are used for dynamic testing of software. These kind of tools bring compiled test cases to execution with the linked-in code under test. The executable will run on a computing platform, a host, or a target platform. Integration of debuggers is optional.

Typical users are developers of application software for general-purpose computers, or of system software designed for embedded systems and mobile devices. Also, users of Cantata are often test designers in the software development process.

The IDE of Cantata is based on Eclipse. Furthermore, there is an Eclipse plug-in available for development environments based on Eclipse, e.g. those of compiler vendors. Reversely, all plug-ins available for Eclipse can be installed in the Cantata IDE.

Because there is a command line present for Cantata it may fit well into test automation and continuous integration frameworks.

Cantata is developed by the concern QA Systems. QA Systems GmbH has acquired the product and retained its complete development staff from IPL Information Processing Ltd. in 2012, at the same time founding QA Systems Ltd. settled in Bath (UK).

Mode of operation

In Cantata the user creates a set of test cases for unit testing, integration testing, and code coverage for C und C++ code.

The necessity of such testing arises from product liability according to the current state of technology. What the actual state of technology is, expresses itself in technical standards, like IEC 61508 and derivatives like ISO 26262 or EN 50128 (CENELEC). Therein requirements can be found which relate to Functional Safety and how to ensure a certain Safety Integrity Level (SIL).

Which C and C++ source code are to be tested with Cantata has to be decided by the user at the beginning of a test cycle. The user's decision depends on the maturity of the software modules of which the interfaces are as stable over time as possible. After selecting appropriate modules the user creates a discrete software test project that keeps its own lifecycle and maintenance parallel to the software development project.

A copy of the modules' code (Software Under Test, SUT) will be filled and surrounded with further statements. This instrumentation of a module is inevitable in order to put the SUT into a frame which is executable. This test frame is generated by Cantata and contains code which drives the test and the obligatory program entry point (function main()) which regularly falls off when cutting the SUT.

Single functions / methods of the SUT will be executed with to-be-defined input values. The results will be compared with to-be-defined expected return values. Specification of the test cases like this is the task of test designers. It is carried out ad libitum, obeying a concerted test strategy, or with the formal software requirements specification at hand.

Because there are calling dependencies between the SUT and untested modules within the software development project those other modules have to be eliminated from the software test project. So there is the need for substitutes which in a simple way pretend to do what the SUT actually expects. These substitutes are called stubs, test stubs, or mocks and have the same function signature as their originals.

The function bodies of stubs und mocks are created by Cantata, which is done selectively by means of the command-line interface or the IDE. The test designer is responsible for the simplifying implementation of the substitutes. If the user wishes he relies on a built-in code generation mechanism which is a powerful help when testing legacy code of re-usable software components.

There is an option in Cantata to instrument, log at runtime and check for code coverage regarding the control flow. This option works additionally as well as exclusively, i.e. without any test case specification. Test strategies caring for control flow are also relevant for safety-critical systems with SIL >= 1. Result reports measure statement coverage, branch coverage, modified condition/decision coverage and more.

Product attributes

Host operating systems

Target languages

Target compiler

Licensing

  • Floating License Server.
    • A single license may be borrowed from the floating license server
  • Node Locked License.

Literature

  • Peter Liggesmeyer: Software-Qualität: Testen, Analysieren und Verifizieren von Software. Spektrum, Akademischer Verlag, Heidelberg, Berlin, 2002, ISBN 3-8274-1118-1

External links

(Sebelumnya) Canonical form (Boolean algebra)Canto (news aggregator) (Berikutnya)