主要内容

このページの翻訳は最新ではありませ。

カバレッジデータの演算

このこのでは,オーバーロードされた演算子+,*および - を使使用し,カバレッジ结果をを合わせ,结果结果和料合金,结果の和组合,贯穿集集ます示します。

モデル例

2つの互いに排他サブシステムが有象になっ単简体

Open_System(“slvnvdemo_cv_mutual_exclusion”的)

コマンドCVTest.およびCVSIMを使用してシミュレーションを開始します。最初は,常数ブロックの値は0でこれにより子系统2が強制的に実行されます。

test1 = cvtest(“slvnvdemo_cv_mutual_exclusion”);data1 = cvsim(test1)
data1 = ... cvdata版本:(r2021a)ID:231类型:test_data测试:cvtest对象rootid:233校验和:[1x1 struct] modelinfo:[1x1 struct] startime:07-may-2021 18:38:34停止时间:07-May-2021 18:38:34 IntervalStartTime:0 intervalStoptime:0 SimulationStartTime:0 SimulationStoptime:10过滤器:SimMode:正常

次のコマンドは,2番目のシミュレーションを実行するにに,常数ブロックの値を1に変更,子系统1,子系统1がが的にさます。

set_param(“slvnvdemo_cv_mutual_exclusion /常数”'价值''1');test2 = cvtest(“slvnvdemo_cv_mutual_exclusion”);data2 = cvsim(test2)
data2 =…cvdata version: (R2021a) id: 286 type: TEST_DATA test: cvtest对象rootID: 233 checksum: [1x1 struct] modelinfo: [1x1 struct] startTime: 07- 5 -2021 18:38:36 stopTime: 07- 5 -2021 18:38:36 intervalStartTime: 0 intervalStopTime: 0 simulationStartTime: 0 simulationStopTime: 10 filter: simMode: Normal

ここでは,决策情况コマンドを使用して,各テストから判定カバレッジを抽出し,パーセンテージとして一覧表示します。

Cov1 = DecomationInfo(Data1,“slvnvdemo_cv_mutual_exclusion”);百分比1 = 100 *(CoV1(1)/ CoV1(2))CoV2 =决策(Data2,“slvnvdemo_cv_mutual_exclusion”);百分比2 = 100 *(COV2(1)/ COV2(2))
百分比= 50%2 = 50

カバレッジの和结合の検出

+演算子をを使をし,data1とdata2のcvdataオブジェクトの和结合ををを3番目のcvdataオブジェクトをを生物さます。

メモ:他のシミュレーション结果をを合成作物ささされれれれたしいオブジェクト,タイプタイププロパティdertive_dataに设定されてが付け付けられます。

dataunion = data1 + data2
dataunion = ... cvdata版本:(r2021a)ID:0类型:derived_data测试:[] rootid:233校验和:[1x1 struct] modelinfo:[1x1 struct] starttime:07-may-2021 18:38:34停止时间:07-May-2021 18:38:36 IntervalStartTime:0 intervalStoptime:0过滤器:SimMode:正常

2セットのカバレッジにオーバーラップないため,カバレッジの和结合は100%となってます。

covu = decomatectinfo(dataunion,“slvnvdemo_cv_mutual_exclusion”);百分之= 100 *(COVU(1)/ COVU(2))
百分之= 100.

カバレッジの共通集合の検出

*演算子をを使使しdata1とdata2のの通集をことにより,2つつのテストのででカバレッジオーバーラップしないことをししししますどおりどおりどおりどおりどおり。

datainterection = data1 * data2 covi = deptandinfo(datainterection,“slvnvdemo_cv_mutual_exclusion”);percentI = 100 * (covI (1) / covI (2))
dataintersection = ... cvdata版本:(r2021a)ID:0类型:derived_data测试:[] rootid:233校验和:[1x1 struct] modelinfo:[1x1 struct] starttime:07-may-2021 18:38:34停止时间:07-May-2021 18:38:36 IntervalStartTime:0 intervalStoptime:0过滤器:SimMode:正常百分比= 0

派生ししたカバレッジデータデータの用

派生したcvdataオブジェクトオブジェクト,レポートや解析のすべての,また,それ以降演算への例,派生し。

cvhtml(“intersect_cov”,歌剧团);%输入到另一个操作newunion = dataunion + datainterection
newunion = ... cvdata版本:(r2021a)ID:0类型:derived_data测试:[] rootid:233校验和:[1x1 struct] modelinfo:[1x1 struct] starttime:07-may-2021 18:38:34停止时间:07-May-2021 18:38:36 IntervalStartTime:0 intervalStoptime:0过滤器:SimMode:正常

カバレッジの差结合の计算

- 演算子は,左右のオペランドの差差を表すcvdataオブジェクトを作品成面ための结果にれます。ます。この演算は,特定のテストに起因する追加カバレッジの数を特定する际に便利です。

次の例では,1番目と2番目のテストカバレッジ和料集,1番目のテストカバレッジの差,2番目のテストでさされ追カバレッジカバレッジをます。カバレッジカバレッジポイントにはオーバーオーバーラップがため,テスト2の新闻判定カバレッジ50%です。

newCov2 = dataUnion - data1 covN = decisioninfo(newCov2,“slvnvdemo_cv_mutual_exclusion”);百分比= 100 *(COVN(1)/ COVN(2))
newcov2 = ... cvdata版本:(r2021a)ID:0类型:derived_data测试:[] rootid:233校验和:[1x1 struct] modelinfo:[1x1 struct] starttime:07-may-2021 18:38:34停止时间:07-May-2021 18:38:36 IntervalStartTime:0 IntervalStoptime:0过滤器:SimMode:普通百分比= 50