完整的軟件測試是評定軟件性能和質量的重要手段,該測試可以用來檢查軟件是否滿足設計和項目合同書所規定的技術要求,檢驗軟件對誤操作的處理能力,並為軟件可靠性與安全性的評估提供依據。
軟件測試有許多不同的分類方法,如按測試用例設計方法可分為白盒測試和黑盒測試;按測試策略和過程可分為單元測試、集成測試、確認測試和系統測試;從是否需要執行被測軟件的角度,可分為靜態測試和動態測試。上述各種方法都已被證明是行之有效的,在測試中應根據測試目的適當選擇。
通信軟件測試和壹般的軟件測試適用於同樣的測試方法、流程和工具,但又具有壹定的差異性,特別是針對諸如手機終端軟件的測試。對於手機軟件這樣壹個人機交互頻繁、人性化要求高的應用系統的測試,電信運營商需要從兩個角度考慮:壹方面從開發人員的角度思考,要求測試系統提供足夠證據來證明軟件系統的功能是可行的;另壹方面則應該從使用手機終端的用戶角度出發,要求測試系統提供手機軟件系統的缺陷和不足信息。
二、手機終端軟件測試難點及可行的解決方案
恰當地評測手機軟件產品並非易事,壹方面,手機終端的軟件和其硬件直接相關,而硬件開放的接口可能是受限的;另外,各個終端的軟件千差萬別,難以直接套用通用的測評工具。
對於手機終端軟件的評測很困難並不意味著手機終端軟件是不可測的,手機軟件包括了Protocol、MMI(人機接口)兩個主要部分以及應用軟件/應用系統。Protocol部分是通過了FTA(全面型號認證)才能使用的(針對GSM手機而言),其無線資源管理、移動性位置管理和通訊管理軟件部分必須滿足制式對應的標準,可以使用自動測試系統來對協議進行跟蹤和測試。應用軟件/系統則基本適用於壹般的軟件測試流程和工具。
如何測試MMI部分是測試的難點,鑒於Protocol、MMI這兩部分相互影響不能截然分開,MMI軟件的問題也會影響Protocol部分。目前大多數公司沒有自動化的測試軟件,只能通過模擬用戶的辦法來操作手機,在出現問題的時候進行跟蹤。而部分生產商其軟件底層有測試代碼支持,可以實現自動化測試,實現方法是開發測試代碼並加入到手機原代碼中去,但這對於電信運營商來說並不現實。
對於上述問題,目前可行的解決方案之壹是軟件模擬,即通過軟件模擬器來實施軟件測試,在模擬器平臺上可以對手機軟件完成覆蓋率測試、內存測試、性能測試和壹致性測試。對MMI而言,將手機應用程序移植到模擬器平臺上運行,可以模擬顯示MMI菜單樹,也可通過模擬網絡消息來模擬短信和打電話等功能,並可對部分代碼進行單元測試和集成測試。需要說明的是,利用模擬器對手機軟件進行測試不能作為唯壹測試途徑,但往往可以通過與目標系統相同版本進行交叉測試或測試對比。
解決方案二是開發測試系統,提供ProtocolStack和MMI的跟蹤分析以及模擬用戶硬件功能。系統可通過線程調用來進行控制,包括用戶界面線程、腳本解析線程、串口控制線程和設備線程。用戶界面線程提供測試的人機界面;腳本解析線程響應用戶界面線程發送的控件消息,負責解析腳本文件並執行解析後腳本;串口控制線程控制測試系統和被測系統之間的數據傳輸;設備線程實現根據測試要求自動設定設備參數的功能。
盡管測試系統的開發可以采用模塊化的方式,但仍存在開發難度較大、測試對象屬性差異較大的問題,更加簡單的方法是基於現有的測試平臺/系統進行開發,如基於Ageresystem的Optitrace套件的開發等。
三、3G環境中手機終端軟件的測試
鑒於3G技術更加復雜,且終端定制將成為主流,3G手機軟件的測試工作值得深入研究。3G業務在國外已經開展了壹段時間,在手機測試方面也已經有壹定的積累,目前已經有相應的測試工具被開發出來,業界正在對業務測試平臺進行論證。
從目前的情況看,在3G環境中開展手機軟件的測試過程中,壹致性測試成為新的難點。壹致性測試是用來確認設備是否符合對其功能要求方面的規範或協議的測試過程,壹致性測試標準包括3部分:抽象測試集(ATS)、協議實現壹致性說明(PICS)和協議實施附加信息(PIXIT)。可執行測試集(ETS)在以上3部分的基礎上生成。
協議壹致性測試和射頻壹致性測試是其中最復雜也最重要的部分,協議壹致性測試屬於軟件測試的範疇,在壹定的網絡環境下,對被測協議實現(IUT)進行黑盒測試,通過比較IUT的實際輸出與預期輸出的異同,判定IUT在多大程度上與協議描述相壹致,從而確立通過壹致性測試的IUT在互聯時成功率的高低。實際上,2G系統同樣需要進行壹致性測試,3G系統因相對於2G系統更加復雜,而使得壹致性測試顯得更加重要。
協議壹致性測試可測試手機和網絡之間的信令協議是否符合TS34.123規範,3GPPTS34.123定義了約700個TTCN測試用例,對RLC層、MAC層和RRC層分別進行測試。全球認證論壇GCF也制定了測試用例/策劃平臺認證的流程以及終端產品認證註冊的流程,按照優先級將測試用例劃分為7個Batch,從高到低進行認證。
從目前的情況來看,能提供協議壹致性測試設備的廠商並不多,但這是軟件測試的壹個不可或缺的環節。在多個廠家進行設備互聯時,通過壹致性測試會提高人們對設備符合相應協議標準的置信程度,提高相同標準不同實現之間互聯的概率,這對於我國自主知識產權的TD-SCDMA設備來說具有現實意義。
對於3G手機而言,除上面提到的協議壹致性測試之外,MMI以及應用軟件/應用系統的測試仍將是測試中的主要工作,而且隨著手機智能化程度的不斷上升,這部分的測試工作會給電信運營商帶來更大的挑戰。