軟件自動(dòng)化測(cè)試工具的應(yīng)用
軟件自動(dòng)化測(cè)試工具的應(yīng)用
文/石磊
近年來,計(jì)算機(jī)技術(shù)和信息技術(shù)快速發(fā)展,各種應(yīng)用軟件層出不窮,為了充分保證軟件質(zhì)量,需要進(jìn)行軟件測(cè)試,但是軟件測(cè)試需要耗費(fèi)大量的人力和時(shí)間,可能占據(jù)整個(gè)軟件開發(fā)工作量的40%左右,如果對(duì)軟件開發(fā)比較嚴(yán)格,工作量還會(huì)高于這一數(shù)值,當(dāng)前的軟件測(cè)試一般是人工測(cè)試,存在效率低下、錯(cuò)誤太多等問題,由于軟件測(cè)試一般是重復(fù)操作,因此近年來軟件自動(dòng)化測(cè)試技術(shù)開始普及。
【關(guān)鍵詞】軟件開發(fā) 軟件測(cè)試 自動(dòng)化測(cè)試
軟件測(cè)試大部分是重復(fù)性工作,而運(yùn)用軟件自動(dòng)化測(cè)試工具,能夠自動(dòng)完成這些重復(fù)性工作,減少測(cè)試的盲目性、隨機(jī)性,減弱測(cè)試過程所受的人為因素影響, 縮減冗余工作量,降低出錯(cuò)的頻率,因此運(yùn)用軟件自動(dòng)化測(cè)試非常有效實(shí)用。
1 軟件自動(dòng)化測(cè)試的優(yōu)點(diǎn)
運(yùn)用軟件自動(dòng)化測(cè)試工具能夠加強(qiáng)軟件性能測(cè)試,縮短測(cè)試時(shí)間,能夠在保證軟件質(zhì)量的情況下讓軟件盡早上線,軟件自動(dòng)化測(cè)試有幾個(gè)方面的優(yōu)點(diǎn):首先,能夠有效提高測(cè)試效率,由于回歸測(cè)試的用例、動(dòng)作都是預(yù)設(shè)好的,所以測(cè)試結(jié)果、期望等數(shù)值也能夠預(yù)知,因此能夠減少測(cè)試時(shí)間,提高測(cè)試效率;第二,測(cè)試具有可重復(fù)性和結(jié)果一致性,由于自動(dòng)化測(cè)試是自動(dòng)進(jìn)行的,因此能夠保證測(cè)試內(nèi)容和測(cè)試結(jié)果的一致性,可以進(jìn)行反復(fù)測(cè)試,針對(duì)不同的測(cè)試,只需要少量修改測(cè)試腳本就能夠繼續(xù)使用, 因此自動(dòng)化測(cè)試還有復(fù)用性的優(yōu)點(diǎn);第三是可以進(jìn)行更加復(fù)雜的測(cè)試,一些測(cè)試需要大量測(cè)試人員在同一時(shí)間進(jìn)行測(cè)試,顯然是無法實(shí)現(xiàn)的,但是運(yùn)用自動(dòng)化測(cè)試工具,可以模擬多用戶,在同一時(shí)間進(jìn)行測(cè)試,大大減少了工作量,可以進(jìn)行更多的更加復(fù)雜的測(cè)試。
2 軟件自動(dòng)化測(cè)試工具分析
用于軟件測(cè)試過的工具數(shù)量較多,但是可以大致分為幾類:黑盒測(cè)試工具、白盒測(cè)試工具、測(cè)試管理工具等,下面分開進(jìn)行分析。
2.1 黑盒測(cè)試工具
如果已經(jīng)知曉軟件應(yīng)該具備的功能,可以使用黑盒測(cè)試工具進(jìn)行功能測(cè)試。測(cè)試原理是錄制測(cè)試腳本后回放,用腳本來模仿用戶實(shí)際操作,記錄下輸出數(shù)據(jù)并和預(yù)先設(shè)定的標(biāo)準(zhǔn)數(shù)值相比較,由于這種測(cè)試的主要目的是確認(rèn)軟件功能是否正常,因此不用考慮程序的內(nèi)部特征和結(jié)構(gòu),常見的黑盒測(cè)試工具有WinRunner、Robot和TeamTest等。
2.2 白盒測(cè)試工具
白盒測(cè)試工具的主要作用是測(cè)試程序能否按照既定規(guī)定運(yùn)行,測(cè)試原理是在不同點(diǎn)檢查程序的運(yùn)行狀態(tài),并以此確認(rèn)實(shí)際狀態(tài)。測(cè)試工具主要是分析程序代碼,測(cè)試程序結(jié)構(gòu)、代碼、類層次和對(duì)象等,如果程序存在缺陷或問題,運(yùn)用測(cè)試工具能夠直接定位到代碼行,如果白盒測(cè)試工具具備可視化功能,對(duì)程序語言支持較好, 則可以作為軟件自動(dòng)化測(cè)試工具。白盒測(cè)試工具又可以分為兩類,一種是動(dòng)態(tài)測(cè)試工具,動(dòng)態(tài)測(cè)試工具是在程序代碼中設(shè)置斷點(diǎn),在斷點(diǎn)出插入測(cè)試代碼,測(cè)試程序運(yùn)行狀態(tài),常見的動(dòng)態(tài)測(cè)試工具有 Error Detect、PerformanceAnalysis 等;而靜態(tài)測(cè)試工具知識(shí)測(cè)試程序語法、過程和結(jié)構(gòu)等,確認(rèn)程序是否正確,常見的靜態(tài)測(cè)試工具有CodeReview等。
2.3 測(cè)試管理工具
測(cè)試管理工具的主要作用是管理軟件測(cè)試的輸入、輸出結(jié)果以及測(cè)試過程。測(cè)試管理工具設(shè)有一個(gè)數(shù)據(jù)倉(cāng)庫(kù),開發(fā)人員、測(cè)試人員等都可以相互交流信息,能夠?qū)崿F(xiàn)自動(dòng)化管理測(cè)試需求、測(cè)試計(jì)劃、日程安排等,有效提高了軟件測(cè)試的效率,常見的測(cè)試管理工具有ClearQuest、TestDirector等。
3 軟件自動(dòng)化測(cè)試工具的應(yīng)用
3.1 程序方法、類、屬性的識(shí)別
要測(cè)試好一個(gè)程序,需要明確待測(cè)程序的類型類、命名空間,在測(cè)試程序集前,要將所有類型類、命名空間用測(cè)試工具識(shí)別出來。
3.2 代碼分析
和高級(jí)語言編譯相似,代碼分析也是為了描述、查找源代碼中諸如錯(cuò)誤編程、錯(cuò)誤邏輯、安全漏洞等薄弱環(huán)節(jié)。高級(jí)語言不同,需要采用不同的測(cè)試工具。運(yùn)用這項(xiàng)技術(shù),能夠分析源代碼并獲得樁模板、測(cè)試驅(qū)動(dòng),在測(cè)試腳本的基礎(chǔ)上,開發(fā)人員預(yù)設(shè)期望輸入輸出數(shù)據(jù)、樁函數(shù)邏輯等,執(zhí)行測(cè)試后能夠自動(dòng)生成測(cè)試報(bào)告。
測(cè)試工具可以分為動(dòng)態(tài)分析模塊和靜態(tài)分析模塊,其中動(dòng)態(tài)分析模塊采用的是插樁方式,在特定的位置插入監(jiān)測(cè)代碼,以此觀察程序的運(yùn)行狀態(tài)、產(chǎn)生的數(shù)據(jù)、是否出現(xiàn)異常終止等問題,進(jìn)行動(dòng)態(tài)測(cè)試有三個(gè)步驟,即:?jiǎn)卧獪y(cè)試、集成測(cè)試和系統(tǒng)測(cè)試;對(duì)于靜態(tài)分析模塊,主要是分析程序代碼,不需要編譯代碼也不需要運(yùn)行,首先分析工程文件并讀入源程序,進(jìn)行語法掃描,尋找代碼中的從缺陷,評(píng)價(jià)代碼質(zhì)量并生成調(diào)用關(guān)系圖,保存靜態(tài)分析的數(shù)據(jù),可以繼續(xù)用于測(cè)試報(bào)告和動(dòng)態(tài)分析。
3.3 捕獲回放
測(cè)試人員首先錄制測(cè)試腳本,測(cè)試工具會(huì)學(xué)習(xí)軟件組件層次結(jié)構(gòu)和信息,截獲測(cè)試人員觸發(fā)的某些事件,分析事件并得到參數(shù),將參數(shù)保存在測(cè)試腳本中,和預(yù)設(shè)標(biāo)準(zhǔn)比較后找出程序缺陷。捕獲回放工具有三個(gè)級(jí)別:硬件級(jí)別、操作級(jí)別、進(jìn)程級(jí)別。
3.4 自動(dòng)生成腳本和測(cè)試
一般的軟件自動(dòng)化測(cè)試工具都提供了腳本錄制功能,以提高測(cè)試效率。例如使用比較廣泛的 LoadRunner 負(fù)載壓力測(cè)試工具,通過模擬用戶負(fù)載并監(jiān)控系統(tǒng)性能和行為,發(fā)現(xiàn)、查找軟件中存在的問題,主要步驟是選擇協(xié)議—?jiǎng)?chuàng)建測(cè)試腳本—產(chǎn)生負(fù)載—設(shè)定方案—執(zhí)行測(cè)試—分析結(jié)果。軟件自動(dòng)化測(cè)試結(jié)束后,工具會(huì)將服務(wù)器端、客戶端、網(wǎng)絡(luò)端三個(gè)方面的測(cè)試數(shù)據(jù)收集起來,生成測(cè)試報(bào)告,評(píng)估程序組件性能,確定系統(tǒng)中存在的問題,實(shí)現(xiàn)系統(tǒng)優(yōu)化和系統(tǒng)功能完善。
3.5 實(shí)際應(yīng)用舉例
Rational Visual Test 是一款常用的軟件測(cè)試工具,軟件能夠記錄和重放程序執(zhí)行過程,大大減少了測(cè)試人員的工作量。使用軟件測(cè)試需要首先運(yùn)行設(shè)計(jì)的case,提取參數(shù),首先讀取runlist文件,代碼為:OPEN '..\runlist'FOR INPUT AS #runlistWHILE NOT (EOF (runlist))LINE INPUT #runlist,runlistname接下來的步驟為運(yùn)行 ispLEVER 軟件,處理窗口信息,打開需要運(yùn)行的例子,清除舊信息,運(yùn)行布線,保存項(xiàng)目,備份例子,進(jìn)行下一個(gè)例子的測(cè)試。所有例子都運(yùn)行完后,就要提取參數(shù),在備份目錄中有 .twr 和 .log 文件,這些文件中就有我們需要的參數(shù),例如:Number of external PIOs:126 out of 140 (90%)。我們同樣可以在文件中找到所用工具、器件封裝等信息,提取這些信息后與 ispLEVER軟件結(jié)果比較后得到測(cè)試結(jié)果。
4 結(jié)束語
綜上,隨著科學(xué)技術(shù)的發(fā)展,軟件種類越來越多,規(guī)模越來越大,也更加復(fù)雜,我們應(yīng)合理的使用自動(dòng)化測(cè)試工具, 降低測(cè)試成本,提高測(cè)試效率,提高軟件質(zhì)量。
參考文獻(xiàn)
[1]楊立,劉杰.嵌入式軟件自動(dòng)化測(cè)試平臺(tái)構(gòu)架設(shè)計(jì) [J]. 消費(fèi)電子 ,2014(08):187.
作者單位
中國(guó)航空工業(yè)集團(tuán)公司洛陽(yáng)電光設(shè)備研究所 河南省洛陽(yáng)市 471009
本站論文資源均為來自網(wǎng)絡(luò)轉(zhuǎn)載,免費(fèi)提供給廣大作者參考,不進(jìn)行任何贏利,如有版權(quán)問題,請(qǐng)聯(lián)系管理員刪除! 快速論文發(fā)表網(wǎng)(www.455685.com)本中心和國(guó)內(nèi)數(shù)百家期刊雜志社有良好的合作關(guān)系,可以幫客戶代發(fā)論文投稿.
投稿郵箱:ksfbw@126.com
客服Q Q:
82702382
聯(lián)系電話:15295038833
本站論文資源均為來自網(wǎng)絡(luò)轉(zhuǎn)載,免費(fèi)提供給廣大作者參考,不進(jìn)行任何贏利,如有版權(quán)問題,請(qǐng)聯(lián)系管理員刪除!