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