• Unit

    An incomplete collection of modules, e.g. source files, object files and/or library files. When combined these modules form the unit that is tested. The instrumenter will fill in the missing pieces in order to form a complete test executable.

  • Test executable

    The output of the instrumenter. The test executable will run the tests and report errors found.

  • Test

    The test is the basic test implementation by the test designer. It is composed of one single C function, that will call the selected functions in the unit and validate the behavior.

  • Testcase

    It is common to group several tests to form a more complete test - for example, software that implement some kind of state machine may require several tests to be executed, before a scenario is covered.

    It is a possibility for the test designer to form testcases by nesting tests.

  • Testsuite

    It is a possibility for the test designer to form testsuites by nesting testcases.

  • Stub

    A stub is a function that replaces non-existing functionality in the unit by providing an alternative test implementation for the function it replaces.

    The test developer can choose to implement a stub manually. Manually created stubs are not dynamic - they remain in scope for all tests at all times.

    If a stub is not created manually, the framework will automatically create a default TestApe mock.

  • Mock

    A mock is a function the replaces or extends existing functionality by providing an implementation for the function it mocks.

    The mock implementation is defined by the test developer. The mock will typically verify parameters and simulate a return value for the unit. In addition the mock function can choose to call the function it is mocking.

    Default mocks are automatically generated for those functions that are not part of the unit. TestApe mocks dynamic scope. Each test define which functions that are mocked and which mock implementation they use for each test.

  • Instrumenter

    A tool provided in the package, that will create default mocks for those functions, that are not present in the unit.

  • Framework

    The TestApe framework is a library wrapped in a collection of macros. The macros are used when writing test.



The latest headlines from Testape.com

TestApe Release 1171 available, Aug 20th 2014

It has been a long time since last official release and the list of bugfixes, features and supported platforms accumulating in the beta has grown substantially. I am happy to annouce that a new release is ready.


TestApe beta version available, Jul 21th 2014

New beta version is now available for download.


TestApe Release 880 available, Dec 3rd 2011

New is this release are support for floating point validations and function mocking. Also, MinGW has been added to the list of supported platforms.


Forum change, Mar 27th 2011

TestApe forum is now hosted on Proboards. Support questions can be posted here or send directly on email. Due to ...


TestApe beta release available, Sep 27th 2011

TestApe can now be used with MinGW GCC on windows. Also supported in this beta are floating point types in validations or when mocking functions


IPad update for WebTTY, May 15th 2011

A small fix for webtty scripts, to allow the usage from Apple IPads. Tab on textarea to bring up IPad keyboard - you may have to scroll webpage beneath keyboard, in order to actually see what you're typing.

TestApe Release 791 available, Apr 2nd 2010

This release contains a new flexible mocking system with default mocks automatically generated for unresolved functions. Installation packages are available for GCC/Linux, GCC/CygWin as well Visual Studio 2009/Windows XP or Vista.