新四季網

一種程序自動化測試方法及系統與流程

2023-12-10 04:33:46 1

本發明是關於計算機軟體測試技術,具體地,是關於一種程序自動化測試方法及系統。
背景技術:
:目前,在程序開發過程中或者後期的程序維護中,當對程序進行修改後,往往需要將整個程序重新進行測試,將全部測試案例重新運行,這涉及到需要重新準備大量測試數據,運行大量的測試案例,消耗大量的系統資源,浪費主機資源,造成系統運行效率、測試效率低。如果能夠自動分析出程序修改點,並將該程序修改點涉及的測試數據、測試案例分析與篩選出來,在進行程序測試時,只需要重新準備與修改點相關的測試數據,只運行修改點相關的測試案例,則將大大提高測試系統運行效率,提高測試效率。因此,如何實現上述過程是目前程序測試中需要研究解決的問題。技術實現要素:本發明實施例的主要目的在於提供一種程序自動化測試方法及系統,以實現更加方便、快捷且佔用資源較少的軟體測試過程。為了實現上述目的,本發明實施例提供一種程序自動化測試方法,所述的程序自動化測試方法包括:將修改後代碼與原始代碼進行差異比對,根據所述修改後代碼與原始代碼的差異位置生成代碼差異文本;根據預設的關鍵字及所述差異位置,查找所述修改後代碼中包含所述關鍵字、且距離所述差異位置最近的程序修改功能項;根據所述程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據,並執行所述測試腳本對所述測試數據進行測試。在一實施例中,上述的根據所述程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據,具體包括:根據預設的關鍵字定義表及所述程序修改功能項查找對應的案例功能項,其中,所述關鍵字定義表中記錄有所述案例功能項與所述程序修改功能項的對應關係;根據所述案例功能項檢索預設的腳本功能存儲表,確定所述案例功能項對應的測試腳本及測試數據。在一實施例中,上述的代碼差異文本中記錄的所述差異位置為所述修改後代碼與原始代碼相比的代碼修改點在所述修改後代碼中的修改點行數。在一實施例中,上述的根據預設的關鍵字及所述差異位置,查找所述修改後代碼中包含所述關鍵字、且距離所述差異位置最近的程序修改功能項,具體包括:從所述修改點行數開始,向上查找所述修改後代碼中包含所述關鍵字的至少一備選程序修改功能項;查找所述備選程序修改功能項中,距離所述修改點行數最近的一備選程序修改功能項,並確定為所述的程序修改功能項。在一實施例中,上述的查找所述備選程序修改功能項中,距離所述修改點行數最近的一備選程序修改功能項,具體包括:步驟1:從所述修改後代碼的第t行開始,根據第m行對應的關鍵字值向上查找;步驟2:若找到所述關鍵字值,則判斷a是否為0;若a為0,則直接將找到的關鍵字值所處行數賦給a;若a不為0,則判斷找到的關鍵字值所處行數是否大於a;步驟3:若找到的關鍵字值所處行數大於a,則將找到的關鍵字值所處行數賦給a,否則保留a的取值;步驟4:判斷m是否為所述關鍵字定義表的最後一行;若m不為所述關鍵字定義表的最後一行,則將m更新為m+1,返回執行所述步驟1至步驟3;若m為所述關鍵字定義表的最後一行,將a的取值對應的備選程序修改功能項確定為所述距離所述修改點行數最近的備選程序修改功能項;其中,m初始值為1,表示當前關鍵字定義表行數;a為臨時變量,初始值為0;t為所述代碼差異文本中記錄的所述修改點行數。在一實施例中,在所述步驟4之後,查找所述備選程序修改功能項中,距離所述修改點行數最近的一備選程序修改功能項,還包括:步驟5:判斷n是否為所述代碼差異文本的最後一行;若n不為所述代碼差異文本的最後一行,則將n更新為n+1,返回執行所述步驟1至步驟4;若n為所述代碼差異文本的最後一行,則執行根據預設的關鍵字定義表及所述程序修改功能項查找對應的案例功能項的步驟;其中,n初始值為1,表示所述代碼差異文本行數。在一實施例中,上述的執行所述測試腳本對所述測試數據進行測試,具體包括:通過所述測試腳本調用所述案例功能項所對應的程序代碼作為測試程序代碼;在單獨搭建的測試環境中運行所述測試程序代碼,對所述測試數據進行測試。本發明實施例還提供一種程序自動化測試系統,所述的程序自動化測試系統包括:代碼差異文本生成單元,用於將修改後代碼與原始代碼進行差異比對,根據所述修改後代碼與原始代碼的差異位置生成代碼差異文本;程序修改功能項查找單元,用於根據預設的關鍵字及所述差異位置,查找所述修改後代碼中包含所述關鍵字、且距離所述差異位置最近的程序修改功能項;測試腳本確定單元,用於根據所述程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據,並執行所述測試腳本對所述測試數據進行測試。在一實施例中,上述的測試腳本確定單元包括:案例功能項查找模塊,用於根據預設的關鍵字定義表及所述程序修改功能項查找對應的案例功能項,其中,所述關鍵字定義表中記錄有所述案例功能項與所述程序修改功能項的對應關係;測試腳本確定模塊,用於根據所述案例功能項檢索預設的腳本功能存儲表,確定所述案例功能項對應的測試腳本及測試數據。在一實施例中,上述的代碼差異文本中記錄的所述差異位置為所述修改後代碼與原始代碼相比的代碼修改點在所述修改後代碼中的修改點行數。在一實施例中,上述的程序修改功能項查找單元具體包括:備選程序修改功能項查找模塊,用於從所述修改點行數開始,向上查找所述修改後代碼中包含所述關鍵字的至少一備選程序修改功能項;程序修改功能項確定模塊,用於查找所述備選程序修改功能項中,距離所述修改點行數最近的一備選程序修改功能項,並確定為所述的程序修改功能項。在一實施例中,上述的程序修改功能項確定模塊具體用於執行以下步驟:步驟1:從所述修改後代碼的第t行開始,根據第m行對應的關鍵字值向上查找;步驟2:若找到所述關鍵字值,則判斷a是否為0;若a為0,則直接將找到的關鍵字值所處行數賦給a;若a不為0,則判斷找到的關鍵字值所處行數是否大於a;步驟3:若找到的關鍵字值所處行數大於a,則將找到的關鍵字值所處行數賦給a,否則保留a的取值;步驟4:判斷m是否為所述關鍵字定義表的最後一行;若m不為所述關鍵字定義表的最後一行,則將m更新為m+1,返回執行所述步驟1至步驟3;若m為所述關鍵字定義表的最後一行,將a的取值對應的備選程序修改功能項確定為所述距離所述修改點行數最近的備選程序修改功能項;其中,m初始值為1,表示當前關鍵字定義表行數;a為臨時變量,初始值為0;t為所述代碼差異文本中記錄的所述修改點行數。在一實施例中,上述的程序修改功能項確定模塊還用於:步驟5:判斷n是否為所述代碼差異文本的最後一行;若n不為所述代碼差異文本的最後一行,則將n更新為n+1,返回執行所述步驟1至步驟4;若n為所述代碼差異文本的最後一行,則觸發所述案例功能項查找單元,根據預設的關鍵字定義表及所述程序修改功能項查找對應的案例功能項;其中,n初始值為1,表示所述代碼差異文本行數。在一實施例中,上述的測試腳本確定單元執行所述測試腳本對所述測試數據進行測試的步驟,具體包括:通過所述測試腳本調用所述案例功能項所對應的程序代碼作為測試程序代碼;在單獨搭建的測試環境中運行所述測試程序代碼,對所述測試數據進行測試。本發明實施例的有益效果在於,能夠有效利用主機資源有針對性地進行測試,節省主機資源,並提高了測試效率。附圖說明為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為根據本發明實施例的程序自動化測試方法的流程圖;圖2A及圖2B為根據本發明實施例的程序修改功能項的查找過程的流程示意圖;圖3為根據本發明實施例的程序自動化測試系統的結構示意圖;圖4為根據本發明實施例的程序修改功能項查找單元2的結構示意圖;圖5為根據本發明實施例的測試腳本確定單元3的結構示意圖。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。本發明實施例提供一種程序自動化測試方法和系統。以下結合附圖對本發明進行詳細說明。如圖1所示,本發明實施例的程序自動化測試方法主要包括以下步驟:步驟S101:將修改後代碼與原始代碼進行差異比對,根據修改後代碼與原始代碼的差異位置生成代碼差異文本;步驟S102:根據預設的關鍵字及差異位置,查找修改後代碼中包含關鍵字、且距離差異位置最近的程序修改功能項;步驟S103:根據程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據,並執行測試腳本對所述測試數據進行測試。通過上述步驟S101至步驟S103,將新舊版本的代碼進行差異比較,找到差異點,根據該差異點來查找相應的程序修改功能項,從而有針對性地進行腳本測試,能夠有效利用主機資源進行測試,節省主機資源,並提高了測試效率。以下結合具體實施例,對本發明實施例的程序自動化測試方法做進一步說明。上述的步驟S101,將修改後代碼與原始代碼進行差異比對,根據修改後代碼與原始代碼的差異位置生成代碼差異文本。具體地,可以是將當前版本代碼(修改後代碼)及上一版本代碼(原始代碼)分別放在2個txt文本中,然後對兩個文本做逐行對比,比較差異點結果。具體實施時,該差異點可分為3種情況:第1種是當前版本代碼新增了代碼段;第2種是當前版本代碼修改了代碼段;第3種是當前版本代碼刪除了代碼段。將這3種情況的代碼的行數記錄在一個新的代碼差異文本(可以例如是txt格式)中。該代碼差異文本中記錄的內容例如是如下表1所示。表1程序修改行號528659...需要說明的是,在此實施例中所提及的txt文本,以及可能出現的差異點的情況均是舉例說明,而非用以限制本發明。上述步驟S102,根據預設的關鍵字及差異位置,查找修改後代碼中包含關鍵字、且距離差異位置最近的程序修改功能項。在通過上述步驟S101生成了代碼差異文本後,可依據該代碼差異文本中所記錄的程序修改點的行數,在修改後代碼中進行查找。在進行查找時,可依據一預先定義好的關鍵字定義表,按照其中所記錄的關鍵字進行查找。該關鍵字定義表如下表2所示。表2程序關鍵字案例功能項程序類型typeBasicProgram數據定義0ASP_CHECK數據檢查0ASP_SER查詢操作0ASP_ADD新增操作0ASP_UPD修改操作0ASP_DEL刪除操作0ASP_WRT_CJNL日誌登記0.........當查找到相應的關鍵字後,記錄至如下表3所示的記錄表中。表3程序名程序修改功能項1程序修改功能項2程序修改功能項3...4202ASP_CHECKASP_DELASP_WRT_CJNL3103ASP_SERASP_UPDASP_DEL6598typeBasicProgramASP_UPD在該記錄表中,程序名即是指在實際應用中,要進行測試的程序的名稱。在一具體實施例中,該程序名可對應於需要進行測試的某個交易所使用的程序。根據表2中記錄的一個或多個關鍵字向上查找時,可能會找到多個相對應的程序修改功能項,此時,需要確定在這些程序修改功能項中,離代碼修改點最近的程序修改功能項,並記錄至上述的表3中。在一較佳實施例中,上述的查找過程可通過如圖2A所示的過程表示,其具體流程如下:首先,設定該過程的變量n,m,i,a。其中,n初始值為1,表示修改後代碼文本行數;m初始值為1,表示當前關鍵字定義表行數;i初始值為空,表示離當前查找的代碼修改點最近的程序修改功能項名;a為臨時變量,初始值為0,用以賦值距離代碼修改點最近的程序修改功能項的行數。步驟S1:從修改後代碼的第t行開始,根據第m行對應的關鍵字值向上查找;步驟S2:若找到關鍵字值,則判斷a是否為0;若a為0,則直接將找到的關鍵字值所處行數賦給a;若a不為0,則判斷找到的關鍵字值所處行數是否大於a;步驟S3:若找到的關鍵字值所處行數大於a,則將找到的關鍵字值所處行數賦給a,否則保留a的取值;步驟S4:判斷m是否為關鍵字定義表的最後一行;若m不為關鍵字定義表的最後一行,則將m更新為m+1,返回執行上述步驟S1至步驟S3;若m為關鍵字定義表的最後一行,將a的取值對應的備選程序修改功能項確定為距離修改點行數最近的備選程序修改功能項。以上過程主要描述的是針對修改差異文本中一行數據(例如第n行所記錄的行數)向上查找的過程。如圖2B所示,當要針對修改差異文本中其他行數據進行查找時(例如第n+1行、第n+2行等等),則在上述的步驟執行完畢後,還需執行如下步驟:步驟S5:判斷n是否為代碼差異文本的最後一行;若n不為代碼差異文本的最後一行,則將n更新為n+1,返回執行步驟S1至步驟S4;若n為代碼差異文本的最後一行,則執行根據程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據的步驟,即繼續上述的步驟S103)。上述步驟S103,根據程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據,並執行測試腳本對測試數據進行測試。在通過步驟S102,查找到該修改後代碼中離代碼修改點最近的程序修改功能項之後,即可通過步驟S103,根據程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據,並執行測試腳本對測試數據進行測試。具體地,首先是在上述表2中對應查找與該程序修改功能項相對應的案例功能項。例如,從表3中程序名4202查找到的三個程序修改功能項「ASP_CHECK、ASP_DEL、ASP_WRT_CJNL」,在表2中分別對應案例功能項「數據檢查、刪除操作、日誌登記」,由此,生成查詢結果如下表4所示。表4程序名案例功能項獲取結果1案例功能項獲取結果2案例功能項獲取結果3...4202數據檢查刪除操作日誌登記3103查詢操作修改操作刪除操作6598數據定義修改操作由此,即找到了修改後代碼中離代碼修改點最近的案例功能項。然後,根據案例功能項檢索預設的腳本功能存儲表,確定案例功能項對應的測試腳本及測試數據,並執行測試腳本對所述測試數據進行測試。在本發明實施例中,預先存儲有案例功能項與腳本功能相對應的存儲表,即上述的腳本功能存儲表。在步驟S103中,在獲取到相應的案例功能項後,即可通過該腳本功能存儲表,查詢並獲取其相對應的測試腳本及測試數據,將確定的測試腳本提交測試環境運行,從而對測試數據進行測試。具體地,是通過測試腳本調用上述的案例功能項所對應的程序代碼作為測試程序代碼;在單獨搭建的測試環境中運行該測試程序代碼,對測試數據進行測試。例如,如以上表4中,需對程序名「4202」的程序,測試其「刪除操作」的功能,則需提交4202程序對應的案例名為「刪除操作」的腳本;在此腳本中,欄位「操作標誌」的測試數據送的值為:3刪除,則4202程序在讀取測試數據並運行時,判斷此欄位的值為3後,會自動去執行刪除操作的代碼,從而測試刪除操作的功能。本發明實施例的程序自動化測試方法,主要具有以下優點:1)對程序修改點智能化自動生成對應的案例及腳本,不必運行所有程序分支,提高了測試效率。2)有效利用主機資源運行程序,節省主機資源。以下結合一具體應用實例對本發明實施例的程序自動化測試方法的過程做具體說明。在此實施例中,是針對表3及表4中的程序名4202所進行的自動測試過程。步驟S1001:比對程序4202的新舊兩個版本,生成代碼差異文本,該文本中所記錄的內容以上述表1內容為例。步驟S1002:針對表1中第m行的內容,m的初始值為1。即第一處代碼差異點位於新版代碼的第5行,按照表2中所記錄的關鍵字依次進行查找。即,從第5行開始,先向上查找關鍵字「typeBasicProgram」,查找到該關鍵字「typeBasicProgram」的位置位於新版代碼的第3行,然後查找關鍵字「ASP_CHECK」,其位於新版代碼的第4行,然後查找關鍵字「ASP_SER」,其位於新版代碼的第2行,依次類推,依次查找表2中所記載的程序關鍵字。然後,比對各個關鍵字所在位置與代碼差異點的距離,確定離代碼差異點最近的關鍵字為「ASP_CHECK」。因此,基於第一處代碼差異點查找到的程序修改功能項即為「ASP_CHECK」,將其記錄在上述表3中。步驟S1003:針對表1中第m+1行的內容,即第二處代碼差異點位於新版代碼的第28行,按照表2中所記錄的關鍵字依次進行查找。即,從第28行開始,先向上查找關鍵字「typeBasicProgram」,查找到該關鍵字「typeBasicProgram」的位置位於新版代碼的第20行,然後查找關鍵字「ASP_CHECK」,其位於新版代碼的第15行,然後查找關鍵字「ASP_SER」,其位於新版代碼的第21行,依次類推,依次查找表2中所記載的程序關鍵字。然後,比對各個關鍵字所在位置與代碼差異點的距離,確定離代碼差異點最近的關鍵字為「ASP_DEL」。因此,基於第一處代碼差異點查找到的程序修改功能項即為「ASP_DEL」,將其記錄在上述表3中。步驟S1004:針對表1中第m+2行的內容,即第三處代碼差異點位於新版代碼的第659行,按照表2中所記錄的關鍵字依次進行查找。即,從第28行開始,先向上查找關鍵字「typeBasicProgram」,查找到該關鍵字「typeBasicProgram」的位置位於新版代碼的第600行,然後查找關鍵字「ASP_CHECK」,其位於新版代碼的第615行,然後查找關鍵字「ASP_SER」,其位於新版代碼的第621行,依次類推,依次查找表2中所記載的程序關鍵字。然後,比對各個關鍵字所在位置與代碼差異點的距離,確定離代碼差異點最近的關鍵字為「ASP_WRT_CJNL。因此,基於第一處代碼差異點查找到的程序修改功能項即為「ASP_WRT_CJNL,將其記錄在上述表3中。步驟S1005:根據上述表3中記錄的程序4202對應的三個程序修改功能項,在關鍵字定義表(上述表2)中查找其對應的案例功能項。即,ASP_CHECK對應於「數據檢查」、ASP_DEL對應於「刪除操作」、ASP_WRT_CJNL對應於「日誌登記」。因此,將查找到的相應的案例功能項對應進行記錄,從而生成表4。步驟S1006:根據表4中記錄的程序名4202中對對應的案例功能項,在預設的腳本功能存儲表中獲取相對應的測試腳本及測試數據,通過測試腳本調用上述的案例功能項所對應的程序代碼作為測試程序代碼;在單獨搭建的測試環境中運行該測試程序代碼,對測試數據進行測試。本發明實施例還提供一種程序自動化測試系統,如圖3所示,該程序自動化測試系統主要包括:代碼差異文本生成單元1、程序修改功能項查找單元2及測試腳本確定單元3等。其中,上述的代碼差異文本生成單元1,用於將修改後代碼與原始代碼進行差異比對,根據修改後代碼與原始代碼的差異位置生成代碼差異文本;程序修改功能項查找單元2用於根據預設的關鍵字及差異位置,查找修改後代碼中包含關鍵字、且距離差異位置最近的程序修改功能項;測試腳本確定單元3用於根據程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據,並執行測試腳本對所述測試數據進行測試。通過上述的各個組成部分,本發明實施例的程序自動化測試系統,將新舊版本的代碼進行差異比較,找到差異點,根據該差異點來查找相應的程序修改功能項,從而有針對性地進行腳本測試,能夠有效利用主機資源進行測試,節省主機資源,並提高了測試效率。以下結合具體實施例,對本發明實施例的程序自動化測試系統做進一步說明。上述的代碼差異文本生成單元1,用於將修改後代碼與原始代碼進行差異比對,根據修改後代碼與原始代碼的差異位置生成代碼差異文本。具體地,可以是將當前版本代碼(修改後代碼)及上一版本代碼(原始代碼)分別放在2個txt文本中,然後對兩個文本做逐行對比,比較差異點結果。具體實施時,該差異點可分為3種情況:第1種是當前版本代碼新增了代碼段;第2種是當前版本代碼修改了代碼段;第3種是當前版本代碼刪除了代碼段。將這3種情況的代碼的行數記錄在一個新的代碼差異文本(可以例如是txt格式)中。該代碼差異文本中記錄的內容例如是如表1所示。需要說明的是,在此實施例中所提及的txt文本,以及可能出現的差異點的情況均是舉例說明,而非用以限制本發明。上述的程序修改功能項查找單元2,用於根據預設的關鍵字及差異位置,查找修改後代碼中包含關鍵字、且距離差異位置最近的程序修改功能項。具體地,如圖4所示,該程序修改功能項查找單元2主要包括:備選程序修改功能項查找模塊21及程序修改功能項確定模塊22。其中,備選程序修改功能項查找模塊21用於從修改點行數開始,向上查找修改後代碼中包含關鍵字的至少一備選程序修改功能項;程序修改功能項確定模塊22用於查找備選程序修改功能項中,距離修改點行數最近的一備選程序修改功能項,並確定為程序修改功能項。在通過上述的代碼差異文本生成單元1生成了代碼差異文本後,可通過備選程序修改功能項查找模塊21依據該代碼差異文本中所記錄的程序修改點的行數,在修改後代碼中進行查找。在進行查找時,可依據一預先定義好的關鍵字定義表,按照其中所記錄的關鍵字進行查找。該關鍵字定義表如表2所示。當查找到相應的關鍵字後,記錄至如表3所示的記錄表中。在該記錄表中,程序名即是指在實際應用中,要進行測試的程序的名稱。在一具體實施例中,該程序名可對應於需要進行測試的某個交易所使用的程序。根據表2中記錄的一個或多個關鍵字向上查找時,可能會找到多個相對應的程序修改功能項作為備選程序修改功能項,此時,則需通過程序修改功能項確定模塊22確定在這些程序修改功能項中,離代碼修改點最近的程序修改功能項,並記錄至上述的表3中。在一較佳實施例中,上述程序修改功能項查找單元2的查找過程可通過如圖2A所示的過程表示,其具體流程如下:首先,設定該過程的變量n,m,i,a。其中,n初始值為1,表示修改後代碼文本行數;m初始值為1,表示當前關鍵字定義表行數;i初始值為空,表示離當前查找的代碼修改點最近的程序修改功能項名;a為臨時變量,初始值為0,用以賦值距離代碼修改點最近的程序修改功能項的行數。步驟S1:從修改後代碼的第t行開始,根據第m行對應的關鍵字值向上查找;步驟S2:若找到關鍵字值,則判斷a是否為0;若a為0,則直接將找到的關鍵字值所處行數賦給a;若a不為0,則判斷找到的關鍵字值所處行數是否大於a;步驟S3:若找到的關鍵字值所處行數大於a,則將找到的關鍵字值所處行數賦給a,否則保留a的取值;步驟S4:判斷m是否為關鍵字定義表的最後一行;若m不為關鍵字定義表的最後一行,則將m更新為m+1,返回執行上述步驟S1至步驟S3;若m為關鍵字定義表的最後一行,將a的取值對應的備選程序修改功能項確定為距離修改點行數最近的備選程序修改功能項。以上過程主要描述的是針對修改差異文本中一行數據(例如第n行所記錄的行數)向上查找的過程。當要針對修改差異文本中其他行數據進行查找時(例如第n+1行、第n+2行等等),則在上述的步驟執行完畢後,還需執行如下步驟:步驟S5:判斷n是否為代碼差異文本的最後一行;若n不為代碼差異文本的最後一行,則將n更新為n+1,返回執行步驟S1至步驟S4;若n為代碼差異文本的最後一行,則觸發測試腳本確定單元3,根據預設的對照表及程序修改功能項查找對應的測試腳本並進行測試)。上述的測試腳本確定單元3,用於根據程序修改功能項在預設的對照表中查找相應的測試腳本及測試數據,並執行測試腳本對測試數據進行測試。具體地,如圖5所示,該測試腳本確定單元3主要包括:案例功能項查找模塊31及測試腳本確定模塊32。其中,案例功能項查找模塊31用於根據預設的關鍵字定義表及程序修改功能項查找對應的案例功能項,其中,關鍵字定義表中記錄有案例功能項與程序修改功能項的對應關係;測試腳本確定模塊32用於根據案例功能項檢索預設的腳本功能存儲表,確定案例功能項對應的測試腳本及測試數據。在通過程序修改功能項查找單元2查找到該修改後代碼中離代碼修改點最近的程序修改功能項之後,即可通過案例功能項查找模塊31,在上述表2中對應查找與該程序修改功能項相對應的案例功能項。例如,從表3中程序名4202查找到的三個程序修改功能項「ASP_CHECK、ASP_DEL、ASP_WRT_CJNL」,在表2中分別對應案例功能項「數據檢查、刪除操作、日誌登記」,由此,生成查詢結果如表4所示。由此,即找到了修改後代碼中離代碼修改點最近的案例功能項。然後通過上述的測試腳本確定模塊32,根據案例功能項檢索預設的腳本功能存儲表,確定案例功能項對應的測試腳本及測試數據,並執行測試腳本對所述測試數據進行測試。在本發明實施例中,預先存儲有案例功能項與腳本功能相對應的存儲表,即上述的腳本功能存儲表。在通過案例功能項查找模塊31獲取到相應的案例功能項後,即可通過該腳本功能存儲表,查詢並獲取其相對應的測試腳本及測試數據,將確定的測試腳本提交測試環境運行,從而對測試數據進行測試。具體地,是通過測試腳本調用上述的案例功能項所對應的程序代碼作為測試程序代碼;在單獨搭建的測試環境中運行該測試程序代碼,對測試數據進行測試。例如,如以上表4中,需對程序名「4202」的程序,測試其「刪除操作」的功能,則需提交4202程序對應的案例名為「刪除操作」的腳本;在此腳本中,欄位「操作標誌」的測試數據送的值為:3刪除,則4202程序在讀取測試數據並運行時,判斷此欄位的值為3後,會自動去執行刪除操作的代碼,從而測試刪除操作的功能。本發明實施例的程序自動化測試系統,主要具有以下優點:1)對程序修改點智能化自動生成對應的案例及腳本,不必運行所有程序分支,提高了測試效率。2)有效利用主機資源運行程序,節省主機資源。以下結合一具體應用實例對本發明實施例的程序自動化測試系統所執行的過程做具體說明。在此實施例中,是針對表3及表4中的程序名4202所進行的自動測試過程。步驟S1001:比對程序4202的新舊兩個版本,生成代碼差異文本,該文本中所記錄的內容以上述表1內容為例。步驟S1002:針對表1中第m行的內容,m的初始值為1。即第一處代碼差異點位於新版代碼的第5行,按照表2中所記錄的關鍵字依次進行查找。即,從第5行開始,先向上查找關鍵字「typeBasicProgram」,查找到該關鍵字「typeBasicProgram」的位置位於新版代碼的第3行,然後查找關鍵字「ASP_CHECK」,其位於新版代碼的第4行,然後查找關鍵字「ASP_SER」,其位於新版代碼的第2行,依次類推,依次查找表2中所記載的程序關鍵字。然後,比對各個關鍵字所在位置與代碼差異點的距離,確定離代碼差異點最近的關鍵字為「ASP_CHECK」。因此,基於第一處代碼差異點查找到的程序修改功能項即為「ASP_CHECK」,將其記錄在上述表3中。步驟S1003:針對表1中第m+1行的內容,即第二處代碼差異點位於新版代碼的第28行,按照表2中所記錄的關鍵字依次進行查找。即,從第28行開始,先向上查找關鍵字「typeBasicProgram」,查找到該關鍵字「typeBasicProgram」的位置位於新版代碼的第20行,然後查找關鍵字「ASP_CHECK」,其位於新版代碼的第15行,然後查找關鍵字「ASP_SER」,其位於新版代碼的第21行,依次類推,依次查找表2中所記載的程序關鍵字。然後,比對各個關鍵字所在位置與代碼差異點的距離,確定離代碼差異點最近的關鍵字為「ASP_DEL」。因此,基於第一處代碼差異點查找到的程序修改功能項即為「ASP_DEL」,將其記錄在上述表3中。步驟S1004:針對表1中第m+2行的內容,即第三處代碼差異點位於新版代碼的第659行,按照表2中所記錄的關鍵字依次進行查找。即,從第28行開始,先向上查找關鍵字「typeBasicProgram」,查找到該關鍵字「typeBasicProgram」的位置位於新版代碼的第600行,然後查找關鍵字「ASP_CHECK」,其位於新版代碼的第615行,然後查找關鍵字「ASP_SER」,其位於新版代碼的第621行,依次類推,依次查找表2中所記載的程序關鍵字。然後,比對各個關鍵字所在位置與代碼差異點的距離,確定離代碼差異點最近的關鍵字為「ASP_WRT_CJNL。因此,基於第一處代碼差異點查找到的程序修改功能項即為「ASP_WRT_CJNL,將其記錄在上述表3中。步驟S1005:根據上述表3中記錄的程序4202對應的三個程序修改功能項,在關鍵字定義表(上述表2)中查找其對應的案例功能項。即,ASP_CHECK對應於「數據檢查」、ASP_DEL對應於「刪除操作」、ASP_WRT_CJNL對應於「日誌登記」。因此,將查找到的相應的案例功能項對應進行記錄,從而生成表4。步驟S1006:根據表4中記錄的程序名4202中對對應的案例功能項,在預設的腳本功能存儲表中獲取相對應的測試腳本及測試數據,通過測試腳本調用上述的案例功能項所對應的程序代碼作為測試程序代碼;在單獨搭建的測試環境中運行該測試程序代碼,對測試數據進行測試。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟可以通過程序來指令相關的硬體來完成,該程序可以存儲於一計算機可讀取存儲介質中,比如ROM/RAM、磁碟、光碟等。以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,並不用於限定本發明的保護範圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。當前第1頁1&nbsp2&nbsp3&nbsp

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