裝備虛擬訓練軟體測試技術論文
裝備虛擬訓練軟體測試技術論文
隨著資訊化軍事技術的不斷髮展,裝備模擬訓練軟體也獲得了迅速的發展,其規模越來越龐大、實現的功能越來越多、結構越來越複雜,裝備模擬訓練軟體的效能和可靠性也成為至關重要問題的。下面小編為大家分享裝備虛擬訓練軟體測試技術論文,歡迎大家參考借鑑。
1 軟體測試模型
軟體測試是裝備模擬訓練軟體開發過程中一個不可缺少的重要步驟,而且隨著裝備模擬訓練軟體規模的增大、複雜度的增加,軟體測試也變得越來越重要。裝備模擬訓練軟體軟體測試過程與開發過程一樣,都能決定軟體的質量,而且測試過程的質量將直接影響測試結果的準確性和有效性。
在軟體開發幾十年的實踐過程中,人們總結了很多的開發模型,這些模型對於軟體開發過程具有很好的指導作用,由於測試與開發是緊密結合在一起的,所以軟體測試也需要有測試模型去指導實踐。軟體測試模型是將測試過程活動進行抽象的概念模型,用於定義測試活動的流程和方法,是確保軟體工程質量的重要手段。測試專家透過實踐總結出了很多很好的測試模型。這些模型將測試活動進行了抽象,明確了測試與開發之間的關係,更好的分析軟體測試在整個軟體研發中的參與度和工作過程,進而不斷完善軟體質量保證流程,提高軟體產品的質量,併成為了測試管理的重要參考依據。目前,主要的測試模型主要有以下4種:
1.1 V模型
V模型是將傳統測試模型瀑布模型改進後的一種測試模型,如圖1所示,從左到右,分別描述了軟體的基本開發過程和對應的測試行為,清楚地體現出每個測試階段和開發過程各階段的對應關係。但是在V模型當中,測試過程放在了編碼的下一個階段,這就容易使人誤解為測試是軟體開發的最後一個階段,而需求分析的檢驗工作也是在驗收測試才能進行。
1.2 W模型
W模型由兩個V模型組成,分別代表測試與開發過程,非常明確的標註了生產週期中開發與測試之間的對應關係,如圖2所示。但是在W模型中測試和開發也保持著一種線性的前後關係,上一階段工作完全結束,才能正式開始下一階段的工作,這樣就無法支援迭代、自發性以及變更性調整等情況。
1.3 H模型
H模型形成了一個完整獨立的測試過程,並且將測試準備活動和測試執行活動清晰的區別出來,如圖3所示。圖中僅僅演示了在整個生命週期中某個層次上的一次測試“微迴圈”,圖中的“其他流程”可以是任意開發流程。H模型的特點是軟體測試是一個獨立的流程,貫穿產品整個生命週期,與其他流程併發地進行。當某個測試點就緒時,軟體測試即從測試準備階段進入測試執行階段。
2 裝備模擬軟體測試的特點及關鍵問題
2.1 裝備模擬軟體測試的特點
裝備模擬訓練軟體是一個由系統、分系統/子系統、模組組成的複雜系統,並隨著系統和操作功能的增多,複雜程度也在增加,系統的好壞歸根結底是由各個分系統和各個模組的好壞決定的,對各個分系統和各個模組的測試是一個非常重要的環節。裝備模擬訓練軟體測試具有以下6個特點:
2.1.1 裝備模擬訓練軟體測試主要分為三個階段
從軟體生命週期全過程來看,軟體測試可分為單元測試、功能測試、整合測試、效能測試、系統測試、配置測試、迴歸測試等階段。根據裝備模擬訓練軟體的結構、規模、型別和安全性關鍵等級等方面的特點,確定裝備模擬訓練軟體測試主要分為單元測試、整合測試和系統測試三個階段。
2.1.2 單元測試是裝備模擬訓練軟體的測試重點
裝備模擬訓練軟體測試是一項針對性很強的工作,即使對同一型別的功能,可能由於不同型號任務的要求,功能實現也會有所差異,因此要求重點進行單元測試。單元測試是根據詳細設計和源程式,瞭解每個最小模組的輸入、輸出條件和邏輯結構是否正確合理。單元測試通常應對模組內所有控制路徑設計測試用例,以便發現錯誤。
2.1.3 裝備模擬訓練軟體程式內部結構複雜,路徑組合數目龐大
程式的`三種基本結構分別是:順序結構、分支結構和迴圈結構,裝備模擬訓練軟體最小組成模組的內部程式都可看作是這三種結構按不同方式組合的產物,這其中包含大量多重選擇和迴圈巢狀的程式,而且模組與模組之間存在著大量的互動,所以程式內部包含的不同路徑數目可能是天文數字,尤其對大規模複雜的裝備模擬訓練軟體,窮舉所有的路徑是不可能的,需要根據實際情況去選擇適合的覆蓋測試方法。
2.1.4 裝備模擬訓練軟體黑盒測試用例數量龐大
裝備模擬訓練軟體中包含了不同專業的多個分系統,每個分系統又由多個子系統和模組組成,其中包含的引數數量龐大,引數與引數之間的進行組合之後的數量將更加龐大,而軟體執行出現的故障時,更多的情況是由於多個引數的相互作用的原因,所以,要想充分考慮到引數與引數之間的關係,需要的測試用例數量是無窮盡的。
2.1.5 裝備模擬訓練軟體測試一般需要特定的測試環境支援
裝備模擬訓練軟體測試可以採用靜態測試方法和動態測試方法。其中,靜態測試以人工檢查為主,不需要特定的測試環境;而動態測試則需要建立驅動軟體模組執行的測試環境,支援軟體模組的引數輸入和輸出結果的視覺化。
2.1.6 裝備模擬訓練軟體測試一般採用白盒測試與黑盒測試相結合的方法
一般採用白盒測試方法來測試裝備模擬訓練軟體程式內部的邏輯結構;裝備模擬軟體的功能測試部分則需要採用黑盒測試方法。
2.2 裝備模擬軟體測試的關鍵問題
軟體測試的目標是發現軟體中可能存在的設計缺陷和錯誤。測試時驗證得越全面,軟體中可能存在的缺陷就會越少,而每一個專案、每一個軟體的測試都會有不同的特點和測試關鍵問題,測試工作要根據軟體的特點和關鍵問題,設計適合該軟體的測試。裝備模擬訓練軟體測試的關鍵問題主要有以下4點:
2.2.1 測試工作必須由非開發人員來完成
由於許多開發單位對軟體測試的認識水平不夠,自己設計、自己程式設計、自己測試、自己維護的現象還比較普遍,這樣的結果就是導致測試結果不理想,沒有達到測試的要求。所以,為了保證測試質量,裝備模擬訓練軟體的測試工作必須由非開發人員來進行,保證的效果。
2.2.2 在白盒測試中,採用基本路徑測試方法解決路徑覆蓋率問題
在裝備模擬訓練軟體結構中,路徑組合是一個龐大的數字,所以要在測試中覆蓋所有路徑是不可能的,需要把覆蓋的路徑壓縮到一定範圍內。如:程式的迴圈部分可以只迴圈一次。因此,在路徑覆蓋測試上,我們選擇基本路徑測試法。
2.2.3 在黑盒測試中,採用組合覆蓋測試方法解決測試用例無窮盡問題
由於裝備模擬訓練軟體中引數與引數的組合數量龐大,無法設計無窮盡的測試用例滿足覆蓋率問題,為此,採用組合覆蓋測試方法,不僅可以充分考慮到軟體中引數與引數之間的相互作用,更重要的是能以最少的測試用例實現最大程度的覆蓋,具有較好的測試效果。
2.2.4 要有必要的測試文件
沒有文件的專案是一個不成功的專案,同樣,沒有文件的測試也不會是一個成功的測試。測試工作的計劃、設計、實現和問題報告都要以文件的形式記錄下來留存,方便同項目組人員進行閱讀和修改,更重要的是對於後續同類項目是資源的積累過程和設計的改進依據。
3 裝備模擬軟體測試模型
測試過程模型定義了測試的流程和方法,為測試工作提供了指導。但是傳統的測試模型各有長短,不可能適合所有的測試軟體,軟體測試模型因測試軟體的不同而不同,所以,本文透過對傳統的測試過程模型進行的分析和探討,同時研究分析了裝備模擬訓練軟體的實際情況,進而得到了適合裝備模擬軟體的測試模型,然後從該模型出發,完善軟體測試工作流程。裝備模擬訓練軟體測試模型是一個包含了軟體文件審查、程式碼靜態分析和審查、單元測試、子系統整合測試、系統測試和驗收測試的綜合測試模型,如圖4所示。
3.1 測試準備
測試準備階段是在測試實施之前,構造執行測試所需的要素,這些要素通常包括軟體開發文件、軟體開發程式、實際執行測試所需的軟體、準備測試環境和測試工具;同時還要為測試過程準備適當的測試用例。
3.2 單元測試
裝備模擬訓練軟體單元測試部分包含靜態測試和動態測試兩個部分。其中靜態測試的物件是裝備模擬訓練軟體單元模組的文件和程式程式碼,主要透過文件審查、程式碼審查、程式碼靜態分析等方法來確保軟體需求和設計文件的正確性、程式碼的規範性、設計或實現的正確性。而軟體結構和功能方面的缺陷則需要採用動態測試的方法來完成。
裝備模擬訓練軟體單元模組動態測試採用黑盒測試和白盒測試相結合的方法,從模組級檢查軟體的功能、效能、介面和其他約束條件是否滿足需求。白盒測試技術主要測試每個單元內部邏輯結構的覆蓋率,黑盒測試技術測試模組單元功能滿足需求情況。
3.3 整合測試
整合測試主要檢驗裝備模擬訓練軟體中經過單元測試的模組和子系統各部分工作是否實現了相應技術指標、達到了相應的要求。在裝備模擬訓練軟體整合測試部分,既可以彌補單元測試中沒有測試到的Bug,又可以測試單元測試中沒有辦法測試的功能,如裝備模擬訓練軟體中前後臺整合之後的關聯功能。所以整合測試就是測試各個部件之間的配合情況,為系統測試提供基本保證。
裝備模擬訓練軟體的整合測試必須在所有模組、子系統能夠正常運轉的情況下才能進行,一般採用的方法是資料驅動方法中的自底向上整合測試。具體的步驟是先測試組成子系統的模組群,由於最底層的單元模組都已經經過了單元測試,所以各個模組可以向上整合為各個子系統;然後在此基礎上就可以測試各個子系統能否正常工作,以及進行各個子系統之間的測試工作。
3.4 系統測試
裝備模擬訓練軟體的系統測試是在整合測試的基礎上進行的,不僅是單純的測試軟體部分,而是將硬體、網路和外設等其他要素結合進來進行綜合性測試。系統測試主要依據系統總體技術方案和需求說明書進行測試,目的是發現系統與使用者需求不符或矛盾的地方。
系統測試的測試型別一般包括功能測試、效能測試、負載測試、強度測試、容量測試、安全性測試、使用者介面測試、有效性測試、配置測試、故障恢復測試、安裝測試和迴歸測試。而在裝備模擬訓練軟體的系統測試中,功能測試、效能測試、負載測試、安全性測試、有效性測試、配置測試、故障恢復測試是必須進行的,其他專案可以依據具體專案情況選擇性的進行。
3.5 驗收測試
在完成裝備模擬訓練軟體的系統測試之後,進行驗收測試。只有通過了驗收測試,才標誌著專案的結束,軟體產品的完成。一般來說,驗收測試以使用者為主,主要驗證軟體的功能、效能以及其他特性是否與使用者要求相一致。
4 結束語
軟體測試的目的是透過測試來發現缺陷,找出缺陷的分佈特徵和出現的規律,以便在新的開發專案中改進設計結構,避免缺陷的出現,同時也能夠透過設計有針對性的檢測方法,改善軟體測試的有效性。隨著裝備模擬訓練軟體質量要求的提高,軟體測試在軟體開發中的地位越來越重要。裝備模擬訓練軟體測試模型是從傳統的軟體測試模型中提取出來的,適合裝備模擬訓練軟體的測試模型,不僅可以提高測試在軟體生命週期中的作用,還可以完善軟體部分的工作流程。