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