測試方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種測試方法及裝置,該測試方法包括:準備測試文件,測試文件中包括基礎數(shù)據(jù)和期望結果數(shù)據(jù),該測試文件存儲于excel的工作表中,并將該基礎數(shù)據(jù)轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫;以該基礎數(shù)據(jù)為輸入數(shù)據(jù)來執(zhí)行該測試文件的單元測試,該單元測試完成后輸出實際測試結果數(shù)據(jù);以該excel數(shù)據(jù)格式從該測試文件中抽取該期望結果數(shù)據(jù);確定查詢條件,并基于該查詢條件搜索該數(shù)據(jù)庫以獲得與該查詢條件對應的實際測試結果數(shù)據(jù);比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)以得到差異信息。本發(fā)明能夠自動對比實際測試結果和期望結果并且顯示兩者差異,免去了人工逐條查看的繁瑣操作,提高了測試效率,降低了遺漏的可能性。
【專利說明】測試方法及裝置【技術領域】
[0001]本發(fā)明涉及一種測試方法及裝置,特別是涉及一種自動化單元的測試方法及裝置。
【背景技術】
[0002]在使用java開發(fā)語言(一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言)為完成某一業(yè)務邏輯而編寫出一段程序代碼后,需要驗證這段代碼是否能達到程序設計時的預期效果,所以就需要使用單元測試工具對這段程序代碼進行單元測試;而啟動這段程序代碼需要一些基礎數(shù)據(jù)作為程序的輸入數(shù)據(jù),在測試完成后通過查看程序的輸出數(shù)據(jù)來判斷程序的業(yè)務邏輯是否正確。在使用單元測試工具進行單元測試之前,需要為本次測試的業(yè)務邏輯準備基礎數(shù)據(jù),而在單元測試中需要根據(jù)實際的測試結果是否符合期望結果來進行斷言所測試的業(yè)務邏輯是否完全正確,并且在單元測試完成后需要將實際運行結果同期望運行結果進行比對分析,如果存在差異需要根據(jù)差異結果來分析業(yè)務邏輯存在的bug (在電腦系統(tǒng)或程序中,隱藏著的一些未被發(fā)現(xiàn)的缺陷或問題,即漏洞)。
[0003]在當前的實際操作中,沒有一種對單元測試所需基礎數(shù)據(jù)和期望結果數(shù)據(jù)的規(guī)范,在單元測試開始之前將所需數(shù)據(jù)按照規(guī)范統(tǒng)一在excel (—款試算表軟件)中給出,而且只是將所需的基礎數(shù)據(jù)通過各種手動的方式存入數(shù)據(jù)庫中,沒有一個規(guī)范格式的文件存檔,不便于多次進行同一單元測試操作。在單元測試中,很難判斷實際運行結果是否符合期望結果,進而在單元測試中直接給當前測試的業(yè)務邏輯一個斷言。在單元測試完成后同樣需要手動的逐條查看分析實際結果數(shù)據(jù)是否符合期望結果,效率低下且容易遺漏。這樣不僅會增加單元測試的工作量,在效率低下的同時出現(xiàn)失誤的幾率也更高,而且也不便于同一業(yè)務單元測試的多次執(zhí)行。
【發(fā)明內容】
[0004]本發(fā)明要解決的技術問題是為了克服現(xiàn)有技術中判斷單元測試的實際結果是否與期望結果相一致的過程依賴人工逐條查看、效率低下、容易造成遺漏的缺陷,提供一種自動化的測試方法及裝置,能夠自動對比實際測試結果和期望結果并且顯示兩者差異,免去了人工逐條查看的繁瑣操作,提高了測試效率,降低了遺漏的可能性。
[0005]本發(fā)明是通過下述技術方案來解決上述技術問題的:
[0006]一種測試方法,其特點在于,包括以下步驟:
[0007]S1、根據(jù)設定的一 excel數(shù)據(jù)格式準備測試文件,該測試文件中包括基礎數(shù)據(jù)和期望結果數(shù)據(jù),該測試文件存儲于excel的一工作表中,并將該基礎數(shù)據(jù)轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫;
[0008]S2,以該基礎數(shù)據(jù)為輸入數(shù)據(jù)來執(zhí)行該測試文件的單元測試,該單元測試完成后輸出實際測試結果數(shù)據(jù);
[0009]S3,以該excel數(shù)據(jù)格式從該測試文件中抽取該期望結果數(shù)據(jù);[0010]S4、根據(jù)該期望結果數(shù)據(jù)和該excel數(shù)據(jù)格式確定查詢條件,并且基于該查詢條件搜索該數(shù)據(jù)庫以獲得與該查詢條件對應的實際測試結果數(shù)據(jù);
[0011]S5、比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)以得到差異信息。
[0012]在該測試方法中,先在excel中按照設定的格式準備基礎數(shù)據(jù)和期望結果數(shù)據(jù),在單元測試開始時,將基礎數(shù)據(jù)有單元測試輔助工具轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫,供后續(xù)單元測試使用。而期望結果數(shù)據(jù)不用存入數(shù)據(jù)庫,在比對的時候,將該期望結果數(shù)據(jù)同從數(shù)據(jù)庫中取得的實際結果數(shù)據(jù)進行比對,從而得到差異信息。
[0013]優(yōu)選地,步驟S1中包括將該工作表中存入的該基礎數(shù)據(jù)根據(jù)設定的一 excel數(shù)據(jù)格式換為數(shù)據(jù)庫語言存入該數(shù)據(jù)庫的步驟。例如采用一測試輔助工具根據(jù)事先設定的excel數(shù)據(jù)格式將測試用的基礎數(shù)據(jù)轉換為數(shù)據(jù)庫格式數(shù)據(jù),并存入一數(shù)據(jù)庫中供單元測試所用,而且在存入之前,根據(jù)基礎數(shù)據(jù)的主鍵字段值清除歷史數(shù)據(jù),防止重復沖突。由于單元測試需要重復多次執(zhí)行,每次執(zhí)行前基礎數(shù)據(jù)都會被存入數(shù)據(jù)庫,而每次執(zhí)行完之后基礎數(shù)據(jù)可能會被修改,所以每次執(zhí)行單元測試需要將數(shù)據(jù)庫中主鍵值相同的歷史基礎數(shù)據(jù)清除掉。而數(shù)據(jù)庫的機制是同一主鍵數(shù)據(jù)只能同時存在一條記錄,如果不清楚就會發(fā)生沖突,無法寫入基礎數(shù)據(jù)。
[0014]優(yōu)選地,步驟S4中查詢條件的確定步驟包括:根據(jù)該excel數(shù)據(jù)格式將該期望結果數(shù)據(jù)中的主鍵字段和期望結果數(shù)據(jù)對應的數(shù)據(jù)值轉換為數(shù)據(jù)庫查詢語言;
[0015]步驟S4中獲得該實際測試結果數(shù)據(jù)的步驟包括:根據(jù)該數(shù)據(jù)庫查詢語言獲得該數(shù)據(jù)庫中的該實際測試結果數(shù)據(jù)。
[0016]優(yōu)選地,步驟S5中通過比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)各自的所屬字段名稱來得到該差異信息。
[0017]優(yōu)選地,步驟S5之后還包括:
[0018]S6、將該差異信息寫入該工作表中。
[0019]優(yōu)選地,步驟S6包括:
[0020]S61、獲得該工作表的庫表字段信息;
[0021]S62、根據(jù)該庫表字段信息和該差異信息定位所有差異信息所對應的該期望結果數(shù)據(jù)所在的單元格;
[0022]S63、將產(chǎn)生該差異信息的該實際測試結果數(shù)據(jù)和該期望結果數(shù)據(jù)寫入該單元格中。
[0023]優(yōu)選地,該excel數(shù)據(jù)格式包括以下的一種或多種:工作表整體樣式、忽略行格式、數(shù)據(jù)庫表名格式、數(shù)據(jù)庫表字段格式、期望結果數(shù)據(jù)標記格式、數(shù)據(jù)庫表主鍵字段格式、日期類型數(shù)據(jù)格式、數(shù)值型空數(shù)據(jù)值格式、字符型空數(shù)據(jù)值格式、數(shù)據(jù)庫庫表數(shù)據(jù)格式。
[0024]優(yōu)選地,該差異信息為該期望結果數(shù)據(jù)與該實際測試結果數(shù)據(jù)的差異描述信息的集合,該差異描述信息包括以下的一種或多種:所屬的期望結果庫表表名信息、表示是否存在差異的標志信息、表示存在差異的差異詳細描述信息和所屬的期望結果數(shù)據(jù)在該工作表中的行號信息。
[0025]優(yōu)選地,該差異詳細描述信息為存在差異的每個數(shù)據(jù)差異描述的集合,每個數(shù)據(jù)差異描述包括以下的一種或多種:所對應的數(shù)據(jù)庫庫表字段名稱、數(shù)據(jù)庫實際結果值和該工作表中的期望結果值。[0026]本發(fā)明還提供一種測試裝置,其特點在于,其包括一單元測試工具和一測試輔助工具,其中,
[0027]該單元測試工具用于根據(jù)設定的一 excel數(shù)據(jù)格式準備測試文件,該測試文件中包括基礎數(shù)據(jù)和期望結果數(shù)據(jù),該測試文件存儲于excel的一工作表中,并將該基礎數(shù)據(jù)轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫;以及以該基礎數(shù)據(jù)為輸入數(shù)據(jù)來執(zhí)行該測試文件的單元測試,該單元測試完成后輸出實際測試結果數(shù)據(jù);
[0028]該測試輔助工具用于以該excel數(shù)據(jù)格式從該測試文件中抽取該期望結果數(shù)據(jù);并且根據(jù)該期望結果數(shù)據(jù)和該excel數(shù)據(jù)格式確定查詢條件,并且基于該查詢條件搜索該數(shù)據(jù)庫以獲得與該查詢條件對應的實際測試結果數(shù)據(jù);以及比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)以得到差異信息。
[0029]在該測試裝置中,該單元測試工具先在excel中按照設定的格式準備基礎數(shù)據(jù)和期望結果數(shù)據(jù),在單元測試開始時,將基礎數(shù)據(jù)有單元測試輔助工具轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫,供后續(xù)單元測試使用。而期望結果數(shù)據(jù)不用存入數(shù)據(jù)庫,在比對的時候,該測試輔助工具將該期望結果數(shù)據(jù)同從數(shù)據(jù)庫中取得的實際結果數(shù)據(jù)進行比對,從而得到差異信
肩、O
[0030]優(yōu)選地,該測試輔助工具用于將該工作表中存入的該基礎數(shù)據(jù)根據(jù)設定的一excel數(shù)據(jù)格式換為數(shù)據(jù)庫語言存入該數(shù)據(jù)庫供單元測試使用。
[0031]優(yōu)選地,該測試輔助工具用于根據(jù)該excel數(shù)據(jù)格式將該期望結果數(shù)據(jù)中的主鍵字段和對應的數(shù)據(jù)值轉換為數(shù)據(jù)庫查詢語言來確定該查詢條件;并且該根據(jù)該數(shù)據(jù)庫查詢語言獲得該數(shù)據(jù)庫中的該實際測試結果數(shù)據(jù)。
[0032]優(yōu)選地,該測試輔助工具用于通過比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)各自的所屬字段名稱來得到該差異信息。
[0033]優(yōu)選地,該測試輔助工具用于將該差異信息寫入該工作表中。
[0034]優(yōu)選地,該測試輔助工具用于獲得該工作表的庫表字段信息;并且根據(jù)該庫表字段信息和該差異信息定位所有差異信息所對應的該期望結果數(shù)據(jù)所在的單元格;以及將產(chǎn)生該差異信息的該實際測試結果數(shù)據(jù)和該期望結果數(shù)據(jù)寫入該單元格中。
[0035]優(yōu)選地,該excel數(shù)據(jù)格式包括以下的一種或多種:工作表整體樣式、忽略行格式、數(shù)據(jù)庫表名格式、數(shù)據(jù)庫表字段格式、期望結果數(shù)據(jù)標記格式、數(shù)據(jù)庫表主鍵字段格式、日期類型數(shù)據(jù)格式、數(shù)值型空數(shù)據(jù)值格式、字符型空數(shù)據(jù)值格式、數(shù)據(jù)庫庫表數(shù)據(jù)格式。
[0036]優(yōu)選地,該差異信息為該期望結果數(shù)據(jù)與該實際測試結果數(shù)據(jù)的差異描述信息的集合,該差異描述信息包括以下的一種或多種:所屬的期望結果庫表表名信息、表示是否存在差異的標志信息、表示存在差異的差異詳細描述信息和所屬的期望結果數(shù)據(jù)在該工作表中的行號信息。
[0037]優(yōu)選地,該差異詳細描述信息為存在差異的每個數(shù)據(jù)差異描述的集合,每個數(shù)據(jù)差異描述包括以下的一種或多種:所對應的數(shù)據(jù)庫庫表字段名稱、數(shù)據(jù)庫實際結果值和該工作表中的期望結果值。
[0038]在符合本領域常識的基礎上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實例。
[0039]本發(fā)明的積極進步效果在于:通過本發(fā)明的測試方法及裝置,能夠自動對比實際測試結果和期望結果并且顯示兩者差異,免去了人工逐條查看的繁瑣操作,提高了測試效率,降低了遺漏的可能性。
【專利附圖】
【附圖說明】
[0040]圖1為本發(fā)明一實施例的測試方法的流程圖。
[0041]圖2為本發(fā)明一實施例的測試裝置的結構框圖。
【具體實施方式】
[0042]下面通過實施例的方式進一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實施例范圍之中。
[0043]參考圖1,該測試方法包括以下步驟:
[0044]S1、根據(jù)設定的一 excel數(shù)據(jù)格式準備測試文件,該測試文件中包括基礎數(shù)據(jù)和期望結果數(shù)據(jù),該測試文件存儲于excel的一工作表中,并將該基礎數(shù)據(jù)轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫;
[0045]S2,以該基礎數(shù)據(jù)為輸入數(shù)據(jù)來執(zhí)行該測試文件的單元測試,該單元測試完成后輸出實際測試結果數(shù)據(jù);
[0046]S3,以該excel數(shù)據(jù)格式從該測試文件中抽取該期望結果數(shù)據(jù);
[0047]S4、根據(jù)該期望結果數(shù)據(jù)和該excel數(shù)據(jù)格式確定查詢條件,并且基于該查詢條件搜索該數(shù)據(jù)庫以獲得與該查詢條件對應的實際測試結果數(shù)據(jù);
[0048]S5,比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)以得到差異信息;
[0049]S6、將該差異信息寫入該工作表中。
[0050]具體來說,步驟S1中包括將該工作表中存入的該基礎數(shù)據(jù)根據(jù)設定的一 excel數(shù)據(jù)格式換為數(shù)據(jù)庫語言存入該數(shù)據(jù)庫的步驟。
[0051]其中,步驟S4中查詢條件的確定步驟包括:根據(jù)該excel數(shù)據(jù)格式將該期望結果數(shù)據(jù)中的主鍵字段和對應的數(shù)據(jù)值轉換為數(shù)據(jù)庫查詢語言;
[0052]步驟S4中獲得該實際測試結果數(shù)據(jù)的步驟包括:根據(jù)該數(shù)據(jù)庫查詢語言獲得該數(shù)據(jù)庫中的該實際測試結果數(shù)據(jù)。
[0053]并且,步驟S5中通過比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)各自的所屬字段名稱來得到該差異信息。
[0054]為了更為直觀地顯示差異信息,步驟S6包括:
[0055]S61、獲得該工作表的庫表字段信息;
[0056]S62、根據(jù)該庫表字段信息和該差異信息定位所有差異信息所對應的該期望結果數(shù)據(jù)所在的單元格;
[0057]S63、將產(chǎn)生該差異信息的該實際測試結果數(shù)據(jù)和該期望結果數(shù)據(jù)寫入該單元格中。
[0058]在本實施例中,該excel數(shù)據(jù)格式包括以下的一種或多種:工作表整體樣式、忽略行格式、數(shù)據(jù)庫表名格式、數(shù)據(jù)庫表字段格式、期望結果數(shù)據(jù)標記格式、數(shù)據(jù)庫表主鍵字段格式、日期類型數(shù)據(jù)格式、數(shù)值型空數(shù)據(jù)值格式、字符型空數(shù)據(jù)值格式、數(shù)據(jù)庫庫表數(shù)據(jù)格式。[0059]舉例來說,excel工作表整體樣式是指,工作表中所有單元格都是文本數(shù)據(jù)格式,所有數(shù)據(jù)都從當前行的第一列開始。
[0060]忽略行格式例如,此行第一列數(shù)據(jù)必須為
[0061]數(shù)據(jù)庫表名格式例如,此行第一列數(shù)據(jù)必須為“TABLE”。
[0062]數(shù)據(jù)庫表字段格式例如,此行第一列數(shù)據(jù)必須為“FIELD”。
[0063]期望結果數(shù)據(jù)標記格式例如,此行第一列數(shù)據(jù)必須為“EXPECT”,此行一下所有數(shù)據(jù)都為期望結果數(shù)據(jù)。
[0064]數(shù)據(jù)庫表主鍵字段格式例如,以“$ ”開頭加上庫表字段名。
[0065]日期類型數(shù)據(jù)格式例如,以${nowTime}代表當前時間,$ {nowDate}代表當前日期,$ {yyy-MM-dd}代表該格式日期,${yyy-MM-dd hh:mm:ss}代表該格式時間。
[0066]數(shù)值型空數(shù)據(jù)值格式例如,以$ {null}(空數(shù)據(jù))替代。
[0067]字符型空數(shù)據(jù)值格式例如,以$ {blank}(空字符)替代。
[0068]數(shù)據(jù)庫庫表數(shù)據(jù)格式例如,此行第一列數(shù)據(jù)必須為“VALUE”。
[0069]具體來說,該差異信息為該期望結果數(shù)據(jù)與該實際測試結果數(shù)據(jù)的差異描述信息的集合,該差異描述信息包括以下的一種或多種:所屬的期望結果庫表表名信息、表示是否存在差異的標志信息、表示存在差異的差異詳細描述信息和所屬的期望結果數(shù)據(jù)在該工作表中的行號信息。
[0070]并且,該差異詳細描述信息為存在差異的每個數(shù)據(jù)差異描述的集合,每個數(shù)據(jù)差異描述包括以下的一種或多種:所對應的數(shù)據(jù)庫庫表字段名稱、數(shù)據(jù)庫實際結果值和該工作表中的期望結果值。
[0071]參考圖2,該測試裝置包括一單元測試工具I和一測試輔助工具2,其中,
[0072]該單元測試工具I用于根據(jù)設定的一 excel數(shù)據(jù)格式準備測試文件,該測試文件中包括基礎數(shù)據(jù)和期望結果數(shù)據(jù),該測試文件存儲于excel的一工作表中,并將該基礎數(shù)據(jù)轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫;以及以該基礎數(shù)據(jù)為輸入數(shù)據(jù)來執(zhí)行該測試文件的單元測試,該單元測試完成后輸出實際測試結果數(shù)據(jù);
[0073]該測試輔助工具2用于以該excel數(shù)據(jù)格式從該測試文件中抽取該期望結果數(shù)據(jù);并且根據(jù)該期望結果數(shù)據(jù)和該excel數(shù)據(jù)格式確定查詢條件,并且基于該查詢條件搜索該數(shù)據(jù)庫以獲得與該查詢條件對應的實際測試結果數(shù)據(jù);以及比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)以得到差異信息。
[0074]除此之外,該測試輔助工具2用于將該工作表中存入的該基礎數(shù)據(jù)根據(jù)設定的一excel數(shù)據(jù)格式換為數(shù)據(jù)庫語言存入該數(shù)據(jù)庫供單元測試使用。
[0075]以及,該測試輔助工具2用于根據(jù)該excel數(shù)據(jù)格式將該期望結果數(shù)據(jù)中的主鍵字段和對應的數(shù)據(jù)值轉換為數(shù)據(jù)庫查詢語言來確定該查詢條件;并且該根據(jù)該數(shù)據(jù)庫查詢語言獲得該數(shù)據(jù)庫中的該實際測試結果數(shù)據(jù)。
[0076]另外,該測試輔助工具2用于通過比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)各自的所屬字段名稱來得到該差異信息。
[0077]為了方便后續(xù)的查看,該測試輔助工具2用于將該差異信息寫入該工作表中。
[0078]其中,該測試輔助工具2用于獲得該工作表的庫表字段信息;并且根據(jù)該庫表字段信息和該差異信息定位所有差異信息所對應的該期望結果數(shù)據(jù)所在的單元格;以及將產(chǎn)生該差異信息的該實際測試結果數(shù)據(jù)和該期望結果數(shù)據(jù)寫入該單元格中。
[0079]較為常用的,該excel數(shù)據(jù)格式包括以下的一種或多種:工作表整體樣式、忽略行格式、數(shù)據(jù)庫表名格式、數(shù)據(jù)庫表字段格式、期望結果數(shù)據(jù)標記格式、數(shù)據(jù)庫表主鍵字段格式、日期類型數(shù)據(jù)格式、數(shù)值型空數(shù)據(jù)值格式、字符型空數(shù)據(jù)值格式、數(shù)據(jù)庫庫表數(shù)據(jù)格式。
[0080]該差異信息為該期望結果數(shù)據(jù)與該實際測試結果數(shù)據(jù)的差異描述信息的集合,該差異描述信息包括以下的一種或多種:所屬的期望結果庫表表名信息、表示是否存在差異的標志信息、表示存在差異的差異詳細描述信息和所屬的期望結果數(shù)據(jù)在該工作表中的行號信息。該差異詳細描述信息為存在差異的每個數(shù)據(jù)差異描述的集合,每個數(shù)據(jù)差異描述包括以下的一種或多種:所對應的數(shù)據(jù)庫庫表字段名稱、數(shù)據(jù)庫實際結果值和該工作表中的期望結果值。
[0081]采用本發(fā)明的測試方法和測試裝置將大大減少人為的干預,無需人工逐條查看來判斷業(yè)務邏輯是否存在bug,自動化程度大大提高。下面,通過一個具體的測試流程簡述該自動化測試方法。
[0082]在流程開始之前,需要根據(jù)規(guī)定的excel數(shù)據(jù)格式為本次測試準備需要的基礎數(shù)據(jù)和期望結果數(shù)據(jù),并存入excel的一工作表中待用。
[0083]本實施例的測試方法在執(zhí)行時,具體的實施步驟如下:
[0084]步驟1,測試輔助工具根據(jù)excel數(shù)據(jù)格式分析已準備的測試用excel數(shù)據(jù)文件,從中抽取出測試用基礎數(shù)據(jù)。
[0085]步驟2,測試輔助工具將步驟I得到的測試用基礎數(shù)據(jù)插入數(shù)據(jù)庫,并在插入之前,通過id (身份標識)刪除以后數(shù)據(jù),避免id重復插入失敗。
[0086]步驟3,運行單元測試方法,等待單元測試的完成。
[0087]步驟4,測試輔助工具根據(jù)excel數(shù)據(jù)格式分析已準備的測試用excel數(shù)據(jù)文件,從中抽取出測試期望結果數(shù)據(jù)。
[0088]步驟5,測試輔助工具根據(jù)步驟4得到的測試期望結果數(shù)據(jù)和excel數(shù)據(jù)格式確定查詢條件,從數(shù)據(jù)庫中得到對應測試實際結果數(shù)據(jù)。
[0089]步驟6,測試輔助工具將步驟4得到的期望結果數(shù)據(jù)與步驟5得到的測試實際結果數(shù)據(jù)進行比對,給出差異結果描述。
[0090]步驟7,測試輔助工具將步驟6得到的差異結果描述信息寫入excel數(shù)據(jù)文件中。
[0091]本發(fā)明涉及的單元測試為利用諸如junit (—個回歸測試框架)等此類單元測試工具對用java開發(fā)語言編寫的某一段程序進行測試,進而判斷這段代碼完成的業(yè)務邏輯是否達到程序設計的預期效果。在單元測試開始之前,依據(jù)本發(fā)明所規(guī)范的excel數(shù)據(jù)格式準備單元測試中所需基礎數(shù)據(jù)和期望結果數(shù)據(jù);在單元測試中,通過本發(fā)明所提供的單元測試輔助工具為單元測試提供所需基礎數(shù)據(jù),輔助單元測試工具完成對某段代碼的測試;在單元測試完成后,通過本發(fā)明所提供的單元測試輔助工具,根據(jù)之前準備的期望結果數(shù)據(jù)同程序所產(chǎn)生的真實數(shù)據(jù)進行比對,給出兩者的差異描述。本發(fā)明極大減少了人工干預,在業(yè)務邏輯是否存在bug的判斷中提高了自動化程度,減少了判斷出錯的概率。
[0092]雖然以上描述了本發(fā)明的【具體實施方式】,但是本領域的技術人員應當理解,這些僅是舉例說明,本發(fā)明的保護范圍是由所附權利要求書限定的。本領域的技術人員在不背離本發(fā)明的原理和實質的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護范圍。
【權利要求】
1.一種測試方法,其特征在于,包括以下步驟: 51、根據(jù)設定的一excel數(shù)據(jù)格式準備測試文件,該測試文件中包括基礎數(shù)據(jù)和期望結果數(shù)據(jù),該測試文件存儲于excel的一工作表中,并將該基礎數(shù)據(jù)轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫; 52、以該基礎數(shù)據(jù)為輸入數(shù)據(jù)來執(zhí)行該測試文件的單元測試,該單元測試完成后輸出實際測試結果數(shù)據(jù); 53、以該excel數(shù)據(jù)格式從該測試文件中抽取該期望結果數(shù)據(jù); 54、根據(jù)該期望結果數(shù)據(jù)和該excel數(shù)據(jù)格式確定查詢條件,并且基于該查詢條件搜索該數(shù)據(jù)庫以獲得與該查詢條件對應的實際測試結果數(shù)據(jù); 55、比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)以得到差異信息。
2.如權利要求1所述的測試方法,其特征在于,步驟S1中包括將該工作表中存入的該基礎數(shù)據(jù)根據(jù)設定的一 excel數(shù)據(jù)格式換為數(shù)據(jù)庫語言存入該數(shù)據(jù)庫的步驟。
3.如權利要求1所述的測試方法,其特征在于,步驟S4中查詢條件的確定步驟包括:根據(jù)該excel數(shù)據(jù)格式將該期望結果數(shù)據(jù)中的主鍵字段和對應的數(shù)據(jù)值轉換為數(shù)據(jù)庫查詢語H ; 步驟S4中獲得該實際測試結果數(shù)據(jù)的步驟包括:根據(jù)該數(shù)據(jù)庫查詢語言獲得該數(shù)據(jù)庫中的該實際測試結果數(shù)據(jù) 。
4.如權利要求1所述的測試方法,其特征在于,步驟S5中通過比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)各自的所屬字段名稱來得到該差異信息。
5.如權利要求1-4中任意一項所述的測試方法,其特征在于,步驟S5之后還包括: 56、將該差異信息寫入該工作表中。
6.如權利要求5所述的測試方法,其特征在于,步驟S6包括: 561、獲得該工作表的庫表字段信息; 562、根據(jù)該庫表字段信息和該差異信息定位所有差異信息所對應的該期望結果數(shù)據(jù)所在的單元格; 563、將產(chǎn)生該差異信息的該實際測試結果數(shù)據(jù)和該期望結果數(shù)據(jù)寫入該單元格中。
7.如權利要求5所述的測試方法,其特征在于,該excel數(shù)據(jù)格式包括以下的一種或多種:工作表整體樣式、忽略行格式、數(shù)據(jù)庫表名格式、數(shù)據(jù)庫表字段格式、期望結果數(shù)據(jù)標記格式、數(shù)據(jù)庫表主鍵字段格式、日期類型數(shù)據(jù)格式、數(shù)值型空數(shù)據(jù)值格式、字符型空數(shù)據(jù)值格式、數(shù)據(jù)庫庫表數(shù)據(jù)格式。
8.如權利要求5所述的測試方法,其特征在于,該差異信息為該期望結果數(shù)據(jù)與該實際測試結果數(shù)據(jù)的差異描述信息的集合,該差異描述信息包括以下的一種或多種:所屬的期望結果庫表表名信息、表示是否存在差異的標志信息、表示存在差異的差異詳細描述信息和所屬的期望結果數(shù)據(jù)在該工作表中的行號信息。
9.如權利要求8所述的測試方法,其特征在于,該差異詳細描述信息為存在差異的每個數(shù)據(jù)差異描述的集合,每個數(shù)據(jù)差異描述包括以下的一種或多種:所對應的數(shù)據(jù)庫庫表字段名稱、數(shù)據(jù)庫實際結果值和該工作表中的期望結果值。
10.一種測試裝置,其特征在于,其包括一單元測試工具和一測試輔助工具,其中, 該單元測試工具用于根據(jù)設定的一 excel數(shù)據(jù)格式準備測試文件,該測試文件中包括基礎數(shù)據(jù)和期望結果數(shù)據(jù),該測試文件存儲于excel的一工作表中,并將該基礎數(shù)據(jù)轉換為數(shù)據(jù)庫語言存入數(shù)據(jù)庫;以及以該基礎數(shù)據(jù)為輸入數(shù)據(jù)來執(zhí)行該測試文件的單元測試,該單元測試完成后輸出實際測試結果數(shù)據(jù); 該測試輔助工具用于以該excel數(shù)據(jù)格式從該測試文件中抽取該期望結果數(shù)據(jù);并且根據(jù)該期望結果數(shù)據(jù)和該excel數(shù)據(jù)格式確定查詢條件,并且基于該查詢條件搜索該數(shù)據(jù)庫以獲得與該查詢條件對應的實際測試結果數(shù)據(jù);以及比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)以得到差異信息。
11.如權利要求10所述的測試裝置,其特征在于,該測試輔助工具用于將該工作表中存入的該基礎數(shù)據(jù)根據(jù)設定的一 excel數(shù)據(jù)格式換為數(shù)據(jù)庫語言存入該數(shù)據(jù)庫。
12.如權利要求10所述的測試裝置,其特征在于,該測試輔助工具用于根據(jù)該excel數(shù)據(jù)格式將該期望結果數(shù)據(jù)中的主鍵字段和對應的數(shù)據(jù)值轉換為數(shù)據(jù)庫查詢語言來確定該查詢條件;并且該根據(jù)該數(shù)據(jù)庫查詢語言獲得該數(shù)據(jù)庫中的該實際測試結果數(shù)據(jù)。
13.如權利要求10所述的測試裝置,其特征在于,該測試輔助工具用于通過比對該期望結果數(shù)據(jù)和該實際測試結果數(shù)據(jù)各自的所屬字段名稱來得到該差異信息。
14.如權利要求10-13中任意一項所述的測試裝置,其特征在于,該測試輔助工具用于將該差異信息寫入該工作表中。
15.如權利要求14所述的測試裝置,其特征在于,該測試輔助工具用于獲得該工作表的庫表字段信息;并且根據(jù)該庫表字段信息和該差異信息定位所有差異信息所對應的該期望結果數(shù)據(jù)所在的單元格;以及將產(chǎn)生該差異信息的該實際測試結果數(shù)據(jù)和該期望結果數(shù)據(jù)寫入該單元格中。
16.如權利要求14所述的測試裝置,其特征在于,該excel數(shù)據(jù)格式包括以下的一種或多種:工作表整體樣式、忽略行格式、數(shù)據(jù)庫表名格式、數(shù)據(jù)庫表字段格式、期望結果數(shù)據(jù)標記格式、數(shù)據(jù)庫表主鍵字段格式、日期類型數(shù)據(jù)格式、數(shù)值型空數(shù)據(jù)值格式、字符型空數(shù)據(jù)值格式、數(shù)據(jù)庫庫表數(shù)據(jù)格式。
17.如權利要求14所述的測試裝置,其特征在于,該差異信息為該期望結果數(shù)據(jù)與該實際測試結果數(shù)據(jù)的差異描述信息的集合,該差異描述信息包括以下的一種或多種:所屬的期望結果庫表表名信息、表示是否存在差異的標志信息、表示存在差異的差異詳細描述信息和所屬的期望結果數(shù)據(jù)在該工作表中的行號信息。
18.如權利要求17所述的測試裝置,其特征在于,該差異詳細描述信息為存在差異的每個數(shù)據(jù)差異描述的集合,每個數(shù)據(jù)差異描述包括以下的一種或多種:所對應的數(shù)據(jù)庫庫表字段名稱、數(shù)據(jù)庫實際結果值和該工作表中的期望結果值。
【文檔編號】G06F11/36GK103942138SQ201310025259
【公開日】2014年7月23日 申請日期:2013年1月23日 優(yōu)先權日:2013年1月23日
【發(fā)明者】孫超, 湯中明, 衛(wèi)建 申請人:紐海信息技術(上海)有限公司