專利名稱:測試用例與測試腳本同步的方法及裝置的制作方法
技術領域:
本申請涉及計算機測試技術領域,尤其涉及一種測試用例與測試腳本同步的方法
及裝置。
背景技術:
在軟件產品開發過程中,有兩種主要的測試用例:手工測試用例和自動化測試用例。手工測試用例(TC,Testcase)包含一個測試邏輯和一組測試參數,測試者根據測試用例確定應用軟件或者軟件系統是否能夠正確工作。通常情況下,TC存儲在用例管理系統(簡稱TC系統)中,TC系統可以用于管理TC,通常使用網頁(Web)技術開發,常見的TC系統包括QC、Testuff和Testlink等。自動化測試用例(Test-automation script),簡稱測試腳本,能夠借助計算機完成應用軟件或者軟件系統的自動化測試,通常以文件方式存儲在文件系統中,每種編程語言均有其特定的測試腳本。可見,TC與測試腳本分別存儲在不同的系統中,但是,二者之間又存在某種對應關系,如圖1所示,為TC與測試腳本時間的對應關系示意圖。因此,實際應用中,通常需要能夠統一維護、查看和執行TC與測試腳本,這就需要保證二者之間的數據一致性,避免由于二者之間的數據不一致而導致沖突。現有技術中,為了保證TC與測試腳本之間的數據一致性,通常采用以下解決方案:在TC系統中,手動標記TC是否已經實現自動化,如果是,則設置與其對應的測試腳本;或者借助一些工具從TC系統直接生成測試腳本,但是,由于TC系統中存儲的TC數據成千上萬,采用手工維護的方式工作量巨大,使得TC與測試腳本同步效率較低,同時由于手工維護容易產生遺漏,降低了 TC與測試腳本同步的準確性。
發明內容
本申請實施例提供一種測試用例與測試腳本之間同步的方法及裝置,用以提高測試用例與測試腳本同步的效率和準確性。本申請實施例提供一種測試用例與測試腳本同步的方法,包括:依次掃描測試腳本目錄中包含的每一個測試腳本,確定該測試腳本發生變化時,獲得該測試腳本的腳本信息,所述腳本信息包括腳本標識;根據預先存儲的腳本標識與統一標識符的映射關系,查找所述腳本標識對應的統一標識符;將發生變化的測試腳本的腳本信息和查找到的統一標識符提交至TC系統,指示所述TC系統對自身存儲的、所述統一標識符對應的測試用例與發生變化的測試腳本進行同步操作。本申請實施例提供一種測試用例與測試腳本同步的裝置,包括:獲得單元,用于依次掃描測試腳本目錄中包含的每一個測試腳本,確定該測試腳本發生變化時,獲得該測試腳本的腳本信息,所述腳本信息包括腳本標識;查找單元,用于根據預先存儲的腳本標識與統一標識符的映射關系,查找所述腳本標識對應的統一標識符;提交單元,用于將發生變化的測試腳本的腳本信息和查找到的統一標識符提交至TC系統,指示所述TC系統對自身存儲的、所述統一標識符對應的測試用例與發生變化的測試腳本進行同步操作。本申請實施例提供的測試用例與測試腳本同步的方法,通過掃描測試腳本目錄,確定測試腳本發生變化時,獲得該測試腳本的腳本信息,腳本信息中包含有該測試腳本的腳本標識,根據腳本標識確定該測試腳本對應的統一標識符,并經統一標識符和發生變化的測試腳本的腳本信息提交給TC系統,使得TC系統能夠根據確定出的統一標識符查找對應的測試用例,并根據腳本信息對查找到的測試用例進行同步,這樣,實現了測試用例與測試腳本之間同步自動化,相比于手工同步,提高了同步效率,同時能夠減少手工維護產生的遺漏,從而提到了同步的準確性。本申請的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本申請而了解。本申請的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
圖1為現有技術中,TC與測試腳本之間的對應關系示意圖;圖2為本申請實施例中,測試用例與測試腳本同步的方法的實施流程示意圖;圖3為本申請實施例中,判斷測試腳本是否發生變化的實施流程示意圖;圖4為本申請實施例中,TC系統進行測試用例與測試腳本同步的實施示意圖;圖5為本申請實施例中,測試腳本與測試用例同步的方法的實施流程示意圖;圖6為本申請實施例中,測試用例與測試腳本同步過程示意圖;圖7為本申請實施例中,測試腳本與測試用例同步過程示意圖;圖8為本申請實施例中,測試用例與測試腳本同步裝置的結構示意圖。
具體實施例方式為了提高測試用例與測試腳本同步的效率和準確性,本申請實施例提供一種測試用例與測試腳本同步的方法及裝置。以下結合說明書附圖對本申請的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本申請,并不用于限定本申請,并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。如圖2所示,其為本申請實施例提供的測試用例與測試腳本同步的方法的實施流程示意圖,可以包括以下步驟:S201、依次掃描測試腳本目錄中包含的每一個測試腳本,確定該測試腳本發生變化時,獲得該測試腳本的腳本信息,該腳本信息包括腳本標識;具體實施時,在腳本目錄中,需要預先進行同步配置,同步裝置根據該同步配置,進行測試腳本與測試用例的同步,在進行了同步配置之后,可以建立sync, yml文件來保存同步配置:#sync.yml
sync—project:project—async—mode:fulI根據同步配置,同步裝置依次掃描測試腳本目錄中包含的每一個測試腳本,在確定該測試腳本有變化時,提取該測試腳本的腳本信息,其中,腳本信息中包含有腳本標識。S202、根據預先存儲的腳本標識與統一標識符的映射關系,查找所述腳本標識對應的統一標識符;具體的,同步裝置根據腳本信息中的腳本標識,從預先存儲的腳本標識語統一標識符的映射關系中,查找該腳本標識對應的統一標識符,其中,在同步裝置中,腳本標識與統一標識符為 對應的關系,同時,在TC系統中,每一個統一標識符與用例標識也為一一對應的關系,也就是說,根據統一標識符能夠唯一的確定存在關聯關系的測試腳本和測試用例。S203、將發生變化的測試腳本的腳本信息和查找到的統一標識符提交至TC系統,指示該TC系統對自身存儲的該統一標識符對應的測試用例與發生變化的測試腳本進行同步操作。具體的,同步裝置將發生變化的測試腳本的腳本信息和該腳本信息對應的統一標識符提交給TC系統,指示TC系統根據統一標識符查找對應的測試用例,并根據接收到的腳本信息對其進行同步。較佳地,如圖3所示,在步驟SlOl中,可以按照如下過程確定測試腳本是否發生變化:S301、比較該測試腳本當前的版本標識與上次掃描時的版本標識;具體實施時,通過版本標識來記錄測試腳本的變化過程,通過版本標識能夠方便地判斷該測試腳本是否發生了變化。S302、判斷當前版本標識與上次掃描時的版本標識是否相同,如果是,執行步驟S303,如果否,執行步驟S304 ;S303、確定該測試腳本未發生變化;S304、確定該測試腳本發生變化。當檢測到某測試腳本發生變化時,需要確定該測試腳本的變化類型,通過比較本次對測試腳本目錄的掃描結果與上次對測試腳本目錄的掃描結果,測試腳本的變化類型可以分為新增、修改和刪除。當測試腳本變化類型為新增時,同步裝置可以通過如下方式獲得該測試腳本的腳本信息:解析該測試腳本,并獲取腳本信息,獲取的腳本信息包括腳本標識。對于新增的測試腳本,同步裝置需要生成該測試腳本對應的統一標識符,并建立腳本標識與該統一標識符的映射關系。具體實施時,對于統一標識符的生成策略不進行限定,較佳地,同步裝置可以按照如下方式生成統一標識符:測試腳本路徑/測試用例名稱,即script_path/tc_name,對于junit編寫的測試腳本,可以采用package, class, method方式生成統一標識符,例如:com.taoba0.project_a.test_testcasel。當測試腳本變化類型為修改時,直接解析該測試腳本,獲取腳本信息;若該測試腳本變化類型為刪除時,則將上次掃描時獲得的腳本信息確定為該測試腳本的腳本信息。
具體實施中,腳本信息可以包括但不限于腳本標識、腳本名稱、腳本優先級和腳本描述。對于發生變化的測試腳本,同步裝置在獲取了該腳本信息之后,將獲取到的腳本信息和該測試腳本對應的統一標識符一并提交給TC系統。具體實施時,對于網頁(Web)實現的TC系統,可以使用web api方式進行提交:new_tc = {: name => ’ testcasel,,!priority = > ’ PI,,: desc = > ’ xxx,,: guid = > ’ guid_xxx> } http_client.put http://tc_server.taoba0.net/sync_tc, new_tcTC系統接收同步裝置提交的腳本信息和統一標識符,并根據統一標識符查找對應的測試用例,以進行同步。較佳地,如圖4所示,TC系統可按照如下步驟進行測試用例與測試腳本的同步:S401、TC系統確定預先存儲的統一標識符與用例標識的映射關系中,是否存在同步裝置提交的統一標識符,如果存在,執行步驟S402,如果不存在,執行步驟S403 ;具體的,TC系統根據接收到的統一標識符,在預先存儲的統一標識符與用例標識的映射關系中,查找該統一標識符,以確定該統一標識符是否存在。S402、確定該統一標識符對應的用例標識,并根據接收到的腳本信息對該用例標識對應的測試用例進行同步;具體的,如果該TC系統能夠查找到該統一標識符,則說明已經建立了該統一標識符對應的測試腳本與測試用例之間的關聯關系,只需要根據統一標識符查找其對應的用例標識,并根據本次掃描結果中測試腳本的變化類型,對該測試用例標識對應的測試用例進行更新:若測試腳本的變化類型為修改,則根據腳本信息對測試用例進行修改,若腳本信息包括腳本名稱、腳本優先級和腳本描述時,則TC系統可以根據腳本信息中的腳本名稱,修改對應的測試用例的用例名稱,以`及根據腳本信息中的腳本優先級,修改對應的測試用例的用例優先級,最后根據腳本信息中的腳本描述,修改對應的測試用例的用例描述;若測試腳本的變化類型為刪除,則刪除該用例標識對應的測試用例與測試腳本之間的關聯關系。S403、根據同步裝置提交的腳本信息創建新測試用例。若TC系統在預先存儲的的統一標識符與用例標識的映射關系中,未查找到同步裝置提交的統一標識符,則說明該統一標識符對應的測試腳本為新增測試腳本,TC系統根據同步裝置提交的腳本信息創建新測試用例。較佳地,TC系統創建的新測試用例中包括用例標識,并建立該用例標識與統一標識符的映射關系,這樣便建立了新增測試腳本與TC系統新創建的測試用例之間的關聯關系。通過上述過程,實現了測試用例與測試腳本的同步,當有新增加的測試腳本時,通過同步操作,可以在TC系統中創建新的測試用例,并通過生成統一標識符建立二者之間的關聯關系;當有測試腳本修改時,通過同步操作,能夠修改TC系統中對應的測試用例;當有測試腳本被刪除時,通過同步操作,能夠刪除該測試腳本與TC系統中的測試用例之間的關聯關系。如圖5所示,本申請實施例中,還可以按照如下過程實現測試腳本與測試用例之間的同步:S501、同步裝置依次掃描TC系統中存儲的每一個測試用例,確定該TC系統中存儲的測試用例發生變化時,確定測試用例的變化類型,變化類型包括新增、修改和刪除;
具體的,在確定測試用例是否發生變化時,可以通過測試用例的時間標識進行辨識,即比較該測試用例當前的時間標識與上次掃描時的時間標識;若當前時間標識與上次掃描時的時間標識不同,確定該測試用例發生變化,若當前時間標識與上次掃描時時間標識相同,確定該測試用例未發生變化。S502、同步裝置提取該測試用例的用例信息,該用例信息包括用例標識;S503、同步裝置根據測試用例的變化類型,對該測試用例對應的測試腳本進行同
止/J/ O具體的,若測試用例的變化類型為新增時,同步裝置根據該測試用例的用例信息,創建新測試腳本。較佳地,同步裝置創建的新測試腳本包括腳本標識,在創建了新測試腳本之后,需要生成該腳本標識對應的統一標識符,并建立該腳本標識與統一標識之間的映射關系,統一標識符的生成策略與步驟S302中涉及的統一標識符的生成策略相同,這里不再贅述;以及向TC系統回寫生成的統一標識符,指示TC系統建立該統一標識符與該測試用例對應的用例標識之間的映射關系;若測試用例的變化類型為修改時,從預先存儲的用例標識與統一標識符的映射關系中,查找該用例標識對應的統一標識符,并從統一標識符與腳本標識的映射關系中,查找該統一標識符對應的腳本標識,并根據獲得的測試用例的用例信息,修改查找到的腳本標識對應的測試腳本;若測試用例的變化類型為刪除時,從預先存儲的用例標識與統一標識符的映射關系中,查找該用例標識對應的統一標識符,并從統一標識符與腳本標識的映射關系中,查找該統一標識符對應的腳本標識,并刪除該腳本標識對應的測試腳本與該用例標識對應的測試用例之間的對應關系。通過步驟S501 步驟S503,能夠實現測試用例與測試腳本之間的對應關系。在進行測試用例與測試腳本之間的同步時,同步裝置按照同步配置,從TC系統中提取發生變化的測試用例,如果該測試用例是新增的測試用例,則創建新的測試腳本,并生成該新增測試腳本對應的統一標識符,以及將生成的統一標識符回寫給TC系統,使得TC系統能夠建立該統一標識符與新增的測試用例的用例標識之間的映射關系,從而建立新增的測試用例與新建的測試腳本之間的關聯關系;如果該測試用例與上次掃描時相比,只是進行了修改,那么通過該測試用例的用例標識能夠查找到該測試用例對應的統一標識符,通過該統一標識符能夠查找到其對應的腳本標識,這樣,根據對測試用例的修改,對該腳本標識對應的測試腳本進行修改即可;若該測試用例的變化類型為刪除,則根據該測試用例的用例能夠查找到該測試用例對應的統一標識符,通過該統一標識符能夠查找到其對應的腳本標識,在查找到對應的腳本標識之后,刪除該腳本標識對應的測試腳本與該用例標識對應的測試用例之間的關聯關系。這樣,本申請實施例提供的同步方法實現了測試腳本與測試用例之間的雙向同步,保證了測試腳本與測試用例之間的數據一致性,避免了由于二者之間的數據不一致而導致的沖突。為了更好地理解本申請,以下以測試用例與測試腳本的同步過程為例,對本申請實施例的實施過程進行說明。如圖6所示,其為測試用例與測試腳本的同步流程示意圖,包括以下步驟:S601、同步裝置進行同步配置;具體的,同步裝置對需要同步的項目進行同步配置。
S602、同步裝置比較該測試腳本的當前版本標識語上次掃描時的版本標識;具體的,同步裝置依次掃描測試腳本目錄中包含的每一個測試腳本,比較本次掃描結果中該測試腳本的版本標識與上次掃描結果中該測試腳本的版本標識,以確定發生變化的測試腳本。S603、同步裝置判斷當前版本標識與上次掃描時的版本標識是否相同,若不同,執行步驟S604,若相同,執行步驟S605 ;S604、同步裝置確定該測試腳本發生變化,并執行步驟S606 ;S605、同步裝置確定該測試腳本未發生變化,并執行步驟S617 ;S606、同步裝置確定發生變化的測試腳本的變化類型;其中,測試腳本的變化類型包括新增、修改和刪除三類。S607、同步裝置獲取腳本信息;具體的,當該測試腳本的變化類型為新增或者修改時,同步裝置解析該測試腳本,根據解析后的測試腳本獲取腳本信息;當該測試腳本的變化類型為刪除時,同步裝置獲取該測試腳本上次掃描時獲得的腳本信息,其中,腳本信息可以包括腳本標識、腳本名稱、腳本優先級和腳本描述。S608、同步裝置根據腳本信息中的腳本標識,確定該腳本標識對應的統一標識符;特別地,對于新增測試腳本,同步裝置需要生成該腳本標識對應的統一標識符,并建立腳本標識與統一標識符之間的對應關系;對于修改的測試腳本,同步裝置從預先存儲的腳本標識與統一標識符的對應關系中查找該測試腳本的腳本標識對應的統一標識符;當該測試腳本的變化類型為刪除時,同步裝置獲取該測試腳本上次掃描時獲得腳本信息中的腳本標識,并從預先存儲的腳本標識與統一標識符的對應關系中查找該測試腳本的腳本標識對應的統一標識符。S609、同步裝置將獲取到的腳本信息和確定出的統一標識符提交給TC系統;S610、TC系統接收同步裝置提交的腳本信息和其確定出的統一標識符;S611、TC系統確定自身存儲的統一標識符與用例標識的映射關系中,是否存在同步裝置提交的統一標識符,如果是,執行步驟S612,如果否,執行步驟S613 ;S612、TC系統確定同步裝置提交的統一標識符對應的用例標識,并執行步驟S614 ;S613、TC系統根據同步裝置提交的腳本信息創建新測試用例,并執行步驟S617 ;具體的,TC系統根據腳本信息中的腳本名稱、腳本優先級和腳本描述創建新測試用例的用例名稱、用例優先級和用例描述;以及創建測試用例的用例標識,并建立該新測試用例的用例標識與同步裝置提交的統一標識符的映射關系。S614、TC系統確定同步裝置提交的統一標識符對應的測試腳本的變化類型;S615、若測試腳本的變化類型為修改時,根據接收到的腳本信息,修改確定出的用例標識對應的測試用例;S616、若測試腳本的變化類型為刪除時,刪除確定出的用例標識對應的測試用例與統一標識符對應的測試腳本之間的對應關系;S617、流程結束。
以下以測試腳本與測試用例的同步過程為例,對本申請實施例的實施過程進行說明。如圖7所示,其為測試腳本與測試用例的同步流程示意圖,包括以下步驟:S701、同步裝置依次掃描TC系統中存儲的每一個測試用例;S702、同步裝置比較該測試用例當前的時間標識與上次掃描時的時間標識;S703、同步裝置判斷當前的時間標識語上次掃描時的時間標識是否相同,如果不同,執行步驟S704,如果相同,執行步驟S705 ;S704、同步裝置確定該測試用例發生變化,并執行步驟S706 ;S705、同步裝置確定該測試用例未發生變化,并執行步驟S713 ;S706、同步裝置確定發生變化的測試用例的變化類型;其中,測試用例的變化類型包括新增、修改和刪除三類。S707、同步裝置提取發生變化的測試用例的用例信息,以及若測試用例的變化類型為新增時,執行步驟S708 ;若測試用例的變化類型為修改時,執行步驟S711 ;若測試用例的變化類型為刪除時,執行步驟S712 ;具體的,用例信息可以包括用例標識,用例名稱,用例優先級和用例描述等。S708、同步裝置根據用例信息,創建新測試腳本;具體的,同步裝置根據用例名稱,用例優先級和用例描述等用例信息創建新測試腳本,并創建新測試腳本的腳本標識。S709、同步裝置生成該測試腳本對應的統一標識符,并建立腳本標識與該統一標識符之間的映射關系;S710、同步裝置將生成的統一標識符回寫給TC系統,指示TC系統建立發生變化的測試用例的用例標識與該統一標識符之間的映射關系;S711、根據獲得的測試用例的用例信息,修改對應的測試腳本;具體的,同步裝置從預先存儲的用例標識與統一標識符的映射關系中,查找該用例標識對應的統一標識符,并從統一標識符與腳本標識的映射關系中,查找該統一標識符對應的腳本標識,并根據獲得的測試用例的用例信息,修改查找到的腳本標識對應的測試腳本;S712、刪除該用例標識對應的測試用例與對應的測試腳本之間的對應關系;具體的,同步裝置從預先存儲的用例標識與統一標識符的映射關系中,查找該用例標識對應的統一標識符,并從統一標識符與腳本標識的映射關系中,查找該統一標識符對應的腳本標識,并刪除該腳本標識對應的測試腳本與該用例標識對應的測試用例之間的對應關系;S713、流程結束。基于同一申請構思,本申請實施例中還提供一種測試腳本與測試用例同步的裝置,由于該裝置解決問題的原理與上述測試腳本與測試用例同步方法相似,因此該裝置的實施可以參見上述測試腳本與測試用例同步方法的實施,重復之處不再贅述。如圖8所示,其為本申請實施例提供的測試腳本與測試用例同步裝置的結構示意圖,包括:獲得單元801,用于依次掃描測試腳本目錄中包含的每一個測試腳本,確定該測試腳本發生變化時,獲得該測試腳本的腳本信息,該腳本信息包括腳本標識;查找單元802,用于根據預先存儲的腳本標識與統一標識符的映射關系,查找該腳本標識對應的統一標識符;提交單元803,用于將發生變化的測試腳本的腳本信息和查找到的統一標識符提交至TC系統,指示該TC系統對自身存儲的、該統一標識符對應的測試用例與發生變化的測試腳本進行同步操作。較佳地,獲得單元801,可以包括:第一比較子單元,用于比較該測試腳本當前的版本標識與上次掃描時的版本標識;第二確定子單元,用于若當前版本標識與上次掃描時的版本標識不同,確定該測試腳本發生變化,若當前版本標識與上次掃描時的版本標識相同,確定該測試腳本未發生變化。具體實施中,測試腳本與測試用例同步裝置,還可以包括第一確定單元,其中:第一確定單元,用于在獲得單元801獲得該測試腳本的腳本信息之前,確定該測試腳本的變化類型,該變化類型包括新增、修改和刪除;獲得單元801,具體用于若該測試腳本變化類型為新增或修改時,解析該測試腳本,獲取腳本信息;若該測試腳本變化類型為刪除,則將上次掃描時獲得的腳本信息確定為該測試腳本的腳本信息。具體實施中,測試腳本與測試用例同步裝置,還可以包括:第一映射關系建立單元,用于當測試腳本變化類型為新增時,在獲得單元801獲取腳本信息之后,生成該測試腳本對應的統一標識符,并建立腳本信息中的腳本標識與統一標識符的映射關系。具體實施中,測試腳本與測試用例同步裝置,還可以包括:第二確定單元,用于依次掃描TC系統中存儲的每一個測試用例,確定該TC系統中存儲的測試用例發生變化時,確定該測試用例的變化類型,其中,變化類型包括新增、修改和刪除;提取單元,用于提取該測試用例的用例信息,該用例信息包括用例標識;同步單元,用于若該測試用例的變化類型為新增時,根據測試用例的用例信息,創建新測試腳本;若該測試用例的變化類型為修改時,從預先存儲的用例標識與統一標識符的映射關系中,查找該用例標識對應的統一標識符,并從統一標識符與腳本標識的映射關系中,查找該統一標識符對應的腳本標識,并根據獲得的測試用例的用例信息,修改查找到的腳本標識對應的測試腳本;若該測試用例的變化類型為刪除時,從預先存儲的用例標識與統一標識符的映射關系中,查找該用例標識對應的統一標識符,并從統一標識符與腳本標識的映射關系中,查找該統一標識符對應的腳本標識,并刪除該腳本標識對應的測試腳本與該用例標識對應的測試用例之間的對應關系。具體實施中,當測試用例的變化類型為新增時,創建的測試腳本包括腳本標識,測試腳本與測試用例同步裝置,還可以包括:第二映射關系建立單元,用于生成該腳本標識對應的統一標識符,建立該腳本標識與統一標識符之間的映射關系;
回寫單元,用于向TC系統回寫生成的統一標識符,指示TC系統建立該用例標識與該統一標識符之間的映射關系。較佳地,第二確定單元,可以包括:第二比較子單元,用于比較該測試用例當前的時間標識與上次掃描時的時間標識;第二確定子單元,用于若當前時間標識與上次掃描時的時間標識不同,確定該測試用例發生變化,若當前時間標識與上次掃描時時間標識相同,確定該測試用例未發生變化。本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。本申請是參照根據本申請實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請范圍的所有變更和修改。本申請實施例提供的測試用例與測試腳本同步的方法,通過掃描測試腳本目錄,確定測試腳本發生變化時,獲得該測試腳本的腳本信息,腳本信息中包含有該測試腳本的腳本標識,根據腳本標識確定該測試腳本對應的統一標識符,并經統一標識符和發生變化的測試腳本的腳本信息提交給TC系統,使得TC系統能夠根據確定出的統一標識符查找對應的測試用例,并根據腳本信息對查找到的測試用例進行同步,這樣,實現了測試用例與測試腳本之間同步自動化,相比于手工同步,提高了同步效率,同時能夠減少手工維護產生的遺漏,從而提到了同步的準確性。顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權利要求及其等同技術的范圍之內,則本申請也意圖包含這些改動和變型在內。
權利要求
1.一種測試用例與測試腳本同步的方法,其特征在于,包括: 依次掃描測試腳本目錄中包含的每一個測試腳本,確定該測試腳本發生變化時,獲得該測試腳本的腳本信息,所述腳本信息包括腳本標識; 根據預先存儲的腳本標識與統一標識符的映射關系,查找所述腳本標識對應的統一標識符; 將發生變化的測試腳本的腳本信息和查找到的統一標識符提交至用例管理TC系統,指示所述TC系統對自身存儲的、所述統一標識符對應的測試用例與發生變化的測試腳本進行同步操作。
2.如權利要求1所述的方法,其特征在于,按照如下過程確定每一個測試腳本是否發生變化: 比較該測試腳本當前的版本標識與上次掃描時的版本標識; 若當前版本標識與上次掃描時的版本標識不同,確定該測試腳本發生變化,若當前版本標識與上次掃描時的版本標識相同,確定該測試腳本未發生變化。
3.如權利要求1所述的方法,其特征在于,在獲得該測試腳本的腳本信息之前,還包括: 確定該測試腳本的變化類型,所述變化類型包括新增、修改和刪除;以及 所述獲得該測試腳本的腳本信息,具體包括: 若該測試腳本變化類型為新增或修改,解析該測試腳本,獲取腳本信息;若該測試腳本變化類型為刪除,則將上 次掃描時獲得的腳本信息確定為該測試腳本的腳本信息。
4.如權利要求3所述的方法,其特征在于,測試腳本變化類型為新增時,在獲取腳本信息之后,還包括: 生成該測試腳本對應的統一標識符,并建立腳本信息中的腳本標識與統一標識符的映身寸關系。
5.如權利要求3所述的方法,其特征在于,還包括: 所述TC系統確定自身存儲的統一標識符與用例標識的映射關系中,是否存在所述統一標識符; 如果不存在,根據所述腳本信息創建新測試用例,所述新測試用例包括用例標識,并建立該新測試用例的用例標識與所述統一標識符的映射關系; 如果存在,確定所述統一標識符對應的用例標識,若所述發生變化的測試腳本的變化類型為修改時,根據所述發生變化的測試腳本的腳本信息,修改所述用例標識對應的測試用例;若所述發生變化的測試腳本的變化類型為刪除時,則刪除所述用例標識對應的測試用例與所述腳本標識對應的測試腳本之間的對應關系。
6.如權利要求5所述的方法,其特征在于,所述腳本信息包括腳本名稱、腳本優先級和腳本描述;以及 所述根據所述發生變化的測試腳本的腳本信息,修改所述用例標識對應的測試用例,具體包括: 根據所述腳本信息中的腳本名稱,修改所述用例標識對應的測試用例的用例名稱; 根據所述腳本信息中的腳本優先級,修改所述用例標識對應的測試用例的用例優先級;根據所述腳本信息中的腳本描述,修改所述用例標識對應的測試用例的用例描述。
7.如權利要求1所述的方法,其特征在于,還包括: 依次掃描TC系統中存儲的每一個測試用例,確定所述TC系統中存儲的測試用例發生變化時,確定所述測試用例的變化類型,所述變化類型包括新增、修改和刪除;并 提取該測試用例的用例信息,所述用例信息包括用例標識; 若所述測試用例的變化類型為 新增時,根據所述測試用例的用例信息,創建新測試腳本;若所述測試用例的變化類型為修改時,從預先存儲的用例標識與統一標識符的映射關系中,查找所述用例標識對應的統一標識符,并從統一標識符與腳本標識的映射關系中,查找所述統一標識符對應的腳本標識,并根據獲得的測試用例的用例信息,修改查找到的腳本標識對應的測試腳本;若所述測試用例的變化類型為刪除時,從預先存儲的用例標識與統一標識符的映射關系中,查找所述用例標識對應的統一標識符,并從統一標識符與腳本標識的映射關系中,查找所述統一標識符對應的腳本標識,并刪除所述腳本標識對應的測試腳本與所述用例標識對應的測試用例之間的對應關系。
8.如權利要求7所述的方法,其特征在于,若所述測試用例的變化類型為新增時,創建的新測試腳本包括腳本標識;以及 所述方法,還包括: 生成該腳本標識對應的統一標識符,建立該腳本標識與統一標識符之間的映射關系;以及 向所述TC系統回寫生成的統一標識符,指示所述TC系統建立所述用例標識與該統一標識符之間的映射關系。
9.如權利要求7或8所述的方法,其特征在于,按照如下過程確定測試用例發生變化: 比較該測試用例當前的時間標識與上次掃描時的時間標識; 若當前時間標識與上次掃描時的時間標識不同,確定該測試用例發生變化,若當前時間標識與上次掃描時時間標識相同,確定該測試用例未發生變化。
10.一種測試用例與測試腳本同步的裝置,其特征在于,包括: 獲得單元,用于依次掃描測試腳本目錄中包含的每一個測試腳本,確定該測試腳本發生變化時,獲得該測試腳本的腳本信息,所述腳本信息包括腳本標識; 查找單元,用于根據預先存儲的腳本標識與統一標識符的映射關系,查找所述腳本標識對應的統一標識符; 提交單元,用于將發生變化的測試腳本的腳本信息和查找到的統一標識符提交至用例管理TC系統,指示所述TC系統對自身存儲的、所述統一標識符對應的測試用例與發生變化的測試腳本進行同步操作。
全文摘要
本申請公開了一種測試用例與測試腳本同步的方法及裝置,用以提高測試用例與測試腳本同步的效率和準確性。其中,所述測試用例與測試腳本同步方法,包括獲得發生變化的測試腳本的腳本信息,腳本信息包括腳本標識;查找所述腳本標識對應的統一標識符;將發生變化的測試腳本的腳本信息和查找到的統一標識符提交至TC系統,指示所述TC系統對自身存儲的對應的測試用例進行同步操作;以及確定發生變化的測試用例的變化類型,包括新增、修改和刪除;并提取該測試用例對應的用例信息,包括用例標識;在變化類型為新增時,創建新測試腳本;在變化類型為修改時,修改對應的測試腳本;在變化類型為刪除時,刪除測試用例與對應的測試腳本之間的對應關系。
文檔編號G06F11/36GK103106138SQ20111036222
公開日2013年5月15日 申請日期2011年11月15日 優先權日2011年11月15日
發明者黃小勇, 胡進軍, 曾建, 李國棟 申請人:阿里巴巴集團控股有限公司