亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于模型的嵌入式軟件測試技術研究

        2023-12-30 02:01:54
        無線互聯(lián)科技 2023年20期
        關鍵詞:測試用例軟件測試代碼

        張 龍

        (中國航空工業(yè)集團公司洛陽電光設備研究所,河南 洛陽 471009)

        0 引言

        武器裝備軟件的開發(fā)模式正發(fā)生深刻變革,從傳統(tǒng)的基于文檔驅動的開發(fā)模式向基于模型驅動的開發(fā)模式(以下簡稱“MDD模式”)轉變。MDD模式是由OMG組織提出的一種軟件開發(fā)框架,其核心思想是以模型,而非代碼為中心的軟件開發(fā)模式,來達到分離問題域、業(yè)務邏輯以及實現(xiàn)平臺的目標。MDD模式的逐步普及,對軟件開發(fā)、測試行業(yè)都帶來了深刻的變革。

        1 開發(fā)模式的變革

        傳統(tǒng)的基于文檔驅動、代碼復用的開發(fā)模式技術滯后,不能快速響應用戶需求。文檔驅動的開發(fā)模式,以明確的產(chǎn)品需求為前提,實現(xiàn)軟件設計和編碼的信息傳遞。但現(xiàn)實項目運行實踐中,存在如下問題[1]:

        (1)文檔方面,需求獲取難度較大,自然語言的傳遞信息容易有歧義,且文檔的維護工作量大,難以保證文文、文實一致性。

        (2)代碼方面,設計的實現(xiàn)需要人工手動編碼,存在人為引入錯誤的風險,同時代碼不能支持需求和設計的早期形式化驗證。

        MDD模式逐步成為業(yè)界主要的軟件開發(fā)框架,并受到越來越多公司的青睞,如空中客車公司、航空工業(yè)集團等。模型驅動使得軟件開發(fā)人員能可視化地理解所開發(fā)的軟件系統(tǒng),減少溝通成本,避免傳統(tǒng)軟件文檔描述的模糊性;同時支持在開發(fā)初期,驗證軟件行為、安全性,盡早發(fā)現(xiàn)軟件缺陷;其自動化的代碼生成功能,也極大地加速軟件開發(fā)效率[2]。

        2 測試面臨的挑戰(zhàn)

        MDD模式是以建模為核心工作,通過建模完成需求開發(fā)、架構設計、詳細設計等工作,并針對模型開展分析、評審、測試與評估等驗證工作,設計、驗證的數(shù)據(jù)在模型與模型之間傳遞,通過模型驅動軟件系統(tǒng)的實現(xiàn)過程。在新模式下,傳統(tǒng)的軟件測試模式和技術已不能很好地適應MDD模式的要求,軟件測試面臨新的問題和挑戰(zhàn),主要原因如下:

        (1)開發(fā)模式的不同。傳統(tǒng)的開發(fā)模式是基于文檔驅動的通過文檔完成需求開發(fā)、架構設計、詳細設計等工作。測試人員通過理解需求文本獲取軟件測試需求,來驗證和評估軟件的功能性、接口、安全性等指標,軟件測試和開發(fā)相對分離;MDD開發(fā)模式下,是以模型為核心工作,軟件需求分析、設計實現(xiàn)、測試工作分別整合到了軟件需求模型、軟件設計模型、軟件測試模型中,在模型之間傳遞需求、設計、驗證數(shù)據(jù),軟件測試和開發(fā)高度耦合。

        (2)測試對象的不同。傳統(tǒng)的測試對象主要是自然語言和編程語言,主要方法有文檔審查、代碼審查、靜態(tài)分析、動態(tài)驗證;MDD開發(fā)模式下,軟件測試的對象主要是統(tǒng)一的形式化語言,主要方法有模型檢查(MC)、定理證明(TP)、基于模型的動態(tài)測試技術、時間堆棧分析等高級驗證手段[3]。

        因此,對MDD開發(fā)模式下軟件測試流程和軟件測試技術的研究就變得十分必要和迫切。

        3 基于模型的測試流程和關鍵技術

        3.1 基于模型的測試流程

        MDD模式,可將軟件的測試驗證工作大大前移,并在需求分析、概要設計、詳細設計、代碼生成等全生命周期執(zhí)行基于模型的測試和迭代驗證,開發(fā)和測試是螺旋前進的,互相驗證,可規(guī)避如瀑布模型、V模型等某一流程的固有缺陷。其支持在開發(fā)過程的不同階段,分別構建模型在環(huán)(需求模型、設計模型在環(huán))、代碼在環(huán)(基于模型生成的代碼在環(huán))、產(chǎn)品在環(huán)(基于模型生成的代碼加載到處理器等產(chǎn)品環(huán)路)的多級軟件測試過程。該驗證方式區(qū)別于傳統(tǒng)驗證,具有手段單一、效率低的特點,其成本更低,效率更高,敏捷性和靈活度更好。

        3.2 基于模型的測試技術

        MDD模式中,針對測試需求由自然語言到模型語言的轉變,測試人員需要基于統(tǒng)一建模語言(UML)構建具體的測試需求模型,并基于測試需求模型設計測試激勵和規(guī)程,在驗證的不同階段結合測試框架自適應生成相關的測試激勵,來達到分層驗證的目的。上述過程貫徹MDD模式的需求分析、概要設計、詳細設計階段、代碼生成階段。整個測試過程主要的驗證技術如圖1所示。

        圖1 基于模型的軟件測試技術

        3.2.1 靜態(tài)驗證技術

        在軟件系統(tǒng)需求分析、概要設計、詳細設計等早期階段,可以進行模型的早期驗證。主要技術手段有軟件形式化驗證技術和故障樹分析法,其中形式化驗證技術又分為定理證明和模型檢驗2種。通過模型的靜態(tài)驗證,可以在需求分析和設計早期,找出數(shù)據(jù)流不匹配、死循環(huán)等一系列錯誤,并提早進行錯誤定位,及時歸零。

        (1)定理證明為使用邏輯的語言和方法對軟件中的算法、邏輯等進行規(guī)約描述,明確軟件適用的公理,建立軟件的推理規(guī)則,依據(jù)公理和推理規(guī)則證明軟件的功能正確性。

        (2)模型檢查技術在具體使用時,可借助基于時間自動機模型的分析、SysML塊依賴圖模型的分析、基于狀態(tài)事件故障樹模型的分析等方法來開展。

        3.2.2 測試需求模型的構建技術

        依據(jù)軟件業(yè)務邏輯、接口數(shù)據(jù)元素、接口約束、FTA故障樹、FMEA軟件失效模式等分別識別軟件功能測試需求,性能、接口、邊界、安全性等非功能性測試需求,以此確定測試需求的內(nèi)容、范圍及邊界。

        對軟件測試需求進行建模主要有軟件功能性測試需求建模、非功能性測試需求建模。多數(shù)情況下,功能性測試需求模型可由軟件需求進行分解、合并后得到,使用UML語言中的用例圖、活動圖、狀態(tài)圖、時序圖等對功能性測試需求建模。非功能性測試需求獲取較為困難。以安全性需求為例,一般有如下方式。

        (1)基于FTA的軟件故障樹分析識別軟件安全性要求。

        使用FTA方法從軟件需求中提取軟件故障樹信息,從而識別出導致軟件安全或不安全的基本事件、基本路徑、影響范圍和對象等軟件安全性要求。

        (2)基于FMEA的軟件失效模式分析識別軟件安全性要求。

        使用FMEA方法從軟件需求中提取軟件潛在失效模式及后果信息,將潛在失效模式描述為Input-Process-Outpt形式的導致軟件不安全的功能邏輯需求,識別為軟件安全性要求。

        (3)軟件安全性要求規(guī)約。

        對于使用FTA、FMEA方法得到的軟件安全性要求信息,再使用形式化規(guī)約方法,將自然語言轉化為形式化的UML語言,用以將安全性要求描述出來,并轉化為一組與軟件安全性需求有關的對象、屬性、參數(shù)和指標,從而為安全性需求建模提供直接輸入。

        3.2.3 測試規(guī)程描述和生成技術

        依據(jù)軟件功能性測試需求模型、非功能性測試需求模型,識別軟件全部的基本事件、基本路徑、異常路徑,生成測試用例集。

        (1)依據(jù)基本邏輯生成測試用例規(guī)程。

        依次對照功能性測試需求模型、非功能性測試需求模型,提取模型數(shù)據(jù)文件中面向相關功能、過程的邏輯信息、狀態(tài)遷移條件、時序信息等過程信息,結合邏輯信息、狀態(tài)遷移條件、時序信息生成測試用例規(guī)程。

        (2)依據(jù)接口元素模型生成測試用例輸入。

        依次對照功能性測試需求模型、非功能性測試需求模型,提取模型數(shù)據(jù)文件中面向相關功能、過程的數(shù)據(jù)源、數(shù)據(jù)目的、接口約束等信息,結合測試框架,生成測試輸入。在測試用例輸入數(shù)據(jù)的生成方面,可借助傳統(tǒng)的測試用例數(shù)據(jù)生成方法,如等價類、邊界值,生成面向工程實踐的最優(yōu)解。

        3.2.4 測試驅動和測試框架構建技術

        針對功能性、非功能性測試用例模型,利用建模工具如Rhapsody、Scade構建支持單個用例運行的軟件測試驅動,并提前設置測試用例的預期結果,自動判讀是否執(zhí)行通過;利用建模工具構建軟件測試框架,支持測試用例的批量運行和批量判讀。測試框架可理解為貫穿基于模型的整個測試過程的軟件架構,其支持軟件測試用例的自動化批量執(zhí)行、自動判讀,在Rhapsody、Scade工具中可使用功能結構圖、類圖等對軟件架構建模。

        3.2.5 測試充分性評估方法

        測試充分性評估方面一般使用測試需求的覆蓋率分析、結構覆蓋分析(SC覆蓋、DC覆蓋、MC/DC覆蓋)、數(shù)據(jù)耦合覆蓋和控制耦合覆蓋分析等方法,輔以軟件最壞運行時間(WCET)和堆棧內(nèi)存分析等方法保證基于模型的軟件測試的充分性要求。具體有如下要求。

        (1)測試需求的覆蓋率分析,應開展如下分析: ①針對每一條標識的高層需求都有一條或多條測試用例通過追蹤矩陣來對應,該追蹤矩陣用于驗證高層需求是否被實現(xiàn); ②針對每一條測試用例在追蹤矩陣里都有一條或多條高層需求相對應; ③測試用例應包括正常和魯棒性測試。如通過SCADE Suite MTC覆蓋率的評審來證明SCADE 模型對高層需求的覆蓋率滿足要求;基于需求的測試可能不能完整地達到模型覆蓋率要求,因此模型覆蓋率可以通過附加驗證來達到要求,如分支覆蓋。

        (2)SC覆蓋和DC覆蓋分析基于源代碼進行,使用Testbed、SCADE MTC工具分析和人工分析相結合的方法。

        (3)針對代碼在執(zhí)行基于需求的測試,覆蓋率未達到時,應執(zhí)行附加分析,含以下4種情況: ①需求不充分。比如缺魯棒性需求,需求需要修改或完善,從而產(chǎn)生附加的測試用例/規(guī)程。 ②測試不充分。應當補充測試用例/規(guī)程。 ③附加代碼。附加代碼可以保留在源代碼中,但不能在目標代碼中,軟件生成過程(如:通過編譯或鏈接去除)應保證其不會出現(xiàn)在目標代碼中。 ④非激活代碼。應當做一些組合的測試和分析來證明非激活代碼不會被意外地執(zhí)行或工作。

        4 結語

        本文結合開發(fā)模式的變革介紹了軟件測試的趨勢,并詳細介紹了基于模型的測試流程以及基于模型的測試技術。通過在實際的武器裝備軟件測試中推廣使用,表明其相較于傳統(tǒng)測試技術,更能適應于MDD開發(fā)模式的需要,同時其需求傳遞誤差小,測試效率更高,能更快速地響應用戶需求。但相較傳統(tǒng)的測試技術,基于模型的軟件測試技術在工程實踐中仍處于成長階段,需要進一步的研究,如文中提到的形式化驗證技術、基于模型的測試用例生成技術等。

        猜你喜歡
        測試用例軟件測試代碼
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        基于OBE的軟件測試課程教學改革探索
        計算機教育(2020年5期)2020-07-24 08:53:20
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        EXCEL和VBA實現(xiàn)軟件測試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        基于混合遺傳算法的回歸測試用例集最小化研究
        關于軟件測試技術應用與發(fā)展趨勢研究
        電子測試(2017年15期)2017-12-18 07:19:20
        軟件測試工程化模型及應用研究
        中文字幕乱码一区av久久不卡| 亚洲一区二区三区在线激情| 精品乱色一区二区中文字幕| 婷婷综合另类小说色区| 搡老熟女老女人一区二区| 亚洲国产精品久久久性色av| 丰满熟女人妻一区二区三区| 女人被狂躁的高潮免费视频| 国产无人区码一码二码三mba| 久久人妻AV无码一区二区| 国产性感主播一区二区| 国内自拍情侣露脸高清在线| 人妻少妇久久中文字幕一区二区| 伊人精品无码AV一区二区三区| 操老熟妇老女人一区二区| 成人自慰女黄网站免费大全| 男男受被攻做哭娇喘声视频| 久久福利青草精品资源| 午夜麻豆视频在线观看| 精品国产一区二区三区2021| av天堂久久天堂av色综合| 天天中文字幕av天天爽| 成人做爰黄片视频蘑菇视频| 久久www免费人成精品| 精品人妻少妇一区二区不卡| 男女干逼视频免费网站| 精品国产一区二区三区三| 少妇人妻偷人精品免费视频| 亚洲女同成av人片在线观看 | 国产日韩欧美亚洲精品中字| 亚洲精品2区在线观看| 亚洲中文字幕久久精品一区| 日本精品αv中文字幕| 精品囯产成人国产在线观看| a级三级三级三级在线视频| 特黄aaaaaaaaa毛片免费视频| 久久久久久av无码免费看大片 | 2020亚洲国产| 综合亚洲二区三区四区在线| 亚洲av片在线观看| 欧美午夜精品久久久久久浪潮|