一種測試用例解析方法
2023-10-09 16:21:09 1
一種測試用例解析方法
【專利摘要】本發明提供一種測試用例解析方法,包括以下步驟:步驟S1、將測試用例文本逐行讀入內存中;步驟S2、將單個測試用例片段拆分出來,每個測試用例片段作為單個元素依次寫入鍊表caseList中;步驟S3、以鍊表caseList為輸入,創建測試用例模型樹;步驟S4、保存測試用例模型。本發明的測試用例解析方法不需要重複地複製測試用例文本;將分離出的測試用例模型以XML格式存儲起來,便於二次開發和多樣化呈現;任何應用程式只需要對測試用例模型進行編程就能很方便地操縱和傳輸測試用例文本。
【專利說明】一種測試用例解析方法
【技術領域】
[0001] 本發明涉及軟體測試的【技術領域】,特別是涉及一種測試用例解析方法。
【背景技術】
[0002] 測試用例(Test Case,TC)是為某個特殊目標而編制的一組測試輸入、執行條件以 及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。在自動化測試的開發 過程中,測試腳本中往往包含測試用例說明,這部分文檔事實上就是測試用例本身。
[0003] 理論上來講,當一個腳本開發完畢的同時,測試用例文本也應開發完畢。但是,問 題在於,測試部的用例文本是存檔在單獨的庫中的。如果測試用例文本需要鏡像到多個不 同的地點,就需要額外的同步動作。如果同時有不止一個工程師在開發測試用例文本,那麼 每個人都需要重複同樣的動作,這勢必造成巨大的浪費。
[0004] 另外,在自動化測試工作在實施過程中不可避免地需要引入各種平臺框架,這些 平臺框架通常都有自己的日誌系統,其中信息部分都會需要測試用例文本作為支持。因此, 對於多種平臺框架,所需的測試用例文本呈現多樣性的需要。
[0005] 現有技術中,申請號為201110362223. 9、發明名稱為《測試用例與測試腳本同步的 方法及裝置》的中國專利中公開一種測試用例與測試腳本同步的方法,其包括:依次掃描測 試腳本目錄中包含的每一個測試腳本,確定該測試腳本發生變化時,獲得該測試腳本的腳 本信息,所述腳本信息包括腳本標識;根據預先存儲的腳本標識與統一標識符的映射關係, 查找所述腳本標識對應的統一標識符;將發生變化的測試腳本的腳本信息和查找到的統一 標識符提交至用例管理TC系統,指示所述TC系統對自身存儲的、所述統一標識符對應的測 試用例與發生變化的測試腳本進行同步操作。由上可知,該申請是通過檢測腳本變化從而 在TC管理系統中進行標識,無法解決現有技術中測試用例文本多樣性呈現和同步的問題。
[0006] 另外,申請號為201310317357. 8、發明名稱為《一種基於XML的測試用例復用方 法》的中國專利申請中公開一種基於XML的測試用例復用方法,其具體復用過程為:一、測 試人員根據被測試軟體的功能特點,定義需要的測試用例類型;二、根據所定義的測試用例 從測試用例庫中查找滿足要尋求的測試用例;三、如果測試用例庫中可以找到需要的測試 用例,則從中提取出可復用的測試用例,程序結束;四、如果測試用例庫中無法找到需要的 測試用例,則設計此測試用例並用XML形式表示,驗證其正確性,如果正確,添加到測試用 例庫中中,以便以後進行復用,程序結束。由上可知,該申請採用直接手動方式來編輯出XML 測試用例,導致效率較低,操作較為複雜。
【發明內容】
[0007] 鑑於以上所述現有技術的缺點,本發明的目的在於提供一種測試用例解析方法, 定義了一個標準的基於XML的測試用例模型(Test Case Model,TCM),並提出了一種用於 將某種特定格式的測試用例文本轉化為TCM的方法,從而簡化自動化測試開發的過程,提 高工作效率。
[0008] 為實現上述目的及其他相關目的,本發明提供一種測試用例解析方法,包括以下 步驟:步驟S1、將測試用例文本逐行讀入內存中;步驟S2、將單個測試用例片段拆分出來, 每個測試用例片段作為單個元素依次寫入鍊表caseList中;步驟S3、以鍊表caseList為 輸入,創建測試用例模型樹;步驟S4、保存測試用例模型。
[0009] 根據上述的測試用例解析方法,其中:所述測試用例文本須包括以下關鍵字:測 試用例邊界線、測試目標、測試case的位置、所在模塊、腳本名字、測試步驟和測試結果;
[0010] 所述測試用例邊界線由若干個短劃線組成;
[0011] 所述測試目標代表測試用例的測試標的,採用單行文本類型;
[0012] 所述測試case的位置代表case存儲位置,採用單行文本類型;
[0013] 所述所在模塊代表測試case文本屬於哪個自動化測試模塊,採用單行文本類型;
[0014] 所述腳本名字代表所在測試腳本的名字,採用單行文本類型;
[0015] 所述測試步驟代表一系列測試操作動作,採用多行文本類型;
[0016] 所述測試結果代表一系列期望出現的結果標準值,採用多行文本類型。
[0017] 進一步地,根據上述的測試用例解析方法,其中:所述步驟S2中,利用測試用例邊 界線將單個測試用例片段拆分出來。
[0018] 根據上述的測試用例解析方法,其中:所述步驟S3中,循環讀取鍊表caseList的 元素,並將讀取的元素解析後掛載到測試用例模型樹根上來創建測試用例模型樹。
[0019] 根據上述的測試用例解析方法,其中:所述步驟S3中,創建測試用例模型樹包括 以下步驟:
[0020] 步驟S41、創建空的測試用例模型;
[0021] 步驟S42、判斷從鍊表caseLine中獲取一個元素是否成功,若是,轉入步驟S43 ;若 否,流程結束。
[0022] 步驟S43、創建單個case子樹,將新case子樹掛載到測試用例模型樹根上,轉入步 驟 S42。
[0023] 進一步地,根據上述的測試用例解析方法,其中:創建單個case子樹時,對於單行 文本信息,分別取出信息,將其製作成case子樹的葉子;對於多行文本信息,轉化成節點 時,需要首先提取多行文本信息,再製作成步驟節點。
[0024] 更進一步地,根據上述的測試用例解析方法,其中:提取多行文本信息時,利用首 位行正則表達式匹配的方法,從單個測試用例文本中獲取對應的多行片段。
[0025] 根據上述的測試用例解析方法,其中:所述步驟S4中,測試用例模型保存到任意 磁碟位置上。
[0026] 根據上述的測試用例解析方法,其中:所述測試用例模型採用XML格式。
[0027] 如上所述,本發明的測試用例解析方法,具有以下有益效果:
[0028] (1)不需要重複地複製測試用例文本;
[0029] (2)將分離出的測試用例文本以XML格式存儲起來,便於二次開發和多樣化呈現;
[0030] (3)任何應用程式只需要對TCM進行編程就能很方便地操縱和傳輸用例文本。
【專利附圖】
【附圖說明】
[0031] 圖1顯示為本發明的TCM模型的結構示意圖;
[0032] 圖2顯示為本發明的測試用例解析方法的流程圖;
[0033] 圖3顯示為本發明的裁剪用例的流程圖;
[0034] 圖4顯示為本發明的創建TCM樹的流程圖;
[0035] 圖5(a)顯示為本發明的創建單個case子樹的前半部分的流程圖;
[0036] 圖5(b)顯示為本發明的創建單個case子樹的後半部分的流程圖;
[0037] 圖6顯示為本發明的提取多行文本的流程圖;
[0038] 圖7顯示為本發明的多行文本剪切的流程圖;
[0039] 圖8顯示為本發明的葉子結點生成的流程圖。
[0040] 圖9(a)顯示為本發明的製作步驟節點的前半部分流程圖;
[0041] 圖9(b)顯示為本發明的製作步驟節點的後半部分流程圖。
【具體實施方式】
[0042] 以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書 所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的具體實 施方式加以實施或應用,本說明書中的各項細節也可以基於不同觀點與應用,在沒有背離 本發明的精神下進行各種修飾或改變。
[0043] 需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發明的基本構想, 遂圖式中僅顯示與本發明中有關的組件而非按照實際實施時的組件數目、形狀及尺寸繪 制,其實際實施時各組件的型態、數量及比例可為一種隨意的改變,且其組件布局型態也可 能更為複雜。
[0044] 本發明的測試用例解析方法輸入一份測試用例文本,輸出是一份稱之為TCM的 XML格式的文本,從而為後續的測試用例的自動化管理提供標準模型。
[0045] 下面將分別介紹作為輸入的測試用例文本和作為輸出的TCM。
[0046] 具體地,測試用例文本的示例如下:
[0047] ---------------------------------------------------------------------
[0048] cdrouter_icmp_l
[0049] 測試目標:驗證ICMP Ping操作是否能正確通過無線路由器
[0050] 測試 case 所在 CDRouter 位置:
[0051] 所在模塊:icmp. tcl
[0052] 腳本名字:cdrouter_icmp_l
[0053] 測試步驟:
[0054] 步驟1 :按照拓撲將⑶Router和被測設備連接。
[0055] 從 CDRouter LAN 測 192. 168. 2. 101 向 Internet 側遠端主機 3. 3. 3. 3 發起 pinglO 次。
[0056] 步驟2 :測試IOping響應是否均可以收到。
[0057] 測試結果:
[0058] 步驟1 :抓包可以看到每次ping有兩個ICMP Echo Request包可以抓到,一個是 源IP192. 168. 2. 101,第二個是經過路由器後轉為源IP :192. 168. 200. 2。
[0059] the first package :source IP :192. 168. 2. 101, dst IP :3. 3. 3. 3
[0060] the second package :source IP :192. 168. 200. 2, dst IP :3. 3. 3. 3
[0061] 步驟2 :10次ping響應ICMP Echo R印Iy均可以收到。
[0062] 抓包可以看到每次ping有兩個響應包,一個是接收者是路由器的WAN 口(目的 IP)是 196. 168. 200. 2,第二個是客戶端側(CDRouter LAN 側)IP 是 192. 168. 2. 101
[0063] the first package :source IP :3. 3. 3. 3, dst IP :192. 168. 200. 2
[0064] the second package :source IP :3. 3. 3. 3, dst IP :192. 168. 2. 101
[0065] ---------------------------------------------------------------------
[0066] 其中,需要說明的是,除了用例名和用例邊界線之間不允許有空行之外,其他空行 不受限。由於程序通過關鍵字捕獲信息,所以測試用例文本中的關鍵字是不能夠錯的,共有 7種,分別如下:
[0067] :代表測試用例邊界線,由若干個短劃線組成。
[0068] 測試目標:代表測試用例的測試標的,採用單行文本類型。
[0069] 測試用例(case)在CDRouter中的位置:代表case存儲位置,採用單行文本類型。
[0070] 所在模塊:代表測試case文本屬於哪個自動化測試模塊;通常是一個腳本文件名 字,採用單行文本類型。
[0071] 腳本名字:代表所在測試腳本的名字,採用單行文本類型。
[0072] 測試步驟:代表一系列測試操作動作,採用多行文本類型。其中,每個步驟關鍵字 的後面跟著一個阿拉伯數字表示步驟序號,該序號不能是中文或羅馬文字等其它類型的字 符。
[0073] 測試結果:代表一系列期望出現的結果標準值;通常與具體的測試步驟有關係, 採用多行文本類型。
[0074] 具體地,作為輸出的TCM與測試用例文本相對應,TCM的具體示例如下:
[0075]
【權利要求】
1. 一種測試用例解析方法,其特徵在於:包括以下步驟: 步驟S1、將測試用例文本逐行讀入內存中; 步驟S2、將單個測試用例片段拆分出來,每個測試用例片段作為單個元素依次寫入鏈 表 caseList 中; 步驟S3、以鍊表caseList為輸入,創建測試用例模型樹; 步驟S4、保存測試用例模型。
2. 根據權利要求1所述的測試用例解析方法,其特徵在於:所述測試用例文本須包括 以下關鍵字:測試用例邊界線、測試目標、測試用例的位置、所在模塊、腳本名字、測試步驟 和測試結果; 所述測試用例邊界線由若干個短劃線組成; 所述測試目標代表測試用例的測試標的,採用單行文本類型; 所述測試用例的位置代表測試用例的存儲位置,採用單行文本類型; 所述所在模塊代表測試用例文本屬於哪個自動化測試模塊,採用單行文本類型; 所述腳本名字代表所在測試腳本的名字,採用單行文本類型; 所述測試步驟代表一系列測試操作動作,採用多行文本類型; 所述測試結果代表一系列期望出現的結果標準值,採用多行文本類型。
3. 根據權利要求2所述的測試用例解析方法,其特徵在於:所述步驟S2中,利用測試 用例邊界線將單個測試用例片段拆分出來。
4. 根據權利要求1所述的測試用例解析方法,其特徵在於:所述步驟S3中,循環讀取 鍊表caseList的元素,並將讀取的元素解析後掛載到測試用例模型樹根上來創建測試用 例模型樹。
5. 根據權利要求1所述的測試用例解析方法,其特徵在於:所述步驟S3中,創建測試 用例模型樹包括以下步驟: 步驟S41、創建空的測試用例模型; 步驟S42、判斷從鍊表caseLine中獲取一個元素是否成功,若是,轉入步驟S43 ;若否, 流程結束。 步驟S43、創建單個case子樹,將新case子樹掛載到測試用例模型樹根上,轉入步驟 S42。
6. 根據權利要求5所述的測試用例解析方法,其特徵在於:創建單個case子樹時,對 於單行文本信息,分別取出信息,將其製作成case子樹的葉子;對於多行文本信息,轉化成 節點時,需要首先提取多行文本信息,再製作成步驟節點。
7. 根據權利要求6所述的測試用例解析方法,其特徵在於:提取多行文本信息時,利用 首位行正則表達式匹配的方法,從單個測試用例文本中獲取對應的多行片段。
8. 根據權利要求1所述的測試用例解析方法,其特徵在於:所述步驟S4中,測試用例 模型保存到任意磁碟位置上。
9. 根據權利要求1所述的測試用例解析方法,其特徵在於:所述測試用例模型採用XML 格式。
【文檔編號】G06F11/36GK104391796SQ201410740967
【公開日】2015年3月4日 申請日期:2014年12月5日 優先權日:2014年12月5日
【發明者】張鑫 申請人:上海斐訊數據通信技術有限公司