Tessy - Automated Unit / Module / Integration Testing of Embedded Software

New: Tessy V3.0 is available!

Download V2.9.53 or V3 software & documentation (registration required) 

Tessy – The Unit Testing Tool from Razorcat

Unit Testing and Integration Testing have now become a pre-requisite for many applications that demand reliable software. It is mandated in many of the standards relating to embedded software including DO-178BIEC 61508 and the new ISO 26262.

Tessy is a PC based software tool that allows the code writer to isolate each specific C function and to test it in complete isolation from the rest of all the other functions. TESSY can also be used to test a collection of C functions as a module and hence perform Integration Testing and software Component Testing on them.

Tessy will allow you to isolate problems early on in the code writing process, by providing fully debugged software modules for later integration into the main application. Using the divide and conquer approach, complex applications can be broken down into constituent functions and tested independently to ensure the code does exactly what it is designed to do.

Tessy provides all of the output reports you require to validate your software. Reports can be in Word, XL, HTML, Compiled HTML, or text formats. The reports include code coverage information including branch coverage and MCDC coverage

New: Tessy is qualified for safety-related software development according to IEC 61508 and ISO 26262

Tessy is able to adapt to changing source code and offers a full regression testing capability.

Test data for the functions can be generated in three different ways, including the Classification Tree Method and standard spreadsheet import. Test data can be exported as well as the test module allowing integration into version control systems for future reference.

Video Tutorial Material for Tessy

These are available from the right hand menu, or from YouTube here. To View the overview clip of Tessy click here.

The key features of Tessy are:

  •  Automated tool for Unit/Module testing – no need to write manual scripts
  •  Software Component Tester
  •  Software Integration Testing
  • Supports virtually all embedded MCUs, compilers and IDEs for the C language
  • Supports both integrated stub functions and external stub function files
  • Support easy regression testing of changed source code. Regression tests can also be run from a batch file called by another tool.
  • Output reports in XML, HTML, XL, Word, and Help formats
  • Outstanding visualisation of the code execution coverage using a Coverage Viewer tool
  • Comes complete with a Classification Tree Editor, used for helping with equivalence partitioning and boundary value analysis of test data
  • Import and Export of test data using spreadsheets
  • Easy integration with a version control system, with module and database backup and restore functions.
  • Supported with video tutorials and application notes
  •  Local technical support here in the UK plus online support direct from Razorcat including web conferencing with WebEx sessions
  • Floating license and node locked licenses available
  • Trial down load available. Try before you buy.
  •  Some support also for C++ targets

Training course available in the UK

For a Free Trial download click here: REGISTER & DOWNLOAD

Screen Shots from Razorcat's Tessy Unit/Module Testing Tool

Code Coverage viewer showing the branch and the MCDC coverage. The path through the software is shown for the single highlighted test case. Note: the source code in this example is a single line of C source !
Fig1: Code Coverage viewer showing the branch and the MCDC coverage. The path through the software is shown for the single highlighted test case. Note: the source code in this example is a single line of C source which uses the ternary (?) Operator in a logical assignment statement!
Entering test data is easily done through the use of test data editor. The user can easily build up test scenarios using this tool. The user can also import test data via a spreadsheet or from the classification tree editor tool.
Fig3: Test Data Editor. The test data editor provides a way for the tester to enter test cases for the function under test. In this case the input parameter to the function is a structure which contains a further sub structure. The return parameter is an enum type.

A worked example of regression testing using structures and enum is shown on these YouTube clips. In this example both the structure and the enums are changed to show how flexible Tessy can be with changing source code.

Part 1: Tessy - Regression test example

Part 2: Tessy - Regression test example

 

A worked example of importing and exporting test data using spreadsheets is also available and can be viewed on this YouTube clip:

Tessy – Spreadsheet Import / Export Example

A typical CTE tree showing the leaf classes, boundary values and a combination table below it. This provides a graphical way of describing a test strategy for a function
Fig2: A typical Classification Tree, built using the classification tree method, showing the two input variables being sub divided down into leaf classes. The CTM method makes use of boundary conditions and equivalence partitioning to derive a test strategy for a function.

The theory behind the Classification Tree method, plus a worked example is available to view on YouTube:

Part 1: An introduction to the Classification Tree Method CTM

Part 2: A worked example of the CTM method using Tessy

An output report from TESSY, the unit testing tool from Razorcat. Note: The code coverage statistics for MC/DC coverage and branch coverage in the header
Fig4: Typical Output report in HTML format. Note: The C1 (branch coverage) and MC/DC coverage statistics in the header of the report.