本發明涉及測試領域,特別涉及一種測試用例代碼自動生成方法、裝置、設備及存儲介質。
背景技術:
1、i2s即inter-ic?sound,是一種針對數字音頻設備之間的音頻數據傳輸而制定的一種總線標準。在基于uvm(universal?verification?methodology,通用驗證方法學)的i2s模塊級驗證環境中,每當增加新的測試用例,一般都需要編寫新的sequence(事務序列)和case(具體用例)。由此可見,編寫測試用例代碼為i2s模塊級驗證中最繁重且最主要的工作,也就是說編寫sequence和case為i2s模塊級驗證中最繁重且最主要的工作。
2、現階段基于uvm的i2s模塊級驗證中的測試用例代碼一般采取手動編寫,編寫過程較為繁瑣且容易出錯。因此,如何提高測試用例代碼的編寫效率和準確性是當前亟需解決的技術問題。
技術實現思路
1、有鑒于此,本發明的目的在于提供一種測試用例代碼自動生成方法、裝置、設備及存儲介質,解決了現有技術中測試用例代碼的編寫效率低和準確性差的問題。
2、為解決上述技術問題,本發明提供了一種測試用例代碼自動生成方法,包括:
3、獲取預先制作的驗證方案表單;所述驗證方案表單中包括多個驗證方案和相對應的測試用例名,所述驗證方案的各項驗證信息按預設規則存放;
4、將待測試用例名輸入至利用編程語言制作的自動化腳本中;
5、運行所述自動化腳本,根據所述待測試用例名從所述驗證方案表單中匹配到目標驗證方案,并根據所述目標驗證方案自動生成相應的測試用例代碼,所述測試用例代碼包括事務序列代碼和具體用例代碼。
6、在一些實施例中,所述驗證方案表單的制作過程,包括:
7、將各個所述驗證方案中發送端和接收端的協議模式配置信息、發送端寫入發送寄存器的發送數據信息,以及接收端讀取接收寄存器的接收數據信息按照所述預設規則寫入至所述驗證方案表單中的指定位置,得到所述預先制作的驗證方案表單。
8、在一些實施例中,將各個所述驗證方案中發送端和接收端的協議模式配置信息按照所述預設規則寫入至所述驗證方案表單中的指定位置,包括:
9、將各個所述驗證方案中發送端控制寄存器的發送使能、數據發送模式、發送數據位寬、發送數據采樣頻率,以及接收端控制寄存器的接收使能、數據接收模式、接收數據位寬按照所述預設規則寫入至所述驗證方案表單中的指定位置。
10、在一些實施例中,將各個所述驗證方案中發送端寫入發送寄存器的發送數據信息和接收端讀取接收寄存器的接收數據信息按照所述預設規則寫入至所述驗證方案表單中的指定位置,包括:
11、將各個所述驗證方案中發送端寫入發送寄存器的事務約束、隨機化信息、發送事務時間間隔信息和發送事務循環次數信息,以及接收端讀取接收寄存器的事務信息、發送事務時間間隔信息和發送事務循環次數信息按照所述預設規則寫入至所述驗證方案表單中的指定位置。
12、在一些實施例中,根據所述目標驗證方案自動生成相應的測試用例代碼,所述測試用例代碼包括事務序列代碼和具體用例代碼,包括:
13、根據所述目標驗證方案中的協議模式配置信息,自動生成控制寄存器配置信息的事務序列代碼;
14、根據所述目標驗證方案中的發送端寫入發送寄存器的發送數據信息和接收端讀取接收寄存器的接收數據信息,自動生成收發數據總線事務的事務序列代碼;所述收發數據總線事務的事務序列代碼包括隨機化、約束語句、事務類型、指定實際產生事務的序列生成器、產生讀寫事務的數量和事務間的隨機時間間隔信息的代碼;
15、根據所述目標驗證方案中的協議模式配置信息,自動生成所述具體用例代碼;所述具體用例代碼中所指定啟動的事務序列名為所述待測試用例名;所述具體用例代碼中用于配置監視器的協議模式與所述目標驗證方案中的協議模式一致,以使所述監視器按照與所述目標驗證方案中的協議模式進行串口信號采樣。
16、在一些實施例中,在根據所述目標驗證方案中的協議模式配置信息,自動生成控制寄存器配置信息的事務序列代碼之后,還包括:
17、根據所述目標驗證方案中的協議模式配置信息,自動在所述控制寄存器配置信息的事務序列代碼后面添加對應的注釋。
18、在一些實施例中,所述自動化腳本的制作過程,包括:
19、利用python編程語言編寫所述自動化腳本;
20、相應的,所述根據所述待測試用例名從所述驗證方案表單中匹配到目標驗證方案,包括:
21、利用讀寫數據庫模塊從所述驗證方案表單中確定所述待測試用例名相對應的所述目標驗證方案。
22、本發明還提供了一種測試用例代碼自動生成裝置,包括:
23、驗證方案表單獲取模塊,用于獲取預先制作的驗證方案表單;所述驗證方案表單中包括多個驗證方案和相對應的測試用例名,所述驗證方案的各項驗證信息按預設規則存放;
24、輸入模塊,用于將待測試用例名輸入至利用編程語言制作的自動化腳本中;
25、代碼生成模塊,用于運行所述自動化腳本,根據所述待測試用例名從所述驗證方案表單中匹配到目標驗證方案,并根據所述目標驗證方案自動生成相應的測試用例代碼,所述測試用例代碼包括事務序列代碼和具體用例代碼。
26、本發明還提供了一種測試用例代碼自動生成設備,包括:
27、存儲器,用于存儲計算機程序;
28、處理器,用于執行所述計算機程序時實現上述的測試用例代碼自動生成方法的步驟。
29、本發明還提供了一種存儲介質,所述存儲介質中存儲有計算機可執行指令,所述計算機可執行指令被處理器加載并執行時,實現上述的測試用例代碼自動生成方法的步驟。
30、本發明還提供了一種計算機程序產品,?包括計算機程序/指令,該計算機程序/指令被處理器執行時實現上述測試用例代碼自動生成方法的步驟。
31、由上述技術方案可以看出,通過預先將各種驗證方案的相關驗證信息寫入到驗證方案表單中的對應位置,得到包含各種驗證方案的驗證方案表單;利用編程語言編寫自動生成測試用例代碼的自動化腳本,基于該自動化腳本和驗證方案表單,就可以為各種驗證方案自動生成相對應的測試用例代碼,即自動產生事務序列代碼和具體用例代碼。本發明的有益效果在于:將基于uvm的i2s模塊級驗證過程中的測試用例代碼編寫工作由人工編寫轉化為自動編寫,整個過程可根據驗證方案表單一鍵生成,避免重復性手動編寫,減少出錯幾率,從而提高了i2s模塊級驗證的效率和準確性,并且還降低了成本。
32、此外,本發明還提供了一種測試用例代碼自動生成裝置、設備、存儲介質和計算機程序產品,同樣具有上述有益效果。
1.一種測試用例代碼自動生成方法,其特征在于,包括:
2.根據權利要求1所述的測試用例代碼自動生成方法,其特征在于,所述驗證方案表單的制作過程,包括:
3.根據權利要求2所述的測試用例代碼自動生成方法,其特征在于,將各個所述驗證方案中發送端和接收端的協議模式配置信息按照所述預設規則寫入至所述驗證方案表單中的指定位置,包括:
4.根據權利要求2所述的測試用例代碼自動生成方法,其特征在于,將各個所述驗證方案中發送端寫入發送寄存器的發送數據信息和接收端讀取接收寄存器的接收數據信息按照所述預設規則寫入至所述驗證方案表單中的指定位置,包括:
5.根據權利要求1所述的測試用例代碼自動生成方法,其特征在于,根據所述目標驗證方案自動生成相應的測試用例代碼,所述測試用例代碼包括事務序列代碼和具體用例代碼,包括:
6.根據權利要求5所述的測試用例代碼自動生成方法,其特征在于,在根據所述目標驗證方案中的協議模式配置信息,自動生成控制寄存器配置信息的事務序列代碼之后,還包括:
7.根據權利要求1所述的測試用例代碼自動生成方法,其特征在于,所述自動化腳本的制作過程,包括:
8.一種測試用例代碼自動生成裝置,其特征在于,包括:
9.一種測試用例代碼自動生成設備,其特征在于,包括:
10.一種存儲介質,其特征在于,所述存儲介質中存儲有計算機可執行指令,所述計算機可執行指令被處理器加載并執行時,實現如權利要求1至7任一項所述的測試用例代碼自動生成方法的步驟。