本發明專利技術公開一種自動化生成測試用例的方法及裝置,涉及自動化測試技術領域,對于包含邊界值的測試需求,能夠自動擴展生成多個測試用例。該方法包括:編寫需求文檔,需求文檔中包括測試用例邊界值;識別需求文檔中測試用例邊界值的內容并以鍵值對方式保存,內容包括至少一個測試功能名稱及對應的邊界值;讀取鍵值對,將其中的每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組;基于每個測試功能名稱及對應的邊界值和擴展值組,生成多個測試用例。該系統應用有上述方案所提的方法。
Method and device of automatic test case generation
【技術實現步驟摘要】
自動化生成測試用例的方法及裝置
本專利技術涉及及自動化測試
,尤其涉及一種自動化生成測試用例的方法及裝置。
技術介紹
隨著移動互聯網的高速發展,手機、電腦等終端設備已成為人們日常工作生活的必須品。很多公司開發出大量的應用程序來滿足大家的各類需求,因此越來越多的測試人員投入到應用程序的測試工作中。產品人員編寫的需求文檔是測試人員的重要參考依據,測試人員會根據需求文檔中提出的需求手動編寫相應的測試用例,對于包含邊界值的基礎需求,測試人員編寫時會做大量重復的編寫工作,耗費了大量的時間和精力,導致測試用例的編寫效率低、維護成本高,無法滿足當前高速發展的測試業務需求。
技術實現思路
本專利技術的目的在于提供一種自動化生成測試用例的方法及裝置,對于包含邊界值的測試需求,能夠自動擴展生成多個測試用例。為了實現上述目的,本專利技術的一方面提供一種自動化生成測試用例的方法,包括:編寫需求文檔,所述需求文檔中包括測試用例邊界值;識別需求文檔中測試用例邊界值的內容并以鍵值對方式保存,所述內容包括至少一個測試功能名稱及對應的邊界值;讀取所述鍵值對,將其中的每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組;基于每個所述測試功能名稱及對應的所述邊界值和所述擴展值組,生成多個測試用例。示例性地,所述邊界值的類型包括下邊界值、上邊界值、下邊界值和上邊界值中的任一種或多種。示例性地,所述測試用例邊界值的內容在需求文檔中的編輯格式為:測試用例邊界值:測試功能名稱、下邊界值和/或上邊界值。示例性地,所述鍵值對的存儲格式為:以功能名稱為鍵,以下邊界值或上邊界值為值。優選地,將其中的每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組的方法包括:以每個功能名稱對應的下邊界值作為第一原始值,將第一原始值減1得到第一外擴展值,將第一原始值加1得到第一內擴展值,所述第一外擴展值和所述第一內擴展值共同構成所述功能名稱下邊界值對應的擴展值組;和/或,以每個功能名稱對應的上邊界值作為第二原始值,將第二原始值減1得到第二內擴展值,將第二原始值加1得到第二外擴展值,所述第二外擴展值和所述第二內擴展值共同構成所述功能名稱上邊界值對應的擴展值組。較佳地,基于每個所述測試功能名稱及對應的所述邊界值和所述擴展值組,生成多個測試用例的方法包括:以功能名稱及對應的第一原始值,生成所述功能名稱的第1測試用例,以功能名稱及對應的第一外擴展值,生成所述功能名稱的第2測試用例,以功能名稱及對應的第一內擴展值,生成所述功能名稱的第3測試用例;和/或,以功能名稱及對應的第二原始值,生成所述功能名稱的第4測試用例,以功能名稱及對應的第二內擴展值,生成所述功能名稱的第5測試用例,以功能名稱及對應的第二外擴展值,生成所述功能名稱的第6測試用例。進一步地,將與每個所述測試功能名稱生成的對應測試用例做寫入處理,所述寫入處理的方法包括:將每個所述測試功能名稱對應的測試用例寫入表格,寫入的格式為功能名稱寫入表格的功能列中,對應的測試用例寫入表格的操作步驟列中,對應的測試結果寫入預期結果列中。示例性地,使用Python中的xlwt庫將每個所述測試功能名稱對應的測試用例寫入表格中,使用Python中的docx庫打開需求文檔。與現有技術相比,本專利技術提供的自動化生成測試用例的方法具有以下有益效果:本專利技術提供的自動化生成測試用例的方法中,對于包含邊界值的需求文檔,產品人員在編寫時需要在需求文檔的指定位置上添加測試用例邊界值,測試人員在整理需求文檔時可根據測試用例邊界值的內容,將其中的每個測試功能名稱及對應的邊界值以鍵值對方式保存以便讀取,讀取過程中可將每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組,然后根據測試功能名稱及對應的邊界值和擴展值組,生成每個測試功能名稱對應的多個測試用例。實際使用時,可將本專利技術提供的方案編譯成自動化腳本,通過自動化腳本對測試用例快速拓展,一鍵生成多個測試用例。本專利技術的另一方面提供一種自動化生成測試用例的裝置,應用有上述技術方案提到的自動化生成測試用例方法,該裝置包括:文檔編寫單元,用于編寫需求文檔,所述需求文檔中包括測試用例邊界值;文檔識別單元,用于識別需求文檔中測試用例邊界值的內容并以鍵值對方式保存,所述內容包括至少一個測試功能名稱及對應的邊界值;邊界擴展單元,用于讀取所述鍵值對,將其中的每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組;用例生成單元,基于每個所述測試功能名稱及對應的所述邊界值和所述擴展值組,生成多個測試用例。與現有技術相比,本專利技術提供的自動化生成測試用例裝置的有益效果與上述技術方案提供的自動化生成測試用例方法的有益效果相同,在此不做贅述。本專利技術的第三方面提供一種計算機可讀存儲介質,計算機可讀存儲介質上存儲有計算機程序,計算機程序被處理器運行時執行上述自動化生成測試用例方法的步驟。與現有技術相比,本專利技術提供的計算機可讀存儲介質的有益效果與上述技術方案提供的自動化生成測試用例方法的有益效果相同,在此不做贅述。附圖說明此處所說明的附圖用來提供對本專利技術的進一步理解,構成本專利技術的一部分,本專利技術的示意性實施例及其說明用于解釋本專利技術,并不構成對本專利技術的不當限定。在附圖中:圖1為實施例一中自動化生成測試用例方法的一種流程示意圖;圖2為實施例一中自動化生成測試用例方法的另一種流程示意圖。具體實施方式為使本專利技術的上述目的、特征和優點能夠更加明顯易懂,下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述。顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有作出創造性勞動的前提下所獲得的所有其它實施例,均屬于本專利技術保護的范圍。實施例一請參閱圖1和圖2,本實施例提供一種自動化生成測試用例的方法,包括:編寫需求文檔,需求文檔中包括測試用例邊界值;識別需求文檔中測試用例邊界值的內容并以鍵值對方式保存,內容包括至少一個測試功能名稱及對應的邊界值;讀取鍵值對,將其中的每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組;基于每個測試功能名稱及對應的邊界值和擴展值組,生成多個測試用例。本實施例提供的自動化生成測試用例的方法中,對于包含邊界值的需求文檔,產品人員在編寫時需要在需求文檔的指定位置上添加測試用例邊界值,測試人員在整理需求文檔時可根據測試用例邊界值的內容,將其中的每個測試功能名稱及對應的邊界值以鍵值對方式保存以便讀取,讀取過程中可將每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組,然后根據測試功能名稱及對應的邊界值和擴展值組,生成每個測試功能名稱對應的多個測試用例。實際使用時,可將本實施例提供的方案編譯成自動化腳本,通過自動化腳本對測試用例快速拓展,一鍵生成多個測試用例。上述本文檔來自技高網...
【技術保護點】
1.一種自動化生成測試用例的方法,其特征在于,包括:/n編寫需求文檔,所述需求文檔中包括測試用例邊界值;/n識別需求文檔中測試用例邊界值的內容并以鍵值對方式保存,所述內容包括至少一個測試功能名稱及對應的邊界值;/n讀取所述鍵值對,將其中的每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組;/n基于每個所述測試功能名稱及對應的所述邊界值和所述擴展值組,生成多個測試用例。/n
【技術特征摘要】
1.一種自動化生成測試用例的方法,其特征在于,包括:
編寫需求文檔,所述需求文檔中包括測試用例邊界值;
識別需求文檔中測試用例邊界值的內容并以鍵值對方式保存,所述內容包括至少一個測試功能名稱及對應的邊界值;
讀取所述鍵值對,將其中的每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組;
基于每個所述測試功能名稱及對應的所述邊界值和所述擴展值組,生成多個測試用例。
2.根據權利要求1所述的方法,其特征在于,所述邊界值的類型包括下邊界值、上邊界值、下邊界值和上邊界值中的任一種或多種。
3.根據權利要求1所述的方法,其特征在于,所述測試用例邊界值的內容在需求文檔中的編輯格式為:
測試用例邊界值:測試功能名稱、下邊界值和/或上邊界值。
4.根據權利要求1所述的方法,其特征在于,所述鍵值對的存儲格式為:
以功能名稱為鍵,以下邊界值或上邊界值為值。
5.根據權利要求4所述的方法,其特征在于,將其中的每個邊界值做邊界擴展后生成與各邊界值對應的擴展值組的方法包括:
以每個功能名稱對應的下邊界值作為第一原始值,將第一原始值減1得到第一外擴展值,將第一原始值加1得到第一內擴展值,所述第一外擴展值和所述第一內擴展值共同構成所述功能名稱下邊界值對應的擴展值組;和/或,
以每個功能名稱對應的上邊界值作為第二原始值,將第二原始值減1得到第二內擴展值,將第二原始值加1得到第二外擴展值,所述第二外擴展值和所述第二內擴展值共同構成所述功能名稱上邊界值對應的擴展值組。
6.根據權利要求5所述的方法,其特征在于,基于每個所述測試功能名稱及對應的所述邊界值和所述擴展值組,生成多個測試用例的方法包括:
【專利技術屬性】
技術研發人員:張啟甫,徐琳琳,
申請(專利權)人:蘇寧云計算有限公司,
類型:發明
國別省市:江蘇;32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。