最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

模型覆蓋度分析及提高的方法

2023-08-06 14:15 作者:Hyowinner校長  | 我要投稿

Simulink模型覆蓋度分析是一種用于評估軟件質(zhì)量的重要方法,它可以幫助開發(fā)人員確定軟件中存在的問題,并且可以有效地提高軟件的可靠性。汽車電子軟件對模型覆蓋度的需求也很大,因為它們必須能夠確保所有功能都能正常工作,而不會出現(xiàn)意外情況。

軟件覆蓋度分析工具示例


覆蓋度分析包括三種不同的覆蓋度:行覆蓋度、判斷覆蓋度和條件覆蓋度。行覆蓋度是測試用例中所有代碼行都已執(zhí)行過的情況。判斷覆蓋度是測試用例中所有判斷條件都已正確執(zhí)行過的情況。條件覆蓋度是測試用例中所有條件流都已正確執(zhí)行過的情況。


Simulink模型覆蓋度分析可以使用一些工具或者方法來實現(xiàn),如Simulink Coverage、MATLAB Code Coverage、Simulink Test、MATLAB Unit Test Framework、Model Advisor Checker 等。這些工具或方法可以幫助開發(fā)人員快速準確地評估代碼中存在的問題,并提供有效的修復(fù)方法。


為了實現(xiàn)100%的覆蓋度,開發(fā)人員必須設(shè)計出盡可能多的測試用例,根據(jù)代碼中存在的特定問題、關(guān)聯(lián)性來創(chuàng)建測試用例,并根據(jù)不同情況選擇合適的測試方法來實施測試。例如:對于一個特定功能,開發(fā)人員可以根據(jù)其特性和使用場景來設(shè)計出盡可能多的測試用例;對于一個特定代碼行或者判斷條件,開發(fā)人員也可根據(jù)其特性和使用場景來設(shè)計出盡可能多的測試用例。此外,開發(fā)人員還必須根據(jù)不同情況選擇合適的測試方法來實施測試;如單元測試、集成測試、站體測試、回歸測試、性能測試等。

覆蓋度測試目標代碼示例


使用Simulink Coverage或MATLAB Code Coverage時,開發(fā)人員還必須考慮如何將測試數(shù)據(jù)集合導(dǎo)入Simulink或MATLAB中去運行測試套件。一般考慮使用MATLAB Unit Test Framework或Model Advisor Checker將數(shù)據(jù)集合導(dǎo)入Simulink或MATLAB中去運行測試套件。然后通過將生成的日志文件抓取回來并放入Excel文件中去生成一個易于理解并清理整理出關(guān)聯(lián)性、特征之間關(guān)系圖形化顯示出來即可得出100% 覆蓋度判斷 。


為了實施上述步驟:

1. 需要先明白代碼特性;

2. 根據(jù)代碼特性選出適當?shù)睦藵龢永?

3. 在Simulink中將樣例導(dǎo)入;

4. 運行Simulink Coverage或MATLAB Code Coverage;

5. 檢驗生成的Coverage Report;

6. 改進Coverage Report中存在間隙;

7. 重復(fù)上述步驟, 直到Coverage Report結(jié)果滿足要求為止。


為了幫助大家更好理解上述方法, 舉一個具體例子: 在一個Simulink Model中, 有一個if-else-endif 語句, 其中if-else-endif 語句包含三個判斷條件: A>B, A=B, A<B. 為了保障100% 的判斷覆蓋度, 需要將三個判斷條件改寫成三個獨立樣例: 樣例1: A>B; 樣例2: A=B; 樣例3: A<B. 然后將三個樣例導(dǎo)入Simulink Model, 運行Simulink Coverage或MATLAB Code Coverage, 檢閱生成Coverage Report, 判斷是否存在遺留尚未覆蓋的分支(或稱間隙), 并改進遺留間隙。

軟件分支示意圖


HuaZhang是一位開發(fā)人員,她正在使用 Simulink 來開發(fā)一個新功能——“無人駕駛汽車” ?的遠程仿真控制系統(tǒng)。為了保障無人駕駛汽車能夠正常工作并提升其安全性,她必須對 Simulink 求真控制系統(tǒng)100%的覆蓋度。她采用 MATLAB Unit Test Framework 來生成大量不同情況的Case, 然后將生成日志文件抓回,并放入Excel文件,通過圖形化顯示出間隙,特征,關(guān)聯(lián)性之間的關(guān)系,最后得出100%的覆蓋度。通過上述方法,Li Hua 有效節(jié)省了大量時間,也保障交上去無人駕駛汽車能夠正常且安全地運行。

駛向安全的軟件目標


模型覆蓋度分析及提高的方法的評論 (共 條)

分享到微博請遵守國家法律
延安市| 乐亭县| 益阳市| 克山县| 渭源县| 兰溪市| 金华市| 昌邑市| 大荔县| 都兰县| 武川县| 沙雅县| 万源市| 那坡县| 宜良县| 阜宁县| 镇巴县| 鸡泽县| 黑山县| 太仆寺旗| 兴业县| 辽中县| 页游| 渝北区| 扎囊县| 资源县| 抚远县| 沧源| 池州市| 射阳县| 海林市| 彰化市| 松溪县| 龙南县| 平武县| 铜山县| 惠安县| 北川| 全南县| 屯昌县| 平凉市|