• 
    

    
    

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

      ?

      星載軟件可靠性仿真測試環(huán)境研究*

      2016-03-15 04:59:21
      計算機與數(shù)字工程 2016年2期
      關鍵詞:測試環(huán)境

      鄭 重 石 柱

      (中國航天系統(tǒng)科學與工程研究院 北京 100048)

      ?

      星載軟件可靠性仿真測試環(huán)境研究*

      鄭重石柱

      (中國航天系統(tǒng)科學與工程研究院北京100048)

      摘要軟件可靠性測試是驗證和評估軟件可靠性水平的重要方法,要求軟件運行環(huán)境的真實性,因此,測試環(huán)境的建立是進行可靠性測試的難點,也是決定測試結果正確性的關鍵因素。論文闡述了針對某星載嵌入式軟件可靠性測試環(huán)境的設計,包括測試平臺的構建,以及測試腳本的構造,該環(huán)境已成功應用于某星載嵌入式軟件的可靠性測試,效果較好。

      關鍵詞星載軟件; 軟件可靠性測試; 測試環(huán)境

      Simulation Test Platform of Spaceborne Software Reliability

      ZHENG ZhongSHI Zhu

      (China Academy of Areospace Systems Science and Engineering, Beijing100048)

      AbstractSoftware reliability testing is an important mothod of qualifying and evaluating software reliability. The facticity of test platform is the most difficult thing during the reliability testing, and establishing test platform is also the key factor which determines the effect of software reliability testing. A set of design of an spaceborne software testing platform is described, which consists of testing flat established, and testing script constructed.And it has been applied in an spaceborne embedded software testing project successfully and effectively.

      Key Wordsspaceborne software, software reliability testing, testing platform

      Class NumberTP311.5

      1引言

      星載軟件的可靠性仿真測試是保證星載軟件安全可靠運行的重要手段,通過地面進行的全面、充分的分析和測試,盡可能把存在的錯誤暴露在地面測試階段,才能保證產(chǎn)品最終在航天器這種特殊的環(huán)境中長期穩(wěn)定的工作。通過可靠性測試能有效地暴露并糾正在實際使用過程中影響可靠性要求的軟件缺陷,提高其可靠性水平,并驗證其是否達到了規(guī)定的可靠性要求[1]。

      星載軟件的可靠性測試必須使軟件在模擬空間復雜多變的環(huán)境下運行。以往的星載軟件可靠性仿真測試環(huán)境,僅從模擬衛(wèi)星對星載軟件的功能實現(xiàn)角度設計,或針對特定故障進行設計,而本文針對某具體星載嵌入式軟件設計仿真環(huán)境,通過構造運行剖面,模擬軟件真實運行時的輸入,通過構造各種環(huán)境模型模擬軟件真實運行環(huán)境,可測試星載嵌入式軟件真實的可靠性水平,同時可測試該軟件的故障對策的優(yōu)劣及其容錯性能,大大提高可靠性仿真測試覆蓋度,同時實時顯示各關鍵參數(shù)和狀態(tài)[2]。

      本文的設計方法為其他航天器嵌入式軟件可靠性仿真測試環(huán)境設計提供了重要的參考。

      2軟件可靠性測試過程

      軟件可靠性測試是指為了保證和驗證軟件的可靠性要求而對軟件進行的測試,與一般軟件測試不同,軟件可靠性測試的主要目的不是發(fā)現(xiàn)所有的軟件錯誤和缺陷,而是通過獲取軟件失效數(shù)據(jù)進行分析,評估軟件當前的可靠性水平,預測未來可能達到的水平,從而驗證軟件可靠性的定量要求是否得到滿足[3]。

      根據(jù)以上特點,參考以往經(jīng)驗,此次軟件可靠性測試工作過程主要包括構造運行剖面、產(chǎn)生測試用例、執(zhí)行測試、結果分析和可靠性評估五個環(huán)節(jié)[4],其中:

      1) 構造使用剖面:使用剖面是指軟件各種使用情況及其發(fā)生概率的集合。在使用信息分析的基礎上,按照被測軟件的實際使用規(guī)律,構造軟件的使用剖面。

      2) 生成測試用例:基于上述構造的軟件使用剖面,通過程序生成測試數(shù)據(jù)及自動測試驅(qū)動工程文件(含多個腳本文件),該工程文件相當于測試用例集,以驅(qū)動仿真器對該軟件進行測試。

      3) 執(zhí)行測試:在上述工作準備就緒的情況下,執(zhí)行可靠性測試,并通過可靠性測試平臺中的監(jiān)測功能收集測試數(shù)據(jù)及發(fā)生的失效數(shù)據(jù),測試人員分析發(fā)生的失效事件,并將有效的失效記錄下來。

      4) 結果分析:根據(jù)監(jiān)測設備和監(jiān)測軟件記錄的故障數(shù)據(jù),以及用戶定義的失效,收集失效數(shù)據(jù),包括失效的嚴重程度。

      5) 可靠性評估:根據(jù)測試期間發(fā)生的失效次數(shù)和時間,利用可靠性模型,評估軟件的可靠性指標是否達到預期的可靠性指標要求,得出拒絕或接受被測軟件的結論[5]。

      可靠性測試環(huán)境的構建原理圖如圖1所示。

      整個可靠性仿真測試環(huán)境包括三個部分:激勵器,目標系統(tǒng)和主控機。

      1) 激勵器:根據(jù)運行剖面解析產(chǎn)生測試數(shù)據(jù),對數(shù)據(jù)進行仿真處理,產(chǎn)生并控制激勵信號,驅(qū)動被測軟件運行。

      2) 目標系統(tǒng):運行激勵器產(chǎn)生的測試用例,生成測試過程數(shù)據(jù),包括被測件的運行狀態(tài)數(shù)據(jù)和軟件處理數(shù)據(jù),采集并傳輸數(shù)據(jù)到主控機。

      3) 主控機:接受并處理目標系統(tǒng)的監(jiān)測數(shù)據(jù),記錄、分析并顯示監(jiān)測數(shù)據(jù),并監(jiān)控測試過程。

      3測試環(huán)境的基本結構

      構建該試驗平臺的目的是為可靠性測試提供試驗環(huán)境,從而驗證可靠性設計改進后的軟件是否能達到連續(xù)有效運行六個月的定量指標。為盡可能確保該軟件在真實環(huán)境下進行可靠性測試,全面考核該軟件的所有對外接口及運行剖面,在受試設備的整機環(huán)境中運行該軟件,即應保持該軟件與星上其他設備進行正常的數(shù)據(jù)與信號交換。

      3.1測試環(huán)境框架

      某星載嵌入式軟件可靠性試驗環(huán)境包括運行平臺和監(jiān)測平臺兩個部分,其中運行平臺設備主要包括受試設備(包括監(jiān)測數(shù)據(jù)采集模塊);監(jiān)測平臺設備主要包括高動態(tài)仿真器、計算機、監(jiān)測設備及監(jiān)測軟件等??煽啃詼y試試驗平臺能為該軟件可靠性測試提供穩(wěn)定的試驗環(huán)境。

      被測軟件是一個對外部信號進行連續(xù)采集、實時處理的運行體。在每套設備中,為消除受試設備與監(jiān)測設備間接口通訊失效,將采用硬件上獨立的UART及FPGA兩種方式傳送監(jiān)測數(shù)據(jù)。

      試驗平臺構成如圖2所示。

      圖2 可靠性測試平臺設備連接示意圖

      3.2硬件設計

      整個平臺硬件的設計如下:

      1) 高動態(tài)仿真器:通過高動態(tài)信號仿真器模擬接近真實運行狀態(tài)的信號,并可通過改變電文原碼、偽碼類型、傳播誤差等因素考核該軟件在各種信號輸入條件下的故障發(fā)生率。通過構造軟件的運行剖面從而生成高動態(tài)仿真器可執(zhí)行的測試腳本,來激勵受試設備的運行,由運行剖面生成測試腳本的方法。

      2) 受試設備:受試設備在原有技術狀態(tài)基礎上,增加監(jiān)測數(shù)據(jù)采集模塊完成通道板軟件動態(tài)運行特征量的采集、測量及存儲功能。該功能通過FPGA與數(shù)據(jù)轉發(fā)模塊實現(xiàn),并將采集數(shù)據(jù)高速傳送至外部監(jiān)測設備進行處理分析。

      增加監(jiān)測數(shù)據(jù)模塊后,能夠?qū)崿F(xiàn)受試設備固有的重要過程變量監(jiān)測、DSP的時序?qū)崟r監(jiān)測、重要脈沖監(jiān)測、以及部分硬件數(shù)據(jù)的監(jiān)測。

      3) 監(jiān)測設備:受試設備在測試過程中產(chǎn)生的實時運行數(shù)據(jù)將發(fā)送給監(jiān)測設備。監(jiān)測設備將分別接收監(jiān)測數(shù)據(jù)采集模塊的USB監(jiān)測數(shù)據(jù)、星上接口仿真模塊采集的總線數(shù)據(jù)(如CAN總線)以及經(jīng)接口電平變換后的自檢數(shù)據(jù);并對數(shù)據(jù)進行實時顯示、分析、存儲和回放。

      監(jiān)測設備具有良好的通用性和可擴展性,可靈活配置各種數(shù)據(jù)源接收格式及處理格式,從而適應不同受試設備平臺類型及測試類型,同時兼?zhèn)湓谲墧?shù)據(jù)分析功能。

      3.3軟件設計

      為實現(xiàn)對軟件實時動態(tài)性能的監(jiān)測,開發(fā)了監(jiān)測軟件,該軟件具備功能如下:

      1) 實現(xiàn)與CAN等星上總線數(shù)據(jù)交換功能;

      2) 實時采集來自受試設備“監(jiān)測數(shù)據(jù)采集模塊”及自檢口的軟件動態(tài)運行特征量,包括:實時存儲監(jiān)測軟件運行過程數(shù)據(jù);實時存儲監(jiān)測受試設備相關信號的幅度或脈寬與周期;實時存儲監(jiān)測軟件運行時序與架構性能,分析系統(tǒng)總體執(zhí)行的時間和每個子程序最大、最小、累加執(zhí)行時間與次數(shù),跟蹤當前運行點位;

      3) 對上述軟件動態(tài)運行特征量,以文字或圖形化方式進行實時跟蹤顯示、性能統(tǒng)計與比對分析,并對異常值進行報警;

      4) 按數(shù)據(jù)類別定時存儲軟件動態(tài)運行特征量;

      5) 可根據(jù)菜單或配置文件靈活配置分析曲線的各維參數(shù),并自定義邊界值;

      6) 可選擇記錄時間段對所有存儲數(shù)據(jù)進行數(shù)據(jù)回放顯示。

      監(jiān)測軟件的組成如圖3所示,由監(jiān)測數(shù)據(jù)處理模塊、星上接口處理模塊、自檢接口處理模塊及數(shù)據(jù)后處理模塊組成。

      圖3 監(jiān)測軟件組成圖

      監(jiān)測軟件四大模塊將分別接收受試設備監(jiān)測數(shù)據(jù)采集模塊的USB監(jiān)測數(shù)據(jù)、地面檢測設備采集的總線數(shù)據(jù)(如CAN)及接口電平變換后的自檢數(shù)據(jù),并對數(shù)據(jù)進行實時顯示、分析、比對、存儲和回放。

      該軟件可靠性試驗平臺的組成充分考慮了冗余設計、多方位監(jiān)測的原則,監(jiān)測設備和監(jiān)測軟件共同構成了一套不同方位、相互獨立的監(jiān)測體系。

      4測試腳本的構造

      4.1運行剖面生成測試數(shù)據(jù)的方法

      運行剖面生成測試數(shù)據(jù)的過程就是根據(jù)建立的運行剖面生成測試用例并且根據(jù)可靠性要求確定測試用例數(shù)量,并根據(jù)分配的概率抽取操作序列及參數(shù)的約束條件,來生成可靠性測試數(shù)據(jù)的過程[6-7]。其詳細過程如下:

      1) 根據(jù)運行剖面,獲得所有的運行對應的概率;

      2) 根據(jù)運行序列的概率按照一定的隨機抽樣的方法抽取運行序列;

      3) 在抽取運行序列的時候,結合參數(shù)的約束信息,生成相應的測試數(shù)據(jù);

      4) 重復2)~3)的步驟,直到生成的測試數(shù)據(jù)的數(shù)目符合指定的數(shù)目[8];

      應用于此次測試中,即根據(jù)各剖面中各事件在星載導航軟件運行過程中發(fā)生的概率,按時間序列抽取各剖面中各事件作為測試用例并生成自動化測試腳本。

      按時間序列抽取各剖面中各事件作為測試用例并生成自動化測試腳本的方法為對于連續(xù)變化的數(shù)據(jù),根據(jù)其函數(shù)分布隨機抽取測試數(shù)據(jù),并按照固定的時間間隔均勻分布在時間軸上[9];對于離散型數(shù)據(jù),把每個剖面事件發(fā)生的概率與實際區(qū)間[0,1]的一個子區(qū)間相聯(lián)系,該子區(qū)間的大小等于事件發(fā)生的概率,然后對所需的每個測試數(shù)據(jù)生成區(qū)間[0,1]中的一個隨機數(shù),根據(jù)隨機數(shù)落入的子區(qū)間來確定對應的測試數(shù)據(jù),再將這些測試數(shù)據(jù)按照固定的時間間隔隨機分布在時間軸上[10]。

      4.2測試數(shù)據(jù)的生成

      下面以電文剖面測試數(shù)據(jù)生成方法為例。

      1) 電文剖面的構造

      由于電文參數(shù)在實際運行中絕大多數(shù)情況下都較為穩(wěn)定,但在某些情況下會出現(xiàn)異常,因此,電文剖面可根據(jù)電文參數(shù)正常和異常對電文進行劃分。

      (1)根據(jù)與開發(fā)方溝通,電文正常的概率為0.99,異常的概率為0.01,按照導航電文不健康類型、電文精度和其他極端情況,又可將電文的異常類型分為九類。

      (2)每次發(fā)生電文異常的星數(shù)是隨機的,即可能是一顆星,也可能是多顆星,對于單一導航星和所有導航星來說,電文的某一或全部的參數(shù)錯誤是隨機和均等的。

      電文參數(shù)異常可以根據(jù)以上導航星數(shù)和異常類型的不同組合和概率來構造剖面,最終共生成289個剖面。在測試用例設計中,電文正常范圍值由高動態(tài)仿真器來保證,對于異常值需要構造測試用例。根據(jù)導航星電文異常發(fā)生的概率和運行時間計算,需從288個異常剖面中隨機抽取20個電文異常操作,最后將20組異常數(shù)據(jù)隨機分配到168天的時間軸上。由于該軟件的一個軌道周期大約是2個小時,因此,設定每個異常持續(xù)2個小時,一臺仿真器需要構造10個不同的用例,即從288個電文異常剖面中抽取10個用例。

      2) 測試數(shù)據(jù)的生成

      假設電文異常剖面中的事件包括3個(P1,P2,P3),根據(jù)分析,從這3個電文異常剖面中抽取10個事件,這3個電文異常剖面事件概率為P1=0.3,P2=0.2,P3=0.5,則P1與實際區(qū)間[0,0.3]相聯(lián)系,P2與實際區(qū)間[0.3,0.5]相聯(lián)系,P3與實際區(qū)間[0.5,1]相聯(lián)系。

      下一步,生成區(qū)間[0,1]中的一個隨機數(shù)(該隨機數(shù)生成可由計算機完成),生成區(qū)間[0,1]中的10個隨機數(shù),根據(jù)隨機數(shù)落入的子區(qū)間來確定對應的測試用例。例如:若隨機數(shù)為0.457,則抽取P2事件。最終抽取的測試數(shù)據(jù)集合如圖1所示。

      表1 測試數(shù)據(jù)集合

      將這10組測試數(shù)據(jù)隨機分布在時間軸(從0天00:00:00~55天23:59:00,時間間隔2小時)上的輸入序列。

      5結語

      本文給出了一個星載實時性嵌入式軟件可靠性測試環(huán)境的設計實例,該環(huán)境既滿足系統(tǒng)真實性的要求,又能實時監(jiān)測、顯示運行時的重要參數(shù),在一定程度上實現(xiàn)了自動化測試。該平臺已經(jīng)成功應用于開展某星載嵌入式軟件的可靠性測試工作,發(fā)現(xiàn)了一般功能測試無法發(fā)現(xiàn)的缺陷和錯誤,并給出該軟件的可靠性指標值,從而進一步驗證了該測試平臺的正確性和可用性。

      參 考 文 獻

      [1] Michael R. Lyu. Hand Book of Software Reliability Engineering[M]. IEEE Computer Society Press. New York: McGraw-Hill,1996,4:168-189.

      [2] Michael R. Lyu. Software Reliability Engineering: A Roadmap[C]//Future of software Engineering,2007,FPSE,07,HongKong:153-170.

      [3] 阮鐮,劉斌,陳雪松.軟件可靠性測試及其測試環(huán)境[J].測控技術,2000,19(2):9-12.

      RUAN Lian, LIU Bin, CHEN Xuesong. Software Reliability Test ang It’s Testing Enviroment[J]. Measurement and Control Technology,2000,19(2):9-12.

      [4] 石柱,鄭重.星載軟件可靠性測試實踐[J].計算機工程與設計,2013,34(2):721-724.

      SHI Zhu, ZHENG Zhong. Spaceborne Software Reliability Testing Practice[J]. Computer Engineering & Design,2013,34(2):721-724.

      [5] 鄭重,石柱.星載軟件可靠性工程研究與實踐[J].計算機與數(shù)字工程,2013,41(8):1273-1276.

      ZHENG Zhong, SHI Zhu. Study And Practice on Spaceborn Software Reliability Engineering[J]. Computer & Digital Engineering,2013,41(8):1273-1276.

      [6] 王乾宇,朱小冬,王毅剛,等.基于TestQuest的嵌入式軟件可靠性測試環(huán)境框架研究[J].中國測試,2012,38(1):106-109.

      WANG Qianyu, ZHU Xiaodong, WANG Yigang, et al. Framework of reliability test environment for embedded software based on TestQuest[J]. China Measurement & Testing Technology,2012,38(1):106-109.

      [7] 郭堅,付連芳,翟君武.一種星載軟件系統(tǒng)測試環(huán)境的設計[J].計算機測量與控制,2005,13(5):499-502.

      GUO Jian, FU Lianfang, ZHAI Junwu. [J]. Computer Measurement & Control,2005,13(5):499-502.

      [8] 張旭,石柱,王崑聲.基于使用剖面的軟件可靠性測試用例生成方法[J].計算機仿真,2009,26(12):82-85.

      ZHANG Xu, SHI Zhu, WANG Kunsheng. A test Case Generation Approach of Software Reliability Based on Usage Profile[J]. Computer Simulation,2009,26(12):82-85.

      [9] Vincent Almering, Michiel van Genuchten, Ger Cloudt, et al. Using Software Reliability Growth Models in Practice[J]. IEEE Software,2007,24(6):82-88.

      [10] Zeng Fuping, Lu Minyan. Application research of software reliability testing[C]//2012 IEEE International Conference on Computer Science and Automation Engineering, Zhangjiajie: IEEE Beijing Section,2012.

      中圖分類號TP311.5

      DOI:10.3969/j.issn.1672-9722.2016.02.024

      作者簡介:鄭重,男,碩士,工程師,研究方向:軟件可靠性工程,軟件安全性。石柱,男,博士,研究員,研究方向:軟件工程,軟件可靠性,軟件安全性和軟件過程改進。

      基金項目:國防科技工業(yè)局民用航天科研預先研究項目(編號:B2120080307)資助。

      *收稿日期:2015年8月12日,修回日期:2015年9月25日

      猜你喜歡
      測試環(huán)境
      基于Web的英文智能問答系統(tǒng)實現(xiàn)策略研究
      全數(shù)字仿真測試環(huán)境在航天軟件測試中的應用研究
      嵌入式軟件單元測試研究探析
      新能源汽車硬件在環(huán)測試系統(tǒng)環(huán)境搭建及測試淺議
      發(fā)動機試驗室運行及安全要求
      時代汽車(2019年21期)2019-11-17 06:44:06
      服務導向下的網(wǎng)格軟件測試環(huán)境研究
      雷達航跡處理測試環(huán)境構建方法研究
      科技視界(2019年10期)2019-09-02 03:22:27
      網(wǎng)絡設備自動化測試設計與實現(xiàn)
      ESITest測試平臺在某型電子監(jiān)測儀軟件測試中的應用
      電子世界(2016年2期)2016-03-22 05:36:25
      基于鄰接矩陣的軟件測試環(huán)境規(guī)劃設計方法
      404 Not Found

      404 Not Found


      nginx
      叙永县| 固始县| 乾安县| 孟州市| 黄山市| 西乌| 名山县| 华亭县| 泰兴市| 同德县| 博白县| 儋州市| 彭山县| 吉林省| 本溪市| 枞阳县| 沅陵县| 益阳市| 锡林浩特市| 广河县| 中卫市| 岳阳县| 驻马店市| 平江县| 永安市| 海原县| 竹北市| 东源县| 无为县| 郁南县| 象州县| 塔河县| 云梦县| 汉源县| 吴堡县| 昭觉县| 报价| 新河县| 北流市| 子长县| 邵阳市|