C/C++ code Testing

C/C++ code Testing

Testing C/C++ code with TPT

C and C++ code can be easily tested with TPT. Testing C or C++ code is possible for module and integration tests. Every piece of C/C++ code — small, big, or even integrated SW builds — can be tested with TPT. TPT masters your software tests and greatly simplifies creation, management, maintenance and analysis of tests.

By default, TPT supports lots of common C or C++ code features and even less frequently used ones. For special requests TPT is also flexible enough for manual tweaks. TPT masters your C and C++ tests — and you save time to focus on your product development.

Testing C and C++ code with TPT. How it works.

Test setup and execution of C or C++ code with TPT is easy. You only have to select your C/C++ sources and make a few configurations. TPT does the rest – if you like – fully automated in the background. The test harness that connects the C or C++ code with TPT will be generated automatically by TPT or can also be built manually. Its your choice.

C/C++ code analysis Functional Test case design
TPT analyzes the structure of your C or C++ code automatically. It extracts all data types, variables and functions to get all the interface information of the system under test. TPT handles scalar variables, arrays, multidimensional arrays, structs, pointers, maps, curves and class instances. Even fix point scaling is easily managed by TPT so that the tester operates with natural physical values.

Function calls and function stubs are also supported and generated by TPT allowing the user to control their return values and arguments. The task scheduling with one or many C functions makes testing of your code very easy and flexible.

Test cases can be modeled with TPT manually as functional test cases. TPT supports many awesome techniques for modeling tests. TPT test case design is very natural and intuitive including reactive closed loop testing, signal and parameter descriptions, measurement data playback and much more. Test structuring makes it simple to read for maintainability. It is really easy to create and easy to maintain tests for C or C++ code.

More about test modeling with TPT

Structural test case design (TASMO)

For C and C++ code you can even generate test cases automatically. If you need test cases that meet certain coverage criteria such as Condition Coverage or Decision Coverage, TPT offers a technology — called TASMO — to generate suitable test cases at the push of a button. You just select the desired coverage criteria and TASMO searches for the test cases for you. TASMO generates a minimum number of test cases automatically that lead to a maximum structural coverage of your C or C++ code. The generated test cases can also be used for back-to-back regression tests and can be merged with your functional test cases.

More about TASMO

Tutorial: Testing C-Code

  • create test cases and run them
  • set up the Executable Platform as test environment
  • compile an executable from the C/C++ code
  • insert information about channels, parameters and the like into TPT

Co-Simulation with TPT/FUSION

Co-Simulation with TPT/FUSION

Co-simulation tests in TPT's FUSION environment

The integration platform FUSION by PikeTec makes it possible to connect an arbitrary number of software modules, that practically need different execution environments, as a single closed system. The modules can exchange data during the test run. The FUSION platform supports many test environments like C-code, CAN, INCA, PLS UDE, ASCET, MATLAB Simulink, Functional Mockup Units (FMUs), and external I-O-cards.

FUSION nodes

The modules connected to the FUSION are called nodes. Each node is connected to the FUSION via an API. Each node reads input signals, calculates its outputs for a time step and writes them to the FUSION. The nodes are executed per sample one after the other in their order. More complex scheduling and function calls are possible.

FUSION nodes can exchange signals with each other and with TPT at any time.

If a real-time node is inserted, the test execution takes place in real time, although FUSION as a Windows process does not meet real real-time requirements. By using the real-time node TPT can communicate with external hardware, HiL systems or application tools.

You can also write FUSION nodes yourself. For this purpose, you will find your own API, which can be used to configure initializations and cyclic interactions between TPT and your system. How this works in detail is described in the FUSION Programmers Guide.

You can generate FUSION nodes from MATLAB Simulink/Targetlink models, ASCET models, or AUTOSAR software components automatically at the push of a button with TPT. You can simulate these nodes with other nodes in a completely flexible way. This makes rapid SiL tests possible.

HiL Testing

HiL Testing

TPT. One test tool – many HiLs.

TPT is a very flexible test automation tool. It directly fits to many Hardware-in-the-Loop systems (HiLs) off the shelf.

You can create test cases, assessment rules, link them to requirements and track the status like with all other test environments (MiL, SiL, PiL, and vehicle). Only the setup of test execution is different: Choose and configure the HiL of your choice and TPT will automatically remote control the HiL. After some easy configuration steps TPT does the rest. Fully automated in the background.

Once configured HiL testing with TPT is really easy to use. And besides that: You can reuse your test and test assessment rules from other test levels for HiL systems.

TPT – Supported HiL Systems in a nutshell.

Off the shelf HiL integrations with TPT exist for dSPACE HIL systems, ETAS LABCAR, Concurrent iHawk, Simulink Realtime, Vector CANoe, NI Veristand, and all ASAM XIL enabled HiL systems.

