版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
0引言“高可信工業(yè)嵌入式軟件單元測試工具”主要解決工業(yè)嵌入式系統(tǒng)產(chǎn)品研發(fā)過程中測試、驗(yàn)證階段的核心問題。針對測試階段,重點(diǎn)解決測試數(shù)據(jù)如何自動生成問題,填補(bǔ)國內(nèi)工業(yè)軟件測試用例自動生成工具技術(shù)空白;針對驗(yàn)證階段,重點(diǎn)解決工業(yè)軟件驗(yàn)證誤報率高,缺乏深層次缺陷分析問題,填補(bǔ)動態(tài)運(yùn)行時錯誤檢查技術(shù)空白。此工具能夠針對高安全領(lǐng)域C語言自動化實(shí)現(xiàn)滿足分支、語句、邊界以及MC/DC覆蓋準(zhǔn)則的測試用例,并將用例導(dǎo)出為第三方平臺的測試用例格式,實(shí)現(xiàn)基本無需手工修改的全自動化單元測試;能夠讓測試人員擺脫效率低下、質(zhì)量參差不齊的手工測試用例編寫任務(wù),大幅提高測試人員的工作效率,有效提升測試質(zhì)量。此工具利用軟件代碼分析中的動態(tài)符號執(zhí)行術(shù)實(shí)現(xiàn),把程序變量抽象為符號變量,結(jié)合約束求解技術(shù),自動生成高覆蓋度的測試用例,實(shí)現(xiàn)智能化的單元測試,測試航空航天、地鐵信號、汽車電子、核電控制等領(lǐng)域軟件代碼超過800W行,平均語句覆蓋率超過80%,有效提高測試效率。此工具面向單元級別的測試數(shù)據(jù)設(shè)計(jì)與自動生成引擎,利用程序分析技術(shù)特別是符號執(zhí)行與約束收集技術(shù),自動生成單元級的測試數(shù)據(jù),并自動執(zhí)行,以提高測試的效率,有效降低測試成本。目前該技術(shù)在市場上屬于空白領(lǐng)域。1產(chǎn)品研發(fā)背景1.1產(chǎn)業(yè)現(xiàn)狀分析在國際標(biāo)準(zhǔn)方面,電氣/
電子/
可編程電子安全系統(tǒng)的功能安全I(xiàn)CE61508標(biāo)準(zhǔn)針對以電子為基礎(chǔ)的安全系統(tǒng)提出一個一致的、合理的技術(shù)方案,統(tǒng)籌考慮單獨(dú)系統(tǒng)中元件與安全系統(tǒng)組合的問題。標(biāo)準(zhǔn)中規(guī)定系統(tǒng)有4種安全完整性水平,其中達(dá)到最高水平的軟件需要通過形式化驗(yàn)證。另外,信息安全測評認(rèn)證中最高等級EAL7要求軟件系統(tǒng)在設(shè)計(jì)階段經(jīng)過形式化驗(yàn)證,汽車電子領(lǐng)域中的安全標(biāo)準(zhǔn)ISO26262要求汽車電子系統(tǒng)中的核心軟件通過形式化驗(yàn)證。同時,美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)制定了NISTSP800-82和NISTSP800-53等工控安全標(biāo)準(zhǔn),重點(diǎn)關(guān)注SCADA系統(tǒng)等國家關(guān)鍵基礎(chǔ)設(shè)施安全,具有鮮明的美國國家特色。1.2技術(shù)現(xiàn)狀分析面向工業(yè)嵌入式軟件的功能安全測試一直是軟件工程界的熱點(diǎn)問題之一,軟件測試是對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)查,是軟件質(zhì)量保證的關(guān)鍵步驟。軟件測試的基本技術(shù)手段是利用不同的輸入(測試用例)去執(zhí)行被測程序,來檢測程序在任何輸入(測試用例)的驅(qū)動下所體現(xiàn)的行為是否符合預(yù)期。常用的測試用例生成方法包括隨機(jī)測試、基于符號執(zhí)行的測試、基于搜索的測試和基于模型的測試。軟件驗(yàn)證是利用形式化方法,在理論上對于軟件的正確性進(jìn)行證明的過程。1.3國內(nèi)技術(shù)瓶頸工業(yè)軟件可信性的增強(qiáng)必須依賴軟件可信性技術(shù)的創(chuàng)新和發(fā)展。我國軟件工程化水平還不高,與國外先進(jìn)技術(shù)還有一定的差距。近幾年,軟件的質(zhì)量保證水平穩(wěn)步提高,但仍然滿足不了系統(tǒng)的發(fā)展對軟件可靠安全性等方面的要求。高可信軟件的安全攸關(guān)領(lǐng)域?qū)浖|(zhì)量保障的研究應(yīng)著重在保證質(zhì)量的工具集研究上,將軟件理論界對軟件測試、軟件故障模型等的研究與工程經(jīng)驗(yàn)相結(jié)合,推動我國自主研發(fā)的工具及工具鏈的發(fā)展。2關(guān)鍵技術(shù)2.1
基于動態(tài)符號執(zhí)行的測試用例生成技術(shù)研究動態(tài)符號執(zhí)行技術(shù)提高測試數(shù)據(jù)的生成效率,同時利用模型檢查技術(shù)避免無效的搜索空間,實(shí)現(xiàn)高質(zhì)量的測試用例數(shù)據(jù)的自動生成驗(yàn)證,有效提高優(yōu)化測試數(shù)據(jù)生成效率。構(gòu)建單元級的代碼動態(tài)缺陷發(fā)現(xiàn)技術(shù)的核心是如何設(shè)計(jì)有效的算法以動態(tài)地追蹤程序內(nèi)存的變化情況,從而發(fā)現(xiàn)可能發(fā)生的程序錯誤。通過精確分析內(nèi)存布局的變化,例如指針的動態(tài)指向關(guān)系,結(jié)構(gòu)體的嵌套關(guān)系以及數(shù)據(jù)類型的自定義關(guān)系,為缺陷檢查與接口測試提供準(zhǔn)確的錯誤判定[1]。2.2
白盒運(yùn)行時漏洞檢測技術(shù)研發(fā)面向白盒測試的運(yùn)行時漏洞檢測技術(shù),通過在代碼層面進(jìn)行準(zhǔn)確插樁,實(shí)現(xiàn)對程序行為的完整性分析。通過對程序自身及程序運(yùn)行時內(nèi)存模型進(jìn)行有效建模,有效彌補(bǔ)黑盒測試環(huán)節(jié)的技術(shù)缺陷。采用基于測試流程圖的創(chuàng)新方法來圖形化構(gòu)建測試流程,通過畫布上的圖元和圖元間連線,圖元的屬性設(shè)置等方式動態(tài)構(gòu)建測試流程綁定測試端口設(shè)備。測試用例之間可以協(xié)同循環(huán)執(zhí)行,實(shí)現(xiàn)完全自動化測試,實(shí)現(xiàn)直觀、便捷、高效的用例編排和執(zhí)行。2.3
目標(biāo)代碼的插樁分析技術(shù)研究面向目標(biāo)源碼的插樁技術(shù)及源碼編譯前端輔助判定機(jī)制,有效減少插樁的復(fù)雜度。針對面向源碼插樁分析可能造成的執(zhí)行結(jié)果偏離問題,通過對目標(biāo)代碼插樁有效提高對目標(biāo)代碼分析的準(zhǔn)確率。程序缺陷的靜態(tài)發(fā)現(xiàn)技術(shù)已被廣泛的研究,但是程序動態(tài)缺陷的觸發(fā)技術(shù)一直是研究的熱點(diǎn)。研發(fā)符號執(zhí)行與缺陷模式的匹配算法,以作為觸發(fā)缺陷的候選集,研發(fā)符號執(zhí)行過程中內(nèi)存的異常監(jiān)控算法以及異常點(diǎn)的定位算法,研發(fā)內(nèi)存異常的誤報判定算法,研發(fā)內(nèi)存異常與缺陷模式的配對算法,研發(fā)多路徑觸發(fā)缺陷的融合機(jī)制等。3技術(shù)優(yōu)勢3.1支持語句、分支、MC/DC及邊界覆蓋準(zhǔn)則本項(xiàng)目能夠針對覆蓋準(zhǔn)則生成用例,支持語句、分支、MC/DC及邊界覆蓋準(zhǔn)則,能夠自動執(zhí)行生成的用例并提供篩選項(xiàng),能夠滿足D0-178B、ISO26262等行業(yè)準(zhǔn)則的測試要求[2]。采用隨機(jī)生成及數(shù)據(jù)字典生成的工具無覆蓋準(zhǔn)則,用例通過隨機(jī)組合產(chǎn)生,無法支持MC/DC及邊界用例的定向生成。本項(xiàng)目對于分支準(zhǔn)則生成2個用例,MC/DC準(zhǔn)則生成4個用例,達(dá)到語句、分支、MC/DC的100%覆蓋,如圖1所示。其他工具則無法給出MC/DC用例。圖1在MC/DC準(zhǔn)則下生成用例
3.2
生成精簡的測試用例集本項(xiàng)目能夠針對不同的準(zhǔn)則生成精簡化的用例集,使得用例之間沒有冗余。其他用例生成工具無覆蓋準(zhǔn)則之分,通過隨機(jī)生成或數(shù)據(jù)字典方式來生成用例往往存在大量冗余。在測試航天某控制軟件代碼時,對于許多函數(shù)本項(xiàng)目僅生成十多個用例就能夠達(dá)到語句、分支及MC/DC的100%覆蓋,如圖2所示。
圖2測試用例生成界面3.3全面設(shè)計(jì)形參、全局變量、樁函數(shù)及樁函數(shù)形參數(shù)據(jù)本項(xiàng)目能夠針對形參、全局變量、樁函數(shù)及樁函數(shù)形參等參數(shù)進(jìn)行全面設(shè)計(jì),自動設(shè)計(jì)樁返回值及參數(shù)輸出值等。而隨機(jī)用例生成工具及數(shù)據(jù)字典用例生成工具通常只支持形參、全局變量的數(shù)據(jù)設(shè)計(jì),從而導(dǎo)致無法達(dá)到較高的覆蓋率。采用其他工具的用例生成,無法自動打樁并設(shè)定樁的返回值及樁函數(shù)形參。本項(xiàng)目能夠自動捕獲樁函數(shù),并為樁的返回值、形參輸出值進(jìn)行正確的賦值,從而執(zhí)行后達(dá)到語句、分支、MC/DC的100%覆蓋,如圖3所示。
圖3用例樁返回值示例
3.4
自動執(zhí)行用例,滿足預(yù)期值檢查規(guī)范在被測代碼中,有時我們想要保留系統(tǒng)函數(shù),尤其是memcpy、memset等可能影響覆蓋率的內(nèi)存函數(shù)。對于隨機(jī)生成或數(shù)據(jù)字典生成的工具而言,該類系統(tǒng)函數(shù)無法正確識別,而本項(xiàng)目則能夠自動捕獲此類函數(shù)的內(nèi)存變化約束,生成正確的測試用例。生成用例后會自動執(zhí)行用例,捕獲用例的預(yù)期值等輸出檢查信息,并填寫到用例的相應(yīng)位置,如圖4所示。該檢查項(xiàng)滿足SIL認(rèn)證所需的檢查項(xiàng),即檢查函數(shù)返回值、檢查全局變量被修改值、檢查形參指針指向內(nèi)容被修改值等[4]。而其他工具則無此檢查項(xiàng)或檢查項(xiàng)較為薄弱(例如,只檢查函數(shù)返回值等),后續(xù)需要大量的人工來補(bǔ)充該部分?jǐn)?shù)據(jù),導(dǎo)致效率降低。
圖4生成用例覆蓋率達(dá)到100%4應(yīng)用領(lǐng)域4.1
航空航天領(lǐng)域衛(wèi)星控制軟件是衛(wèi)星控制系統(tǒng)的核心,其功能復(fù)雜,單元測試覆蓋率要求高,手工測試用例編寫成本大,且容易出錯。本項(xiàng)目能夠自動生成滿足語句覆蓋、分支覆蓋、MC/DC覆蓋的單元測試用例,并自動進(jìn)行測試執(zhí)行,能夠提高軟件開發(fā)效率和軟件產(chǎn)品質(zhì)量。本項(xiàng)目在某航天單位15萬行代碼測試中,獲得超過75%平均語句覆蓋率。4.2核電控制領(lǐng)域核電控制及儀表相關(guān)行業(yè)屬于高安全領(lǐng)域行業(yè),其對單元測試有著很高的要求。對于需要達(dá)到MC/DC100%
的項(xiàng)目,通常委托第三方測評中心進(jìn)行測試。該測試往往需要耗費(fèi)大量的時間,每人每天通常可以測5-8個函數(shù)。本項(xiàng)目能夠加快單元測試進(jìn)度,在較短的時間內(nèi)達(dá)到MC/DC的100%
覆蓋。在某儀表單位5萬行代碼測試中,獲得超過80%的平均語句覆蓋率。4.3軌道交通領(lǐng)域地鐵信號系統(tǒng)是軌道交通的中樞。在地鐵信號系統(tǒng)測試中,需要根據(jù)不同的SIL等級來進(jìn)行相應(yīng)的單元測試。傳統(tǒng)測試中,測試用例編寫依靠人力實(shí)現(xiàn),對于需要達(dá)到MC/DC100%覆蓋的SIL4級代碼測試而言將耗費(fèi)大量的人力及時間。本項(xiàng)目能夠解決該問題,大大減少人力成本及時間成本。在地鐵信號控制系統(tǒng)20
萬行代碼測試中,獲得平均超過85%的語句覆蓋率,用例生成效果顯著。4.4汽車電子領(lǐng)域汽車電子行業(yè)遵從ISO26262標(biāo)準(zhǔn)。對于需要達(dá)到MC/DC100%覆蓋的工程,需要耗費(fèi)大量人力和時間來編寫用例。本項(xiàng)目能夠無縫應(yīng)用于汽車電子行業(yè),幫助測試人員快速達(dá)到語句/分支、MC/DC的100%覆蓋。在汽車電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)延遲優(yōu)化-洞察分析
- 虛擬偶像慶典應(yīng)用-洞察分析
- 寫保護(hù)動物的演講稿(5篇)
- 《大數(shù)據(jù)存儲技術(shù)與應(yīng)用》 課件 項(xiàng)目三-任務(wù)五 淺析對象存儲系統(tǒng)
- 維護(hù)服務(wù)環(huán)境標(biāo)準(zhǔn)制定-洞察分析
- 《人與動物的關(guān)系》課件
- 企業(yè)安全用電共筑綠色發(fā)展未來
- 產(chǎn)品設(shè)計(jì)中的創(chuàng)意激發(fā)與實(shí)現(xiàn)技巧
- 創(chuàng)新思維的跨領(lǐng)域應(yīng)用與拓展
- 從傳統(tǒng)到數(shù)字化現(xiàn)代企業(yè)實(shí)驗(yàn)室管理與安全規(guī)范探索研究
- 2023年深圳市云端學(xué)校應(yīng)屆生招聘教師考試真題
- 店鋪三年規(guī)劃
- 2024年員工績效考核合同3篇
- 全國園地、林地、草地分等定級數(shù)據(jù)庫規(guī)范1123
- 地推活動合同范例
- 2023年國網(wǎng)四川省電力公司招聘筆試真題
- 昆明理工大學(xué)《自然語言處理》2022-2023學(xué)年第一學(xué)期期末試卷
- 建設(shè)項(xiàng)目全過程工程咨詢-終結(jié)性考試-國開(SC)-參考資料
- 陳義小學(xué)進(jìn)城務(wù)工人員隨遷子女入學(xué)工作制度和措施
- 2023-2024學(xué)年廣東省深圳市龍華區(qū)六年級上學(xué)期期末英語試卷
- 2024年注冊會計(jì)師審計(jì)考試題及答案
評論
0/150
提交評論