loader image

Test Lösungen für Simulink Modelle und Seriencode

Challenges of Virtual Validation for ADAS/AD

How can I create the needed millions of scenarios?

How can I avoid the test explosion problem?

How can I find out if my tests are passed or failed?

Use Cases

Code Coverage Analysis

Did I test all my code?

Introduction

The challenge

Code coverage has always played an important role in embedded software development projects as a means of showing that all parts of the code have been tested. In particular, the ISO 26262 standard mandates that testing should fulfill coverage metrics like  statement, decision, and MC/DC coverage.

Most development projects already perform code coverage analysis , but often in an inefficient manner. Often the code coverage is measured during test execution by using instrumented code, so the user must explicitly run all tests to obtain the desired metrics. Add or change a test case? Chances are, you’ll need to run all tests again to get an aggregated coverage report. Furthermore, to obtain the test results for the production code, the tests likely will need to be re-executed on the non-instrumented code– twice the work for what should be the same task!

Play now
Start_Code Coverage
Video abspielen
Play now
Video abspielen
Play now
AdditionalCoverageGoals_Start
Video abspielen
Play now
Video abspielen

INTEGRATED, AUTOMATED, CERTIFIED

Code Coverage in BTC EmbeddedTester

In BTC EmbeddedTester, code coverage is automatically calculated and updated in the background. Create, change, import, or delete a test case? The code coverage report has already been updated to reflect these changes. Want to see the coverage provided by  a certain subset of test cases? The answer is just a click away. BTC EmbeddedTester even provides individual coverage information for each subfunction or subsystem, making it easy to analyze and optimize coverage even for large applications.

In addition to standard structural coverage goals like statement, decision, and MC/DC coverage, BTC EmbeddedTester offers a wide range of additional coverage goals, like the “relational operator” or “robustness” goals, to simplify testing for common, bug-prone situations. The „relational operator“ goal analyses whether or not the critical sections surrounding a particular threshold have been tested; so, for example, if your code has the condition „if x is greater than 5„, a relational operator goal will check what happens when x takes on values 4, 5 and 6. The similarly-useful „robustness“ goal , meanwhile, allows you to rigorously search for critical situations, like division by zero or downcasting. 

Toogle

Statement Coverage

Toogle

Decision/ Branch Coverage

Toogle

Condition Coverage

Toogle

MC/DC Coverage

Toogle

Function Coverage

Toogle

Function Call Coverage

Toogle

Relational Operator Coverage

Toogle

Division by 0 Coverage

Toogle

Downcast Coverage

Toogle

Switch Case Coverage

Toogle

Equivalence Class coverage

Toogle

Boundary Value Coverage

Toogle

User-Defined Coverage

Toogle

Relational Operator Coverage

BUilt-In

Domain Checks

With our “Domain Checks“ feature, you can define or import individual values or value ranges for each interface object. This enables you to efficiently comply with the ISO 26262 requirements on equivalence classes and boundary value analysis.

ADD-ON

User-Defined Coverage Goals

For even more flexibility, the  User-defined Coverage Goals add-on provides a powerful editor with full access to all interface variables in which you can express additional coverage goals as boolean or mathematical expressions. Would you like to know if two outputs can have a particular value at the same time? The answer is just one click away. 

100% COMPLETE, 0% MANUAL EFFORT​

Smart test generation for full structural coverage​

Many use cases in embedded software development require a set of test cases which deliver 100% structural coverage of the system under test. With manually created test data, this is often impossible to achieve.

While many test solutions on the market rely on random test generation methods, BTC EmbeddedTester uses a unique model checking algorithm to generate mathematically complete structural test cases for 100% coverage. The test case generator has direct access to all input variables and calibrations, allowing it to detect issues that have not been revealed by functional test cases. Unlike random algorithms, this technology not only generates the smallest and shortest set of test cases to cover the desired objectives, but it also performs a dynamic analysis that can mathematically prove that an objective is unreachable. This means that there is no possible set of inputs and calibrations that can ever lead the system into that state, granting you the confidence that your code doesn’t suffer from potentially unsafe conditions.

Evaluierungs Lizenz

Sie möchten unsere Tools in Ihrer Entwicklungsumgebung testen? Gerne stellen wir Ihnen eine kostenfreie Evaluierungslizenz zur Verfügung., inkl. Kick-Off Trainings-Workshop und Support durch unser Team.

Buchen Sie ein Meeting mit unserem Engineering Team

Sie haben Fragen oder Interesse an einer persönlichen Tool Demo? Nutzen Sie unten stehenden Link, um ein unverbindliches Meeting mit unserem Engineering Team zu buchen. 

Evaluierungs Lizenz

Sie möchten unsere Tools in Ihrer Entwicklungsumgebung testen? Gerne stellen wir Ihnen eine kostenfreie Evaluierungslizenz zur Verfügung., inkl. Kick-Off Trainings-Workshop und Support durch unser Team.

Buchen Sie ein Meeting mit unserem Engineering Team

Sie haben Fragen oder Interesse an einer persönlichen Tool Demo? Nutzen Sie unten stehenden Link, um ein unverbindliches Meeting mit unserem Engineering Team zu buchen. 

certified

ISO 26262

BTC EmbeeddedTester (part of BTC EmbeddedPlatform) has been certified by German TÜV Süd as fit for usage in safety critical software development projects.
The certificate addresses different standards including IEC 61508-3:3010, ISO 26262, EN 50128, IEC 62304 as well as ISO 25119. For the automotive standard ISO 26262, the certificate is valid for all ASIL levels including ASIL D. As a verification tool, BTC EmbeddedTester has been classified with the highest tool confidence level of TCL 3.

We provide the certificate and the corresponding report to our customers free of charge upon request, which drmatically reduces or even eliminates any effort for tool qualification measures on the customer side. 

BTC EMBEDDED SYSTEMS BLOG

From our Blog

Sharing insights on embedded software development, model-based design, automatic code generation and ISO 26262 compliant testing.

PRODUCT VIDEOS

Videos

Discover some of the main features of our products in these short videos.

BTC EmbeddedTester

Smart test generation for an ISO 26262 certified and fully automated Back-to-Back Test