999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Cantata的高安全性操作系統軟件單元測試

2019-05-13 10:15:56左蕓沈雷張楊
數字技術與應用 2019年1期

左蕓 沈雷 張楊

摘要:高安全性操作系統軟件單元測試是對操作系統基本組成進行單元測試。Cantata測試工具提供了基于Eclipse的完整測試開發環境,使用Cantata對操作系統軟件進行單元測試,可以自動化搭建測試環境,執行測試,評估測試結果并生成測試報告,能快速完成單元測試,提升操作系統軟件質量。

關鍵詞:Cantata;MCDC覆蓋;高安全;操作系統

中圖分類號:TP309 文獻標識碼:A 文章編號:1007-9416(2019)01-0202-03

0 引言

高安全領域,如航天、核電、軌道交通、醫療等對電子產品的安全性分析提出了具體的要求,開發高安全性操作系統軟件過程中,必須在測試過程中進行單元測試,不僅要求語句、分支達到100%,還要求MCDC覆蓋率達到100%。本文對源代碼主要使用標準C語言進行開發的高安全性操作系統軟件的Cantata單元測試進行了描述。

1 概述

使用Cantata進行高安全性操作系統軟件的單元測試,主要包括靜態分析、自動化用例生成、用例執行、代碼覆蓋分析、生成測試報告等。

Cantata的靜態分析能夠產生多種源代碼度量,這些度量值能夠輔助用戶進行單元測試。Cantata分析被測代碼后可以獲取被測代碼的參數、調用和數據信息,自動生成調用接口控制測試腳本,對于簡單的被測代碼,用戶無需手動編寫測試腳本就可以進行單元測試,用戶只需在GUI界面中自動生成的測試腳本中設定變量和返回值的期望值后,即可快速運行測試用例。Cantata的測試腳本管理器支持圖形化和文本化兩種格式去編輯和管理單元測試用例,而且保存為開源的測試腳本,并允許測試人員復用和修改這些測試腳本。

Cantata配置完成后自動生成測試用例運行需要的驅動函數、樁函數,自動比較實際結果和期望結果是否一致。配置Cantata生成詳細的測試信息文件,其中包括了全局變量、參數和返回值、調用順序等期望值與實際值的詳細信息。通過分析這個文件,測試人員快速找到測試失敗的位置,更加方便地找到測試失敗的根本原因。Cantata通過特殊的算法智能地分析被測代碼,掃描代碼的所有可能路徑,自動生成基于覆蓋度的測試用例,極大地節省測試人員的工作量,提高單元測試的效率。

Cantata支持生成詳細的測試報告,自動檢查測試用例的期望結果和真實結果是否一致,檢查內容包括:全局數據,參數和返回值,代碼覆蓋目標等。

2 單元測試過程

高安全性操作系統軟件開發環境為Code Warrior,編寫語言主要為標準C語言,單元測試直接在Cantata工具安裝的Windows平臺上進行,無需在目標板卡上運行,使用工具自帶的gcc(本次使用gcc版本為4.6.2)編譯器完成代碼編譯運行。

啟動Cantata服務器,在Cantata客戶端集成開發環境中導入被測代碼工程,設置工程為Debug模式,自動生成測試用例,測試用例生成完成后執行測試用例前,設置工程為Cantata模式,執行測試用例。對于參數不為指針且邏輯不復雜的函數,基本上可以直接生成全面的測試用例,達到MC/DC覆蓋100%。

下面以高安全性操作系統軟件isr_enter()函數為例,在Cantata中選中后進行編譯,自動生成測試用例,生成測試用例界面如圖1所示。

Cantata支持61508、50128、MISRA等多種標準,設置不同的覆蓋規則,生成符合規則的測試用例。一般情況下,設置的規則嚴格,則覆蓋率要求高,檢查點多,生成的測試用例個數多。設置規則后本項目使用自動生成測試用例功能為isr_enter()函數生成了2個測試用例。

對于復雜的函數,例如參數帶有指針項,單元測試時對于指針所指向的數據的值和其他屬性也有具體的要求,這時自動生成的測試用例的MC/DC覆蓋率并不高,但是可以在已經生成的測試用例的基礎上再復制添加測試用例,修改測試用例的相關輸入輸出參數和預期值就形成新的測試用例,可以節約可觀的時間。使用復制和修改參數值方法為c_memncpy()編寫的多個測試用例,顯示界面如圖2所示。

在Cantata中,對于每一個測試用例的描述有兩種形式,一種是代碼方式,另一種是圖形化的界面顯示,這兩者是相關聯的。當然這種關聯主要體現在測試用例中給被測試函數傳參和測試返回值的過程中,其中的關鍵是變量的管理,包括變量的建立和比較,這些操作都可以進行可視化的基于圖形界面的管理,也可以直接手動編寫測試代碼,兩者會自動同步,不會出現不一致的情況。圖形化管理測試用例如圖3 所示,代碼方式管理測試用例如圖4 所示。

以上兩圖反應了變量定義初始化階段兩者的同步效果。編輯變量并保存時,Cantata會根據圖形接口的變量配置信息生成相應的代碼,或者根據代碼中的變量手動進行修改,保存時將修改信息同步到圖形界面上。

3 覆蓋率查看

