專利名稱:一種軟件產品測試系統(tǒng)的制作方法
技術領域:
本實用新型關于計算機軟件測試技術,特別是關于使用軟件自動化測試工具的軟件測試技木,具體地講是ー種軟件產品測試系統(tǒng)。
背景技術:
傳統(tǒng)的軟件測試基本上都是使用自動化測試工具來實施的。當自動化測試工具錄制腳本時,會用Java或者其他腳本語言(TSL :Test Script Language)生成一個測試腳本。 該測試腳本中記錄了所有在錄制期間在被測試應用對象上執(zhí)行的所有操作。例如,點擊ー 個按鈕、選擇一個列表中的某ー項、向一個文本框內輸入數(shù)據(jù)等等。自動化測試工具在錄制生成測試腳本的同時也會自動生成與測試腳本一一對應的,記錄其測試對象識別屬性相關信息的配置文件(如自動化測試工具IBM Rational Functional Tester的測試對象圖文件* rftxmap等),這些配置文件記錄測試腳本中所有測試對象的識別屬性(為在腳本回放吋,自動化測試工具識別測試對象提供的配置參數(shù)信息)。然后由自動化測試工具讀取測試腳本、測試對象識別屬性配置文件等腳本資源,通過回放該腳本來實現(xiàn)自動重復之前操作的過程。然而傳統(tǒng)的基于錄制回放的自動化測試方法存在以下弊端(一)自動化測試腳本的耦合度高、復用性和通用性差。通過工具錄制生成的自動化測試腳本,腳本不能拆分、 不能被其他腳本引用。一旦軟件系統(tǒng)的步驟、流程發(fā)生變化,將會導致腳本無法運行使用, 通常需要重新制作腳本。同吋,由于通過工具錄制生成的自動化測試腳本由于不能進行分割后単獨使用,所以無法提供給新錄制的腳本進行使用。對于ー些重復性很高的軟件測試操作,每次都需要重頭開始制作腳本,造成資源極大的浪費。(ニ)自動化測試腳本冗長而復雜、維護成本高。傳統(tǒng)的自動化測試腳本通常將整個流程的操作都記錄在ー個腳本中,開發(fā)和維護自動化測試腳本的復雜程度高、工作量大,不利于自動化測試工具使用和推廣。
實用新型內容本實用新型實施例提供了ー種軟件產品測試系統(tǒng),以解決自動化測試工具在使用中的復用性低、通用性差、腳本維護成本高以及腳本開發(fā)難度大等問題。本實用新型的目的是,提供ー種軟件產品測試系統(tǒng),該系統(tǒng)包括測試終端、測試服務器和自動化測試工具;測試終端與所述的測試服務器相連接,所述的測試服務器與所述的自動化測試工具相連接;測試服務器包括案例構建裝置、測試執(zhí)行裝置和數(shù)據(jù)存儲裝置,案例構建裝置分別與測試終端、測試執(zhí)行裝置和數(shù)據(jù)存儲裝置相連接,測試執(zhí)行裝置分別與數(shù)據(jù)存儲裝置、測試終端和自動化測試工具相連接;案例構建裝置包括源腳本讀取單元,與自動化測試工具相連接;測試對象獲取單元,與源腳本讀取單元相連接;動作及數(shù)據(jù)獲取單元,與源腳本讀取單元相連接;原子步驟構建単元,分別與測試對象獲取單元和動作及數(shù)據(jù)獲取単元相連接;關鍵字步驟構建單元,與數(shù)據(jù)存儲裝置相連接;關鍵字案例構建單元,與數(shù)據(jù)存儲裝置相連接;[0008]測試執(zhí)行裝置包括執(zhí)行指令接收單元,與測試終端相連接;執(zhí)行序列獲取單元, 與數(shù)據(jù)存儲裝置相連接;執(zhí)行序列輸出單元,與自動化測試工具相連接;執(zhí)行結果展示單元,與測試終端相連接;測試終端展示測試執(zhí)行結果。軟件產品測試系統(tǒng)的數(shù)據(jù)存儲裝置進ー步包括原子步驟存儲單元;關鍵字步驟存儲單元;關鍵字案例存儲單元;參數(shù)數(shù)據(jù)存儲単元;指令案例關系存儲單元。本實用新型的有益效果在干克服了傳統(tǒng)自動化測試在進行回歸測試過程中復用性低、通用性差、腳本制作復雜的問題。對已經執(zhí)行過一次的測試案例,不需要重新構建,只需要通過選取原子步驟、關鍵字步驟或者關鍵字案例,快速組合構建出新的原子步驟執(zhí)行序列,傳遞給自動化測試工具執(zhí)行即可;即使沒有執(zhí)行過的測試案例,只需構建一次關鍵字案例便可以被重復利用。本實用新型實施例通過定義出原子步驟的規(guī)則,將測試腳本劃分為粒度最細的原子步驟,原子步驟可以構建成關鍵字步驟,關鍵字步驟可以進ー步構建成粒度更大的關鍵字案例。測試人員可以結合實際測試需求,像搭積木ー樣任意構建成自動化測試案例。本實用新型實施例通過將原子步驟構建為關鍵字步驟,大大提高了自動化測試案例的復用性和通用性,降低了開發(fā)、維護腳本的難度,減少了自動化測試的成本。本實用新型實施例通過共享和調用關鍵字案例、關鍵字步驟和原子步驟,加快了自動化測試案例開發(fā)的速度,有效激發(fā)團隊協(xié)作、共同開發(fā)的能力。極大地提高了測試效率。
為了更清楚地說明本實用新型實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本實用新型的一些實施例,對于本領域技術人員來講,在不付出創(chuàng)造性勞動性的前提下, 還可以根據(jù)這些附圖獲得其他的附圖。圖I為本實用新型實施例軟件產品測試系統(tǒng)的結構框圖;圖2為本實用新型實施例的案例構建裝置的結構框圖;圖3為本實用新型實施例的測試執(zhí)行裝置的結構框圖;圖4為本實用新型實施例的數(shù)據(jù)存儲裝置的結構框圖;圖5為本實用新型實施例軟件產品測試系統(tǒng)的工作流程圖;圖6為本實用新型實施例軟件產品測試方法的流程圖。
具體實施方式
下面將結合本實用新型實施例中的附圖,對本實用新型實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本實用新型一部分實施例,而不是全部的實施例。基于本實用新型中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本實用新型保護的范圍。如圖I所示,本實用新型實施例的軟件產品測試系統(tǒng)包括測試服務器100、測試終端200和自動化測試工具300。測試服務器100包括案例構建裝置101、測試執(zhí)行裝置 102和數(shù)據(jù)存儲裝置103。[0022]如圖2所示,案例構建裝置101包括源腳本讀取單元1011,用于讀取外部自動化測試工具傳來的測試腳本文件和測試對象配置文件;測試對象獲取單元1012,用于從測試對象配置文件中抽取出所有測試對象的對象名稱、識別屬性和對象類型;動作及數(shù)據(jù)獲取単元1013,用于從測試腳本文件中分別抽取出對象動作和對應的測試數(shù)據(jù),并將測試數(shù)據(jù)轉換為參數(shù)變量;原子步驟構建単元1014,用于將每個測試對象的一次獨立操作以“對象名稱.對象動作(參數(shù)變量)”的格式構建成ー個原子步驟,并將原子步驟和參數(shù)變量對應的實際數(shù)據(jù)值進行存儲;關鍵字步驟構建単元1015,用于對原子步驟進行選取,按照選取順序將被選取的原子步驟構建成關鍵字步驟,并將關鍵字步驟進行存儲;關鍵字案例構建単元1016,用于對關鍵字步驟進行選取,按照選取順序將被選取的關鍵字步驟構建成關鍵字案例,并將關鍵字案例進行存儲。如圖3所示,測試執(zhí)行裝置102包括執(zhí)行指令接收單元1021,用于接收用戶輸入的包含關鍵字案例名稱或字符串的案例執(zhí)行指令;執(zhí)行序列獲取單兀1022,用于根據(jù)案例執(zhí)行指令,按照關鍵字案例、關鍵字步驟和原子步驟的查詢順序獲取對應的原子步驟,組成原子步驟執(zhí)行序列;執(zhí)行序列輸出單元1023,將原子步驟執(zhí)行序列傳給外部自動化測試工具進行測試執(zhí)行;執(zhí)行結果展示単元1024,用于展示測試執(zhí)行結果。如圖4所示,數(shù)據(jù)存儲裝置103包括原子步驟存儲單元1031,用于存儲原子步驟信息;關鍵字步驟存儲單元1032,用于存儲關鍵字步驟信息;關鍵字案例存儲單元1033,用于存儲關鍵字案例信息。參數(shù)數(shù)據(jù)存儲単元1034,用于存儲參數(shù)變量和對應的實際數(shù)據(jù); 指令案例關系存儲單元1035,用于存儲案例執(zhí)行指令與關鍵字案例的對應關系。在圖I中,自動化測試工具300除了錄制回放功能外,通常都提供了ー些API接 ロ,比如“對象查找API接ロ ” :通過接受傳入的“測試對象識別屬性”實現(xiàn)在被測試系統(tǒng)界面上查找相應測試對象的功能;“對象操作API接ロ”:通過接受傳入的“測試對象”、“行為”、“數(shù)據(jù)”實現(xiàn)對相應測試對象進行相關操作(如點擊、選擇等)。如圖5所示,本實用新型實施例的軟件產品測試系統(tǒng)的工作流程包括步驟al、自動化測試工具生成測試腳本文件和測試對象配置文件。步驟a2、測試服務器讀取測試腳本文件和測試對象配置文件。步驟a3、測試服務器從測試對象配置文件中抽取出所有測試對象的對象名稱、識別屬性和對象類型。步驟a4和a5、測試服務器從測試腳本文件中分別抽取出對象動作和對應的測試數(shù)據(jù),并將測試數(shù)據(jù)轉換為參數(shù)變量。步驟a6和a7、測試服務器將每個測試對象的一次獨立操作以“對象名稱.對象動作(參數(shù)變量)”的格式構建成ー個原子步驟,并將原子步驟存儲到原子步驟數(shù)據(jù)庫,將參數(shù)變量和對應的實際數(shù)據(jù)值存儲到參數(shù)變量數(shù)據(jù)庫。步驟a8-all、測試服務器對原子步驟進行選取,按照選取順序將被選取的原子步驟構建成關鍵字步驟,并將關鍵字步驟存儲到關鍵字步驟數(shù)據(jù)庫。步驟al2_al7、測試服務器對所述的關鍵字步驟進行選取,按照選取順序將被選取的關鍵字步驟構建成關鍵字案例,并將關鍵字案例存儲到關鍵字案例數(shù)據(jù)庫。步驟bl、用戶向測試終端輸入包含關鍵字案例名稱或字符串的案例執(zhí)行指令。步驟b2、測試服務器根據(jù)案例執(zhí)行指令,按照關鍵字案例、關鍵字步驟和原子步驟
5的查詢順序獲取對應的原子步驟,組成原子步驟執(zhí)行序列。步驟b3和b4、將原子步驟執(zhí)行序列傳給外部自動化測試工具進行測試執(zhí)行。其中;將測試對象識別屬性傳送給對象查找API接ロ,將測試對象和原子步驟執(zhí)行序列中的 “動作”、“數(shù)據(jù)值”傳送給對象操作API接ロ。步驟b5和b6、測試服務器生成測試執(zhí)行結果,由測試終端展示該測試執(zhí)行結果。本實用新型實施例的軟件產品測試系統(tǒng)的工作流程還包括建立案例執(zhí)行指令與關鍵字案例的對應關系,并將案例執(zhí)行指令與關鍵字案例的對應關系存入指令案例關系庫。在圖5中,本實用新型實施例的軟件產品測試系統(tǒng)定義出統(tǒng)ー標準的原子步驟, 原子步驟可以構建為關鍵字步驟,關鍵字步驟又進ー步可以構建成關鍵字案例,并存儲到數(shù)據(jù)存儲裝置103中。如果被測對象發(fā)生變化,本實用新型實施例的軟件產品測試系統(tǒng)通過測試終端200輸入的指令,選取原子步驟、關鍵字步驟或者關鍵字案例,快速組合構建出新的原子步驟執(zhí)行序列,傳遞給自動化測試工具300相應的API接ロ。將此原子步驟執(zhí)行序列中各測試對象的“測試對象識別屬性”傳遞給“對象查找API接ロ ”,實現(xiàn)相應對象的查找功能,再將“對象查找API接ロ”查找到的“測試對象”以及“行為”、“數(shù)據(jù)”傳遞給“對象操作API接ロ”,實現(xiàn)對相應對象進行操作的功能。從而最終實現(xiàn)回放功能。對于已經執(zhí)行過一次的測試案例,只需傳入測試數(shù)據(jù)就可以反復去執(zhí)行。對數(shù)據(jù)存儲裝置103中沒有的案例,也只需構建一次。這樣在測試過程中可以節(jié)省大量時間、提高了工作效率。本實用新型實施例系統(tǒng)主要實現(xiàn)ー種基于對操作步驟進行構建的自動化測試方法。原子步驟作為粒度最細的組件,是構建自動化測試案例最小単元。原子步驟只包含一個測試行為,并且相互之間獨立,不從屬于任何腳本。由ー個或多個原子步驟構建成關鍵字步驟,一個或多個關鍵字步驟進一步構建成粒度更大的關鍵字案例。所有的原子步驟存入原子步驟存儲單元;關鍵字步驟存入關鍵字步驟存儲單元、 關鍵字案例存入關鍵字案例存儲單元。在自動化測試執(zhí)行時,通過用戶向本實用新型實施例系統(tǒng)輸入指令,本實用新型實施例系統(tǒng)根據(jù)指令自動獲取相應的關鍵字案例進行執(zhí)行, 也可以由用戶通過本實用新型實施例系統(tǒng)提供的選擇界面手動構建關鍵字案例后進行執(zhí)行。本實用新型實施例系統(tǒng)的數(shù)據(jù)存儲裝置的原子步驟存儲單元,用于存儲各被測試的軟件系統(tǒng)的對象信息,該信息至少包含原子步驟編號、對象名稱、對象動作、對象類型、識別屬性、參數(shù)變量名、參數(shù)編號,其數(shù)據(jù)存儲的格式如表I所示表I
權利要求1.一種軟件產品測試系統(tǒng),其特征是,所述的系統(tǒng)包括測試終端、測試服務器和自動化測試工具;所述的測試終端與所述的測試服務器相連接,所述的測試服務器與所述的自動化測試工具相連接;所述的測試服務器包括案例構建裝置、測試執(zhí)行裝置和數(shù)據(jù)存儲裝置,所述的案例構建裝置分別與所述的測試終端、測試執(zhí)行裝置和數(shù)據(jù)存儲裝置相連接,所述的測試執(zhí)行裝置分別與所述的數(shù)據(jù)存儲裝置、測試終端和自動化測試工具相連接;所述的案例構建裝置包括源腳本讀取單元,與所述的自動化測試工具相連接;測試對象獲取單元,與所述的源腳本讀取單元相連接;動作及數(shù)據(jù)獲取単元,與所述的源腳本讀取單元相連接;原子步驟構建単元,分別與所述的測試對象獲取單元和動作及數(shù)據(jù)獲取単元相連接; 關鍵字步驟構建単元,與所述的數(shù)據(jù)存儲裝置相連接;關鍵字案例構建單元,與所述的數(shù)據(jù)存儲裝置相連接;所述的測試執(zhí)行裝置包括執(zhí)行指令接收單元,與所述的測試終端相連接;執(zhí)行序列獲取單元,與所述的數(shù)據(jù)存儲裝置相連接;執(zhí)行序列輸出單元,與所述的自動化測試工具相連接;執(zhí)行結果展示単元,與所述的測試終端相連接;所述的測試終端展示測試執(zhí)行結果。
2.根據(jù)權利要求I所述的軟件產品測試系統(tǒng),其特征是,所述的數(shù)據(jù)存儲裝置進ー步包括原子步驟存儲單元;關鍵字步驟存儲單元;關鍵字案例存儲單元;參數(shù)數(shù)據(jù)存儲單元;指令案例關系存儲單元。
專利摘要本實用新型提供了一種軟件產品測試系統(tǒng),該系統(tǒng)包括案例構建裝置和測試執(zhí)行裝置;案例構建裝置包括源腳本讀取單元,測試對象獲取單元,動作及數(shù)據(jù)獲取單元,原子步驟構建單元,關鍵字步驟構建單元,關鍵字案例構建單元;測試執(zhí)行裝置包括執(zhí)行指令接收單元,執(zhí)行序列獲取單元,執(zhí)行序列輸出單元;執(zhí)行結果展示單元。以解決自動化測試工具在使用中的復用性低、通用性差、腳本維護成本高以及腳本開發(fā)難度大等問題。
文檔編號G06F11/36GK202339542SQ201120075809
公開日2012年7月18日 申請日期2011年3月21日 優(yōu)先權日2011年3月21日
發(fā)明者白翠琴, 金暉 申請人:中國工商銀行股份有限公司