前言:想要寫出一篇引人入勝的文章?我們特意為您整理了談VSP數(shù)據(jù)處理軟件測試實(shí)踐范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:vsp數(shù)據(jù)處理軟件是一款對地震數(shù)據(jù)資料進(jìn)行處理和解釋的軟件。它采用了Matlab和C++混合編程,最后運(yùn)用QT技術(shù)實(shí)現(xiàn)圖形用戶界面。VSP這款軟件的開發(fā)需要經(jīng)過需求分析、軟件設(shè)計(jì)、編碼實(shí)現(xiàn)和軟件測試這四個(gè)步驟,其中測試是軟件實(shí)現(xiàn)最重要的一步。該論文用黑盒測試和白盒測試兩種方法對該軟件的主要幾個(gè)模塊進(jìn)行測試,編寫了測試用例。最終測試結(jié)果有利于軟件質(zhì)量的保障和后期的運(yùn)維。
關(guān)鍵詞:軟件質(zhì)量;軟件測試;黑盒測試;白盒測試
引言
隨著軟件的規(guī)模和復(fù)雜度增大,傳統(tǒng)的測試方式受到時(shí)間、空間、測試成本的限制,導(dǎo)致測試效果不夠理想[1]。軟件產(chǎn)品的不斷更新導(dǎo)致其質(zhì)量的退化,從而增加后期測試的難度[2][3]。垂直地震剖面(VSP)勘探是一個(gè)用來處理和解釋地震資料的重要工具。本文所測試的軟件可以對VSP資料進(jìn)行保真處理,功能有振幅補(bǔ)償、波場分離、2D和3D速度建模等,大部分軟件系統(tǒng)通常以圖形用戶界面(GUI)為特征[4]。本文以“VSP數(shù)據(jù)處理軟件”中的幾個(gè)模塊為例來實(shí)施測試,主要采用的是黑盒和白盒兩種測試方法[5]。
1VSP數(shù)據(jù)處理軟件
軟件操作界面分為四個(gè)部分:數(shù)據(jù)輸入輸出、處理模塊的列表、處理流程的編輯、處理模塊的參數(shù)設(shè)置。其中處理列表中包含這次進(jìn)行測試的兩個(gè)模塊:ScanEta(動校正速度掃描)、TimeVaryVectDecompos(時(shí)變矢量分解)。操作界面如圖1所示。
2黑盒測試
黑盒測試具體測試方法包括等價(jià)類劃分法、邊界值分析法、判定表驅(qū)動法、因果圖法、錯(cuò)誤推測法等[6]-[9]。本文用到了等價(jià)類劃分方法。對“VSP數(shù)據(jù)處理軟件”的某些模塊進(jìn)行實(shí)施測試。
2.1等價(jià)類劃分法
以“VSP數(shù)據(jù)處理軟件”的時(shí)變矢量分解模塊為例時(shí)變矢量分解模塊需要輸入的數(shù)據(jù)有:(1)輸入路徑,輸出路徑(2)時(shí)變矢量分解(3)參數(shù)。針對表1中劃分和編號的等價(jià)類進(jìn)行設(shè)計(jì)測試用例,如表2所示。根據(jù)上面所列出的測試用例對軟件進(jìn)行測試,實(shí)際結(jié)果和預(yù)期結(jié)果一致。
2.2因果圖法
采用因果圖方法設(shè)計(jì)“VSP數(shù)據(jù)處理軟件”中的動校正速度掃描模塊的測試用例,該模塊運(yùn)行規(guī)格說明為:“當(dāng)選中動校正速度掃描模塊,輸入輸出路徑、參數(shù)都填寫以及點(diǎn)擊運(yùn)行按鈕,該模塊才能正常運(yùn)行,其他情況都會報(bào)錯(cuò)?!备鶕?jù)規(guī)格說明,整理出3個(gè)正常輸入條件和2個(gè)錯(cuò)誤輸入條件為:C1:輸入輸出路徑、C2:運(yùn)行按鈕、C3:參數(shù)填寫C4:輸入或者輸出路徑未填、路徑中包含了中文C5:參數(shù)未填寫或者填寫參數(shù)不符合格式結(jié)果為:E1:正常運(yùn)行E2:錯(cuò)誤提示進(jìn)而得到的因果圖如圖2所示,然后從因果圖導(dǎo)出判定表,如表3所示。最后從判定表導(dǎo)出測試用例,如表4所示。按照列出的測試用例對該模塊進(jìn)行測試,實(shí)際結(jié)果和預(yù)期結(jié)果一致。有針對性的提示有利于操作員及時(shí)發(fā)現(xiàn)錯(cuò)誤的原因。
3白盒測試
白盒測試只測試程序的處理過程和內(nèi)部結(jié)果,不測試軟件的功能。將被測程序看成是打開的黑盒,測試人員不考慮程序的功能,只根據(jù)內(nèi)部結(jié)果設(shè)計(jì)測試用例[10]-[12]。主要的方法有邏輯覆蓋測試(包括語句覆蓋、條件覆蓋、判斷覆蓋、判斷/條件覆蓋、條件組合覆蓋)路徑覆蓋測試(控制流測試)等。本文主要介紹邏輯覆蓋法對“VSP數(shù)據(jù)處理軟件”中處理某一個(gè)模塊的分支語句的方法進(jìn)行測試。這個(gè)模塊是進(jìn)行Sgy文件轉(zhuǎn)成Mat文件操作,程序內(nèi)容為判斷處理列表中是否點(diǎn)擊了SgyToMat模塊,點(diǎn)擊i就為1。接下來就進(jìn)行判斷i取值是否為1,運(yùn)行run_sgyToMat(strl),因?yàn)樵撃K需要填四個(gè)參數(shù),下一步則判斷輸入的字符串?dāng)?shù)量是否為4,正確就進(jìn)行下一段代碼,不滿足條件則提示錯(cuò)誤。圖3為該模塊的流程圖。
3.1條件覆蓋
對圖3的程序,例如:對于第一個(gè)判斷,條件i==1,取真值為A,假值為-A;對于第二個(gè)判斷,條件strl.length()!=4,取真值為B,假值為-B;則可以設(shè)計(jì)測試用例如表5所示。
3.2判定條件覆蓋
判定條件覆蓋測試用例如表6所示。上面幾種邏輯覆蓋方法雖然將此模塊所有的路徑基本列出,但由于其代碼量比較龐大,我們不能依照這個(gè)方法對整個(gè)軟件的代碼進(jìn)行完整的測試,還需使用其他更加有效的方法來進(jìn)行測試。
4結(jié)論
開發(fā)VSP軟件過程復(fù)雜,對其測試是一個(gè)最為重要的環(huán)節(jié)。我們對這款軟件測試的目的就是發(fā)現(xiàn)其中隱藏的缺陷和錯(cuò)誤并加以完善。本文運(yùn)用了黑盒測試和白盒測試的方法對“VSP數(shù)據(jù)處理軟件”的部分模塊進(jìn)行測試,將一些隱藏的bug和問題得到了實(shí)質(zhì)性的解決,使用性方面也得到了優(yōu)化。因此能滿足用戶的需求,提高用戶的滿意度。在具體的軟件測試過程中,要根據(jù)實(shí)際情況制定測試計(jì)劃,編寫詳細(xì)的測試用例,然后進(jìn)行反復(fù)的測試和驗(yàn)證,才能使得軟件的質(zhì)量得到保障。
參考文獻(xiàn)
[1]詹聰,洪玫,周洪宇,張光渝,代聲馨.分布式自動化軟件測試平臺研究——測試工具集成策略研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(03):75-78.
[2]王敏,謝永平.用于多條件組合問題的測試用例設(shè)計(jì)新方法[J].計(jì)算機(jī)應(yīng)用與軟件,2018,35(04):21-27.
[3]潘森,林云,彭鑫,趙文耘.基于軟件開發(fā)過程數(shù)據(jù)的可視化產(chǎn)品質(zhì)量監(jiān)控工具[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(09):8-12.
[4]饒建農(nóng).基于圖形用戶界面的軟件的測試方法的研究[J].電腦知識與技術(shù),2019,15(17):78-81.
[5]魏鑫,安鵬偉,趙菲,高米.黑盒測試技術(shù)方法在大氣數(shù)據(jù)計(jì)算機(jī)軟件測試中的應(yīng)用[J].導(dǎo)航定位與授時(shí),2018,5(05):107-111.
[6]宋麗.黑盒測試在環(huán)境質(zhì)量監(jiān)測系統(tǒng)測試中的應(yīng)用[J].電子技術(shù)與軟件工程,2019(12):54-56.
[7]周健,辛中臣.無人機(jī)系統(tǒng)軟件黑盒測試內(nèi)容研究[J].信息系統(tǒng)工程,2019(04):160+163.
[8]什么是黑盒測試?[J].電子質(zhì)量,2019(02):23.
作者:蔣煥 單位:長江大學(xué)電子信息學(xué)院