Skip to main content
TESSY Unit Testing for Embedded C/C++: MC/DC Coverage, ISO 26262 Qualification, and CI/CD Integration, featured image

TESSY Unit Testing for Embedded C/C++: MC/DC Coverage, ISO 26262 Qualification, and CI/CD Integration

GSAS Engineering · · 4 min read

TESSY Unit Testing for Embedded C/C++: MC/DC Coverage, ISO 26262 Qualification, and CI/CD Integration

Unit testing embedded software is fundamentally different from unit testing a web application or a desktop service. The code runs on resource-constrained microcontrollers. The functions interact with hardware registers, DMA buffers, and interrupt service routines. The test harness must either run on the target hardware or simulate it faithfully enough that the coverage results are meaningful to a safety assessor.

TESSY, developed by Razorcat Development GmbH in Berlin, is a dedicated dynamic testing tool built specifically for this problem space. It automates unit, module, and integration testing of embedded C and C++ code, with full support for the coverage metrics that IEC 61508, DO-178C, and IEC 62279 require, and that ISO 26262 recommends up to MC/DC at ASIL D.

What TESSY Automates

The three most time-consuming tasks in embedded unit testing are interface analysis, test driver generation, and stub creation. TESSY automates all three.

Interface analysis. TESSY parses the function signature, parameters, return types, global variables accessed, pointers to structures, and presents the complete interface in a test editor. Engineers do not manually trace which globals a function reads or writes. TESSY determines this automatically from the source code.

Test driver generation. For each function under test, TESSY generates a harness that sets up the input conditions, calls the function, and captures the outputs. This harness compiles against the project’s actual toolchain (GCC, IAR, Keil, Green Hills, HighTec, TASKING), so the generated code runs the same compiler optimizations and calling conventions as the production build.

Stub creation. Functions called by the unit under test are replaced with controllable stubs. Engineers define stub return values and side effects per test case, isolating the unit from its dependencies. TESSY generates the stub framework; engineers fill in the behavior.

Coverage Metrics for Safety Certification

TESSY measures statement, branch, decision, MC/DC (Modified Condition/Decision Coverage), and MCC (Multiple Condition Coverage) coverage. ISO 26262 Part 6 gives MC/DC its strongest recommendation at the unit level at ASIL D, but nothing in the standard is mandatory: the highest rating it applies to any method is highly recommended, and because the unit-level coverage metrics are alternative entries, the obligation is to apply an appropriate combination and give a rationale for it. Branch coverage is already recommended from ASIL A rather than introduced later, and statement coverage relaxes at the higher ASILs rather than disappearing, since 100% branch coverage implies 100% statement coverage. Many Indian automotive teams target MC/DC across all ASIL levels to simplify their safety argument.

Coverage results are displayed graphically, green for covered, red for uncovered, and exported as HTML or PDF reports suitable for inclusion in a safety case. The reports include the mapping between test cases and requirements, satisfying the bidirectional traceability that ISO 26262 Part 6 expects between software requirements and unit test cases.

Classification Tree Editor for Systematic Test Design

TESSY includes a Classification Tree Editor (CTE), a graphical tool for systematic test case design based on equivalence partitioning and boundary value analysis. Engineers define input classifications (valid ranges, boundary values, error conditions) visually, and TESSY generates the corresponding test vectors.

This is not just a convenience feature. ISO 26262 Part 6 recommends systematic routes to deriving test cases, equivalence classes and boundary values among them, and strengthens that recommendation as the ASIL rises. The CTE provides an auditable, traceable approach that satisfies this recommendation. Assessors can see the rationale behind each test case, not just the results.

CI/CD Integration

TESSY supports batch execution via command line, which means test suites run unattended in Jenkins, GitLab CI, Azure DevOps, or GitHub Actions pipelines. The typical workflow:

  1. Developer pushes code to the repository
  2. CI pipeline triggers a TESSY batch run
  3. TESSY re-runs all affected test suites
  4. Coverage reports are generated and archived as build artifacts
  5. A quality gate checks that coverage thresholds are met, if not, the pipeline fails