用例執行完成后,將覆蓋信息導出可以圖形化顯示用例的執行覆蓋信息。通過過濾設置可以查看單個測試用例的覆蓋信息。以isr_enter()函數為例,勾選全部的2個測試用例,顯示覆蓋信息如圖5 所示,覆蓋顯示中綠色表示的源碼為執行過的部分,如果已勾選的測試用例執行未覆蓋被測源代碼,則用紅色的字體顯示未執行的源代碼。測試人員根據需求配置顯示需要查看的覆蓋信息。

4 自動生成測試報告

Cantata工具配置XML報告生成總體和細節測試報告,視圖顯示執行通過情況,配置顯示各種覆蓋測試結果信息及測試運行耗時等。本項目中為isr_enter()函數配置單元測試報告模板,執行自動生成的測試用例形成單個函數的測試報告如圖6 所示:

5 結語

使用Cantata進行單元測試,具有較好的操作性。被測代碼的最終覆蓋率取決于測試用例的設計。為了達到MC/DC100%覆蓋要求,測試人員需要對代碼結構進行詳細分析,通過輸入參數的不同等價類組合,設計不同用例s以實現各條語句分支的覆蓋,最終各用例的組合達到MC/DC100%覆蓋。

由于操作系統源碼中存在大量結構體及指針(在安全軟件中不建議指針的使用,但對于操作系統軟件指針的使用難以避免),人工分析代碼耗時長,設計用例的效率低,Cantata工具自帶的用例生成功能顯得十分重要。經過具體試驗發現Cantata工具自動生成用例的覆蓋率較高,能夠加快單元測試工作進度。使用Cantata進行高安全性操作系統軟件全部函數進行單元覆蓋率測試,各函數的MC/DC覆蓋率都達到100%。

參考文獻

[1] 魏銀英,楊苗.一種基于cantata的單元測試用例設計方法[J].電子世界,2014,(7):119.

[2] QA Systems GmbH. Cantata Reference Manual V7.0,2015,9.

[3] 李建軍.國產化嵌入式實時操作系統軟件測試方法研究[J].微型機與應用,2016,35(24):22-24.

[4] 孫隴平.嵌入式軟件覆蓋率測試的研究與應用[J].現代電子技術,2014,37(18):67-69.

[5] 劉穎,王英,劉漫丹.嵌入式軟件測測試覆蓋[J].自動化儀表,2012,33(6):63-66.

[6] 喬文軍.嵌入式軟件測試平臺的研究與實現[D].南京航空航天大學,2007.

Abstract:High security operating system software unit test is a unit test of the basic components of the operating system. The Cantata test tool provides a complete test development environment based on Eclipse. Unit test using Cantata can build test environment automatically, execute testing, evaluate test results and generate test report, speed up unit testing, improve the quality of operating system software.

Key words:Cantata ; MCDC Coverage; high security; operating system

主站蜘蛛池模板: 亚洲欧美自拍一区| 国产精品无码制服丝袜| 国产偷倩视频| 欧美中出一区二区| 午夜综合网| 国产91久久久久久| 欧美一级大片在线观看| 国产精品自在线天天看片| 国产精品久久久久久搜索| 国产正在播放| 精品国产网| 国产理论最新国产精品视频| 青青草欧美| 狠狠综合久久| 亚洲一区无码在线| 伊人久久大香线蕉成人综合网| 日韩福利在线视频| 91国语视频| 97se亚洲| 四虎AV麻豆| 国产精品久久久久久久伊一| 国产肉感大码AV无码| 亚洲日本中文字幕乱码中文 | 国产成人毛片| 国产精品13页| 理论片一区| a级毛片免费看| 国产农村妇女精品一二区| a级毛片毛片免费观看久潮| 综合亚洲色图| 欧美a级完整在线观看| 全部免费毛片免费播放| 国产日韩欧美在线播放| 毛片手机在线看| 五月天综合婷婷| 中国国产高清免费AV片| 国产在线专区| 天天操天天噜| 国产18在线播放| 亚洲欧美另类专区| 亚洲人成网7777777国产| 国产人成在线视频| 国产一级视频久久| 国产另类视频| 114级毛片免费观看| 韩日免费小视频| 久久中文字幕2021精品| 日韩欧美国产成人| 538国产视频| 国模极品一区二区三区| 国产00高中生在线播放| 免费视频在线2021入口| 国产精品99久久久久久董美香| 永久成人无码激情视频免费| 91视频国产高清| 国产高潮流白浆视频| 伊人91视频| 秘书高跟黑色丝袜国产91在线| 国产亚洲视频中文字幕视频| 天堂亚洲网| 国产精品永久久久久| 在线观看精品国产入口| 欧美精品xx| 国产精品香蕉在线| 波多野结衣一区二区三视频| 素人激情视频福利| 亚洲欧美日韩天堂| 日本妇乱子伦视频| 欧美日韩第二页| 国产欧美又粗又猛又爽老| 国产精品真实对白精彩久久| 91精品国产91久久久久久三级| 欧美成人手机在线观看网址| 国产一二三区在线| 亚洲第一成年免费网站| 午夜视频免费试看| 日韩国产另类| 在线高清亚洲精品二区| 国产免费人成视频网| 色综合狠狠操| 美臀人妻中出中文字幕在线| 色综合热无码热国产|