魏冬冬 李芳芳 葉竹 胡逸琳 劉葉盛
(上海航天電子技術研究所,上海 201109)
全數字仿真測試系統在軟件測評[1]工作中被廣泛應用,常見的全數字仿真測試系統包含被測件的仿真運行軟件、數據控制軟件、數據顯示軟件、外設仿真軟件等多個子軟件。全數字測試系統中各個子軟件之間通常以網絡通信、共享內存[2]等方式交互數據,系統結構圖如圖1所示。
全數字測試系統執行測試用例有一些共同特點,如都是在特定的時間與特定的軟件交互數據,這為測試用例自動執行軟件的研制提供了一些技術基礎。為了減少軟件測評人員執行測試用例時的工作量,并能在被測件執行異常時精確回放測試用例執行過程,保證測評人員高效完成測試用例執行,本課題開展了對測試用例自動執行軟件的研制工作。
本課題設計的測試用例自動執行軟件主要用于執行和記錄全數字測試系統各個軟件之間的過程數據。該軟件與測試系統中包含的各個軟件都有數據交互,測評人員可以通過界面編輯統一格式的測試過程數據,其中測試過程數據既包括各軟件間通用接口交互的數據,也包括測評人員通過界面完成的操作數據。
測評人員在使用全數字測試系統執行測試用例時,測試用例自動執行軟件將當前執行過程保存為測試過程數據文件,可以進行精確地完成測試過程回放。

圖1 全數字測試系統結構圖

圖2 自動執行的全數字測試系統結構圖
將全數字測試系統中各軟件之間的通用接口交互數據和用戶操作數據抽象表示為統一格式的測試過程數據[3],對測試執行過程進行定制執行和記錄,是本課題的創新點和難點。設計完成后,全數字測試系統的系統結構如圖2所示。
為方便測試過程數據的傳送和編輯,本課題的測試過程數據格式設計如表1所示。其中數據幀時間記錄了當前測試過程數據的產生時刻,該時間沒有使用真實的物理時鐘,而是全數字測試系統的相對仿真時間。
課題對全數字測試系統各軟件進行修改,當測試系統各軟件產生測試過程數據時,數據源也會發送測試過程數據到測試用例自動執行軟件。測試用例自動執行軟件完成測試過程數據的記錄和保存。
全數字測試系統各測試過程數據主要包括通用接口交互數據和用戶操作數據。
全數字測試系統的通用接口交互數據主要包括數據控制軟件發送的控制數據、數據顯示軟件接收的顯示數據、外設仿真軟件的外設數據信息等。通用接口交互數據幀的數據區格式如表2所示。

表2 通用接口交互數據格式

表3 測試過程操作數據格式

表4 測試用例自動執行軟件單個測試用例應用效果對比
全數字測試系統的用戶操作數據包括測評人員正常使用測試系統的動作,主要有:數據顯示軟件定制數據界面的操作、數據控制軟件加載配置文件的操作等。操作數據幀數據區格式如表3所示。
測評人員在測試用例自動執行軟件將測試過程數據配置完成后,測試用例自動執行軟件按照時間先后順序,將測試過程數據文件分別發送給相應的功能軟件。測試系統各軟件接收測試過程數據,按照協議進行解析,完成測試過程數據中的指定操作。
本課題在Windows 7操作系統上,使用Visual Studio 2010作為開發工具,使用C#語言開發完成測試用例自動執行軟件。軟件完成后,在某軟件配置項測試中應用,實際執行單個測試用例的平均用時對比如表4所示。
使用測試用例自動執行軟件后,測試過程執行只需要用戶配置數據,不必等待測試的中間結果;在測試用例運行結束后觀測測試結果,測試用例自動執行軟件會比較預期輸出與實際輸出得到測試結果,測評人員不必手動驗證測試結果。測試用例自動執行軟件將測試人員從測試用例執行過程中解放了出來,測評人員工作時間節省了40%。
測試用例自動執行軟件將原本需要測評人員進行的操作,抽象為通用的測試過程數據格式,并以軟件方式實現了測試用例的自動執行和測試過程回放。測評人員在測試用例執行過程中只需要配置測試過程數據,無需全程參與到測試用例的執行過程。測試用例自動執行軟件的研制大大節約了測評人員的工作時間,對測試效率的提升具有重要意義。
[1]楊海成,喬永強,許勝,石柱.航天型號軟件工程[M].北京:中國宇航出版社,2009.
[2]Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest,Clifford Stein著.潘金貴,顧鐵成,李成法等譯.算法導論[M].北京:機械工業出版社,2011.
[3]吳永輝,王建德.數據結構編程實驗[M].北京:機械工業出版社,2012.