本發(fā)明涉及集成電路計(jì)算機(jī)輔助設(shè)計(jì)領(lǐng)域,尤其涉及一種通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法。
背景技術(shù):
在集成電路設(shè)計(jì)流程中使用的設(shè)計(jì)工具,為了實(shí)現(xiàn)與用戶的交互都會(huì)存在界面,特別是在原理圖編輯和版圖編輯等工具中。在這種類型的工具中每條命令都會(huì)有很多參數(shù),所有參數(shù)配置都會(huì)放到命令界面中,這些參數(shù)既能實(shí)現(xiàn)單個(gè)功能同時(shí)也會(huì)和其他參數(shù)組合使用,這就要求界面程序在單個(gè)參數(shù)及各種參數(shù)組合中均保證功能正確,并且每次對(duì)功能的改進(jìn)不會(huì)影響原本正確的功能。
既要保證每個(gè)功能點(diǎn)的正確同時(shí)還要確保各種參數(shù)組合正確,因而需要進(jìn)行有效測(cè)試。點(diǎn)功能改進(jìn)之后,需要對(duì)全部相關(guān)功能進(jìn)行重復(fù)測(cè)試,人工測(cè)試很難覆蓋到全部,會(huì)經(jīng)常出現(xiàn)測(cè)試點(diǎn)遺留,從而導(dǎo)致修改功能點(diǎn)時(shí)反復(fù)出現(xiàn)問題。如果每次修改都需要人工驗(yàn)證,人工測(cè)試工作量巨大,且效果不能得到有效保證,很難保證各種參數(shù)組合功能都正確。
因此,提出一種通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,能夠自動(dòng)進(jìn)行集成電路設(shè)計(jì)工具的功能測(cè)試以及回歸測(cè)試,確保界面功能的正確性,成為亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)存在的不足,本發(fā)明的目的在于提供一種通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,能夠自動(dòng)進(jìn)行集成電路設(shè)計(jì)工具的功能測(cè)試以及回歸測(cè)試,確保界面功能的正確性。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,包括以下步驟:
(1)自定義一組記錄界面操作的命令集;(2)回放自定義的命令集,模擬界面操作的過(guò)程。
進(jìn)一步地,所述命令集包括:用戶在繪圖區(qū)域進(jìn)行鼠標(biāo)左鍵點(diǎn)擊操作、右鍵點(diǎn)擊操作、左鍵雙擊操作、左鍵框選操作及右鍵框選操作,以及用戶在界面中輸入字符串、對(duì)控件內(nèi)容進(jìn)行選擇的操作。
進(jìn)一步地,所述界面操作具體包括:手動(dòng)測(cè)試多個(gè)組合功能、手動(dòng)測(cè)試某一功能及手動(dòng)繪制mos管器件。
所述步驟(1)包括步驟:(11)基于測(cè)試數(shù)據(jù),通過(guò)腳本文件,生成測(cè)例;(12)對(duì)單個(gè)測(cè)例進(jìn)行測(cè)試。
進(jìn)一步地,所述步驟(1)還包括步驟:(13)批量測(cè)試所述測(cè)例。
進(jìn)一步地,所述步驟(13)包括步驟:(121)當(dāng)所述測(cè)例存在問題時(shí),修改所述測(cè)例;(122)當(dāng)所述功能出現(xiàn)問題時(shí),修改所述功能。
所述步驟(2)進(jìn)一步包括步驟:控制回放速度的快慢。
本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,通過(guò)記錄界面中控件的操作行為的命令所對(duì)應(yīng)的操作過(guò)程,實(shí)現(xiàn)回放控件的基本操作行為,達(dá)到記錄和模擬所有界面操作的目的。并且還可以在記錄界面操作的界面行為的同時(shí),使用記錄下的腳本命令對(duì)界面操作進(jìn)行模擬人工手動(dòng)操作。
本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,不僅大大降人工測(cè)試的工作量,還能夠自動(dòng)對(duì)改進(jìn)功能進(jìn)行回歸測(cè)試,并且還能夠有效避免人工操作帶來(lái)的錯(cuò)誤,極大地提高了集成電路工具測(cè)試的效率。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見,或者通過(guò)實(shí)施本發(fā)明而了解。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,并與本發(fā)明的實(shí)施例一起,用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1為根據(jù)本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法流程圖;
圖2為根據(jù)本發(fā)明的自定義命令集的生成及回放測(cè)試過(guò)程流程圖;
圖3為根據(jù)本發(fā)明的記錄界面操作過(guò)程的示意圖;
圖4為根據(jù)本發(fā)明的記錄界面操作的腳本文件的命令圖;
圖5為根據(jù)本發(fā)明的執(zhí)行記錄的腳本文件的示意圖;
圖6為根據(jù)本發(fā)明的執(zhí)行記錄的腳本文件的界面操作的示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為根據(jù)本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法流程圖,下面將參考圖1,對(duì)本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法進(jìn)行詳細(xì)描述。
在步驟101,自定義一組記錄界面操作的命令集;
其中,命令集包括:用戶在繪圖區(qū)域進(jìn)行鼠標(biāo)左鍵點(diǎn)擊操作、右鍵點(diǎn)擊操作、左鍵雙擊操作、左鍵框選操作及右鍵框選操作等,以及用戶在界面中輸入字符串、對(duì)控件內(nèi)容進(jìn)行選擇等操作。
圖2為本根據(jù)發(fā)明的自定義命令集的生成及回放測(cè)試過(guò)程流程圖,如圖2所示,自定義命令集的生成及回放測(cè)試具體包括如下步驟:
(1)通過(guò)測(cè)試數(shù)據(jù),進(jìn)行界面操作;
其中,界面操作具體包括:手動(dòng)測(cè)試多個(gè)組合功能、手動(dòng)測(cè)試某一功能及手動(dòng)繪制mos管器件等。
(2)自動(dòng)生成命令文件,形成測(cè)例;
在該步驟中,通過(guò)腳本文件記錄界面操作并生成命令文件;
(3)單個(gè)測(cè)例進(jìn)行自動(dòng)測(cè)試;
(4)檢測(cè)測(cè)例是否存在問題,否,則轉(zhuǎn)到步驟(5),是,則轉(zhuǎn)到步驟(6);
(5)將測(cè)例放入測(cè)試集;
(6)修改測(cè)例,再轉(zhuǎn)回步驟(4);
(7)批量自動(dòng)測(cè)試測(cè)試集中的測(cè)例;
(8)自動(dòng)測(cè)試回放,成功,則結(jié)束測(cè)試;否則,當(dāng)測(cè)例存在問題時(shí),轉(zhuǎn)到步驟(6),以及當(dāng)功能出現(xiàn)問題時(shí),轉(zhuǎn)到步驟(9);
(9)修改功能,再轉(zhuǎn)到步驟(3)。
在上述過(guò)程中,通過(guò)自定義一組記錄界面操作的命令集,記錄界面中控件的行為,從而能夠有能力對(duì)所有使用該控件界面的程序進(jìn)行測(cè)試。
在步驟102,回放自定義的命令集,模擬界面操作的過(guò)程。
在該步驟中,通過(guò)回放自動(dòng)記錄的腳本文件,模擬人工操作過(guò)程,執(zhí)行模擬的鼠標(biāo)與鍵盤操作,從而實(shí)現(xiàn)自動(dòng)在版圖設(shè)計(jì)工具中進(jìn)行圖形創(chuàng)建、編輯等操作。通過(guò)這種自動(dòng)回放過(guò)程,可以大幅度減少手動(dòng)操作的工作量,從而提升設(shè)計(jì)工具本身的研發(fā)效率。
在該步驟中,還可以控制回放速度的快慢。
本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,通過(guò)記錄回放實(shí)現(xiàn)基本控件的行為,能夠達(dá)到測(cè)試所有界面的能力,不僅能夠模仿手動(dòng)操作的方式進(jìn)行自動(dòng)回放,還能夠覆蓋到所有界面的自動(dòng)測(cè)試。并且自動(dòng)測(cè)試可以是單個(gè)功能點(diǎn)的自動(dòng)測(cè)試,也可以是多個(gè)功能點(diǎn)的組合測(cè)試,或者創(chuàng)建一個(gè)完整器件的自動(dòng)測(cè)試。
圖3為根據(jù)本發(fā)明的記錄界面操作過(guò)程的示意圖;圖4為根據(jù)本發(fā)明的記錄界面操作的腳本文件的命令圖;圖5為根據(jù)本發(fā)明的執(zhí)行記錄的腳本文件的示意圖;圖6為根據(jù)本發(fā)明的執(zhí)行記錄的腳本文件的界面操作的示意圖。
下面參考圖3至圖6,以集成電路版圖設(shè)計(jì)工具為例,結(jié)合實(shí)際操作闡述本發(fā)明的工作原理。
實(shí)施例一
采用本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,針對(duì)現(xiàn)有的數(shù)據(jù)進(jìn)行修改,具體操作流程如下:
1)自定義并實(shí)現(xiàn)一組操作的命令集;
2)使用預(yù)先準(zhǔn)備好的測(cè)試數(shù)據(jù),啟動(dòng)版圖工具;
21)選擇一個(gè)設(shè)計(jì)單元,打開版圖數(shù)據(jù);
22)選中版圖中的矩形物體;
23)啟動(dòng)move命令物體;
24)啟動(dòng)save命令保存數(shù)據(jù);
25)啟動(dòng)gdsOut命令,輸出設(shè)計(jì)數(shù)據(jù);
其中,21)、22)、23)、24)和25)步驟中自動(dòng)生成腳本命令文件;
3)把測(cè)試用例與命令文件打包后,進(jìn)行自動(dòng)測(cè)試,放入測(cè)試集中;
4)自動(dòng)測(cè)試后,判斷該項(xiàng)測(cè)試結(jié)果是否與之前預(yù)置行為一致。
實(shí)施例二
采用本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,自動(dòng)覆蓋測(cè)試設(shè)計(jì)從無(wú)到有的創(chuàng)建過(guò)程,具體操作流程如下:
1)自定義并實(shí)現(xiàn)一組操作的命令集;
2)使用預(yù)先準(zhǔn)備好的測(cè)試數(shù)據(jù),啟動(dòng)版圖工具;
21)使用create cell命令創(chuàng)建一個(gè)新設(shè)計(jì)單元,創(chuàng)建過(guò)程中需要選擇lib庫(kù)名,輸入cell名;
22)啟動(dòng)create rect命令,使用鼠標(biāo)點(diǎn)擊繪圖區(qū)域創(chuàng)建rect;
23)啟動(dòng)create path命令,使用鼠標(biāo)點(diǎn)擊繪制區(qū)域創(chuàng)建path;
24)啟動(dòng)save命令保存數(shù)據(jù);
25)啟動(dòng)gdsOut命令,輸出設(shè)計(jì)數(shù)據(jù);
其中,21)、22)、23)、24)和25)步驟中自動(dòng)生成腳本命令文件;
3)把測(cè)試用例與命令文件打包后,放入測(cè)試集中;
4)自動(dòng)測(cè)試時(shí),使用一個(gè)腳本批量逐一運(yùn)行每個(gè)測(cè)試用例進(jìn)行自動(dòng)測(cè)試;
5)自動(dòng)測(cè)試后,判斷該項(xiàng)測(cè)試結(jié)果是否與之前預(yù)置行為一致。
實(shí)施例三
采用本發(fā)明的通過(guò)腳本進(jìn)行界面自動(dòng)測(cè)試的方法,覆蓋設(shè)計(jì)MOS、電阻、電容等器件自動(dòng)測(cè)試,具體操作流程如下:
1)自定義并實(shí)現(xiàn)一組操作的命令集;
2)使用預(yù)先準(zhǔn)備好的測(cè)試數(shù)據(jù),啟動(dòng)版圖工具;
21)使用create cell命令創(chuàng)建一個(gè)MOS18新設(shè)計(jì)單元名;
22)根據(jù)不同設(shè)計(jì)規(guī)則,繪制MOS管的源、柵、漏、襯底等區(qū)域;操作過(guò)程中會(huì)用到create rect、move、stretch、align、copy、ruler等命令。
23)啟動(dòng)save命令保存數(shù)據(jù);
24)啟動(dòng)gdsOut命令,輸出設(shè)計(jì)數(shù)據(jù);
其中,21)、22)、23)和24)步驟中自動(dòng)生成腳本命令文件;
3)把測(cè)試用例與命令文件打包后,放入測(cè)試集中;
4)自動(dòng)測(cè)試時(shí),使用一個(gè)腳本批量逐一運(yùn)行每個(gè)測(cè)試用例進(jìn)行自動(dòng)測(cè)試;
5)自動(dòng)測(cè)試后,判斷該項(xiàng)測(cè)試結(jié)果是否與之前預(yù)置行為一致。
本領(lǐng)域普通技術(shù)人員可以理解:以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),其依然可以對(duì)前述各實(shí)施例記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。