国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于腳本的三維建模軟件自動(dòng)測試方法

      文檔序號:6631696閱讀:215來源:國知局
      專利名稱:基于腳本的三維建模軟件自動(dòng)測試方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種軟件自動(dòng)測試方法,特別是一種基于腳本的三維建模軟件自動(dòng)測試方法。
      背景技術(shù)
      軟件測試是伴隨軟件開發(fā)產(chǎn)生的一項(xiàng)技術(shù),它經(jīng)歷了從無到有、從簡單到復(fù)雜的發(fā)展過程。在軟件技術(shù)發(fā)展的早期,軟件測試是混合于軟件開發(fā)之中。沒有軟件開發(fā)人員與軟件測試人員的區(qū)分,甚至沒有開發(fā)與測試過程的明顯區(qū)分。隨著軟件技術(shù)的逐步發(fā)展,軟件測試也慢慢與軟件開發(fā)分開,成為一項(xiàng)獨(dú)立的技術(shù)。
      目前,軟件工程理論認(rèn)為,軟件測試是軟件生命周期的一個(gè)重要階段,對應(yīng)于不同的測試層次,又分為單元測試、集成測試、驗(yàn)收測試等;同時(shí),不同的測試對應(yīng)于不同的執(zhí)行測試人員。通常,集成測試與驗(yàn)收測試應(yīng)有專門的測試人員完成,而單元測試應(yīng)該作為軟件開發(fā)的一個(gè)部分,由軟件開發(fā)人員完成。
      在軟件測試技術(shù)的發(fā)展過程中,開發(fā)人員與測試人員發(fā)現(xiàn),如果軟件測試過程全部由手工完成,測試的成本相當(dāng)高昂,并且隨著測試次數(shù)的增加持續(xù)增加。為了解決這一問題,軟件測試自動(dòng)化技術(shù)逐步產(chǎn)生并發(fā)展起來。對于某些測試任務(wù),測試自動(dòng)化比手工測試執(zhí)行高效得多,尤其是在對程序的新版本運(yùn)行已有的測試(回歸測試)時(shí)。這樣,更多、更頻繁的運(yùn)行測試成為可能,這樣可以顯著降低新引入錯(cuò)誤存在的平均時(shí)間,降低修改錯(cuò)誤的成本。同時(shí),測試自動(dòng)化可以更好的利用設(shè)備資源,這項(xiàng)技術(shù)可以將測試技術(shù)人員從繁瑣的重復(fù)輸入、檢驗(yàn)輸出的過程中解放,使其可以將更多的精力用于設(shè)計(jì)新的測試用例。另外,測試自動(dòng)化具有一致性和可重復(fù)性。對于自動(dòng)重復(fù)的測試可以重復(fù)多次相同的測試,這樣就可以獲得測試的一致性,這在手工測試中的很難保證的。
      目前,一般的測試自動(dòng)化技術(shù)為通用技術(shù),并非針對三維建模軟件,不能處理三維建模軟件中的特殊問題;且通用測試自動(dòng)化技術(shù)基于技術(shù)限制,只能在用戶界面層次上進(jìn)行自動(dòng)化測試,而三維建模軟件的特點(diǎn)決定了在用戶界面層次上的自動(dòng)化測試基本無法完成。這是由于,傳統(tǒng)的通用測試自動(dòng)化技術(shù)通?;谙袼乇容^,而三維渲染輸出不同于二維圖形、文字輸出,三維渲染輸出沒有標(biāo)準(zhǔn)的像素級輸出,這就導(dǎo)致了在三維建模軟件的運(yùn)行環(huán)境發(fā)生少許變化之后,例如圖形顯示卡型號、驅(qū)動(dòng)程序版本或系統(tǒng)軟件設(shè)置發(fā)生改變之后,具體的輸出結(jié)果可能會發(fā)生變化。這就最終導(dǎo)致在用戶界面層次上不能進(jìn)行傳統(tǒng)的自動(dòng)化測試。

      發(fā)明內(nèi)容
      本發(fā)明的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供一種基于腳本的三維建模軟件自動(dòng)測試方法,它考慮了三維建模軟件的特點(diǎn),有效地提高三維建模軟件的測試效率,且成本低。
      本發(fā)明的技術(shù)解決方案基于腳本的三維建模軟件自動(dòng)測試方法,其特征在于包括下列步驟(1)在回歸測試管理工具的控制下,以測試用腳本作為輸入啟動(dòng)三維建模工具開始工作;(2)經(jīng)過三維建模工具后輸出工作結(jié)果;(3)在回歸測試管理工具的控制下,利用比較工具將輸出的工作結(jié)果與標(biāo)準(zhǔn)回歸測試輸出文件進(jìn)行比較和分析;(4)最后將比較后的測試結(jié)論在工具界面上報(bào)告給用戶。
      所述的回歸測試管理工具包括測試用例管理和執(zhí)行引擎兩個(gè)主要模塊,測試用例管理模塊管理所有的測試用例索引列表,它要進(jìn)行測試用例列表的瀏覽、測試用例列表的添加和測試用例列表的刪除工作,測試用例索引列表直接對應(yīng)于磁盤上的回歸測試索引文件,當(dāng)用戶下達(dá)執(zhí)行命令后,測試用例管理模塊以回歸測試索引文件作為輸入,將磁盤上的每個(gè)測試用例送入執(zhí)行引擎模塊中測試;執(zhí)行引擎負(fù)責(zé)單個(gè)測試用例條目的執(zhí)行,包括進(jìn)程啟動(dòng)、進(jìn)程監(jiān)視和進(jìn)程返回結(jié)果處理部分,三維建模工具與比較工具作為外部的獨(dú)立部分由進(jìn)程啟動(dòng)部分啟動(dòng),并由進(jìn)程監(jiān)視部分監(jiān)視其執(zhí)行狀態(tài),直到每個(gè)測試用例執(zhí)行結(jié)束,并根據(jù)比較結(jié)果由進(jìn)程返回結(jié)果處理部分進(jìn)行處理。
      所述的三維建模工具自下而上由數(shù)據(jù)層、邏輯層和表現(xiàn)層組成。數(shù)據(jù)層是整個(gè)軟件的核心,負(fù)責(zé)模型樹的維護(hù)、環(huán)境變量的使用以及OpenFlight文件的讀寫等功能;邏輯層主要由Command Center以及一組Command組成,其功能主要是進(jìn)行建模操作,對模型樹進(jìn)行某項(xiàng)修改;表現(xiàn)層利用OpenGL或是DirectX,以二維、三維等多種形式對正在編輯的模型、輔助點(diǎn)線面等進(jìn)行實(shí)時(shí)顯示輸出,并允許用戶對正在運(yùn)行的命令提供輸入。三維建模工具作為自動(dòng)化測試的對象,在邏輯層設(shè)計(jì)了專用于測試的基于腳本系統(tǒng)的輸入接口。利用此輸入接口,回歸測試管理工具依次將每個(gè)測試用例的輸入腳本作為參數(shù)啟動(dòng)三維建模工具,并獲取所有的輸出。
      所述的比較工具以兩個(gè)同種類型的文件作為輸入,經(jīng)過比較算法進(jìn)行比較,最終輸出比較的結(jié)果。對于文本比較工具而言,輸入文件必須是文本文件,比較工具以文本行為單位進(jìn)行比較操作。對于二進(jìn)制比較工具或定制比較工具而言,輸入文件可以為二進(jìn)制文件,比較工具以固定長度二進(jìn)制數(shù)據(jù)塊或結(jié)構(gòu)化數(shù)據(jù)塊作為比較單位。比較算法通常為外搜索算法,相對于其他算法,外搜索算法可以有效減少內(nèi)存的占用。
      本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于(1)三維建模工具作為自動(dòng)化測試的對象,擁有專用于測試的基于腳本系統(tǒng)的輸入接口,利用此輸入接口,回歸測試管理工具依次將每個(gè)測試用例的輸入腳本作為參數(shù)啟動(dòng)三維建模工具,并獲取所有的輸出。為了建立這個(gè)專用于測試的接口,本發(fā)明的三維建模工具采用層次結(jié)構(gòu)化設(shè)計(jì),自下而上主要分為數(shù)據(jù)層、邏輯層與用戶界面層,各個(gè)層次之間相互獨(dú)立,擁有特定的內(nèi)部接口(C++語言描述)。在內(nèi)部接口之外,邏輯層還擁有以三維建模工具腳本語言描述的另一同功能接口,這個(gè)接口就是自動(dòng)化測試專用接口。本發(fā)明在測試對象方面,與傳統(tǒng)自動(dòng)化測試最大的不同在于傳統(tǒng)自動(dòng)化測試不要求也不能夠在測試對象中為測試建立專用的模塊。在傳統(tǒng)自動(dòng)化測試中,所有測試都必須基于用戶界面層次進(jìn)行。而本發(fā)明打破這一限制,將自動(dòng)化測試直接建立在自動(dòng)化測試對象的邏輯層或數(shù)據(jù)層,這樣便解決了傳統(tǒng)自動(dòng)化測試不適用于三維建模軟件的問題,為低成本、高效率地建立高質(zhì)量的三維建模軟件建立了良好的基礎(chǔ)。
      (2)本發(fā)明對應(yīng)于每一個(gè)回歸測試腳本,編輯制作對應(yīng)的標(biāo)準(zhǔn)回歸測試輸出文件,測試者通過比較工具對比某一次的回歸測試輸出與標(biāo)準(zhǔn)回歸測試輸出文件,即可快速發(fā)現(xiàn)該次回歸測試中產(chǎn)生的問題、錯(cuò)誤,而且由于新需求、固有錯(cuò)誤或優(yōu)化而進(jìn)行的程序修改之后,回歸測試可以快速發(fā)現(xiàn)系統(tǒng)最新引入的錯(cuò)誤,從而減少新錯(cuò)誤存在的時(shí)間,降低修改錯(cuò)誤的成本。
      (3)本發(fā)明根據(jù)三維模型編輯系統(tǒng)的特點(diǎn),設(shè)計(jì)了一組專門用于三維模型編輯的指令集合,使用戶可以更加精確的發(fā)出建模指令,同時(shí)允許用戶設(shè)計(jì)一組包括順序、條件分支以及循環(huán)的復(fù)雜指令集,共同完成一個(gè)參數(shù)化的建模動(dòng)作。
      (4)本發(fā)明為了減少手工操作,設(shè)計(jì)了回歸測試程序,通過將測試腳本、標(biāo)準(zhǔn)回歸測試輸出加入統(tǒng)一的回歸測試索引文件,使回歸測試可以自動(dòng)進(jìn)行,進(jìn)一步減小了回歸測試代價(jià),降低了系統(tǒng)測試成本。


      圖1為本發(fā)明的自動(dòng)測試方法流程圖;圖2為本發(fā)明的回歸管理工具組成圖;圖3為本發(fā)明的一個(gè)實(shí)施例中的回歸測試工具用戶界面圖;圖4為本發(fā)明中的三維建模工具組成框架圖;
      圖5本發(fā)明中的三維建模工具的圖形用戶界面圖;圖6為本發(fā)明中的一個(gè)測試用例生成的三維幾何體圖。
      具體實(shí)施例方式
      如圖1所示,使用本發(fā)明方法進(jìn)行自動(dòng)化測試,具體的步驟為首先用戶(測試者)啟動(dòng)回歸測試管理工具,然后在回歸測試管理工具的控制下,令三維建模工具以測試用腳本作為輸入開始工作,得到輸出結(jié)果后,再通過控制比較工具將輸出結(jié)果與標(biāo)準(zhǔn)回歸測試輸出進(jìn)行比較,最后得到回歸測試成功或失敗的結(jié)論,輸出比較結(jié)果。
      回歸測試索引文件按照條目編制,每一條目對應(yīng)一項(xiàng)測試,條目內(nèi)容包含測試名稱、此項(xiàng)測試的各項(xiàng)輸入文件名等信息,具體條目如表1所示。
      表1回歸測試索引文件

      由表1可以看出,每一個(gè)回歸測試索引項(xiàng)由4行組成,第一行為由方括號包圍的測試用例名稱,代表著一項(xiàng)的開始,第二行為測試的輸入文件名,第三行為測試的輸出文件名,最后一行為針對此測試用例的解釋。利用這樣的回歸測試索引文件,用戶可以方便的描述一次測試中的所有測試用例,并且由于已經(jīng)在文件中說明了輸入、輸入文件名,因此不需要在運(yùn)行時(shí)再單獨(dú)指明,使測試過程完全無需用戶參與,實(shí)現(xiàn)全面的自動(dòng)化。
      回歸測試索引文件是一個(gè)文本文件,可以使用任意的文本編輯器對其進(jìn)行編輯。
      測試用腳本使用三維建模工具腳本語言書寫,符合三維建模工具腳本語言的語法,具體語法如表2所示。腳本的具體內(nèi)容根據(jù)不同測試的需求而不同。一般地,測試腳本應(yīng)該假設(shè)測試腳本啟動(dòng)時(shí)具有一致的啟動(dòng)環(huán)境,同時(shí),為了滿足回歸測試的需要,在設(shè)計(jì)測試腳本的過程中,必須注意腳本運(yùn)行的運(yùn)行結(jié)果要有可預(yù)期的一致性,否則不能作為回歸測試腳本使用。測試腳本的語義不受任何限制,不論是系統(tǒng)允許的操作或是系統(tǒng)不允許的操作,都可以作為測試腳本使用。在測試系統(tǒng)是否能夠正確處理錯(cuò)誤的輸入信息時(shí),通常故意使用具有不正確內(nèi)容的測試腳本。
      三維建模工具腳本系統(tǒng)的語法如表2所示,通過組合使用各種三維建模命令,可以達(dá)到建立復(fù)雜模型的目的。
      表2三維建模工具腳本系統(tǒng)語法(部分)

      基于以上的腳本語法,配合適當(dāng)?shù)膮?shù),用戶可以寫出多種不同的測試腳本,并以此對系統(tǒng)進(jìn)行充分的測試。關(guān)于測試腳本的具體寫法,可以參考下面的兩個(gè)具體的例子。
      比較工具比較兩個(gè)文件,并指出兩個(gè)文件的異同。根據(jù)具體任務(wù)的不同,系統(tǒng)對比較工具有不同的要求。在對三維建模工具的文本形式的輸出進(jìn)行比較時(shí),僅使用標(biāo)準(zhǔn)的、由操作系統(tǒng)提供的文本比較工具即可;但在對三維建模工具的二進(jìn)制輸出進(jìn)行比較,尤其是有結(jié)構(gòu)化二進(jìn)制比較要求的時(shí)候,需要使用針對專用二進(jìn)制格式的結(jié)構(gòu)化比較工具。
      在軟件結(jié)構(gòu)方面,比較工具以兩個(gè)同種類型的文件作為輸入,經(jīng)過比較算法進(jìn)行比較,最終輸出比較的結(jié)果。對于文本比較工具而言,輸入文件必須是文本文件,比較工具以文本行為單位進(jìn)行比較操作。對于二進(jìn)制比較工具或定制比較工具而言,輸入文件可以為二進(jìn)制文件,比較工具以固定長度二進(jìn)制數(shù)據(jù)塊或結(jié)構(gòu)化數(shù)據(jù)塊作為比較單位。比較算法通常為外搜索算法,相對于其他算法,外搜索算法可以有效減少內(nèi)存的占用。
      標(biāo)準(zhǔn)回歸測試輸出為預(yù)期的測試輸出。常用的標(biāo)準(zhǔn)回歸測試輸出文件制作方法為使用已經(jīng)編制好的測試腳本運(yùn)行三維建模軟件,得到輸出文件。人工檢查此文件,如果其內(nèi)容完全符合預(yù)期,則將此文件歸檔,作為未來回歸測試的標(biāo)準(zhǔn)回歸測試輸出使用。當(dāng)然,標(biāo)準(zhǔn)回歸測試輸出文件也可以完全由手工編制,不過相對比較復(fù)雜,實(shí)際使用此方法較少。
      如圖2所示,回歸測試管理工具包括測試用例管理和執(zhí)行引擎兩個(gè)主要模塊,測試用例管理模塊管理所有的測試用例索引列表(如表1所示),它要進(jìn)行測試用例列表的瀏覽、測試用例列表的添加和測試用例列表的刪除工作,測試用例索引列表直接對應(yīng)于磁盤上的回歸測試索引文件,在回歸測試管理工具的運(yùn)行期間,所有所有的測試用例索引列表的數(shù)據(jù)項(xiàng)以vector數(shù)據(jù)結(jié)構(gòu)存儲,以便順序訪問,當(dāng)用戶下達(dá)執(zhí)行命令后,測試用例管理模塊以回歸測試索引文件作為輸入,將磁盤上的每個(gè)測試用例送入執(zhí)行引擎模塊中測試?;貧w測試索引文件按照條目編制,每一條目對應(yīng)一項(xiàng)測試,條目內(nèi)容包含測試名稱、此項(xiàng)測試的各項(xiàng)輸入文件名等信息。
      前面已經(jīng)提到,回歸測試管理工具將負(fù)責(zé)保證每一項(xiàng)測試啟動(dòng)時(shí)的系統(tǒng)環(huán)境的一致性。由于每一次啟動(dòng)三維建模軟件后,三維建模軟件的內(nèi)部狀態(tài)總保持一致,回歸測試管理工具的保證系統(tǒng)環(huán)境一致性的工作體現(xiàn)為保證三維建模軟件的外部狀態(tài)一致。這主要包括操作系統(tǒng)環(huán)境變量的一致性、軟件測試目錄與輸入輸出文件結(jié)構(gòu)的一致性、其他外部參數(shù)與外部參考文件的一致性等。
      執(zhí)行引擎負(fù)責(zé)單個(gè)測試用例條目的執(zhí)行,它由進(jìn)程啟動(dòng)、進(jìn)程監(jiān)視和進(jìn)程返回結(jié)果處理部分組成,三維建模工具與比較工具作為外部的獨(dú)立部分由進(jìn)程啟動(dòng)部分啟動(dòng),并由進(jìn)程監(jiān)視部分監(jiān)視其執(zhí)行狀態(tài),直到每個(gè)測試用例執(zhí)行結(jié)束,并根據(jù)比較結(jié)果由進(jìn)程返回結(jié)果處理部分進(jìn)行處理。
      圖3表示的為回歸測試管理工具的主界面。在主界面上,可以看到所有的測試用例索引列表,測試用例的執(zhí)行情況等多種信息。
      如圖4所示,本發(fā)明采用的三維建模工具自下而上分別為數(shù)據(jù)層、邏輯層和表現(xiàn)層。數(shù)據(jù)層是整個(gè)軟件的核心,負(fù)責(zé)模型樹的維護(hù)、環(huán)境變量的使用以及OpenFlight文件的讀寫等功能;邏輯層主要由Command Center以及一組Command組成,其功能主要是進(jìn)行建模操作,對模型樹進(jìn)行某項(xiàng)修改;表現(xiàn)層利用OpenGL或是DirectX,以二維、三維等多種形式對正在編輯的模型、輔助點(diǎn)線面等進(jìn)行實(shí)時(shí)顯示輸出,并允許用戶對正在運(yùn)行的命令提供輸入。
      (1)數(shù)據(jù)層DataGraph模塊的功能是實(shí)現(xiàn)三維模型數(shù)據(jù)庫,此數(shù)據(jù)庫負(fù)責(zé)存儲與管理三維模型信息。三維模型信息包括模型的幾何拓?fù)湫畔?;紋理、材質(zhì)、光照信息;物理信息;對象信息等等。幾何拓?fù)湫畔⑹褂脴?Tree)結(jié)構(gòu)進(jìn)行存儲,其他信息則根據(jù)具體情況使用映射(Mapping)、向量(Vector)等數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲。
      除了DataGraph所提供的樹形結(jié)構(gòu)外,系統(tǒng)還需要存儲一些其他的非結(jié)構(gòu)化數(shù)據(jù)。目前,這類在DataGraph之外的數(shù)據(jù)主要包括選擇列表與環(huán)境變量。
      選擇列表(Selection)表示了用戶當(dāng)前的選擇狀態(tài)。用戶可以通過三維圖形界面或者Console訪問選擇列表。模型樹的所有節(jié)點(diǎn)都可以放在選擇列表之中,使用節(jié)點(diǎn)ID表示。一個(gè)特殊情況是vertex list,不僅需要使用vertex list的節(jié)點(diǎn)ID,而且還需要一個(gè)nVertex序號,表示選擇的是第幾個(gè)vertex。
      環(huán)境變量(EnvVar)允許存儲一些簡單的環(huán)境數(shù)據(jù),數(shù)據(jù)一律使用字符串進(jìn)行表示。其中,系統(tǒng)定義了一些系統(tǒng)級環(huán)境變量,作為系統(tǒng)內(nèi)部使用,目前主要包括用于camera、base plane等的數(shù)據(jù)。雖然環(huán)境變量的外界面使用字符串形式,但內(nèi)部允許使用任意的格式進(jìn)行表示,同時(shí),表示特定環(huán)境變量的類型必須自行提供內(nèi)部類型與字符串類型相互轉(zhuǎn)換的函數(shù)。在這種情況下,允許環(huán)境變量對用戶的設(shè)置進(jìn)行驗(yàn)證,如果用戶輸入與要求不符,可以拒絕用戶對環(huán)境變量的修改。環(huán)境變量機(jī)制的利用,使系統(tǒng)中各模塊耦合降低,系統(tǒng)更加靈活。
      (2)邏輯層命令中心Command2Center負(fù)責(zé)代理執(zhí)行所有的邏輯層命令。在命令執(zhí)行前后,命令中心將對所執(zhí)行的命令進(jìn)行包裹,并生成對應(yīng)的undo命令。這樣,用戶可以方便的使用很小的代價(jià)進(jìn)行undo/redo操作。
      在系統(tǒng)設(shè)計(jì)中,命令被分為四種類型,分別為COMMAND_TYPE_CREATE創(chuàng)建型命令,此類命令的target為命令的父節(jié)點(diǎn),在父節(jié)點(diǎn)下面創(chuàng)建一個(gè)新的模型子樹。
      COMMAND_TYPE_MODIFY修改型命令,修改一個(gè)模型節(jié)點(diǎn),target即為目標(biāo)位置。
      COMMAND_TYPE_MOD_SUBTREE修改子樹型命令,修改一個(gè)子樹,target為子樹的根節(jié)點(diǎn)ID,所有在此子樹中的內(nèi)容都有可能被修改。
      COMMAND_TYPE_DELETE刪除型命令,刪除一個(gè)子樹,target為子樹的根節(jié)點(diǎn)ID,此類指令只有唯一的一個(gè)命令Cmd2Delete。
      目前的系統(tǒng)中,共有10條不同的命令,分屬以上的四種類型。
      另外,還有四種僅用于Undo使用的Command類型,沒種類型唯一對應(yīng)一個(gè)Command,分別為COMMAND_TYPE_UNDO_CREATE對應(yīng)于Cmd2UndoCreate,用于Undo創(chuàng)建型命令。
      COMMAND_TYPE_UNDO_MODIFY對應(yīng)于Cmd2UndoModify,用于Undo修改型命令。
      COMMAND_TYPE_UNDO_MOD_SUBTREE對應(yīng)于Cmd2UndoModSubtree,用于Undo修改子樹型命令。
      COMMAND_TYPE_UNDO_DELETE對應(yīng)于Cmd2UndoDelete,用于Undo刪除型命令(即Cmd2Delete)利用Command2Center的協(xié)助,單個(gè)命令的設(shè)計(jì)得以大大簡化,僅需要考慮針對單一指定對象、無需恢復(fù)的命令執(zhí)行,而對象的選擇、多對象處理、備份與恢復(fù)等復(fù)雜的操作都由Command2Center完成,大大降低了命令的復(fù)雜度,增強(qiáng)了系統(tǒng)的穩(wěn)定性。
      (3)表現(xiàn)層三維圖形界面是系統(tǒng)中的一個(gè)復(fù)雜的組成部分,其中又分為UI_3D、Interact以及CmdDIg三個(gè)部分。UI_3D主要負(fù)責(zé)三維圖形的實(shí)時(shí)繪制,Interact負(fù)責(zé)將鼠標(biāo)在屏幕上的二維操作轉(zhuǎn)化為三維空間中的操作,最后CmdDIg負(fù)責(zé)維護(hù)一個(gè)命令對話框,允許用戶交互式的使用系統(tǒng)提供的建模命令。
      UI_3D使用系統(tǒng)DataGraph中的數(shù)據(jù)進(jìn)行繪制。根據(jù)用戶的情況,可以選擇使用OpenGL或者DirectX作為底層的繪制引擎。如何保證繪制速度是這里的核心問題,使用獨(dú)立的RenderGraph、渲染狀態(tài)集管理以及視景體裁減等優(yōu)化手段是常用的加速渲染手段。
      下面結(jié)合具體的實(shí)施例對本發(fā)明的具體測試過程。
      實(shí)施例1,測試了創(chuàng)建一個(gè)圓形的命令。
      (1)首先,輸入腳本如表3所示表3測試腳本輸入

      (2)同時(shí),還需要提供標(biāo)準(zhǔn)回歸測試輸出,如表4所示表4標(biāo)準(zhǔn)回歸測試輸出

      (3)在回歸測試管理工具的控制下,測試輸入經(jīng)過三維建模軟件的處理,得到了輸出結(jié)果,如表5所示輸出結(jié)果;表5輸出結(jié)果

      (4)比較結(jié)果由于此測試用例非常簡單,可以直接觀察發(fā)現(xiàn)表2與表3的內(nèi)容完全相同。而回歸測試管理工具需要通過比較工具得出兩個(gè)文件是否相同的結(jié)論,如表6所示表6標(biāo)準(zhǔn)測試工具的比較結(jié)果

      (5)此項(xiàng)回歸測試通過。類似的,回歸測試管理工具將根據(jù)回歸測試索引文件逐項(xiàng)進(jìn)行測試,并將結(jié)果反映在回歸測試工具的用戶界面上,如圖3所示。圖5表示的就是系統(tǒng)的主界面。在經(jīng)過一個(gè)創(chuàng)建球體的命令以及一個(gè)Slice(切割)命令之后,在三維界面觀察的結(jié)果。
      實(shí)施例2,測試了創(chuàng)建一個(gè)復(fù)雜幾何體的過程。
      (1)首先,輸入腳本如表7所示表7測試腳本輸入

      (2)同時(shí),還需要提供標(biāo)準(zhǔn)回歸測試輸出,如表8所示表8標(biāo)準(zhǔn)同歸測試輸出


      (3)在回歸測試管理工具的控制下,測試輸入經(jīng)過三維建模軟件的處理,得到了輸出結(jié)果,如表9所示輸出結(jié)果;表9輸出結(jié)果


      (4)比較結(jié)果通過比較工具得出兩個(gè)文件是否相同的結(jié)論,如表10所示表10標(biāo)準(zhǔn)測試工具的比較結(jié)果

      (5)此項(xiàng)回歸測試通過,此項(xiàng)測試同時(shí)還生成了一個(gè)模型文件,如圖6所示。
      權(quán)利要求
      1.基于腳本的三維建模軟件自動(dòng)測試方法,其特征在于包括下列步驟(1)在回歸測試管理工具的控制下,以測試用腳本作為輸入啟動(dòng)三維建模工具開始工作;(2)經(jīng)過三維建模工具后輸出工作結(jié)果;(3)在回歸測試管理工具的控制下,利用比較工具將輸出的工作結(jié)果與標(biāo)準(zhǔn)回歸測試輸出文件進(jìn)行比較和分析;(4)最后將比較后的測試結(jié)論在工具界面上報(bào)告給用戶。
      2.根據(jù)權(quán)利要求1所述的基于腳本的三維建模軟件自動(dòng)測試方法,其特征在于所述的回歸測試管理工具包括測試用例管理和執(zhí)行引擎兩個(gè)主要模塊,測試用例管理模塊管理所有的測試用例索引列表,它要進(jìn)行測試用例列表的瀏覽、測試用例列表的添加和測試用例列表的刪除工作,測試用例索引列表直接對應(yīng)于磁盤上的回歸測試索引文件,當(dāng)用戶下達(dá)執(zhí)行命令后,測試用例管理模塊以回歸測試索引文件作為輸入,將磁盤上的每個(gè)測試用例送入執(zhí)行引擎模塊中測試;執(zhí)行引擎負(fù)責(zé)單個(gè)測試用例條目的執(zhí)行,包括進(jìn)程啟動(dòng)、進(jìn)程監(jiān)視和進(jìn)程返回結(jié)果處理部分,三維建模工具與比較工具作為外部的獨(dú)立部分由進(jìn)程啟動(dòng)部分啟動(dòng),并由進(jìn)程監(jiān)視部分監(jiān)視其執(zhí)行狀態(tài),直到每個(gè)測試用例執(zhí)行結(jié)束,并根據(jù)比較結(jié)果由進(jìn)程返回結(jié)果處理部分進(jìn)行處理。
      3.根據(jù)權(quán)利要求1所述的基于腳本的三維建模軟件自動(dòng)測試方法,其特征在于所述的三維建模工具自下而上由數(shù)據(jù)層、邏輯層和表現(xiàn)層組成,數(shù)據(jù)層是整個(gè)軟件的核心,負(fù)責(zé)模型樹的維護(hù)、環(huán)境變量的使用以及OpenFilght文件的讀寫功能;邏輯層主要由Command Center以及一組Command組成,其功能主要是進(jìn)行建模操作,對模型樹進(jìn)行某項(xiàng)修改;表現(xiàn)層利用OpenGL或DirectX以二維、三維等多種形式對正在編輯的模型、輔助點(diǎn)線面等進(jìn)行實(shí)時(shí)顯示輸出,并允許用戶對正在運(yùn)行的命令提供輸入。
      全文摘要
      基于腳本的三維建模軟件自動(dòng)測試方法,在回歸測試管理工具的控制下,以測試用腳本作為輸入啟動(dòng)三維建模工具開始工作;經(jīng)過三維建模工具后輸出工作結(jié)果;在回歸測試管理工具的控制下,利用比較工具將輸出的工作結(jié)果與標(biāo)準(zhǔn)回歸測試輸出文件進(jìn)行比較和分析;最后將比較后的測試結(jié)論在工具界面上報(bào)告給用戶。本發(fā)明它考慮了三維建模軟件的特點(diǎn),有效地提高三維建模軟件的測試效率,且成本低。
      文檔編號G06F11/36GK1752944SQ20051008666
      公開日2006年3月29日 申請日期2005年10月20日 優(yōu)先權(quán)日2005年10月20日
      發(fā)明者趙沁平, 郝愛民, 王京 申請人:北京航空航天大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1