專利名稱::數(shù)據(jù)正確性驗證方法及裝置的制作方法
技術領域:
:本發(fā)明涉及數(shù)據(jù)測試
技術領域:
,特別涉及一種數(shù)據(jù)正確性驗證方法及裝置。
背景技術:
:在網(wǎng)站測試或應用程序的功能測試當中,很多情況下測試步驟是不變的,變化的僅僅是測試數(shù)據(jù)。比如說,為了測試網(wǎng)站是否支持國際化(internationalization)需要進行一個正常登錄成功的測試,測試時可能會使用英文的用戶名;也可能會使用中文的用戶名;甚至還會使用包含一些合法的特殊字符串的用戶名。這三個測試用例的操作步驟都是一樣,都是輸入用戶名和密碼,然后點擊登錄按鈕,唯一不同的就是測試數(shù)據(jù)(即用戶名和其密碼)。又比如,為了執(zhí)行SQL注入或者腳本注入的安全性測試,需要設計一個針對用戶提交評論的通用測試步驟,然而測試數(shù)據(jù)、即用戶評論的內(nèi)容(包括SQL注入語句或者腳本注入語句)是變化的。原有的自動化測試的無框架階段的最大的缺點就是腳本與數(shù)據(jù)混合在一起,每次數(shù)據(jù)變動需要同時修改腳本程序。比如現(xiàn)有技術中,自動化測試中數(shù)據(jù)正確性驗證的一般步驟是:使用數(shù)據(jù)遍歷方法遍歷表格文件(如網(wǎng)頁表格等),把表格內(nèi)容存入一個二維數(shù)組中;使用數(shù)據(jù)庫連接組件GnADODB)連接后臺數(shù)據(jù)庫,使用數(shù)據(jù)結果集對象保存查詢結果,也存入一個二維數(shù)組中;對兩個二維數(shù)組進行一對一的遍歷比較驗證數(shù)據(jù)正確性。上述方法僅僅是針對一張表格的數(shù)據(jù)對比方案,其存在以下缺陷:當報表數(shù)量很多時需頻繁地手工執(zhí)行腳本,數(shù)據(jù)驗證效率低;此外腳本與數(shù)據(jù)混合在一起,每次數(shù)據(jù)變動需要修改腳本文件,腳本使用率低、維護頻繁、實現(xiàn)復雜,測試需付出大量的人力和時間成本。
發(fā)明內(nèi)容(一)要解決的技術問題針對現(xiàn)有技術的上述缺陷,本發(fā)明為了解決現(xiàn)有技術中數(shù)據(jù)正確性驗證效率低下的技術問題,提供了一種數(shù)據(jù)正確性驗證方法及裝置。(二)技術方案為實現(xiàn)上述目的,本發(fā)明采用如下技術方案:一方面,本發(fā)明提供一種數(shù)據(jù)正確性驗證方法,所述方法包括步驟:SI,在本地建立用于保存驅動數(shù)據(jù)的文檔;S2,將驅動數(shù)據(jù)導入至測試用表中;S3,根據(jù)測試用表中驅動數(shù)據(jù)的列名對腳本進行參數(shù)化;S4,設置迭代次數(shù),根據(jù)迭代次數(shù)的設置,依次讀取測試用表中每行的驅動數(shù)據(jù)替代參數(shù)來驅動測試腳本執(zhí)行數(shù)據(jù)驗證。優(yōu)選地,步驟S2-S4中,使用QTP工具進行數(shù)據(jù)的操作。優(yōu)選地,步驟SI中,所述驅動數(shù)據(jù)包括報表名稱、報表查詢開始日期、報表查詢結束日期。優(yōu)選地,步驟S3中,通過獲取報表名稱的坐標值加固定數(shù)字來找到打開該報表的按鈕,然后訪問報表數(shù)據(jù)。優(yōu)選地,步驟S4之后,當測試停止則將測試表中數(shù)據(jù)也隨之清除。優(yōu)選地,步驟S4中,驅動測試腳本執(zhí)行數(shù)據(jù)驗證具體包括步驟:S41,在腳本執(zhí)行時首先創(chuàng)建以當前訪問的報表名命名的數(shù)據(jù)文檔,所述數(shù)據(jù)文檔中分為系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)兩部分;S42,遍歷網(wǎng)頁報表,將獲取的數(shù)據(jù)按行保存在所述數(shù)據(jù)文檔的系統(tǒng)導出數(shù)據(jù)保存區(qū)中;S43,依據(jù)待驗證報表名導出待查詢條件,依據(jù)導出的待查詢條件查詢數(shù)據(jù)庫,按行導出數(shù)據(jù)庫數(shù)據(jù),保存在所述數(shù)據(jù)文檔的數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中;S44,對系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中單元格數(shù)據(jù)一一對比,一致則測試通過;不一致,則在產(chǎn)生的測試結果報告中輸出錯誤信息。優(yōu)選地,步驟S43中,所述導出數(shù)據(jù)庫數(shù)據(jù)的過程為:從數(shù)據(jù)庫中導出數(shù)據(jù),首先判斷某個時間單一版本的統(tǒng)計項數(shù)據(jù)是否為空;若為空,則舍棄該時間-版本的數(shù)據(jù)導出過程,判斷下一個時間-版本數(shù)據(jù);若不為空,則按行查詢數(shù)據(jù);若查詢結果僅有一個數(shù)據(jù),則該數(shù)據(jù)賦值給“上傳用戶數(shù)”統(tǒng)計項,其余單元格賦值為0;否則將按行正常賦值。另一方面,本發(fā)明還同時提供一種數(shù)據(jù)正確性驗證裝置,所述裝置包括:驅動數(shù)據(jù)保存模塊,用于在本地建立用于保存驅動數(shù)據(jù)的文檔;驅動數(shù)據(jù)導入模塊,用于將驅動數(shù)據(jù)導入至測試用表中;腳本參數(shù)化模塊,用于根據(jù)測試用例從對應的測試用表中取出驅動數(shù)據(jù)對腳本進行參數(shù)化;迭代驗證模塊,用于設置迭代次數(shù),根據(jù)迭代次數(shù)的設置,按行依次讀取表中數(shù)據(jù)來驅動測試腳本執(zhí)行數(shù)據(jù)驗證。優(yōu)選地,所述迭代驗證模塊通過腳本執(zhí)行模塊驅動測試腳本執(zhí)行數(shù)據(jù)驗證,所述腳本執(zhí)行模塊包括:數(shù)據(jù)文檔創(chuàng)建模塊,用于在腳本執(zhí)行時首先創(chuàng)建以當前訪問的報表名命名的數(shù)據(jù)文檔,所述數(shù)據(jù)文檔中分為系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)兩部分;系統(tǒng)數(shù)據(jù)導出模塊,用于遍歷網(wǎng)頁報表,將獲取的數(shù)據(jù)按行保存在所述數(shù)據(jù)文檔的系統(tǒng)導出數(shù)據(jù)保存區(qū)中;數(shù)據(jù)庫數(shù)據(jù)導出模塊,用于依據(jù)待驗證報表名導出待查詢條件,依據(jù)導出的待查詢條件,按行導出數(shù)據(jù)庫數(shù)據(jù),保存在所述數(shù)據(jù)文檔的數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中;數(shù)據(jù)驗證模塊,對系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中單元格數(shù)據(jù)一一對比,一致則測試通過;不一致,則在產(chǎn)生的測試結果報告中輸出錯誤信息。(三)有益效果本發(fā)明的方案中,將測試數(shù)據(jù)與腳本的分離,通過參數(shù)化的方式將數(shù)據(jù)文件中讀取到的數(shù)據(jù)寫入到腳本中,可以執(zhí)行一次腳本實現(xiàn)多張報表數(shù)據(jù)的測試,大大降低了腳本的維護成本,可有效提高QTP驗證web報表數(shù)據(jù)正確性的腳本利用率。圖1為本發(fā)明的數(shù)據(jù)正確性驗證方法的流程示意圖;圖2為本發(fā)明的數(shù)據(jù)處理方式示意圖;圖3為統(tǒng)計項數(shù)據(jù)的導出過程示意圖;圖4為本發(fā)明的數(shù)據(jù)正確性驗證裝置的模塊示意圖。具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。在本發(fā)明的方法中,主要實現(xiàn)了測試數(shù)據(jù)與腳本的分離,可以執(zhí)行一次腳本實現(xiàn)多張報表數(shù)據(jù)的測試。本發(fā)明的方法將數(shù)據(jù)整理至本地文件,從數(shù)據(jù)文件中讀取數(shù)據(jù),然后通過參數(shù)化的方式將數(shù)據(jù)文件中讀取到的數(shù)據(jù)寫入到腳本中。這樣,僅執(zhí)行一次測試即可實現(xiàn)同類報表的測試;并且本方案將驅動數(shù)據(jù)獨立為外部數(shù)據(jù)文件,大大降低了腳本的維護成本。具體地,參見圖1,本發(fā)明的方法包括步驟:1、在本地建立用于保存驅動數(shù)據(jù)的文檔(優(yōu)選地采用Excel文檔保存);所述驅動數(shù)據(jù)包括報表名稱(以innertext表示)、報表查詢開始日期(以startday表示)、報表查詢結束日期(以endday表示)等;2、將驅動數(shù)據(jù)導入至測試用表中;如使用ImportSheet方法導入驅動數(shù)據(jù)至QTP中的DataTable數(shù)據(jù)表中,QTP(quicktestProfessional)是一種自動測試工具;ImportSheet方法的使用格式為:ImportSheet"D:\***.xls",I,2,含義為將D盤下***xls文件中的第一個sheet表數(shù)據(jù)導入至QTP中DataTable的第二個數(shù)據(jù)表(本實施例中將該表命名為Action表)中;3、根據(jù)測試用表中驅動數(shù)據(jù)的列名對腳本進行參數(shù)化;例如,進行飛信數(shù)據(jù)平臺的關閉操作統(tǒng)計時,使用BrowseH"飛信數(shù)據(jù)平臺").WebElement("關閉操作統(tǒng)計").GetROProperty("x")+90語句,通過獲取報表名稱的坐標值加固定數(shù)字來找到打開該報表的按鈕,然后訪問報表數(shù)據(jù),當前語句指定了具體的報表名稱"關閉操作統(tǒng)計",因此對該對象屬性進行參數(shù)化。參數(shù)化時,首先要用到QTP的描述性編程,便于對對象屬性參數(shù)化,即上述語句可以寫為:Browser("飛信數(shù)據(jù)平臺")WebElement("htmltag:=P","innertext:=關閉操作統(tǒng)計")GetROProperty("x")+90;然后修改語句為Browser("飛信數(shù)據(jù)平臺")WebElement("htmltag:=P","innertext:="&datatable.Value("innertext",2)).GetROProperty("x")+90,其中,datatable.Value("innertext",2)為參數(shù)化部分,理解為從DataTable視圖的第二個表(即Action表)中取出列名為innertext下的數(shù)據(jù)。由于DataTable下的Action表中保存內(nèi)容是用于參數(shù)化的驅動數(shù)據(jù)的具體內(nèi)容(報表名、開始、結束日期等),此處取出的innertext數(shù)據(jù)即“關閉操作統(tǒng)計”,使用datatable.vlaue("innertext",2)取出數(shù)據(jù)后賦值給webelement控件的innertext屬性,那么innertext屬性便被參數(shù)化而有了具體值,隨后可以指導QTP通過參數(shù)化的具體屬性值找到待測試報表。完成一項屬性的參數(shù)化后,重復上述步驟對其他屬性進行參數(shù)化;4、設置迭代次數(shù),根據(jù)迭代次數(shù)的設置,按行依次讀取表中數(shù)據(jù)來驅動測試腳本執(zhí)行數(shù)據(jù)驗證。由于運行測試時QTP將導入驅動數(shù)據(jù)至DataTable視圖中的Global表或Action表,因此需要對數(shù)據(jù)表的迭代次數(shù)進行設置。迭代次數(shù)用于控制腳本的執(zhí)行次數(shù),是與數(shù)據(jù)行數(shù)對應的;QTP關于迭代次數(shù)有三種設置:僅執(zhí)行一次、執(zhí)行所有數(shù)據(jù)行、指定循環(huán)執(zhí)行的行數(shù)。如設置為僅執(zhí)行一行時,則腳本僅讀取第一行的參數(shù)化數(shù)據(jù);如設置為執(zhí)行所有數(shù)據(jù)行,則QTP將依據(jù)讀取到的數(shù)據(jù)行的行數(shù)確定腳本的循環(huán)執(zhí)行次數(shù)。Global為全局表,可通過File->Settings->Run設置迭代方式。Action為局部表,可通過TestFlow->右鍵具體Action->ActionCallProperties設置迭代次數(shù)。其中,程序執(zhí)行次數(shù)是通過Global設置的次數(shù)乘以Action中設置的次數(shù)控制的,例如Global執(zhí)行3行數(shù)據(jù),Action執(zhí)行4行數(shù)據(jù),那么腳本就需要執(zhí)行3*4=12次;本發(fā)明的實施例中將數(shù)據(jù)導入至Action表,因此只需設置Action的迭代次數(shù)。設置完迭代次數(shù)后,測試將根據(jù)迭代次數(shù)的設置,按行依次讀取DataTable中數(shù)據(jù)來驅動測試腳本執(zhí)行。當腳本運行起來,導入?yún)?shù)化數(shù)據(jù)后,QTP將讀取DataTable中的第一行數(shù)據(jù),根據(jù)已經(jīng)設置的迭代次數(shù),腳本執(zhí)行完當前一次迭代后將自動跳轉至下一行數(shù)據(jù),開始新一輪腳本的運行,直至執(zhí)行完所有迭代。測試停止則DataTable中數(shù)據(jù)也隨之清除。本方案可提高QTP驗證web報表數(shù)據(jù)正確性的腳本利用率,對于相同業(yè)務邏輯、操作步驟的報表而言,僅執(zhí)行一次測試即可實現(xiàn)同類報表的測試;并且本方案將驅動數(shù)據(jù)獨立為外部數(shù)據(jù)文件,大大降低了腳本的維護成本。更進一步地,在本發(fā)明的方法中,腳本執(zhí)行時對于數(shù)據(jù)驗證的處理方式參見圖2,包括步驟:1、在腳本執(zhí)行時首先創(chuàng)建以當前訪問的報表名命名的Excel文檔,文檔中sheet表分兩部分,一部分為系統(tǒng)導出數(shù)據(jù);一部分為數(shù)據(jù)庫導出數(shù)據(jù)。2、訪問系統(tǒng)報表時,通過getcelldata(i,j)的方法遍歷webtable,然后在本地excel文檔-系統(tǒng)數(shù)據(jù)的sheet表中由第二行(數(shù)據(jù)庫sheet表的第一行額外保存了統(tǒng)計項ID)開始保存數(shù)據(jù)(目的是與數(shù)據(jù)庫導出數(shù)據(jù)行對應)。3、由數(shù)據(jù)庫中導出數(shù)據(jù)保存至同一excel-數(shù)據(jù)庫sheet表中,首先依據(jù)待驗證報表名導出統(tǒng)計項ID及名稱,然后查詢該報表下各版本的上報項個數(shù),由此計算得出報表樣式,依據(jù)導出的統(tǒng)計項ID、名稱、日期、版本、上報項等信息為查詢條件,按行導出數(shù)據(jù)庫數(shù)據(jù),并保存至excel文檔數(shù)據(jù)庫sheet表中;統(tǒng)計項數(shù)據(jù)的導出過程如圖3,由數(shù)據(jù)庫中導出數(shù)據(jù)首先判斷某個時間單一版本的統(tǒng)計項數(shù)據(jù)是否為空;如為空,則舍棄該時間-版本的數(shù)據(jù)導出過程(即從excel中刪除該時間-版本),判斷下一個時間-版本數(shù)據(jù);不為空,則按行(以時間-版本-上報項為查詢條件)查詢數(shù)據(jù),若查詢結果僅有一個數(shù)據(jù)(即上傳用戶數(shù)統(tǒng)計項),則該數(shù)據(jù)賦值給“上傳用戶數(shù)”統(tǒng)計項,其余單元格賦值為0;否則將按行正常賦值。4、對兩個sheet表中單元格數(shù)據(jù)——對比,一致則測試通過;不一致,則在QTP產(chǎn)生的測試結果報告中輸出錯誤信息;在保存系統(tǒng)數(shù)據(jù)的sheet表中該出錯數(shù)據(jù)的單元格內(nèi)容顯示錯誤數(shù)據(jù)信息,并將字體置為紅色突出顯示以便查看。本領域普通技術人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,包括上述實施例方法的各步驟,而所述的存儲介質可以是:R0M/RAM、磁碟、光盤等。因此,與本發(fā)明的方法相對應的,本發(fā)明還同時包括一種數(shù)據(jù)正確性驗證裝置,該裝置通常以與方法各步驟相對應的功能模塊的形式表示;如圖4所示,所述裝置包括:驅動數(shù)據(jù)保存模塊I,用于在本地建立用于保存驅動數(shù)據(jù)的文檔;驅動數(shù)據(jù)導入模塊2,用于將驅動數(shù)據(jù)導入至測試用表中;腳本參數(shù)化模塊3,用于根據(jù)測試用例從對應的測試用表中取出驅動數(shù)據(jù)對腳本進行參數(shù)化;迭代驗證模塊4,用于設置迭代次數(shù),根據(jù)迭代次數(shù)的設置,按行依次讀取表中數(shù)據(jù)來驅動測試腳本執(zhí)行數(shù)據(jù)驗證。更進一步地,所述迭代驗證模塊通過腳本執(zhí)行模塊驅動測試腳本執(zhí)行數(shù)據(jù)驗證,所述腳本執(zhí)行模塊包括:數(shù)據(jù)文檔創(chuàng)建模塊,用于在腳本執(zhí)行時首先創(chuàng)建以當前訪問的報表名命名的數(shù)據(jù)文檔,所述數(shù)據(jù)文檔中分為系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)兩部分;系統(tǒng)數(shù)據(jù)導出模塊,用于遍歷網(wǎng)頁報表,將獲取的數(shù)據(jù)按行保存在所述數(shù)據(jù)文檔的系統(tǒng)導出數(shù)據(jù)保存區(qū)中;數(shù)據(jù)庫數(shù)據(jù)導出模塊,用于依據(jù)待驗證報表名導出待查詢條件,依據(jù)導出的待查詢條件,按行導出數(shù)據(jù)庫數(shù)據(jù),保存在所述數(shù)據(jù)文檔的數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中;數(shù)據(jù)驗證模塊,對系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中單元格數(shù)據(jù)一一對比,一致則測試通過;不一致,則在產(chǎn)生的測試結果報告中輸出錯誤信息。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關
技術領域:
的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。權利要求1.一種數(shù)據(jù)正確性驗證方法,其特征在于,所述方法包括步驟:SI,在本地建立用于保存驅動數(shù)據(jù)的文檔;S2,將驅動數(shù)據(jù)導入至測試用表中;S3,根據(jù)測試用表中驅動數(shù)據(jù)的列名對腳本進行參數(shù)化;S4,設置迭代次數(shù),根據(jù)迭代次數(shù)的設置,依次讀取測試用表中每行的驅動數(shù)據(jù)替代參數(shù)來驅動測試腳本執(zhí)行數(shù)據(jù)驗證。2.根據(jù)權利要求1所述的方法,其特征在于,步驟S2-S4中,使用QTP工具進行數(shù)據(jù)的操作。3.根據(jù)權利要求1所述的方法,其特征在于,步驟SI中,所述驅動數(shù)據(jù)包括報表名稱、報表查詢開始日期、報表查詢結束日期。4.根據(jù)權利要求1所述的方法,其特征在于,步驟S3中,通過獲取報表名稱的坐標值加固定數(shù)字來找到打開該報表的按鈕,然后訪問報表數(shù)據(jù)。5.根據(jù)權利要求1所述的方法,其特征在于,步驟S4之后,當測試停止則將測試表中數(shù)據(jù)也隨之清除。6.根據(jù)權利要求1所述的方法,其特征在于,步驟S4中,驅動測試腳本執(zhí)行數(shù)據(jù)驗證具體包括步驟:S41,在腳本執(zhí)行時首先創(chuàng)建以當前訪問的報表名命名的數(shù)據(jù)文檔,所述數(shù)據(jù)文檔中分為系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)兩部分;S42,遍歷網(wǎng)頁報表,將獲取的數(shù)據(jù)按行保存在所述數(shù)據(jù)文檔的系統(tǒng)導出數(shù)據(jù)保存區(qū)中;S43,依據(jù)待驗證報表名導出待查詢條件,依據(jù)導出的待查詢條件查詢數(shù)據(jù)庫,按行導出數(shù)據(jù)庫數(shù)據(jù),保存在所述數(shù)據(jù)文檔的數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中;S44,對系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中單元格數(shù)據(jù)一一對比,一致則測試通過;不一致,則在產(chǎn)生的測試結果報告中輸出錯誤信息。7.根據(jù)權利要求6所述的方法,其特征在于,步驟S43中,所述導出數(shù)據(jù)庫數(shù)據(jù)的過程為:從數(shù)據(jù)庫中導出數(shù)據(jù),首先判斷某個時間單一版本的統(tǒng)計項數(shù)據(jù)是否為空;若為空,則舍棄該時間-版本的數(shù)據(jù)導出過程,判斷下一個時間-版本數(shù)據(jù);若不為空,則按行查詢數(shù)據(jù);若查詢結果僅有一個數(shù)據(jù),則該數(shù)據(jù)賦值給“上傳用戶數(shù)”統(tǒng)計項,其余單元格賦值為O;否則將按行正常賦值。8.根據(jù)權利要求6所述方法,其特征在于,步驟S44中,不一致時,輸出錯誤信息具體操作為:在系統(tǒng)導出數(shù)據(jù)保存區(qū)中該出錯數(shù)據(jù)對應的單元格內(nèi)顯示錯誤數(shù)據(jù)信息,并將字體置為紅色突出顯示。9.一種數(shù)據(jù)正確性驗證裝置,其特征在于,所述裝置包括:驅動數(shù)據(jù)保存模塊,用于在本地建立用于保存驅動數(shù)據(jù)的文檔;驅動數(shù)據(jù)導入模塊,用于將驅動數(shù)據(jù)導入至測試用表中;腳本參數(shù)化模塊,用于根據(jù)測試用例從對應的測試用表中取出驅動數(shù)據(jù)對腳本進行參數(shù)化;迭代驗證模塊,用于設置迭代次數(shù),根據(jù)迭代次數(shù)的設置,按行依次讀取表中數(shù)據(jù)來驅動測試腳本執(zhí)行數(shù)據(jù)驗證。10.根據(jù)權利要求9所述的裝置,其特征在于,所述迭代驗證模塊通過腳本執(zhí)行模塊驅動測試腳本執(zhí)行數(shù)據(jù)驗證,所述腳本執(zhí)行模塊包括:數(shù)據(jù)文檔創(chuàng)建模塊,用于在腳本執(zhí)行時首先創(chuàng)建以當前訪問的報表名命名的數(shù)據(jù)文檔,所述數(shù)據(jù)文檔中分為系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)兩部分;系統(tǒng)數(shù)據(jù)導出模塊,用于遍歷網(wǎng)頁報表,將獲取的數(shù)據(jù)按行保存在所述數(shù)據(jù)文檔的系統(tǒng)導出數(shù)據(jù)保存區(qū)中;數(shù)據(jù)庫數(shù)據(jù)導出模塊,用于依據(jù)待驗證報表名導出待查詢條件,依據(jù)導出的待查詢條件,按行導出數(shù)據(jù)庫數(shù)據(jù),保存在所述數(shù)據(jù)文檔的數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中;數(shù)據(jù)驗證模塊,對系統(tǒng)導出數(shù)據(jù)保存區(qū)和數(shù)據(jù)庫導出數(shù)據(jù)保存區(qū)中單元格數(shù)據(jù)一一對t匕,一致則測試通過;不一致,則在產(chǎn)生的測試結果報告中輸出錯誤信息。全文摘要本發(fā)明涉及數(shù)據(jù)測試
技術領域:
,提供了一種數(shù)據(jù)正確性驗證方法及裝置。該方法包括在本地建立用于保存驅動數(shù)據(jù)的文檔;將驅動數(shù)據(jù)導入至測試用表中;根據(jù)測試用表中驅動數(shù)據(jù)的列名對腳本進行參數(shù)化;設置迭代次數(shù),根據(jù)迭代次數(shù)的設置,依次讀取測試用表中每行的驅動數(shù)據(jù)替代參數(shù)來驅動測試腳本執(zhí)行數(shù)據(jù)驗證。本發(fā)明中將測試數(shù)據(jù)與腳本的分離,通過參數(shù)化的方式將數(shù)據(jù)文件中讀取到的數(shù)據(jù)寫入到腳本中,可以執(zhí)行一次腳本實現(xiàn)多張報表數(shù)據(jù)的測試,大大降低了腳本的維護成本,可有效提高QTP驗證web報表數(shù)據(jù)正確性的腳本利用率。文檔編號G06F17/30GK103186467SQ20111046215公開日2013年7月3日申請日期2011年12月31日優(yōu)先權日2011年12月31日發(fā)明者趙榮申請人:北京新媒傳信科技有限公司