?

Ada語言軟件測試方法探討

2015-03-07 08:17
科技傳播 2015年10期
關鍵詞:測試環境測試方法

張 馳

1.上海航天控制工程研究所,上?!?00233 2.同濟大學軟件學院,上?!?01804

Ada語言軟件測試方法探討

張馳1,2

1.上海航天控制工程研究所,上海200233 2.同濟大學軟件學院,上海201804

摘要軟件測試是保證軟件質量的重要手段。本文結合某衛星型號嵌入式星載軟件的工程實施介紹Ada語言軟件測試的工具和方法。

關鍵詞軟件質量;測試方法;測試環境

0 引言

進入21世紀,計算機技術發展日新月異,作為計算機技術的重要組成部分,軟件的質量成為控制產品質量的關鍵所在。特別是一些航空航天領域的應用,軟件設計的可靠性和安全性更為突出[1]。如何保障軟件質量?測試環境則顯得尤為關鍵。軟件測試可以驗證其能否符合特定的需求以及預期設計目的,是通過軟件測試工程師或者專業的軟件測試工具測試特定軟件運行的系統工程。

單元測試是軟件開發設計周期中級別最低的測試活動。所謂單元測試,即將軟件分離成獨立的單元模塊,再與其他模塊進行測試。所以單元測試應該具備復制性,無論在程序修改過程中還是在環境復制過程中。因此,所有版本的單元測試都應該是在軟件的開發生命周期中進行的。本文筆者主要論述了軟件測試的流程以及測試工具。

1 Ada語言簡述

Ada是普通程序經常使用的設計語言,當年美國國防部花費巨資,耗時二十余年,歷經萬難而研發出來。該語言大受贊譽,一經推出,即成為第四代計算機語言的成功代表,是迄今為止,最具復雜性和完備性的程序開發語言。相比其它程序設計語言,Ada既體現眾多軟件技術開發的基本原理,也成功將這些理論基礎付諸實踐。運用Ada語言可顯著提高軟件系統的有效性,可靠性,可維護性甚至改善軟件系統的清晰性。目前,美國國防部唯一指定的可用于軍用系統開發的語言就是Ada語言。同時,該語言也是我國軍方內部開發的標準語言。

2 某衛星型號測試工作簡介

2.1 靜態分析

工作內容:方案設計師與軟件設計師走讀代碼。

常見問題:

1)邏輯判斷語句else涵蓋范圍:除if和else if語句特殊處理的情況,其他情況均按else分支進行處理,需確定是否有漏考慮特殊情況,或可并入else分支統一進行處理。

2)邊界條件的判斷:>和>=,<和<=是否有用錯;

3)循環變量的累加是否越界。

4)分母為變量時分析其初始值及物理意義。

2.2 單元/組裝測試

某衛星型號的單元測試和組裝測試均使用LDRA公司的Testbed軟件,故合并來講。

軟件測試環境:某衛星型號 GNC軟件單元測試環境由開發上位機完成,其中開發上位機安裝開發環境(ADAERC-32編譯器)、部件測試分析工具(Testbed TBrun)。

軟件測試的硬件和固件項:一臺上位機(內存為2G,有串口),上位機的配置見表1。

表1 測試環境的軟件項

系統配置:因為測試工具Testbed為windows版本,而編譯器為Linux版本,所以在系統中配置了Samba服務用以實現Windows系統和虛擬機的Linux系統之間的同網段文件夾共享功能。

(注:Samba是一個工具套件,在Unix上實現SMB (server messag block)協議,或者稱之為NETBIOS/ LanManager協議。SMB協議通常是被windows系列用來實現磁盤和打印機共享。)

測試前準備工作:

1)將被測代碼及所有被調用文件拷入samba服務配置好的共享文件夾,并拷入Testbed的驅動程序ldra_testbed_run.bat。

2)新建一個格式為[測試項目名].lib的文件,用來儲存測試程序的調用關系、數據流等信息。

3)新建一個集合(creat new set),該集合包含程序的所有頭文件(.ads),并進行靜態分析;如.ads文件比較少也可以逐個分析,靜態分析時需選定之前新建的.lib文件作信息記錄。

4)選定測試模塊(.adb)并開始測試。

測試內容:分支/語句100%覆蓋測試。

發現問題:如有不可達分支/語句,則可根據具體情況判斷。通常來說出現不可達分支是因為接口參數不充分和程序邏輯問題。

2.3 確認測試

測試環境:如圖1,某型號的確認測試在實時仿

真實驗室進行。GNC計算機為低等級產品,單機使用Matlab搭建的動力學模型進行仿真,數管軟件和AD信號等均為模擬信號。

確認測試工具:工具為上海創景公司自主研發的RTInsightPro。該套工具包括RTInsightPro主機一臺及配套上位機軟件,主機與上位機通過網線連接,通訊與設置遵循TCP/IP協議。RTInsightPro的工作原理為在目標代碼內插樁,然后通過監測CPU對于插樁點目標地址的讀寫操作來抓取數據包,最后將數據包通過網線傳入上位機軟件里,實現監控源代碼覆蓋率的功能。因為涉及CPU信號的讀取,測試前創景公司需與單機設計師討論并設計符合CPU預留接口的電路板。工具系統架構見圖2。

測試內容:分支/語句100%覆蓋率測試。

3 結論

通過對軟件進行單元測試,確保了軟件在編碼上的邏輯正確性、驗證了軟件功能與文檔設計的一致性。降低了軟件開發風險以及開發成本。更是對航天飛行器軟件的高可靠性、安全性提供了保障。

參考文獻

[1]易海勝.單元測試用例設計方法初探[J].武漢科技學院學報,2006,19(5).

[2]張巍,尹海波,孫立財.軟件的單元測試方法[J].光電技術應用,2006,21(2).

[3]中國航天科技集團公司軟件專家組.航天軟件工程實施技術指南及范例(修訂版).

中圖分類號TP3

文獻標識碼A

文章編號1674-6708(2015)139-0137-01

猜你喜歡
測試環境測試方法
基于泊松對相關的偽隨機數發生器的統計測試方法
發動機試驗室運行及安全要求
基于云計算的軟件自動化測試方法
DLD-100C型雷達測試方法和應用
S700K轉轍機保持力測試方法探討
對改良的三種最小抑菌濃度測試方法的探討
負離子紡織品檢測方法分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合