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