軟件可靠性仿真測試平臺實時技術研究
摘 要:介紹了軟件可靠性仿真測試平臺的功能及組成框架,并以通用性和可擴展性為前提,著重對測試平臺中仿真器分系統實時性實現的調度策略和關鍵技術進行了研究。實驗結果表明,這些實現方法具有較高的可靠性、易擴展性和實用性。
關鍵詞:實時技術,軟件可靠性,調度策略,實時通信
軟件可靠性測試是當前軟件技術領域中一個比較熱門的話題,軟件可靠性對整個系統可靠性的影響越來越大,尤其對于航空類系統軟件來說,軟件故障往往是導致系統失敗的主要原因之一。采用模擬被測目標軟件實際運行環境對軟件進行測試是目前國內外一致認為比較理想的軟件測試方法之一。合理設計目標軟件可靠性的運行環境,較為真實地模擬出被測軟件的真實運行環境,不但可以檢測到目標軟件運行過程中存在的故障,而且也可以保證測試結果的真實性和置信度。
本文在介紹軟件可靠性仿真測試平臺的組成及功能的基礎上,以仿真器分系統為例,對平臺在實時測試過程中的一些實現技術進行了研究。
1 仿真測試平臺系統功能及組成框架
整個仿真測試平臺采用分布式結構,由主控機分系統(以下簡稱為主控機)、仿真器分系統(以下簡稱為仿真器)和激勵器分系統(以下簡稱為激勵器)三個分系統組成,各分系統與被測目標軟件的交聯關系如圖1所示。其中,主控機是測試平臺的控制中心,它負責生成原始測試數據,向仿真器、激勵器分發測試用例,協調兩個分系統的工作,并根據測試狀況控制仿真器和激勵器的工作模式。仿真器和激勵器將主控機傳送過來的測試用例數據,生成真正的目標軟件可以接收的測試用例數據傳送給目標系統,同時,仿真器和激勵器負責將自身工作狀態信息和從目標系統得到的測試結果數據通過底層網絡實時或非實時地傳送回主控機。
圖1 仿真測試平臺的交聯關系圖 由于目標軟件由匯編語言寫成,內部處理過程較為復雜,所以采用黑盒測試方法。目標軟件的處理周期為25 ms,因此在實時測試過程中,需要每25 ms有一組測試用例數據由仿真器通過1553B總線,激勵器通過并口同時輸入給目標軟件。仿真器和激勵器不僅需要每25 ms產生目標軟件的輸入數據,同步向目標軟件發送數據,而且仿真器還能接收目標軟件的輸出,并且對輸出數據進行相應的實時處理,如結果數據的收集、保存及數據的顯示等等。由于整個測試平臺是在非實時、多任務的Win98操作系統上實現的,因此,如何利用Win98的多任務并發的特性,采用合理的任務調度策略,在任務處理周期內,按時完成各種任務,并將多個任務協調一致,是整個設計過程中主要應該解決的問題。 2 仿真器分系統的功能設計及實時實現技術 |
圖2 任務調度管理模塊調用關系 在仿真器設計中,除了必要的網卡(和主控機連接)和MBI卡(和目標系統連接)等硬件設備以外,仿真器的各項功能均是通過軟件來完成的,因而系統軟件設計中采用合理的調度策略,避免操作系統的缺陷,以實現仿真器的功能。 |