And what about testing a Stateflow Model only? Is there also a deviation between model and code coverage possible?
Is code coverage for a model equal to code coverage of generated code?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Carl-Jakob Ulmer
am 16 Sep. 2015
Kommentiert: Sebastian Castro
am 18 Sep. 2015
Hi,
I use Simulink Verification and Validation toolbox to measure the code coverage while simulating the model with an automated test execution. In coverage settings I checked "Decision" and "Condition" and get in the coverage report a C1 and D1 result.
My question is how this results correlate with the code coverage of the generated code? Is it same? E.g. C1 and D1 is 100%, do I automatically have 100% for the generated code?
Thanks
Simulink version: R2014a
2 Kommentare
Sebastian Castro
am 18 Sep. 2015
Yes, the same principles hold for Stateflow... so you should really test code coverage as well if you can!
Akzeptierte Antwort
Sebastian Castro
am 16 Sep. 2015
Bearbeitet: Sebastian Castro
am 16 Sep. 2015
Not necessarily... Although having 100% model coverage makes it much more likely to have 100% code coverage.
There are some factors that may cause a disparity between model and code coverage, such as optimizations in the generated code, unsupported blocks in Simulink V&V that generate more logical expressions/if-else statements in the code, legacy hand-code that may be in your model (and not analyzed by Simulink V&V), and so on.
On that note, starting with either R2015a, you can collect coverage from external C hand-code that may be in your model in the form of S-Functions.
We usually recommend using a code coverage tool to complement model coverage. Embedded Coder lets you interface with a few third-party tools so you can do this in Software-in-the-loop (SIL) or Processor-in-the-loop (PIL) modes directly from Simulink.
- Sebastian
0 Kommentare
Weitere Antworten (1)
Jeevan Thomas
am 17 Sep. 2015
Coverage of a model doesn't necessarily reflect coverage of generated code.
In the generated code, there will be utility functions/routines generated as part of block settings (for ex: rounding, saturate on integer overflow, div-by-zero etc) which will not be covered using Simulink V&V.
Also optimization settings plays a part too.
For code coverage, you could try tools such as BTC EmbeddedTester (works better with TargetLink as code generator), ReactisForC, BullEyeCoverage etc.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Collect Coverage for Models finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!