摘 要 近年來隨著信息化技術的不斷發展,通信軟件測試技術受到了越來越廣泛的關注。通信軟件測試技術是軟件開發的基礎,保障了軟件的使用周期和計算機硬件系統穩定運行周期。本文依據通信軟件的特點,將通信軟件自動化系統模塊化,對自動化測試與實現進行分析研究,期望為相關領域研究提供參考。
【關鍵詞】通信軟件 模塊化 自動化測試
通信軟件項目正式應用前需要經過相應的評審,測試人員一般會通過實際試用測試來展示軟件測試的效果,傳統的測試方式往往通過人力測試的辦法,該方式費時費力,而且難以保證測試的準確性。自動化測試技術是利用機器來檢測軟件性能的一種技術,該技術可以替代傳統的人力測試方式,大大提高軟件測試的效率和準確性。
1 通信軟件自動化測試的特征
1.1 主要優點
軟件的回歸測試是一種具有較高重復測試行為系數的測試方法。而自動化測試則是結合回歸測試通過執行回歸模式對軟件進行高效測試,效果明顯。因此,自動化測試在應對測試量較大的情況時,能夠充分體現其高效性,大幅降低了測試工作的成本。另外,對于一些測試難度大、測試條件難以通過人工方式實現的測試工作也均可通過自動化測試完成。
自動化測試只需要通過腳本編寫就可以實現,它只需要小范圍改動不同版本軟件的程序腳本便可實現多數用例的自動化測試,有效降低了一些測試的工作量,提高了測試效率。
1.2 主要缺點
(1)自動化測試并不適用于所有軟件測試工作,該方式只有在測試工作量大、難度高的條件下才能體現其優勢。有些測試工作通過人工來完成可能效果會優于自動化測試。
(2)自動化測試的測試效果比較精準,對被測軟件的要求相對人工測試更加嚴格,即便是版本的正常改變也可能造成測試腳本崩潰。因此,在開發軟件時必須做好充分的維護工作,以防止此類情況發生,但這也就增加了測試的成本。
從整體而言,通信軟件的自動化測試方法相對于傳統人工測試方法來說確實具有一定的優勢,但也不能完全取代傳統人工測試。因此,將兩者合理有效的結合在一起應對不同的情況,實現優勢互補,從而達到更好的測試效果。
2 通信軟件自動化系統功能模塊構成
2.1 設備連接
為了完成合理的配置設計,需要參照設備的必要信息和一些文件的環境變量,因此,依據相關參數的設置,測試軟件要配置相應的服務器鏈接。
2.2 公共包封裝
一般的,利用拓展包完成一些程序的功能拓展。腳本是開源社區,功能多樣,可用于幫助拓展包功能拓展,解決很多功能的拓展問題。
2.3 收發包
軟件測試人員通常通過對協議狀態的驗證以檢查協議狀態機轉化的一致性,依靠信息資源來驅動協議狀態的轉換,通過報文類型編寫提升測試質量和效率,因此,信息資源的內容和報文類型至關重要。
2.4 日志信息處理
在軟件測試工作中,通常要設定幾組狀態檢測次數以應對測試程序和場景可能產生的復雜問題。日志信息處理模塊則就是將信息進行詳細記錄、反饋和處理等響應狀態檢測,幫助測試人員對軟件故障進行定位。
2.5 測試腳本
腳本測試作為通信軟件測試過程中的重點,其功能實現與設計配套非常重要。因為測試過程中出現異常,不能及時的終止,很有可能對整個測試環境造成不良影響。另外,測試人員為了避免此類問題發生,通常需要增加測試的工作量,但這樣會降低測試效率。因此,在進行腳本測試時應當事先分析測試環境狀態、檢查腳本自身的不足等,提前做好處理。
3 通信軟件自動化測試系統
3.1 測試設計功能實現
軟件自動化測試工作應滿足系統設計目標的普遍應用性、支持擴展和操作便利等要求。
3.1.1 普遍應用性
系統設計采用Tcl數據庫適合腳本測試工作,因而通過常用的Tcl類數據庫進行分析,在執行測試工作時能夠配備好基本的操作環境。由于該測試程序可以不依賴系統單獨進行工作,所以如果系統中產生了新的被測試對象,測試人員可以通過接入新的測試端口進行針對性測試。另外,測試時也可能會出現差異化不同的系統,此事數據化不能對特定程序展開識別,也應當重新設計測試系統,然后再展開對象測試。
3.1.2 易擴展性
考慮到Tcl類數據庫的良好的擴展性能,因而在確保接口不影響測試程序的前提下,建議在測試系統設計時根據需要應當多增設一些接口。如此,便可以參照不同的程序來選擇不同的腳本完善接口的設計,實現自動化腳本測試。
3.1.3 操作便利
在設計測試系統時,為了方便操作,應當設計一套易操作管理的模板和管理系統,以便于后續的大部分測試工作人員可以針對該模板和Tcl類數據庫繼續完成相應的腳本測試。當然,系統設計人員也可利用自身權限進入該管理系統開展相應的測試工作。
3.2 測試系統的實現
該系統主要通過Agent端、系統類庫、系統控制模塊、測試資源、測試腳本等方面構成,如圖1所示。
3.2.1 Agent端
Agent端作為客戶服務端的節點,包含了Tcl中的一些重要的解釋程序。因此,當客戶端將需求命令轉送至Tcl時,執行命令就能迅速被Agent端解析并輸出結果。
3.2.2 系統類庫
系統類庫擁有多種設計測試的接口,具有較高擴展性,應當靈活應用于軟件的測試設計和功能的實現。在系統設計過程中,建議將Tcl中的某些對象功能和系統類庫功能對接,以增強系統類庫的擴展性和復用性。另外,將類庫的文件放置在NFS中,可以實現服務端與Agent端的共享。
3.2.3 系統控制模塊
系統控制模塊參照數據與關鍵詞相結合驅動的方法進行自動化測試。利用Tcl創建線程組,借用測試腳本對其展開進行控制。另外,線程組也可在Agent端利用映射鏈接實現通信。測試人員發出Tcl執行指令,Agent端接收指令,從而使測試結果在服務器端口的協調下儲存到數據庫中。
3.2.4 測試腳本管理
測試腳本的管理決定了系統測試的效率。在編寫腳本時,測試系統應當根據一些腳本功能展開設定并且根據某些測試需要完善拓展腳本功能。當然,即便一個測試過程結束,也應當對測試需求重新考慮,不斷對腳本進行優化。
3.2.5 日志報表
日志報表的主要功能是對測試結果的反饋進行分析,測試人員借此為依據提高判斷的準確性,完成相應的測試工作。
4 結束語
通信軟件自動化測試具有可操作性強、易擴展等特點。通信軟件的自動化測試在優化類似于Tcl腳本語言時,不僅應可以從開發設計方法上強化對其研究,而且還要有利于對指令的管理,這樣才能有助于解決在測試中二層API的腳本語言功能實現等情況。當然,軟件測試工作人員在開展測試工作時既要重視功能特性的測試,也要保障功能特性測試的穩定,這樣才可以根據不同的需要在腳本編寫的過程中加入所需要的內容,從而持續優化通信軟件測試的功能。
參考文獻
[1]馮偉,李波,何倩.軟件測試自動化應用分析[J].制造業自動化,2011,33(02):42-44.
[2]易小蕓.Tcl Access Excel實現方法及在軟件自動化測試中的應用[J].電腦知識與技術:學術交流,2007,2(08):181+226.
[3]陳琪.自動化測試平臺的設計與實現[D].西安:西安電子科技大學,2014.
[4]梁月圓.軟件自動化測試方法研究及系統開發[D].西安:長安大學,2013.
作者簡介
劉素京(1984-),女,研究生學歷。工程師,目前主要從事軟件和計算機方面的工作。
作者單位
中興通訊股份有限公司 江蘇省南京市 210000