• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      嵌入式軟件測試技術在機電綜合管理系統(tǒng)中的應用

      2018-06-13 02:29:58吳麗媛謝劍斌陸志肖
      直升機技術 2018年2期
      關鍵詞:單元測試正確性軟件測試

      王 偉,吳麗媛,謝劍斌,陸志肖

      (中國直升機設計研究所,江西 景德鎮(zhèn) 333001)

      0 引言

      隨著社會的不斷進步和計算機技術的飛速發(fā)展,計算機及軟件在社會生活和國民經濟等方面的應用越來越廣泛和深入,在航空航天領域同樣也起著舉足輕重的作用。而軟件失效可能引起巨大損失,例如美國航天局火星登陸事故,歐洲航天局火箭發(fā)射失敗等事件[1,2]。為進一步改善傳統(tǒng)的機電子系統(tǒng)龐雜的結構,逐步減輕直升機的重量,減少機體體積、裝機設備數(shù)量和降低連線的復雜性,機電綜合管理系統(tǒng)綜合化、整體化,處理機多余度,成為直升機機電管理專業(yè)致力的重要內容,是機電綜合管理的必然發(fā)展方向。圖1為符合直升機發(fā)展要求的一種機電綜合管理系統(tǒng)架構。直升機機電綜合管理系統(tǒng)的發(fā)展勢必會使系統(tǒng)軟件相應地復雜。考慮軟件失效的問題,我們設計了適合的軟件測試方法來解決。

      1 軟件測試

      1.1 軟件測試的目標

      軟件測試的目標是提供信息改進被測軟件的質量,改善開發(fā)和測試的過程能為項目管理者和軟件開發(fā)者提供信息并預防軟件缺陷。

      圖1 直升機機電綜合管理系統(tǒng)未來架構

      軟件測試是貫穿軟件開發(fā)全過程的關鍵步驟。開發(fā)階段的測試,主要目的是盡可能發(fā)現(xiàn)失效,從而識別和修正盡可能多的缺陷;驗收階段的測試,主要目的是確認系統(tǒng)是否能夠按照預期工作,是否符合需求;維護階段的測試,主要目的是為了驗證在開發(fā)過程中的軟件變更是否引入新的缺陷;運行階段的測試,主要目的是為了評估系統(tǒng)的特征,比如可靠性或者可用性等。有些情況下,測試的主要目標是對軟件的質量進行評估,而不是為了修復缺陷。大量統(tǒng)計表明,軟件測試占總工作量的40%以上,在極端情況下,甚至可能高達軟件工程其他步驟成本總和的三到五倍。

      1.2 軟件測試技術概述

      軟件測試技術分類如圖2所示,現(xiàn)有的軟件測試技術通常分為靜態(tài)測試和動態(tài)測試。測試階段基本上分為單元測試、部件測試、配置項測試以及驗收測試。其中,單元測試中靜態(tài)和動態(tài)測試技術同等重要,各占50%;部件測試與配置項測試以動態(tài)測試為主,靜態(tài)測試為輔。測試階段的信息流程如圖3。

      圖2 軟件測試技術的分類

      圖3 測試階段的信息流程

      輸入流分軟件配置和測試配置兩項。軟件配置由需求說明書、設計說明書和源代碼組成;測試配置中包含測試計劃、測試工具、測試用例和期望結果,有時測試配置也作為軟件配置的一個組成部分。測試人員根據(jù)上述輸入信息測試程序并評價測試結果,當測試結果與期望結果存在差異時,往往程序有錯。此時可采用排錯技術定位錯誤并改正。經過測試的軟件失效率會降低,生命周期得到延長。

      2 直升機機電綜合管理系統(tǒng)軟件測試應用

      2.1 機電綜合管理系統(tǒng)軟件架構

      直升機機電綜合管理系統(tǒng)軟件是根據(jù)直升機各機電系統(tǒng)的監(jiān)控需求以及航電要求開發(fā)的,是一個多任務機載實時嵌入式軟件,它的模塊按功能劃分,各個任務的優(yōu)先級按事件的重要程度來定義。軟件分為周期任務和非周期任務,一般定義在初始化、模式控制、機電系統(tǒng)周期監(jiān)控、航電命令處理、串口通訊、維護、啟動檢測、硬件自檢、例外和公用等幾個模塊中。

      2.2 軟件測試在機電綜合管理系統(tǒng)中的必要性

      直升機機電綜合管理系統(tǒng)軟件是實時的嵌入式軟件。嵌入式實時軟件的測試是軟件界公認的難點,其原因之一在于系統(tǒng)中有存在軟硬件的緊密結合,在編寫應用軟件時要考慮硬件資源的管理和使用,因為這將決定系統(tǒng)的質量和效率;另外,很多嵌入式系統(tǒng)需要長時間自主運行,并擔負某些任務 ,運行后不再需要人工干預和交互,所以難以進行手工測試;而且,實時嵌入式系統(tǒng)與外界的信息交換具有嚴格的定時要求,某些行為僅在某種特定的系統(tǒng)狀態(tài)之下和某些特定的事件序列到達時才會發(fā)生。為了避免軟件缺陷,需要精心地設計測試用例并保證足夠的測試覆蓋率。

      直升機機電綜合管理系統(tǒng)的軟件開發(fā)是軟件設計員的工作內容,人的工作和交流不可能毫無缺陷,出現(xiàn)錯誤是難免的。而且,隨著機電綜合管理系統(tǒng)應用軟件功能的不斷強大和所監(jiān)控的子系統(tǒng)復雜程度的不斷提高,應用軟件的規(guī)模也在不斷增大,這些因素都使得出現(xiàn)錯誤的可能性增加。而軟件測試正是保證軟件質量和可靠性的重要手段,它能夠發(fā)現(xiàn)軟件中隱藏的許多缺陷。例如英國海軍SHOLIS項目中,單元測試發(fā)現(xiàn)了整個軟件開發(fā)過程15.75%的缺陷,避免了很多損失[1]。 在找到錯誤后,通過分析錯誤產生的原因和錯誤的分布特征,還可以幫助機電系統(tǒng)項目管理者和軟件開發(fā)者發(fā)現(xiàn)當前所采用的軟件過程的缺陷,以便改進。沒有發(fā)現(xiàn)錯誤的測試也是有價值的,測試并不僅僅是以查找錯誤為中心,演示機電綜合管理系統(tǒng)軟件的正確功能也很重要。軟件的正常功能能得到確保。

      2.3 機電綜合管理系統(tǒng)軟件測試設計

      2.3.1 測試模型

      基本遵從軟件的全生命周期的測試模型,對應軟件開發(fā)的過程,測試過程依次為編碼后對代碼進行代碼靜態(tài)分析,然后對照軟件詳細設計進行動態(tài)單元測試;對測試后的單元對照軟件概要設計進行部件測試;測試后的部件對照軟件需求分析進行配置項測試;最后對測試后的配置項對照系統(tǒng)的需求進行系統(tǒng)測試,最終交付。

      2.3.2 測試階段

      結合我國直升機現(xiàn)狀,目前直升機機電綜合管理系統(tǒng)采用的軟件測試技術有靜態(tài)測試中的文檔審查、代碼審查技術和動態(tài)測試的黑盒、白盒測試技術;進行的測試階段主要是單元測試和配置項測試,也有部件測試和系統(tǒng)測試,其中單元測試采用同等工作量的靜態(tài)測試和動態(tài)測試,配置項測試以動態(tài)測試為主。

      1) 單元測試

      采用功能測試、接口測試、結構覆蓋等測試類型。機電管理計算機軟件進行單元測試是針對代碼中能單獨測試的最小單位(可獨立編譯的程序模塊)進行的正確性檢驗的測試,如涉及到其他單元的函數(shù),則采用打樁(在本單元內編寫需要調用的函數(shù))的方式確保單元測試環(huán)境的建立,從而保證被測軟件單元能夠獨立地運行。

      硬件準備包括主控計算機(帶有操作系統(tǒng)windows xp和開發(fā)環(huán)境Tornado 2.0)、機電系統(tǒng)模擬綜合裝置USI(模擬機電系統(tǒng)的工作狀態(tài)和數(shù)據(jù)邏輯)、航電系統(tǒng)模擬裝置UICD(模擬航電系統(tǒng)和機電管理計算機的接口和邏輯)以及機電管理計算機(應用軟件加載和運行的目標機);軟件準備包括文檔機電管理計算機的《應用軟件設計報告》(含接口設計說明);通過編譯的被測軟件單元源程序。

      測試的內容包括:

      ① 代碼檢查:軟件代碼命名規(guī)則檢查、編碼格式檢查、寄存器使用檢查、程序邏輯檢查、算法檢查、變量使用檢查及標準化檢查等;

      ② 模塊接口測試:對通過被測模塊的數(shù)據(jù)流進行測試,對模塊接口,包括參數(shù)表、調用子模塊的參數(shù)、全程數(shù)據(jù)、文件輸入/輸出操作都必須檢查;

      ③ 局部數(shù)據(jù)結構檢查:設計測試用例檢查數(shù)據(jù)類型、初始化、缺省值等方面的問題,還要查清全程數(shù)據(jù)對模塊的影響;

      ④ 路徑測試:選擇測試用例,對模塊中重要的執(zhí)行路徑進行測試;

      ⑤ 錯誤處理測試:檢查模塊的錯誤處理功能是否包含有錯誤或者缺陷;

      ⑥ 邊界測試:檢查數(shù)據(jù)流、控制流中剛好等于、大于或者小于確定的比較值時出錯的可能性;

      ⑦ 時間性測試:如果模塊運行時間有要求的話,還要專門進行關鍵路徑測試,以確定各種情況下模塊運行的時間。

      2)部件測試

      采用功能測試、接口測試、結構覆蓋等測試類型。依據(jù)軟件概要設計,測試概要設計中的功能模塊,測試計劃注明包含測試部件哪些單元,用例的設計編寫比較接近單元測試。

      硬件準備同單元測試;軟件準備包括文檔機電管理計算機《應用軟件需求規(guī)格說明》(含接口需求說明)、《應用軟件設計報告》,被集成的通過單元測試的軟件單元源程序,并提供軟部件程序和可執(zhí)行代碼。

      測試的內容包括:

      ① 功能測試:軟部件(或者單元)間參數(shù)傳遞與返回結果的正確性;軟部件(或者單元)集成后,被測實現(xiàn)功能的正確性;全局數(shù)據(jù)結構的正確性。

      ② 性能測試:運行時間;嵌入式軟件實時性能。

      ③ 接口測試:軟部件(或者單元)間接口數(shù)據(jù)流的正確性;軟部件(或者單元)間的數(shù)據(jù)交換是否存在不良影響。

      ④ 結構覆蓋測試:軟部件(或者單元)間調用關系上的覆蓋測試,要求覆蓋率達到100%。

      ⑤ 指針與泄漏錯誤測試。

      3)配置項測試

      采用功能測試、接口測試、結構覆蓋等測試類型。測試機電管理監(jiān)控項是否能正常告警顯示。配置項測試是目前機電綜合管理系統(tǒng)軟件測試的重要測試階段。

      硬件準備同單元測試;軟件準備包括文檔機電管理計算機《應用軟件需求規(guī)格說明》、《應用軟件設計報告》,已通過測試的軟件單元、軟部件以及測試問題報告單、源程序、可執(zhí)行代碼。

      測試的內容包括:

      ① 功能測試:對軟件需求規(guī)格說明中所規(guī)定的軟件合格性項進行逐項測試,以驗證其功能是否滿足需求規(guī)格說明的要求;對軟件配置項的控制流程的正確性、合理性等進行驗證。

      ② 性能測試:軟件配置項在獲得定量結果時計算的精確性;有時間要求的軟件配置項,應測試其時間特性及實際運行時間;軟件配置項完成其功能所能處理的數(shù)據(jù)量;軟件配置項各部分的協(xié)調性;軟件需求規(guī)格說明中所要求的其它性能指標。

      ③ 接口測試:內部接口的正確性和協(xié)調性;外部接口的正確性和協(xié)調性。

      ④ 人機界面測試:操作和顯示界面與軟件需求規(guī)格說明的要求的一致性和符合性;人機界面在非常規(guī)操作、誤操作、快速操作下的可靠性;對錯誤命令或者非法數(shù)據(jù)輸入的檢查能力與提示情況;人機界面對所要求界面風格的一致性。

      ⑤ 安全性測試:異常條件下的測試;安全關鍵操作錯誤的測試;軟件配置項在輸入域(或輸出域)、數(shù)據(jù)結構、狀態(tài)轉換、過程參數(shù)、功能界限等的邊界或端點情況下的運行狀態(tài)。

      ⑥ 可安裝性測試:不同配置下的安裝或卸載測試;安裝測試用例驗證。

      4)系統(tǒng)測試

      選用常見的測試類型中的功能測試、性能測試、接口測試和結構覆蓋,測試邊界和異常的狀態(tài)下軟件的功能和性能,測試軟件配置項之間以及配置項與硬件之間的接口,測試人機交互操作(包括正常操作、誤操作時軟件的反應和排錯性、可靠性的處理能力)。

      硬件準備同單元測試;軟件準備包括文檔機電管理計算機《應用軟件需求規(guī)格說明》、《應用軟件設計報告》,已通過測試的軟件單元、軟部件、配置項以及測試問題報告單、源程序、可執(zhí)行代碼。

      測試的內容包括:

      ① 功能測試,對系統(tǒng)設計文件中規(guī)定的各項軟件功能進行以下測試,以驗證系統(tǒng)是否達到所規(guī)定的要求:正常值的等價類輸入數(shù)據(jù)檢測;非正常值的等價類輸入數(shù)據(jù)檢測;邊界值的輸入數(shù)據(jù)檢測。

      ② 性能測試:軟件在獲得定量結果時計算的精確性;有速度要求時,計算完成功能的時間;軟/硬件運行環(huán)境中的因素是否限制了軟件的性能;系統(tǒng)的負載能力;系統(tǒng)運行時軟件占用的空間;系統(tǒng)對并發(fā)事務和并發(fā)用戶訪問的處理能力。

      ③ 接口測試:系統(tǒng)內部接口的正確性和一致性;系統(tǒng)外部接口的正確性和一致性。

      ④ 人機界面測試:人機交互界面字符、文字、GUI元素的正確性;人機交互界面的有效性;人機交互界面的健壯性;人機交互界面與用戶手冊或操作手冊的一致性。

      ⑤ 安全性測試:硬件或軟件出現(xiàn)故障情況下的處理和保護能力;容錯操作的能力;用戶數(shù)據(jù)抗非法訪問的能力;用戶和權限管理。

      ⑥ 可安裝性測試:不同配置下的安裝或卸載測試;驗證安裝參數(shù)裝訂、安裝規(guī)程的正確性及安裝規(guī)程與安裝手冊描述的一致性。

      ⑦ 文檔審查:文檔完整性;文檔內容的直觀性和易于理解性;文檔描述的一致性。

      3 結論

      隨著直升機機電綜合管理系統(tǒng)功能的日益強大,對機電綜合管理系統(tǒng)軟件提出了更高的要求:除了完成相應的功能以外,還應能夠盡力地避免軟件的缺陷。本文在此背景下,以嵌入式軟件測試理論與技術為指導,結合實際需求,提出機電綜合管理系統(tǒng)軟件的測試工作內容。在初步的使用操作中,比較全面地涵蓋了所有需要測試的方面。這種系統(tǒng)全面的測試節(jié)省了測試環(huán)境的開發(fā)和準備時間,同時提高了測試的效率。

      測試工作的質量直接影響機電管理計算機產品的生命力。隨著機電一體化的逐漸發(fā)展,應對機電綜合管理系統(tǒng)的軟件測試進行更深入的研究,使其更大限度地發(fā)揮保障機電綜合管理系統(tǒng)運行質量的作用。

      參考文獻:

      [1] 聶長海.關于軟件測試的幾點思考[J].計算機科學,2001,38(2):1-3.

      [2] 陸志肖,聶永昱,謝劍斌,等.軟件可靠性設計在機電綜合管理系統(tǒng)軟件中的應用[J].直升機技術,2010(3):53-57.

      [3] 羅海明,謝劍斌,陸志肖.機電系統(tǒng)綜合化控制和管理[J].直升機技術,2010,(1):62-67.

      [4] 單錦輝,姜 瑛,孫 萍.軟件測試研究進展[J].北京大學學報(自然科學版),2005,41(1):134-145.

      [5] 黎連業(yè),王 華,李淑春.軟件測試與測試技術[M].北京:清華大學出版社,2009.

      [6] 王 璞,張臻鑒,王玉璽,等.面向實時嵌入式機載軟件的測試技術研究[J].計算機工程,1998,24(2):12-15

      猜你喜歡
      單元測試正確性軟件測試
      基于OBE的軟件測試課程教學改革探索
      計算機教育(2020年5期)2020-07-24 08:53:20
      一種基于系統(tǒng)穩(wěn)定性和正確性的定位導航方法研究
      EXCEL和VBA實現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      關于軟件測試技術應用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      淺談如何提高水質檢測結果準確性
      軟件測試工程化模型及應用研究
      雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設計方法
      一年級上冊第五單元測試
      一年級上冊一、二單元測試
      第五單元測試卷
      张掖市| 三门县| 宁河县| 岗巴县| 杭州市| 宁夏| 锡林浩特市| 皮山县| 太仓市| 富阳市| 崇文区| 沽源县| 东乡县| 东辽县| 新闻| 于田县| 武安市| 巩义市| 泽普县| 杭锦后旗| 卓资县| 轮台县| 太原市| 图们市| 商城县| 焉耆| 广丰县| 华池县| 彰化市| 文水县| 大兴区| 泗水县| 安乡县| 龙口市| 柞水县| 梁河县| 武夷山市| 安西县| 化德县| 年辖:市辖区| 共和县|