Modern automotive solutions are characterized by high-complexity and shortened turn-around time. Add to it the ISO 26262 related safety requirements and you have a herculean task at hand.
Tessy, a Test System built for embedded software development, eases the task by enabling automated testing of the software. Automated Testing takes away the pain of manual testing and ensures that the embedded solution is high on quality and reliability.
Code coverages and other kinds of tests that are required for ISO 26262 compliance can also be performed using Tessy Tool.
At Embitel, the developers deploy Tessy tool for Unit Testing. Some of the automotive applications where we have used Tessy Test System for Unit Testing are:
- Body Control Module
- BLDC Motor Control System
- Vehicle Diagnostics Protocols – UDS (ISO 14229), DoIP, OBD, J1939, WWH-OBD etc.
- Automotive ECU Applications
About Tessy Tool
Tessy is a Test System designed for automated unit and integration testing. Being an ISO 26262 qualified tool, Tessy is ideal for the development of automotive solutions with safety-critical requirements.
It automates the entire Unit Testing cycle and also performs the regression testing. What makes Tessy a sought-after testing tool is also the fact that it supports most leading Microcontroller platforms such as Infineon, TI, Renesas, Microchip and more.
Tessy is a complete Test System that manages unit test workflow right from the project setup including the test design to its execution, analysis and reporting. It also makes life easier for engineers by taking care of traceability and code coverage.
The diagram below, shows the test cycle followed by Tessy:
How Does Tessy Tool Help in Automated Unit Testing of Automotive Software?
At the component/unit testing level, Tessy tool works with CTE (Classification Tree Editor) and ITE (Integrated Test Environment) in the design and execution of Test Cases.
Let’s understand the steps in Automated Unit Testing by Tessy Tool:
- Analysis of the Interface
The C module is parsed by the Tessy tool to identify the C Functions to be tested. Here, the developers can select the functions that they want to test. Once, the functions to be tested are selected, their interfaces are analyzed. This analysis is used to identify the variables and whether they are input, output or both.The result is displayed in the Test Interface Editor, where it can be modified if required.
- Determination of Test Data
Test data is a set of input and output values. The input value is the variable that will be fed to the Function under test and the output value is the expected output received after the test.The test data is entered to the data base using the Test Data Editor. The test engineers derive the input and output data based on the requirements defined in the early stages of SDLC.
- Test Application Generation
After the test data is determined, the engineers need a test application that will perform the dynamic testing of the C module. And for this, a test driver is required. The test driver will be required to call the Function to be tested and Tessy tool generates this driver. The test driver and the function together, is called a Test Application.At times, the function under test might use external variables or invoke sub-functions (sub-routines). Tessy testing tool is equipped to manage such a scenario by using Stubs, which are replacement for the sub-routines.When all these components are ready to roll, Tessy compiles them using the compiler supported by the Microcontroller platform.Test Applications are written within the Classification Tree Editor (CTE). It is integrated in Tessy tool and its GUI makes it easy to set the input values required to execute the test.
- Test Execution and Test Result Evaluation
The next step is to run the test application (the one we generated in the previous step) on the MCU or the target hardware, whichever applicable.Tessy tool executes the test application on the target platform. In the process, the test case along with the input variable is transferred to the target platform and the function is run. The output value is captured by Tessy and matched with the expected value.The result is evaluated on the tool using color coding.Green- Expected result was receivedRed- Output did not match expected resultYellow- Test Case not executed or evaluation invalid
- Test Report Generation and Code Coverage Analysis
Test reports are used as evidence during the process of ISO 26262 compliance and certification. Tessy helps generate the Test Reports with comprehensive details of pass/failure. The code coverage analysis is also reported as it is an important work product for Functional Safety compliance.Tessy testing tool performs code coverage analysis along the unit testing process. Following code coverage measurements are supported by Tessy Tool:
- Statement Coverage
- Branched Coverage
- Modified Condition/Decision Coverage (MCDC)
- Function Coverage
- Entry Point Coverage, and more..
** MCDC is mandatory for ASIL D compliance. Tessy Tool helps you achieve the required ASIL Value.
- Regression Testing
- Regression Testing is important in scenarios where errors were rectified and needs re-verification or new features have been added to the Function that was tested previously.Tessy tool supports regression testing by:
- Adapting the existing test cases to verify the modified functions
- Supporting Batch Testing
- Restoring previous test cases for earlier versions of the software
Tessy Testing Tool and ISO 26262 Compliance
Tessy tool has been certified by TUV as a software tool for safety related development. Among other safety standards, Tessy is a qualified tool for ISO 26262 compliant software testing.
Some features of Tessy that qualifies it for ISO 26262 compliance
- Call Pair Coverage fulfills one of the requirements of ISO 26262 standard
- Coverage selection is based on ISO 26262 standard
- MCDC coverage supported
Value Adds of Tessy Tool for Unit Testing
Tessy comes with a slew of features that make it one of the most widely-used Test System for both Unit and Integration Testing.
We have compiled a few of these value-adds in the context of automotive application development and testing:
- Requirement Traceability: Traceability is an important aspect of software development, especially when safety compliance like ISO 26262 is in the picture. Tessy supports requirement management and also supports import of requirements from tools such as Polarion, DOORS, etc.
- Support for Fault Injection: Fault injection testing assumes a lot of importance in automotive industry. Tessy is the ideal tool for such approach of testing.
- Support for almost all Microcontroller Platform and Compilers: The fact that Tessy supports maximum MCU platforms and related compilers, makes it one of the most reliable Test Systems.
- Regression Testing: Automotive applications are upgraded very frequently and hence, regression testing becomes very important in such scenarios.
- Testing Effort Estimation: Depending on the number of statements, functions and calls, Tessy can estimate the testing efforts.
- Code Coverage: ISO 26262 standard has certain coverages mandatory for compliance. Tessy supports all of them and hence, is a reliable testing tool when ISO 26262 compliance/certification is required.
Embitel’ s Success Story of Using Tessy Tool for Unit Testing for a Body Control Module Project
Embitel, as a technology partner for several automotive projects, has been deploying Tessy Test System as the primary tool for unit testing.
Following is a snapshot of a case study where we provided Unit Test reports for a BCM solution development project.
- Technology assistance related to automated unit testing of components including in-vehicle communication (CAN, LIN), low-level drivers and vehicle diagnostics stacks (UDS stack).
- We designed the test cases, using Classification Tree Editor (CTE), based on the requirements provided by the customer.
- Test data including the input variables and expected output values was determined.
- Test result was evaluated and visualized.
- Code coverages like Statement Coverage, Branch Coverage and MCDC were analyzed.
- Test Reports were generated, as per the required template.
- With the help of Tessy tool for Unit Testing, we completed testing of one module in 2 man-hours compared to 8 man hours using manual testing methods.
A Snapshot of Automotive Software Testing Services from Embitel
- Expertise in tools like Tessy Tool for Unit Testing
- Expertise in Unit Testing Services for Automotive Software in accordance with the required Automotive Safety and Integrity Level (ASIL)
- Complete Statement coverage, branch coverage and MC/DC coverage
- ISO 26262 Compliant static verification services including semi-formal verification, control flow analysis etc.
- Delivered Unit Testing services for automotive solutions such as BCM, Infotainment System, Seating Control System, Electronic Power Steering and More