In which cases the coverage report (MCDC & Condition) of a block is influenced by the connection of the block's output with a scope?

4 次查看(过去 30 天)
I have an AND block in a subsystem in Simulink and the coverage report shows that the input of the Port 2 was never false (for more details see fig1). The output of the AND block, the Input of Port 1 and the Input of Port 2 are shown respectively in fig 2. However, after connecting the Scope with the AND block (see fig1), the coverage result changed to 100% for this block.
I ran the simulation with fixed discrete step. The AND block is indeed in a subsystem but this subsystem is not triggered by any signal. What should I check to solve this issue?
Kind regards
  3 个评论
ada dil
ada dil 2018-3-29
Unfortunately not. The inputs of my AND block are sufficient to satisfy condition and MCDC coverage. However, the coverage reports shows that it is not the case. Connecting the output of the block with the scope generates full coverage! Theoretically speaking, which are possible scenarios that can lead to this case?

请先登录,再进行评论。

回答(1 个)

Akshat Dalal
Akshat Dalal 2024-10-26,10:52
Hi Ada,
This could be because Simulink typically optimizes simulation by omitting some test-cases. However, when a scope block is there, these cannot be optimized and thus you get complete coverage.
To get complete coverage without scope block by avoiding these optimizations, you can disable the 'Conditional input branch execution' setting. To do this, navigate to 'Configuration Parameters -> Simulation Target -> Advanced Parameters' tab and ensure that the parameter is turned off. Remember to disable this parameter for the configurations of all model references as well.

类别

Help CenterFile Exchange 中查找有关 Collect Coverage for Models 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by