本公開涉及軟件測試,特別涉及測試用例生成方法、裝置及電子設備。
背景技術:
1、在應用程序開發(fā)過程中,研發(fā)人員往往利用測試用例,對應用程序實現(xiàn)的界面功能、界面事件的響應與界面間的交互進行測試。常見的測試用例生成過程包括,分析具體應用程序包含的界面和界面間的觸發(fā)關系;利用自動化測試用例生成工具深度遍歷多個界面間的觸發(fā)流程,生成多個測試用例;最后,對這些測試用例的有效性進行分析,得到合適的測試用例,以便對應用程序的其他版本進行測試。但是,如此會生成大量無效和冗余的測試用例,降低了生成測試用例的效率。
技術實現(xiàn)思路
1、本公開提供測試用例生成方法、裝置及電子設備。
2、根據(jù)第一方面,提供一種測試用例生成方法,所述方法包括:執(zhí)行多輪目標操作,其中,每輪所述目標操作包括:
3、生成本輪的至少一個測試用例,并對所述測試用例進行測試,得到測試結果;其中,非首輪的測試用例基于本輪之前的測試結果確定;
4、至少基于測試結果正確的測試用例,更新用于生成測試用例的第一集合;
5、其中,結束執(zhí)行所述多輪目標操作之后,所述方法還包括,基于所述第一集合獲取目標測試用例。
6、根據(jù)第二方面,提供一種測試用例生成裝置,所述裝置用于執(zhí)行多輪目標操作,對每輪所述目標操作,所述裝置包括:
7、生成模塊,用于生成本輪的至少一個測試用例,并對所述測試用例進行測試,得到測試結果;其中,非首輪的測試用例基于本輪之前的測試結果確定;
8、處理模塊,用于至少基于測試結果正確的測試用例,更新用于生成測試用例的第一集合;
9、其中,結束執(zhí)行所述多輪目標操作之后,所述處理模塊還用于,基于所述第一集合獲取目標測試用例。
10、根據(jù)第三方面,提供一種計算機可讀存儲介質,所述存儲介質存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面中任一項所述的方法。
11、根據(jù)第四方面,提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)第一方面中任一項所述的方法。
12、本公開的實施例提供的技術方案可以包括以下有益效果:
13、本公開的實施例提供的一種界面測試用例生成方法及裝置,通過執(zhí)行多輪測試操作,得到至少基于測試結果正確的測試用例更新的第一集合,以基于第一集合獲取目標測試用例,由于非首輪的每輪測試操作測試的至少一個測試用例,是基于本輪之前的測試結果而確定的,因此,在生成測試用例時,無需遍歷生成所有測試用例,避免了生成大量無效和冗余的測試用例,從而提高了生成有效測試用例的效率。
14、應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
1.一種測試用例生成方法,所述方法包括,執(zhí)行多輪目標操作,其中,每輪所述目標操作包括:
2.根據(jù)權利要求1所述的方法,其中,所述第一集合中包括測試結果正確的測試用例對應的事件轉換路徑;所述事件轉換路徑包括多個事件節(jié)點以及所述多個事件節(jié)點之間的跳轉關系;其中,所述事件節(jié)點對應于測試事件,所述事件節(jié)點之間的跳轉關系對應于測試事件之間的順序;
3.根據(jù)權利要求2所述的方法,其中,所述基于所述當前的第一集合,獲取本輪的至少一個事件轉換路徑,包括:
4.根據(jù)權利要求3所述的方法,其中,所述基于所述狀態(tài)轉換圖和所述當前的第一集合,獲取本輪的至少一個事件轉換路徑,包括:
5.根據(jù)權利要求4所述的方法,其中,所述第一集合包括第一子集和第二子集,所述第一子集包括測試結果正確的測試用例對應的事件轉換路徑,所述第二子集包括測試結果錯誤的測試用例對應的事件轉換路徑;
6.根據(jù)權利要求5所述的方法,其中,針對任一備選的事件轉換路徑,
7.根據(jù)權利要求5所述的方法,其中,所述至少基于測試結果正確的測試用例,更新第一集合,包括:
8.一種界面測試用例生成裝置,所述裝置用于執(zhí)行多輪目標操作,對每輪所述目標操作,所述裝置包括:
9.一種計算機可讀存儲介質,其上存儲有計算機程序,當所述計算機程序在計算機中執(zhí)行時,令所述計算機執(zhí)行權利要求1-7中任一項所述的方法。
10.一種電子設備,包括存儲器和處理器,所述存儲器中存儲有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時,實現(xiàn)權利要求1-7中任一項所述的方法。