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