Proprietary customized HIL solutions are also a typical use case. Many customers have their own specific HiL infrastructure, which we have also integrated with TPT as customer-specific add-ons.

TPT Overview & Features

TPT Overview & Features

PIKETEC TPT: Test and verify embedded control software

PIKETEC specialists for testing embedded control software are committed to providing the best functional testing platform to suite all development phases of control software. PIKETEC’s TPT is the user-friendly tool suite for functional testing of embedded control software. With TPT test cases can be modelled graphically or generated automatically, for example from Simulink models or from C-code. Even complex tests are easy to model and to maintain. TPT assists you with creating appropriate assessment rules to evaluate your test results. TPT generates test reports, links tests with requirements, interacts with tons of development tools, handles safety standards and much, much more.

With TPT, you can test ECU software and embedded control systems in all development phases such as Model-in-the-loop (MiL testing), Software-in-the-loop (SiL testing), Processor-in-the-loop (PiL testing), Hardware-in-the-loop (HiL testing), ECU testing and vehicle testing. Whether you create a simple module test or a complex system test: TPT provides unique features to create those tests intuitively and flexibly.

Safety standard directives can be satisfied while testing with TPT up to the highest safety level. Relevant standards, such as ISO26262, are well supported.

TPT supports all testing activities from test case design/generation, test execution, test assessment and reporting, as well as test management and requirements traceablility.

Co-Simulation with TPT/FUSION

Co-Simulation with TPT/FUSION

Co-simulation tests in TPT's FUSION environment

The integration platform FUSION by PikeTec makes it possible to connect an arbitrary number of software modules, that practically need different execution environments, as a single closed system. The modules can exchange data during the test run. The FUSION platform supports many test environments like C-code, CAN, INCA, PLS UDE, ASCET, MATLAB Simulink, Functional Mockup Units (FMUs), and external I-O-cards.

FUSION nodes

The modules connected to the FUSION are called nodes. Each node is connected to the FUSION via an API. Each node reads input signals, calculates its outputs for a time step and writes them to the FUSION. The nodes are executed per sample one after the other in their order. More complex scheduling and function calls are possible.

FUSION nodes can exchange signals with each other and with TPT at any time.

If a real-time node is inserted, the test execution takes place in real time, although FUSION as a Windows process does not meet real real-time requirements. By using the real-time node TPT can communicate with external hardware, HiL systems or application tools.

You can also write FUSION nodes yourself. For this purpose, you will find your own API, which can be used to configure initializations and cyclic interactions between TPT and your system. How this works in detail is described in the FUSION Programmers Guide.

You can generate FUSION nodes from MATLAB Simulink/Targetlink models, ASCET models, or AUTOSAR software components automatically at the push of a button with TPT. You can simulate these nodes with other nodes in a completely flexible way. This makes rapid SiL tests possible.

HiL Testing

HiL Testing

TPT. One test tool – many HiLs.

TPT is a very flexible test automation tool. It directly fits to many Hardware-in-the-Loop systems (HiLs) off the shelf.

You can create test cases, assessment rules, link them to requirements and track the status like with all other test environments (MiL, SiL, PiL, and vehicle). Only the setup of test execution is different: Choose and configure the HiL of your choice and TPT will automatically remote control the HiL. After some easy configuration steps TPT does the rest. Fully automated in the background.

Once configured HiL testing with TPT is really easy to use. And besides that: You can reuse your test and test assessment rules from other test levels for HiL systems.

TPT – Supported HiL Systems in a nutshell.

Off the shelf HiL integrations with TPT exist for dSPACE HIL systems, ETAS LABCAR, Concurrent iHawk, Simulink Realtime, Vector CANoe, NI Veristand, and all ASAM XIL enabled HiL systems.

Proprietary customized HIL solutions are also a typical use case. Many customers have their own specific HiL infrastructure, which we have also integrated with TPT as customer-specific add-ons.

PiL Testing

PiL Testing

Processor-in-the-loop testing with TPT

For PIL-testing, TPT is connected via an interface to the Universal Debug Engine (UDE) by PLS or to Trace32 by Lauterbach.

Alternatively PIL testing is possible using Simulink or TargetLink. In this case it is MATLAB that handles the communication between PC and the PIL board.

Testing C and C++ code with TPT. How it works.

Test setup and execution of C or C++ code with TPT is easy. You only have to select your C/C++ sources and make a few configurations. TPT does the rest – if you like – fully automated in the background. The test harness that connects the C or C++ code with TPT will be generated automatically by TPT or can also be built manually. Its your choice.

C/C++ code Testing

C/C++ code Testing

