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