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