Testing C/C++ code with TPT

C and C++ code can be easily tested with TPT. Testing C or C++ code is possible for module and integration tests. Every piece of C/C++ code — small, big, or even integrated SW builds — can be tested with TPT. TPT masters your software tests and greatly simplifies creation, management, maintenance and analysis of tests.

By default, TPT supports lots of common C or C++ code features and even less frequently used ones. For special requests TPT is also flexible enough for manual tweaks. TPT masters your C and C++ tests — and you save time to focus on your product development.

Testing C and C++ code with TPT. How it works.

Test setup and execution of C or C++ code with TPT is easy. You only have to select your C/C++ sources and make a few configurations. TPT does the rest – if you like – fully automated in the background. The test harness that connects the C or C++ code with TPT will be generated automatically by TPT or can also be built manually. Its your choice.

C/C++ code analysis Functional Test case design
TPT analyzes the structure of your C or C++ code automatically. It extracts all data types, variables and functions to get all the interface information of the system under test. TPT handles scalar variables, arrays, multidimensional arrays, structs, pointers, maps, curves and class instances. Even fix point scaling is easily managed by TPT so that the tester operates with natural physical values.

Function calls and function stubs are also supported and generated by TPT allowing the user to control their return values and arguments. The task scheduling with one or many C functions makes testing of your code very easy and flexible.

Test cases can be modeled with TPT manually as functional test cases. TPT supports many awesome techniques for modeling tests. TPT test case design is very natural and intuitive including reactive closed loop testing, signal and parameter descriptions, measurement data playback and much more. Test structuring makes it simple to read for maintainability. It is really easy to create and easy to maintain tests for C or C++ code.

More about test modeling with TPT

Structural test case design (TASMO)

For C and C++ code you can even generate test cases automatically. If you need test cases that meet certain coverage criteria such as Condition Coverage or Decision Coverage, TPT offers a technology — called TASMO — to generate suitable test cases at the push of a button. You just select the desired coverage criteria and TASMO searches for the test cases for you. TASMO generates a minimum number of test cases automatically that lead to a maximum structural coverage of your C or C++ code. The generated test cases can also be used for back-to-back regression tests and can be merged with your functional test cases.

More about TASMO

Tutorial: Testing C-Code

  • create test cases and run them
  • set up the Executable Platform as test environment
  • compile an executable from the C/C++ code
  • insert information about channels, parameters and the like into TPT

MiL Testing

MiL Testing

TPT MiL Testing. The smart way to test Simulink models.

We designed TPT to be the best testing tool for Simulink and TargetLink models. Every model that runs in Simulink can be tested with TPT. It does not matter if your model is small or large. TPT masters your tests and simplifies creation, management, maintenance and analysis of tests. That’s why TPT is the ideal tool for Model-in-the-Loop testing for Simulink and TargetLink models.

TPT manages your tests – and you save time to drive your business.

Testing Simulink models with TPT. How it works.

Test setup and execution of Simulink or TargetLink models with TPT is easy. You only have to make a few configurations. TPT does the rest – fully automated in the background including MiL-SiL Back-to-Back testing.

Typically, Model-in-the-Loop testing is done in Simulink. Just create the test cases and execute them in Model-in-the-Loop MODE in Simulink. Next, you generate your code with TargetLink, Embedded Coder or Simulink Coder to execute them for Software-in-the-Loop testing MODE. After automatic code generation the test cases can be executed automatically. This way the test results can be easily compared – in a completely automated way and with error-tolerant signal comparison (see Test Assessment).

TPT Overview & Features

TPT Overview & Features

PIKETEC TPT: Test and verify embedded control software

PIKETEC specialists for testing embedded control software are committed to providing the best functional testing platform to suite all development phases of control software. PIKETEC’s TPT is the user-friendly tool suite for functional testing of embedded control software. With TPT test cases can be modelled graphically or generated automatically, for example from Simulink models or from C-code. Even complex tests are easy to model and to maintain. TPT assists you with creating appropriate assessment rules to evaluate your test results. TPT generates test reports, links tests with requirements, interacts with tons of development tools, handles safety standards and much, much more.

With TPT, you can test ECU software and embedded control systems in all development phases such as Model-in-the-loop (MiL testing), Software-in-the-loop (SiL testing), Processor-in-the-loop (PiL testing), Hardware-in-the-loop (HiL testing), ECU testing and vehicle testing. Whether you create a simple module test or a complex system test: TPT provides unique features to create those tests intuitively and flexibly.

Safety standard directives can be satisfied while testing with TPT up to the highest safety level. Relevant standards, such as ISO26262, are well supported.

TPT supports all testing activities from test case design/generation, test execution, test assessment and reporting, as well as test management and requirements traceablility.