張 鵬 電子科學(xué)研究院
?
基于消息轉(zhuǎn)發(fā)軟件的自動(dòng)化測(cè)試研究
張 鵬 電子科學(xué)研究院
【文章摘要】
【關(guān)鍵詞】
軟件自動(dòng)化測(cè)試;測(cè)試用例生成;測(cè)試用例設(shè)計(jì);測(cè)試策略
消息轉(zhuǎn)發(fā)軟件的測(cè)試內(nèi)容大部分具有重復(fù)性的特點(diǎn),如果單純靠人工測(cè)試,不僅耗費(fèi)較多的人力和財(cái)力去設(shè)計(jì)和執(zhí)行測(cè)試用例,而且不能保證消息接口各個(gè)字段值內(nèi)容的正確性。實(shí)現(xiàn)消息轉(zhuǎn)發(fā)軟件的自動(dòng)化測(cè)試能夠極大的減少測(cè)試的隨機(jī)性和盲目性,減弱人為因素對(duì)測(cè)試過(guò)程的影響,極大的較少重復(fù)性的工作量,降低測(cè)試過(guò)程中出錯(cuò)的頻率,因此消息轉(zhuǎn)發(fā)軟件的自動(dòng)化測(cè)試體現(xiàn)了它的有效性和實(shí)用性。
消息轉(zhuǎn)發(fā)軟件自動(dòng)化測(cè)試是整個(gè)軍用系統(tǒng)自動(dòng)化測(cè)試的一個(gè)縮影,作為一個(gè)軍用軟件系統(tǒng)的一個(gè)消息轉(zhuǎn)發(fā)軟件,對(duì)消息轉(zhuǎn)發(fā)軟件的正確性及測(cè)試充分性提出了很高的要求。眾所周之,軍事電子信息系統(tǒng)具有體系復(fù)雜、處理數(shù)據(jù)量大、人機(jī)交互頻繁、評(píng)估結(jié)果直觀等特點(diǎn)。所以為了滿足要求,必須對(duì)消息轉(zhuǎn)發(fā)軟件進(jìn)行詳細(xì)而全面的測(cè)試。
消息轉(zhuǎn)發(fā)自動(dòng)化測(cè)試主要為了實(shí)現(xiàn)以下幾方面的優(yōu)點(diǎn):提高消息轉(zhuǎn)發(fā)軟件測(cè)試工作率;較少消息轉(zhuǎn)發(fā)軟件測(cè)試的研發(fā)成本;完成消息轉(zhuǎn)發(fā)軟件手工測(cè)試難以完成的測(cè)試;消息轉(zhuǎn)發(fā)軟件的質(zhì)量可信度極大增強(qiáng);軟件自動(dòng)化測(cè)試可以多次進(jìn)行重復(fù)性的測(cè)試?;谙⑥D(zhuǎn)發(fā)軟件的自動(dòng)化測(cè)試及測(cè)試用例生成系統(tǒng)能夠很好的實(shí)現(xiàn)上述的幾個(gè)方面優(yōu)點(diǎn)。
消息轉(zhuǎn)發(fā)軟件實(shí)現(xiàn)的主要實(shí)現(xiàn)以下功能。
(a)頭文件轉(zhuǎn)換XML文件
頭文件轉(zhuǎn)化XML的過(guò)程分為單個(gè)文件轉(zhuǎn)XML文件及多個(gè)頭文件批量轉(zhuǎn)換XML文件。能夠?qū)Y(jié)構(gòu)體或聯(lián)合體的頭文件按照ENUM值進(jìn)行拆分轉(zhuǎn)換為XML文件。
(b)解析XML文件以及輸入消息參數(shù)
自動(dòng)化測(cè)試軟件可以解析XML文件,并且將解析結(jié)果存入MySql數(shù)據(jù)庫(kù),測(cè)試人員在界面輸入各個(gè)字段的合法值范圍,軟件自動(dòng)根據(jù)設(shè)置的參數(shù)值范圍及字段類型進(jìn)行測(cè)試用例的腳本生成。關(guān)聯(lián)應(yīng)答消息,輸入應(yīng)答消息字段的合格判據(jù)。
(c)解析比對(duì)消息內(nèi)容
自動(dòng)化測(cè)試軟件向消息轉(zhuǎn)發(fā)軟件發(fā)送激勵(lì)消息,同時(shí)自動(dòng)化測(cè)試軟件記錄應(yīng)答時(shí)間,隨時(shí)捕獲收到的消息轉(zhuǎn)發(fā)軟件的應(yīng)答消息,并對(duì)捕獲到的應(yīng)答消息進(jìn)行解析,比對(duì)應(yīng)答消息和發(fā)送消息的各個(gè)字段的參數(shù)值是否滿足合格判據(jù)。
(d)自動(dòng)化生成測(cè)試用例
根據(jù)測(cè)試人員設(shè)計(jì)的測(cè)試腳本,按照測(cè)試人員制定的測(cè)試策略,自動(dòng)生成測(cè)試用例。同時(shí),軟件跟蹤記錄實(shí)際測(cè)試結(jié)果,隨時(shí)寫入數(shù)據(jù)庫(kù)中,按照測(cè)試人員實(shí)際需求,可隨時(shí)導(dǎo)出軟件測(cè)試用例記錄及自動(dòng)生成每一輪次的軟件問(wèn)題報(bào)告單。
自動(dòng)化測(cè)試軟件通過(guò)中間件軟件與消息轉(zhuǎn)發(fā)軟件進(jìn)行消息的交互,主要調(diào)用中間件的send()函數(shù)和get()函數(shù),交互的消息主要包括發(fā)送消息和捕獲消息兩類。自動(dòng)化測(cè)試軟件搭建MySql數(shù)據(jù)庫(kù),用于存儲(chǔ)解析頭文件產(chǎn)生的XML內(nèi)容。每一個(gè)數(shù)據(jù)表中將消息ΙD號(hào)作為外鍵。數(shù)據(jù)庫(kù)按照頭文件字段屬性進(jìn)行內(nèi)容的存儲(chǔ),一個(gè)XML文件生成一個(gè)數(shù)據(jù)表。軟件能夠?qū)崿F(xiàn)自動(dòng)填充消息字段值的功能,測(cè)試執(zhí)行者設(shè)計(jì)的測(cè)試策略為:按照邊界值法進(jìn)行測(cè)試用例的設(shè)計(jì),同時(shí)測(cè)試人員可以通過(guò)鼠標(biāo)選擇測(cè)試用例腳本的執(zhí)行場(chǎng)景,軟件根據(jù)場(chǎng)景的內(nèi)容進(jìn)行測(cè)試用例的執(zhí)行。自動(dòng)化軟件將場(chǎng)景中的測(cè)試腳本自動(dòng)生成測(cè)試用例,可支持生成Word版本和Excel版本。同時(shí)Word版和Excel版的測(cè)試用例能夠被導(dǎo)入到自動(dòng)化軟件中,自動(dòng)生成測(cè)試腳本。自動(dòng)化測(cè)試軟件可進(jìn)行測(cè)試記錄的增加、刪除、修改和查看操作。測(cè)試人員按照用戶需求和接口需求等需求文檔,逐一輸入各個(gè)發(fā)送消息字段值的范圍,同時(shí),設(shè)置被測(cè)軟件應(yīng)答該消息的間隔時(shí)間,激勵(lì)消息發(fā)出后,軟件設(shè)置一個(gè)時(shí)間戳,當(dāng)接到應(yīng)答消息后,獲取間隔時(shí)間參數(shù),獲取的間隔時(shí)間與需求文檔提出的間隔時(shí)間參數(shù)做比較。
收到的應(yīng)答消息后,首先確認(rèn)消息ΙD,按照消息ΙD尋找數(shù)據(jù)表,按照數(shù)據(jù)表各列的字段大小進(jìn)行內(nèi)容解析,解析完成后,將解析結(jié)果與判斷準(zhǔn)則比對(duì),與判斷準(zhǔn)則不一致的地方做不一致記錄,并隨時(shí)寫入數(shù)據(jù)表中,然后進(jìn)行下一個(gè)測(cè)試用例腳本的執(zhí)行,重復(fù)上述執(zhí)行步驟。執(zhí)行完成后可自行導(dǎo)出測(cè)試用例記錄,生成軟件問(wèn)題報(bào)告單。自動(dòng)化測(cè)試軟件提供測(cè)試用例記錄、軟件問(wèn)題報(bào)告單模板的定制功能,測(cè)試人員也可以將模板導(dǎo)入到自動(dòng)化測(cè)試工具中。
自動(dòng)化測(cè)試軟件可以實(shí)現(xiàn)測(cè)試人員的管理功能,測(cè)試人員選取自己的賬戶去登錄,選擇測(cè)試場(chǎng)景,將需要執(zhí)行的測(cè)試腳本拖拽到場(chǎng)景中,執(zhí)行過(guò)程中,軟件根據(jù)場(chǎng)景的要求進(jìn)行測(cè)試腳本的執(zhí)行。
本自動(dòng)化測(cè)試軟件基于B/S模式實(shí)現(xiàn)的,能夠兼容ΙE6.0及以上版本,F(xiàn)ireFox 3.0及以上版本。將自動(dòng)化測(cè)試軟件布置在測(cè)試服務(wù)器上,測(cè)試人員可以在任意一臺(tái)計(jì)算機(jī)上訪問(wèn)測(cè)試服務(wù),只需配置被測(cè)軟件的ΙPV4地址和端口號(hào),便可進(jìn)行網(wǎng)路層的連接。
測(cè)試人員在編寫腳本過(guò)程中,一定要編歷到消息的每一個(gè)字段值,在保存字段值的時(shí)候,自動(dòng)化測(cè)試軟件會(huì)自動(dòng)判斷每一個(gè)字段值范圍有無(wú)輸入正確,若測(cè)試人員輸入不正確或未輸入,軟件自動(dòng)給出錯(cuò)誤提示,測(cè)試人員根據(jù)錯(cuò)誤提示進(jìn)行字段值范圍的輸入,重復(fù)上述步驟,直至消息的各個(gè)字段值輸入正確。
利用自動(dòng)化測(cè)試軟件能夠很快的完成測(cè)試執(zhí)行工作,保證了測(cè)試節(jié)點(diǎn),提高了測(cè)試的效率。本款自動(dòng)化測(cè)試軟件的優(yōu)點(diǎn)是:當(dāng)某些字段值未輸入范圍時(shí),可以根據(jù)消息字段的類型自動(dòng)輸入一個(gè)正常值和一個(gè)越界值,同時(shí)提示測(cè)試人員字段范圍異常。經(jīng)過(guò)長(zhǎng)時(shí)間的對(duì)消息轉(zhuǎn)發(fā)軟件的測(cè)試,發(fā)現(xiàn)自動(dòng)化測(cè)試只能減輕人工測(cè)試的負(fù)擔(dān),但并不能完全的替代人工測(cè)試,本軟件暫不能解決激勵(lì)消息發(fā)送后無(wú)應(yīng)答和激勵(lì)消息發(fā)送后多條應(yīng)答的情況,需要測(cè)試人員自己去分析判斷。
【參考文獻(xiàn)】
[1] 王鵬.軍用電子信息系統(tǒng)測(cè)試評(píng)估工具的研究和實(shí)踐.中國(guó)電子科學(xué)研究院學(xué)報(bào),2007,2(1):73-79.
[2] 季淑引.軟件自動(dòng)化測(cè)試工具的應(yīng)用研究[J] 科技向?qū)?2012.20: 59.
消息轉(zhuǎn)發(fā)軟件是整個(gè)系統(tǒng)軟件中的一個(gè)配置項(xiàng)軟件,其涉及到的消息交互很多,而且消息中包含的字段值比較復(fù)雜,人工測(cè)試很難對(duì)消息中各個(gè)字段值的正確性與否進(jìn)行全面準(zhǔn)確的測(cè)試,以及人工設(shè)計(jì)測(cè)試用例的工作量也非常大,研發(fā)一款基于消息轉(zhuǎn)發(fā)軟件自動(dòng)化測(cè)試及生成工具顯得很有必要。