This regression testing model catches regressions the same day they are introduced. On safety-critical projects, where a single missed regression can cascade into months of re-verification, this automation is not optional, it is an engineering necessity.

Requirements Traceability with ReqIF

TESSY imports and exports requirements in ReqIF (Requirements Interchange Format), the OMG standard used by IBM DOORS, Polarion, codebeamer, and Siemens Teamcenter. Test cases link to requirements for bidirectional traceability: from requirement to test case (forward) and from test case to requirement (backward).

For ISO 26262 ASIL C and D projects, this traceability is mandatory. During a safety assessment, the assessor will ask: “Show me which test cases verify requirement X, and show me which requirements are covered by test case Y.” TESSY generates this matrix automatically.

Tool Qualification

Razorcat states that “TESSY is qualified for safety-related software development according to IEC 61508, IEC 62304, ISO 26262 and EN 50128”, and supplies a Tool Qualification Package covering the functionality to be validated, the validation activities and the test results your safety assessor will ask to see. That is evidence you would otherwise have to produce yourself, which is the part Indian teams on tight certification timelines feel most.

Why Buy from GSAS

GSAS Micro Systems is the authorized Razorcat engineering partner for India, the UAE and Sri Lanka, providing TESSY licensing with INR invoicing, onboarding workshops, CI/CD integration consulting, and ongoing technical support. Our functional safety engineers in Bengaluru, Hyderabad, Chennai, Pune, Mumbai, and Delhi NCR work directly with automotive, aerospace, and industrial teams to deploy TESSY into existing development workflows, from initial tool evaluation through production-grade CI/CD pipeline integration. Whether your team is targeting ISO 26262 for an AURIX-based ECU or IEC 61508 for an industrial safety controller, GSAS provides the tooling and the expertise to get your unit testing infrastructure production-ready.

Request a TESSY evaluation →

Interested in Razorcat tools?

Talk to our application engineers for personalized tool recommendations.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.

Related Articles

Master and slave roles on a 100BASE-T1 link: the master PHY times its transmitter from a local clock, the slave recovers the clock from the received signal, with the both-master and both-slave misconfigurations that leave the link down, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Link Won't Come Up: A Vendor-Neutral Checklist

A 100BASE-T1 link that will not come up is almost never a mystery, but the answers on the web are written per silicon vendor and do not transfer. This is the ordered bring-up checklist that holds regardless of which PHY, switch or SoC you have: physical layer first, then the PHY over MDIO, then the master and slave pairing, then the causes of a link that comes up and drops. The standards and tooling claims trace to IEEE 802.3 task force records, the Linux ethtool and kernel documentation or published test material. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 14 min read
Side by side comparison of a 10BASE-T1S multidrop mixing segment, one balanced pair with four nodes on short stubs and a termination at each end, against a point to point star of four separate links into switch ports, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

10BASE-T1S and PLCA: Multidrop Ethernet Explained

10BASE-T1S is the one member of the T1 single-pair Ethernet family that keeps a shared medium, and PLCA is the reconciliation sublayer that stops the nodes on it from colliding. This article covers what IEEE 802.3cg standardises, how the beacon and transmit opportunities schedule a cycle, the node count and segment length figures the OPEN Alliance interoperability test suite works to, and the failure modes that put a segment quietly back into contention while every link still looks up. Written by the GSAS Micro Systems engineering team in India for teams bringing up multidrop segments on the bench.

29 Aug 2026 · 12 min read
Horizontal stacked bar showing where an ADAS test vehicle's bandwidth budget is spent, split into cameras, lidar, radar and bus traffic, with the logger uplink limit drawn as a vertical rule crossing the bar, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

ADAS Sensor Data Logging: Bandwidth Budgets That Add Up

Every page that tells you an ADAS test vehicle produces terabytes a day states the headline and skips the arithmetic, so you cannot redo it for your own sensor set. This article publishes the arithmetic instead: one formula, every table row derived on the page, a worked eight-hour drive that chains those rows into a sustained write rate, a media count and an offload window, and the five places bandwidth budgets go wrong. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 15 min read