1. gzyueqian
      13352868059

      嵌入式開發(fā):使用條件復(fù)雜度測試嵌入式軟件

      更新時間: 2022-10-03 09:41:14來源: 粵嵌教育瀏覽量:10143

        工程師們似乎在嵌入式軟件開發(fā)的一個領(lǐng)域就是測試。工程師經(jīng)常對設(shè)計和實現(xiàn)階段感到興奮,但是當(dāng)涉及到證明系統(tǒng)工作時,努力和/或興趣真的開始減弱。考慮到可能需要的時間和精力,這是完全可以理解的。嵌入式開發(fā)工程師測試嵌入式系統(tǒng)有許多不同的方法,但它們可以歸結(jié)為兩種主要的測試類型,白盒測試和黑盒測試。

        黑盒測試通常由第三方或質(zhì)量保證小組執(zhí)行,他們了解外部系統(tǒng)行為需求,但缺乏對內(nèi)部結(jié)構(gòu)或代碼操作的深入了解。另一方面,嵌入式軟件工程師更有可能執(zhí)行白盒測試,因為他們了解軟件的結(jié)構(gòu)和實現(xiàn),在這種類型的測試中,工程師會考慮軟件結(jié)構(gòu),以確保每一個分支、每一個案例和每一行代碼都通過測試得到了執(zhí)行和驗證。

        即使對于相對較小的程序來說,這也是一項令人望而生畏的任務(wù)。值得慶幸的是,有一種簡單的方法來理解和生成確保適當(dāng)測試覆蓋所需的測試用例數(shù)量,那就是使用條件復(fù)雜度,也稱為圈復(fù)雜性。傳統(tǒng)上,在實現(xiàn)階段推薦條件復(fù)雜度測試,以確保代碼質(zhì)量。其思想是分析程序中的每個函數(shù),并提供一個結(jié)果復(fù)雜度值。值越高,函數(shù)就越復(fù)雜,導(dǎo)致錯誤風(fēng)險更高,測試和維護困難。

        






        這個測量真正有趣的是,它直接通過函數(shù)測量線性無關(guān)路徑的數(shù)量!復(fù)雜度值提供了完整分支覆蓋所需的測試用例數(shù)量的上限!這意味著,嵌入式開發(fā)人員通過對源代碼執(zhí)行這個簡單的度量檢查,不僅有助于確保代碼保持簡單,而且可以用來檢查是否已經(jīng)為分支覆蓋測試定義了足夠的測試用例!

        現(xiàn)在想到的問題是,我們?nèi)绾问褂眠@個復(fù)雜度值來創(chuàng)建測試用例?答案首先在于條件復(fù)雜度是如何計算的。有兩種方法可以解決這件事。第一種是簡單地把if的個數(shù),循環(huán)的個數(shù)相加并加一個。第二種方法是生成控制流圖,確定邊、節(jié)點和連通分量的數(shù)量,然后從邊中減去節(jié)點的數(shù)量,再加上連通分量。因為這比簡單地查看源代碼要復(fù)雜得多,所以第一種方法要容易得多,也更有可能在開發(fā)周期中完成。

        在測試基礎(chǔ)上執(zhí)行測試有許多不同的類型和方式,使用條件復(fù)雜性只是如何執(zhí)行測試的一個簡單例子。測試通常需要的不僅僅是簡單的分支測試,而是需要沿著多個實現(xiàn)層和系統(tǒng)行為需求進行測試。無論如何,嵌入式開發(fā)人員從開發(fā)周期中使用的代碼度量創(chuàng)建測試至少是一個好的開始。

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 中文字幕一二三区波多野衣 | 日韩激情乱码精品在线 | 精品久久免费观看 | 在线人成视频播放午夜福利 | 亚洲jiZZjiZZ在线播放 | 中文字幕乱在线伦视频乱在线伦视频 |