李鑫
摘 要在當(dāng)前社會(huì)中,隨著計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來(lái)越多的軟件開(kāi)始應(yīng)用在各行各業(yè)當(dāng)中,發(fā)揮出了十分良好的效果。為了確保軟件功能和性能的良好,應(yīng)當(dāng)進(jìn)行有效的自動(dòng)化軟件測(cè)試。而對(duì)于很多軟件來(lái)說(shuō),在測(cè)試當(dāng)中通常較為復(fù)雜?;诖?,可利用基于腳本的自動(dòng)化軟件測(cè)試技術(shù),在軟件動(dòng)態(tài)測(cè)試過(guò)程中,使用腳本技術(shù)進(jìn)行自動(dòng)化測(cè)試,優(yōu)化手工測(cè)試過(guò)程,提高測(cè)試效率和測(cè)試有效性。
【關(guān)鍵詞】腳本技術(shù) 自動(dòng)化 軟件測(cè)試方法
為了確保軟件具有良好的質(zhì)量和性能,應(yīng)當(dāng)進(jìn)行有效的軟件測(cè)試工作。在過(guò)去的軟件測(cè)試中,通常都是手工的方法,測(cè)試效率和測(cè)試效果十分有限,并且會(huì)增加測(cè)試周期和測(cè)試成本,特別是對(duì)于一些特殊軟件的測(cè)試來(lái)說(shuō),通常要面臨著更大的難題。而通過(guò)對(duì)腳本技術(shù)的引入,可以更好的實(shí)現(xiàn)進(jìn)行自動(dòng)化軟件測(cè)試工作,對(duì)于軟件測(cè)試的可維護(hù)性等都有著較大的幫助,同時(shí)也能夠提升測(cè)試效率和測(cè)試效果,降低測(cè)試成本。
1 基于腳本的自動(dòng)化軟件測(cè)試平臺(tái)
在自動(dòng)化軟件測(cè)試平臺(tái)中,主要包括了接口映射表、支持函數(shù)庫(kù)、腳本驅(qū)動(dòng)器、數(shù)據(jù)驅(qū)動(dòng)器等部分,綜合這些部分形成了組合型的測(cè)試框架,用來(lái)對(duì)軟件進(jìn)行測(cè)試。在測(cè)試過(guò)程中,下層腳本由高層腳本調(diào)用執(zhí)行,底層運(yùn)行腳本的通信和驅(qū)動(dòng)過(guò)程中,待測(cè)系統(tǒng)接口是由查詢(xún)接口映射表調(diào)用的。在數(shù)據(jù)文件中,測(cè)試腳本在測(cè)試當(dāng)中對(duì)相應(yīng)數(shù)據(jù)進(jìn)行調(diào)用。其中,高層腳本由腳本驅(qū)動(dòng)器調(diào)用,從而使高層腳本能夠?qū)ο聦幽_本進(jìn)行調(diào)用,其中,待測(cè)試系統(tǒng)的具體測(cè)試步驟,就包含在底層腳本當(dāng)中。在接口映射表當(dāng)中,對(duì)關(guān)鍵字驅(qū)動(dòng)測(cè)試框架中的組件映射表的經(jīng)驗(yàn)進(jìn)行了利用。結(jié)合待測(cè)試系統(tǒng)的具體要求,測(cè)試人員對(duì)接口的參數(shù)、名稱(chēng)等進(jìn)行設(shè)計(jì),以便對(duì)待測(cè)試系統(tǒng)進(jìn)行抽象化的處理。
在測(cè)試腳本的運(yùn)行過(guò)程中,通過(guò)映射表對(duì)接口的參數(shù)和名稱(chēng)進(jìn)行匹配,如果改變系統(tǒng)接口,只需對(duì)映射表進(jìn)行調(diào)整,就能夠在待測(cè)試系統(tǒng)、測(cè)試系統(tǒng)之間,形成良好的松耦合。在數(shù)據(jù)文件、測(cè)試腳本之間,連接器主要是由數(shù)據(jù)驅(qū)動(dòng)器實(shí)現(xiàn)的,一般是由XML文件、文本文件等完成的。在進(jìn)行測(cè)試的時(shí)候,如果有數(shù)據(jù)的需求,數(shù)據(jù)會(huì)由數(shù)據(jù)驅(qū)動(dòng)器進(jìn)行賭氣。在測(cè)試數(shù)據(jù)和腳本之間,由數(shù)據(jù)驅(qū)動(dòng)器進(jìn)行分離,如果改變了測(cè)試數(shù)據(jù),則只需對(duì)數(shù)據(jù)驅(qū)動(dòng)器進(jìn)行修改即可,無(wú)需改動(dòng)腳本。在支持函數(shù)庫(kù)當(dāng)中,主要包含了字符串處理、文字操作、數(shù)據(jù)緩存等所需應(yīng)用的通用處理函數(shù),從而對(duì)整個(gè)自動(dòng)化軟件測(cè)試過(guò)程提供支持。
2 基于腳本的自動(dòng)化軟件測(cè)試技術(shù)
2.1 自動(dòng)化軟件測(cè)試腳本語(yǔ)言設(shè)計(jì)
在基于腳本的自動(dòng)化軟件測(cè)試技術(shù)當(dāng)中,測(cè)試腳本語(yǔ)言具有十分重要的作用,因此,結(jié)合基于腳本的自動(dòng)化軟件測(cè)試技術(shù)的實(shí)現(xiàn)機(jī)制、以及軟件測(cè)試的特點(diǎn),對(duì)腳本語(yǔ)言進(jìn)行結(jié)構(gòu)化方式的擴(kuò)展,也就是在描述軟件測(cè)試特征的過(guò)程中,對(duì)結(jié)構(gòu)化語(yǔ)言的語(yǔ)法、詞法等進(jìn)行應(yīng)用。C語(yǔ)言是較為常用的結(jié)構(gòu)化語(yǔ)言,在實(shí)際應(yīng)用中,相應(yīng)的簡(jiǎn)化C語(yǔ)言,對(duì)軟件測(cè)試結(jié)構(gòu)化特征能夠應(yīng)用到的一些必不可少的內(nèi)容進(jìn)行保留,而將一些沒(méi)有必要的測(cè)試特征加以省略。基于通用結(jié)構(gòu)化語(yǔ)言,在擴(kuò)展當(dāng)中,結(jié)合軟件測(cè)試的特點(diǎn),將一些軟件測(cè)特有的特征描述加入其中,例如反饋特性、實(shí)施特性、測(cè)試進(jìn)程控制機(jī)制等方面的描述。
在自動(dòng)化軟件測(cè)試的過(guò)程當(dāng)中,周期任務(wù)、定時(shí)任務(wù)、立即任務(wù)是對(duì)被測(cè)系統(tǒng)發(fā)布的主要任務(wù),因此,可以將一些相應(yīng)的描述關(guān)鍵字引入到這幾種任務(wù)當(dāng)中。通過(guò)這種方式,能夠?qū)θ蝿?wù)表進(jìn)行實(shí)時(shí)調(diào)度,從而實(shí)時(shí)處理相關(guān)的任務(wù)。在結(jié)構(gòu)化語(yǔ)言當(dāng)中,對(duì)邏輯判斷方法進(jìn)行應(yīng)用,在仿真模型、解釋器之間的交互當(dāng)中,使測(cè)試反饋處理功能完成。此外,對(duì)于測(cè)試任務(wù),可增加相關(guān)的優(yōu)先級(jí)、同步、并發(fā)等描述,從而更加準(zhǔn)確的描述軟件測(cè)試,同時(shí)對(duì)測(cè)試的閉環(huán)特性加以反映,對(duì)被測(cè)軟件運(yùn)行的真實(shí)環(huán)境進(jìn)行有效的模擬。
2.2 自動(dòng)化軟件測(cè)試腳本語(yǔ)言解釋器
基于設(shè)計(jì)的自動(dòng)化軟件測(cè)試的腳本語(yǔ)言,對(duì)針對(duì)這種語(yǔ)言的解釋器進(jìn)行設(shè)計(jì)。對(duì)于腳本語(yǔ)言來(lái)說(shuō),腳本語(yǔ)言解釋器發(fā)揮著重要的基礎(chǔ)性作用,設(shè)計(jì)的解釋器是否合理,對(duì)于基于腳本的自動(dòng)化軟件測(cè)試技術(shù)有著直接的影響,同時(shí)關(guān)系到軟件測(cè)試的效果和效率。基于前文提到的軟件測(cè)試中的主要特性和測(cè)試任務(wù),對(duì)于測(cè)試任務(wù)當(dāng)中的任務(wù)并發(fā)同步、測(cè)試反饋特性、時(shí)間要求等應(yīng)當(dāng)進(jìn)行妥善的處理。在解釋器當(dāng)中,主要包括了解釋程序、指控程序等部分。其中,在預(yù)處理測(cè)試腳本的過(guò)程中,需要用到主控程序,同時(shí)對(duì)根據(jù)時(shí)間排列的任務(wù)表進(jìn)行生成,對(duì)解釋程序的出發(fā)調(diào)用,則是按照實(shí)時(shí)調(diào)度時(shí)鐘的信號(hào)和條件判斷的。在主控稱(chēng)許當(dāng)中,測(cè)試過(guò)程中不同任務(wù)的同步和并發(fā)處理,能夠通過(guò)多任務(wù)處理方式加以確保,這樣就能夠?qū)ψ詣?dòng)化軟件測(cè)試當(dāng)中,實(shí)施特性的要求得到滿(mǎn)足。
在解釋程序當(dāng)中,根據(jù)時(shí)鐘信號(hào)對(duì)主控程序進(jìn)行觸發(fā),對(duì)需要進(jìn)行解釋的腳本執(zhí)行代碼進(jìn)行加載,然后對(duì)于測(cè)試流程,可采用腳本解釋進(jìn)行控制,對(duì)測(cè)試數(shù)據(jù)進(jìn)行實(shí)時(shí)生成,然后向各個(gè)仿真模型當(dāng)中進(jìn)行分發(fā),在通過(guò)交互仿真模型,在反饋處理中,對(duì)邏輯判斷加以利用,以便實(shí)現(xiàn)不同任務(wù)的同步,使被測(cè)軟件的運(yùn)行得到良好的驅(qū)動(dòng)。在解釋腳本的過(guò)程中,對(duì)于腳本當(dāng)中的錯(cuò)誤信息,可以通過(guò)解釋程序進(jìn)行捕捉,同時(shí)能夠?qū)﹀e(cuò)誤處理機(jī)制進(jìn)行提供,這樣就能夠防止腳本產(chǎn)生嚴(yán)重錯(cuò)誤,從而帶來(lái)其它不良的影響。此外,在設(shè)計(jì)解釋器的過(guò)程中,對(duì)于用戶(hù)自定義函數(shù)的登記,以及庫(kù)函數(shù)的調(diào)用等,可以通過(guò)預(yù)掃描的方式實(shí)現(xiàn)。從而使函數(shù)查找時(shí)間得以縮短。而且,還能夠標(biāo)準(zhǔn)信號(hào)發(fā)生函數(shù),對(duì)二進(jìn)制代碼進(jìn)行生成,從而使解釋的效率和速度得以提升。
3 結(jié)論
在當(dāng)前社會(huì)中,隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用,在各個(gè)領(lǐng)域當(dāng)中,各類(lèi)軟件的也得到極大的應(yīng)用。豐富、全面的軟件功能能夠?yàn)槿藗兊墓ぷ骱蜕钐峁┖艽蟮谋憷?。因此,為了確保軟件良好的質(zhì)量及性能,可采用基于腳本的自動(dòng)化軟件測(cè)試技術(shù),通過(guò)自動(dòng)化的測(cè)試過(guò)程,提升自動(dòng)化軟件測(cè)試的效率和有效性。
參考文獻(xiàn)
[1]曹磊,董科軍,袁博文.一種基于Selenium的Web應(yīng)用軟件自動(dòng)化測(cè)試平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].科研信息化技術(shù)與應(yīng)用,2014,06:44-52.
[2]董宇暉.基于Python的實(shí)時(shí)軟件測(cè)試腳本[J].信息與電腦(理論版),2011,07:27-28.
[3]陳彥彰.Python語(yǔ)言在國(guó)產(chǎn)操作系統(tǒng)性能測(cè)試中的應(yīng)用[J].電子產(chǎn)品可靠性與環(huán)境試驗(yàn),2013,S1:164-166.
[4]周漢清,劉暢.軟件仿真測(cè)試環(huán)境實(shí)時(shí)腳本技術(shù)的研究[J].航空標(biāo)準(zhǔn)化與質(zhì)量,2014,02:36-39.
作者單位
中國(guó)航空工業(yè)集團(tuán)公司西安飛行自動(dòng)控制研究所 陜西省西安市 710065