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