欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法

文檔序號(hào):6377799閱讀:677來(lái)源:國(guó)知局
專利名稱:一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種編程方法,具體涉及一種利用圖形化操作來(lái)實(shí)現(xiàn)代碼編程的方法。
背景技術(shù)
目前,在軟件測(cè)試的發(fā)展中,涌現(xiàn)出了腳本、命令、圖表等多種測(cè)試邏輯描述方式。使用腳本描述測(cè)試邏輯,例如IBM的Rational軟件,通過(guò)工業(yè)標(biāo)準(zhǔn)化的腳本語(yǔ)言描述測(cè)試邏輯,易用性、可維護(hù)性、擴(kuò)展能力較強(qiáng),能夠很好的支持自動(dòng)化測(cè)試,但是對(duì)系統(tǒng)測(cè)試而言,測(cè)試腳本的直觀性較差,對(duì)測(cè)試人員的編碼能力要求較高。在核電自動(dòng)控制領(lǐng)域針對(duì)板卡級(jí)的測(cè)試中,逐漸形成了一種通過(guò)命令機(jī)制控制測(cè)試設(shè)備與被測(cè)對(duì)象實(shí)時(shí)進(jìn)行數(shù)據(jù)交互來(lái)執(zhí)行測(cè)試的方案。這種方案操作方便,實(shí)時(shí)性較 高,能夠根據(jù)被測(cè)對(duì)象變化進(jìn)行及時(shí)處理,但隨著測(cè)試活動(dòng)的不斷發(fā)展,逐漸暴露出如下問(wèn)題I、過(guò)度依賴測(cè)試人員參與需要測(cè)試人員根據(jù)被測(cè)對(duì)象變化及測(cè)試計(jì)劃發(fā)送相應(yīng)操作命令;2、基于靜態(tài)結(jié)構(gòu)只能夠保存測(cè)試人員組織的測(cè)試數(shù)據(jù)、操作命令及測(cè)試活動(dòng)的文字描述,但不能根據(jù)已有測(cè)試用例自動(dòng)執(zhí)行;3、沒(méi)有較好的命令導(dǎo)入機(jī)制由于命令是通過(guò)硬編碼實(shí)現(xiàn)的,因此只能通過(guò)測(cè)試工具的升版來(lái)加入新的測(cè)試命令。此外,現(xiàn)有技術(shù)各測(cè)試程序都限定了應(yīng)用環(huán)境,而且測(cè)試人員只能按照指定腳本格式編寫(xiě)代碼,對(duì)測(cè)試人員的要求較高,還需要測(cè)試人員熟悉函數(shù)庫(kù)信息,否則,使用不當(dāng)將導(dǎo)致解析錯(cuò)誤使測(cè)試程序無(wú)法執(zhí)行。而函數(shù)庫(kù)集成在測(cè)試工具中,也需要通過(guò)測(cè)試工具升版才能支持新的函數(shù)庫(kù)。

發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)中使用代碼編制測(cè)試程序?qū)y(cè)試文員要求較高且操作不直觀的問(wèn)題,本發(fā)明提供一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,具體方案如下一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于,包括節(jié)點(diǎn)模塊根據(jù)不同被測(cè)設(shè)備及其相關(guān)的測(cè)試設(shè)備和對(duì)應(yīng)的測(cè)試程序,建立與此測(cè)試程序?qū)?yīng)的測(cè)試節(jié)點(diǎn);測(cè)試環(huán)境模塊根據(jù)用戶選擇的被測(cè)設(shè)備信息建立當(dāng)前流程圖模塊運(yùn)行環(huán)境;流程圖模塊用戶根據(jù)預(yù)測(cè)被測(cè)設(shè)備及相應(yīng)測(cè)試設(shè)備選擇對(duì)應(yīng)的測(cè)試節(jié)點(diǎn),按順序建立由各測(cè)試節(jié)點(diǎn)形成的圖形化流程圖;函數(shù)模塊適于保存和收錄新增函數(shù),用于支持節(jié)點(diǎn)模塊和流程圖模塊的功能調(diào)用;代碼輸出模塊適于將生成的圖形化流程圖轉(zhuǎn)化為由代碼構(gòu)成的可執(zhí)行文件輸出。為適應(yīng)不同數(shù)值類型所述節(jié)點(diǎn)模塊中的測(cè)試節(jié)點(diǎn)包括提供基本數(shù)值類型變量定義的變量節(jié)點(diǎn)、提供數(shù)組定義的數(shù)組節(jié)點(diǎn)、提供時(shí)間戳定義的時(shí)間戳節(jié)點(diǎn)、對(duì)支持的變量及數(shù)組進(jìn)行正則運(yùn)算的表達(dá)式節(jié)點(diǎn)、提供功能函數(shù)調(diào)用的函數(shù)節(jié)點(diǎn),用于測(cè)試判斷和循環(huán)的判定節(jié)點(diǎn)和循環(huán)節(jié)點(diǎn)上述各節(jié)點(diǎn)根據(jù)各自的屬性為用戶提供輸入界面。為方便流程圖識(shí)別各測(cè)試節(jié)點(diǎn)所述節(jié)點(diǎn)模塊中的測(cè)試節(jié)點(diǎn)內(nèi)容由表示當(dāng)前節(jié)點(diǎn)類型的類型標(biāo)識(shí)、表明當(dāng)前測(cè)試節(jié)點(diǎn)名稱的名稱標(biāo)識(shí)、表明當(dāng)前測(cè)試節(jié)點(diǎn)大小的數(shù)值標(biāo)識(shí)及記錄測(cè)試節(jié)點(diǎn)坐標(biāo)位置的坐標(biāo)標(biāo)識(shí)構(gòu)成。為方便建立流程圖所述流程圖模塊首先建立由開(kāi)始和結(jié)束兩個(gè)節(jié)點(diǎn)框構(gòu)成的基本流程圖,然后再將用戶選擇的測(cè)試節(jié)點(diǎn)按順序加入到開(kāi)始和結(jié)束兩個(gè)節(jié)點(diǎn)框之間,最終形成完整的流程圖。為合理配置當(dāng)前測(cè)試環(huán)境所述測(cè)試環(huán)境模塊提供流程圖模塊的信息為當(dāng)前被測(cè) 設(shè)備及其接口標(biāo)識(shí)及測(cè)試設(shè)備的標(biāo)識(shí)。為方便自動(dòng)執(zhí)行多個(gè)流程圖代碼輸出模塊能夠?qū)⒍鄠€(gè)流程圖按一定的執(zhí)行順序配置到一個(gè)可執(zhí)行文件中。為方便測(cè)試程序適應(yīng)不同中的應(yīng)用環(huán)境所述代碼模塊能夠根據(jù)可執(zhí)行文件最終執(zhí)行的環(huán)境而輸出對(duì)應(yīng)環(huán)境下的可執(zhí)行文件。為方便修改流程圖所述流程圖模塊首先利用XML信息建立整個(gè)流程圖的屬性信息,并將內(nèi)部的各個(gè)測(cè)試節(jié)點(diǎn)利用XML信息進(jìn)行記錄,再將上述所有XML信息保存成一個(gè)XML存儲(chǔ)流程圖。本發(fā)明能夠兼容多種測(cè)試環(huán)境(操作系統(tǒng)、CPU環(huán)境),并向用戶提供圖形界面編輯測(cè)試邏輯,直觀的展示操作過(guò)程及測(cè)試功能模塊含義??稍诠ぞ卟簧娴那闆r下,增加對(duì)新功能的支持。本發(fā)明利用圖形化操作避免了用戶面對(duì)代碼操作的繁瑣性,而且只需要用戶選擇想測(cè)試的內(nèi)容即可生成測(cè)試程序,無(wú)需用戶了解內(nèi)部代碼和函數(shù)調(diào)用,大大減少了用戶的編程時(shí)間,而且減小了對(duì)測(cè)試人員掌握編程知識(shí)的需求。利用選擇的流程圖可以輸出不同應(yīng)用環(huán)境下的測(cè)試程序,避免了測(cè)試程序的不兼容性。


圖I本發(fā)明的工作示意圖;圖2本發(fā)明對(duì)具體測(cè)試過(guò)程抽象成相應(yīng)函數(shù)的示意圖;圖3本發(fā)明中代碼與流程圖中測(cè)試節(jié)點(diǎn)對(duì)應(yīng)示意圖。
具體實(shí)施例方式如圖I所示,本發(fā)明的利用圖形化操作實(shí)現(xiàn)代碼編程的方法,包括節(jié)點(diǎn)模塊根據(jù)不同被測(cè)設(shè)備及其相關(guān)的測(cè)試設(shè)備和對(duì)應(yīng)的測(cè)試程序,建立與此測(cè)試程序?qū)?yīng)的測(cè)試節(jié)點(diǎn);其中節(jié)點(diǎn)模塊中的測(cè)試節(jié)點(diǎn)包括提供基本數(shù)值類型變量定義的變量節(jié)點(diǎn)、提供數(shù)組定義的數(shù)組節(jié)點(diǎn)、提供時(shí)間戳定義的時(shí)間戳節(jié)點(diǎn)、對(duì)支持的變量及數(shù)組進(jìn)行正則運(yùn)算的表達(dá)式節(jié)點(diǎn)、提供功能函數(shù)調(diào)用的函數(shù)節(jié)點(diǎn),用于測(cè)試判斷和循環(huán)的判定節(jié)點(diǎn)和循環(huán)節(jié)點(diǎn)上述各節(jié)點(diǎn)根據(jù)各自的屬性為用戶提供輸入界面。具體節(jié)點(diǎn)模塊中的測(cè)試節(jié)點(diǎn)內(nèi)容由表示當(dāng)前節(jié)點(diǎn)類型的類型標(biāo)識(shí)、表明當(dāng)前測(cè)試節(jié)點(diǎn)名稱的名稱標(biāo)識(shí)、表明當(dāng)前測(cè)試節(jié)點(diǎn)大小的數(shù)值標(biāo)識(shí)及記錄測(cè)試節(jié)點(diǎn)坐標(biāo)位置的坐標(biāo)標(biāo)識(shí)構(gòu)成。測(cè)試環(huán)境模塊根據(jù)用戶選擇的被測(cè)設(shè)備信息建立當(dāng)前流程圖模塊運(yùn)行環(huán)境;測(cè)試環(huán)境模塊提供流程圖模塊的信息為當(dāng)前被測(cè)設(shè)備及其接口標(biāo)識(shí)及測(cè)試設(shè)備的標(biāo)識(shí)。流程圖模塊用戶根據(jù)預(yù)測(cè)被測(cè)設(shè)備及相應(yīng)測(cè)試設(shè)備選擇對(duì)應(yīng)的測(cè)試節(jié)點(diǎn),按順序建立由各測(cè)試節(jié)點(diǎn)形成的圖形化流程圖;流程圖模塊首先建立由開(kāi)始和結(jié)束兩個(gè)節(jié)點(diǎn)框構(gòu)成的基本流程圖,然后再將用戶選擇的測(cè)試節(jié)點(diǎn)按順序加入到開(kāi)始和結(jié)束兩個(gè)節(jié)點(diǎn)框之間,最終形成完整的流程圖。流程圖模塊首先利用XML信息建立整個(gè)流程圖的屬性信息,并將內(nèi)部的各個(gè)測(cè)試節(jié)點(diǎn)利用XML信息進(jìn)行記錄,再將上述所有XML信息保存成一個(gè)XML存儲(chǔ)流程圖。函數(shù)模塊適于保存和收錄新增函數(shù),用于支持節(jié)點(diǎn)模塊和流程圖模塊的功能調(diào)用;代碼輸出模塊適于將生成的圖形化流程圖轉(zhuǎn)化為由代碼構(gòu)成的可執(zhí)行文件輸 出。代碼輸出模塊能夠?qū)⒍鄠€(gè)流程圖按一定的執(zhí)行順序配置到一個(gè)可執(zhí)行文件中,且代碼模塊能夠根據(jù)可執(zhí)行文件最終執(zhí)行的環(huán)境而輸出對(duì)應(yīng)環(huán)境下的可執(zhí)行文件。本發(fā)明在針對(duì)板卡級(jí)的系統(tǒng)測(cè)試中,往往需要通過(guò)操縱測(cè)試設(shè)備來(lái)完成測(cè)試,因此采用抽象對(duì)測(cè)試設(shè)備的基本操作為不同的函數(shù),再通過(guò)調(diào)用函數(shù)來(lái)操縱設(shè)備完成測(cè)試功能。對(duì)測(cè)試過(guò)程的抽象如圖2所示,其中針對(duì)測(cè)試程序中的每個(gè)步驟來(lái)對(duì)應(yīng)一個(gè)執(zhí)行函數(shù),再將相應(yīng)的函數(shù)組合在一起,即形成測(cè)試程序。為了滿足跨平臺(tái)及集成多個(gè)測(cè)試邏輯的要求,本發(fā)明提出如下代碼結(jié)構(gòu),I、通過(guò)固有代碼封裝與操作系統(tǒng)、編譯器相關(guān)的內(nèi)容,來(lái)保證用戶編輯測(cè)試代碼時(shí)無(wú)需考慮與操作系統(tǒng)、編譯器相關(guān)內(nèi)容;2、每個(gè)邏輯由邏輯函數(shù)、邏輯執(zhí)行周期、邏輯下次執(zhí)行時(shí)間三部分組成;首先規(guī)定邏輯函數(shù)模板,并將輸入?yún)?shù)與返回值設(shè)為空,且使用標(biāo)準(zhǔn)C代碼編寫(xiě),如void logic (void) {}。邏輯周期用于標(biāo)識(shí)周期測(cè)試的運(yùn)行時(shí)間,同時(shí)能夠用于識(shí)別測(cè)試邏輯是周期執(zhí)行還是僅執(zhí)行一次。邏輯下次執(zhí)行時(shí)間屬于中間變量,用于當(dāng)次循環(huán)開(kāi)始后計(jì)算下次周期運(yùn)行時(shí)間。3、在固有代碼內(nèi)建立循環(huán),依次訪問(wèn)各個(gè)測(cè)試邏輯,判斷是否需要執(zhí)行。在上面的步驟中,為了方便用戶測(cè)試,本發(fā)明利用流程圖來(lái)封裝代碼,以對(duì)流程圖的操作替代對(duì)代碼的操作,從而簡(jiǎn)化操作過(guò)程。針對(duì)流程圖來(lái)說(shuō),首先需要提供構(gòu)成流程圖中的各種功能模塊,其中最基本的就是節(jié)點(diǎn)模塊,節(jié)點(diǎn)模塊包括能夠?qū)崿F(xiàn)各種測(cè)試步驟的測(cè)試節(jié)點(diǎn),如圖3所示,每個(gè)測(cè)試節(jié)點(diǎn)都與相應(yīng)的具有一定功能的函數(shù)構(gòu)成,其中的測(cè)試節(jié)點(diǎn)至少能夠?qū)崿F(xiàn)下述功能,I、每個(gè)測(cè)試節(jié)點(diǎn)具有不同的屬性,提供用戶編輯;2、每個(gè)測(cè)試節(jié)點(diǎn)能夠依據(jù)它的屬性,生成一條或多條代碼;3、每個(gè)測(cè)試節(jié)點(diǎn)需要能夠覆蓋標(biāo)準(zhǔn)C語(yǔ)言的主要語(yǔ)法,以適應(yīng)跨平臺(tái)應(yīng)用;4、每個(gè)測(cè)試節(jié)點(diǎn)能夠調(diào)用外部功能函數(shù);5、每個(gè)測(cè)試節(jié)點(diǎn)能夠識(shí)別外部變量,以方便對(duì)測(cè)試設(shè)備的操作;針對(duì)以上要求,本發(fā)明中測(cè)試節(jié)點(diǎn)提供如下類型
變量節(jié)點(diǎn)、數(shù)組節(jié)點(diǎn)、時(shí)間戳節(jié)點(diǎn)、表達(dá)式節(jié)點(diǎn)、函數(shù)節(jié)點(diǎn)、判定節(jié)點(diǎn)和循環(huán)節(jié)點(diǎn)。以上每種測(cè)試節(jié)點(diǎn)根據(jù)各自屬性,提供相應(yīng)界面供用戶編輯。如變量節(jié)點(diǎn)提供有符號(hào)單字節(jié)整型int8_t ;無(wú)符號(hào)單字節(jié)整型uint8_t ;有符號(hào)雙字節(jié)整型intl6_t ;無(wú)符號(hào)雙字節(jié)整型uintl6_t ;有符號(hào)四字節(jié)整型int32_t ;無(wú)符號(hào)四字節(jié)整型uint32_t ;單精度浮點(diǎn)型float32_t ;雙精度浮點(diǎn)型float64_t ;字符串類型char*。其中變量值以字符串形式保存,會(huì)根據(jù)數(shù)據(jù)類型對(duì)變量值進(jìn)行判斷。在外部功能函數(shù)的導(dǎo)入方面,規(guī)定了功能函數(shù)的書(shū)寫(xiě)格式,允許用戶導(dǎo)入功能函數(shù)并在流程圖函數(shù)節(jié)點(diǎn)中識(shí)別。對(duì)外部變量的識(shí)別,首先利用單獨(dú)的模塊來(lái)管理外部變量,其次在流程圖測(cè)試節(jié)點(diǎn)中要能識(shí)別外部變量并用于函數(shù)操作。每個(gè)測(cè)試節(jié)點(diǎn)包括表示當(dāng)前節(jié)點(diǎn)類型的類型標(biāo)識(shí)、表明當(dāng)前測(cè)試節(jié)點(diǎn)名稱的名稱標(biāo)識(shí)、表明當(dāng)前測(cè)試節(jié)點(diǎn)大小的數(shù)值標(biāo)識(shí)及記錄測(cè)試節(jié)點(diǎn)坐標(biāo)位置的坐標(biāo)標(biāo)識(shí)。還可以設(shè)置當(dāng)前測(cè)試節(jié)點(diǎn)的代碼縮進(jìn)層級(jí),以用于流程圖生成代碼后的可讀性,其默認(rèn)層級(jí)為0,每進(jìn)入一次判定或循環(huán)語(yǔ)句,代碼層級(jí)+1,每離開(kāi)一次判定或循環(huán)語(yǔ)句,代碼層級(jí)-I。生成代碼時(shí)會(huì)根據(jù)代碼縮進(jìn)層級(jí)在生成代碼左側(cè)使用對(duì)應(yīng)數(shù)目空格填充。 流程圖模塊對(duì)測(cè)試節(jié)點(diǎn)進(jìn)行下述操作I、繪制測(cè)試節(jié)點(diǎn)的圖形即在指定坐標(biāo)點(diǎn)繪制測(cè)試節(jié)點(diǎn)圖形,測(cè)試節(jié)點(diǎn)圖形主要由兩部分組成,一是測(cè)試節(jié)點(diǎn)圖標(biāo),二是測(cè)試節(jié)點(diǎn)名稱,這樣可以通過(guò)測(cè)試節(jié)點(diǎn)圖標(biāo)來(lái)區(qū)分不同的測(cè)試節(jié)點(diǎn)類型,通過(guò)測(cè)試節(jié)點(diǎn)名稱來(lái)區(qū)分相同測(cè)試節(jié)點(diǎn)類型的不同節(jié)點(diǎn)。2、判斷選定點(diǎn)是否在節(jié)點(diǎn)區(qū)域?yàn)榱撕?jiǎn)單起見(jiàn),選定測(cè)試節(jié)點(diǎn)的作用區(qū)域?yàn)橐詼y(cè)試節(jié)點(diǎn)坐標(biāo)為中心并由節(jié)點(diǎn)大小確定的矩形區(qū)域。當(dāng)光標(biāo)移動(dòng)時(shí),會(huì)根據(jù)光標(biāo)位置判斷光標(biāo)是否在測(cè)試節(jié)點(diǎn)作用區(qū)內(nèi),如果在該區(qū)域內(nèi),則表示該測(cè)試節(jié)點(diǎn)被選中,否則未選中。3、測(cè)試節(jié)點(diǎn)的自檢查用于判斷測(cè)試節(jié)點(diǎn)屬性是否正確,例如變量節(jié)點(diǎn)的變量名格式是否正確,初始值是否合理,表達(dá)式節(jié)點(diǎn)用戶所寫(xiě)表達(dá)式語(yǔ)法是否正確。4、測(cè)試節(jié)點(diǎn)的自刪除封裝測(cè)試節(jié)點(diǎn)的刪除操作,主要分兩步,第一步,斷開(kāi)與父節(jié)點(diǎn)(上方連接的測(cè)試節(jié)點(diǎn))、子節(jié)點(diǎn)(下方連接的測(cè)試節(jié)點(diǎn))的連接,重設(shè)測(cè)試節(jié)點(diǎn)連接,第二步,刪除節(jié)點(diǎn)。需要說(shuō)明的是,開(kāi)始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)是流程圖進(jìn)入、離開(kāi)的標(biāo)識(shí),不允許用戶刪除。此外對(duì)判斷節(jié)點(diǎn)if和循環(huán)節(jié)點(diǎn)While執(zhí)行刪除操作時(shí),將刪除該節(jié)點(diǎn)至對(duì)應(yīng)IfEncUWhileEnd節(jié)點(diǎn)(包含)內(nèi)的所有節(jié)點(diǎn);對(duì)IfEncUWhileEnd節(jié)點(diǎn),用于標(biāo)識(shí)判定、循環(huán)的結(jié)束,只能通過(guò)刪除對(duì)應(yīng)的If或While節(jié)點(diǎn)時(shí)自動(dòng)刪除該節(jié)點(diǎn),不允許用戶單獨(dú)執(zhí)行刪除操作,以保證結(jié)構(gòu)的完整性。5、獲取測(cè)試節(jié)點(diǎn)代碼根據(jù)測(cè)試節(jié)點(diǎn)屬性,生成對(duì)應(yīng)的代碼。6、獲取測(cè)試節(jié)點(diǎn)格式化屬性用于格式化屬性輸出,以方便用戶瀏覽編輯。流程圖模塊從開(kāi)始節(jié)點(diǎn)開(kāi)始遍歷至結(jié)束節(jié)點(diǎn)為止,如果遇到If節(jié)點(diǎn),先遍歷左分支至匹配IfEnd節(jié)點(diǎn),然后遍歷右分支至匹配IfEnd節(jié)點(diǎn),再?gòu)腎fEnd節(jié)點(diǎn)開(kāi)始遍歷;對(duì)其它測(cè)試節(jié)點(diǎn)(除結(jié)束節(jié)點(diǎn)外),依次遍歷左分支。流程圖模塊的圖形界面是流程圖對(duì)外展現(xiàn)的窗口,對(duì)流程圖的任意操作將觸發(fā)整個(gè)流程圖重繪。流程圖的繪制主要由計(jì)算節(jié)點(diǎn)坐標(biāo)與繪制圖形兩步組成。首先規(guī)定流程圖橫向操作、縱向操作的基本單位(像素?cái)?shù)),確定能夠覆蓋測(cè)試節(jié)點(diǎn)的范圍,然后通過(guò)流程圖遍歷計(jì)算各測(cè)試節(jié)點(diǎn)坐標(biāo)。遍歷方式為從開(kāi)始節(jié)點(diǎn)開(kāi)始遍歷,依次計(jì)算各個(gè)測(cè)試節(jié)點(diǎn)坐標(biāo),至結(jié)束節(jié)點(diǎn)結(jié)束;此過(guò)程中如果遇到非If-IfEnd節(jié)點(diǎn),走左分支,縱坐標(biāo)+1,橫坐標(biāo)不變;如果遇到If節(jié)點(diǎn),則遍歷左分支,縱坐標(biāo)+1,遍歷至匹配IfEnd節(jié)點(diǎn)后返回至If節(jié)點(diǎn);再遍歷右分支,縱坐標(biāo)+1,橫坐標(biāo)=左分支橫坐標(biāo)最大值+1,遍歷至匹配IfEnd節(jié)點(diǎn)后結(jié)束;IfEnd節(jié)點(diǎn)縱坐標(biāo)為If節(jié)點(diǎn)縱坐標(biāo)+左右分支長(zhǎng)度較大值+1 (或者左右分支最大縱坐標(biāo)+1),橫坐標(biāo)與If節(jié)點(diǎn)相同。獲取各測(cè)試節(jié)點(diǎn)的坐標(biāo)后,再次遍歷流程圖以繪制各測(cè)試節(jié)點(diǎn)圖形及各測(cè)試節(jié)點(diǎn)間的連線。連線繪制時(shí),首先從開(kāi)始節(jié)點(diǎn)開(kāi)始遍歷,至結(jié)束節(jié)點(diǎn)結(jié)束,繪制流程圖;如果遇到非If節(jié)點(diǎn),只繪測(cè)試節(jié)點(diǎn)圖標(biāo)及測(cè)試節(jié)點(diǎn)標(biāo)題,根據(jù)下一子節(jié)點(diǎn)是否為IfEnd節(jié)點(diǎn)繪制與子節(jié)點(diǎn)連線。如果遇到If節(jié)點(diǎn),只繪測(cè)試節(jié)點(diǎn)圖標(biāo)及測(cè)試節(jié)點(diǎn)標(biāo)題,繪制與左子節(jié)點(diǎn)連線,并根據(jù)右分支是否為空繪制與右子節(jié)點(diǎn)連線。本發(fā)明中流程圖模塊的存儲(chǔ)是通過(guò)XML實(shí)現(xiàn)的,主要方案如下靜態(tài)結(jié)構(gòu)通過(guò)XML存儲(chǔ)流程圖信息,包括流程圖的屬性信息,如某流程圖的名稱為 AISto,周期為 8ms,存儲(chǔ)內(nèi)容如下,!〈flowchart name=〃AISto " description=// " author=//Unknow " period_s= " 0 " period_ms= " 8 " > ;節(jié)點(diǎn)信息包括保存各測(cè)試節(jié)點(diǎn)的名稱、類型等關(guān)鍵屬性,如某一表達(dá)式節(jié)點(diǎn)名稱為“DI_1_4_001_ VALUE=I ”,表達(dá)式為“DI_1_4_001_VALUE=1”,參照如下保存節(jié)點(diǎn)內(nèi)容〈f Iownodetype="Express" name="DI_l_4_001_VALUE=l" express="DI_l_4_001_VALUE=l" />。動(dòng)態(tài)結(jié)構(gòu)通過(guò)遍歷所有測(cè)試節(jié)點(diǎn),將各個(gè)獨(dú)立的XML節(jié)點(diǎn)串聯(lián)成完整流程圖XML信息。其中需要注意普通測(cè)試節(jié)點(diǎn)是直接通過(guò)線性結(jié)構(gòu)保存,而if-ifend節(jié)點(diǎn)和while-whiIeend節(jié)點(diǎn)時(shí)需要保存其右分支的內(nèi)容。本發(fā)明通過(guò)XML的存儲(chǔ)結(jié)構(gòu)能夠方便的對(duì)流程圖進(jìn)行操作,包括通過(guò)XML文件保存流程圖并支持打開(kāi)或存儲(chǔ)。通過(guò)文件的讀寫(xiě)支持流程圖的復(fù)制,復(fù)制過(guò)程為,先寫(xiě)已有流程圖XML文件,然后讀文件修改流程圖名稱、周期等信息,完成復(fù)制。允許在指定點(diǎn)插入已有流程圖,即可將另一個(gè)或幾個(gè)流程圖插入到當(dāng)前流程圖中,并輸出成一個(gè)測(cè)試程序進(jìn)行執(zhí)行,包括一個(gè)或多個(gè)流程圖內(nèi)容的測(cè)試程序在執(zhí)行時(shí),會(huì)按預(yù)先設(shè)定的順序和條件進(jìn)行執(zhí)行。本發(fā)明中流程圖的遍歷和節(jié)點(diǎn)的訪問(wèn)策略是流程圖操作的前提。為了統(tǒng)一管理不同數(shù)據(jù)類型的全局變量,在代碼全局區(qū)分配一段內(nèi)存用于保存全局變量。在生成代碼時(shí),通過(guò)宏定義來(lái)標(biāo)識(shí)全局變量。下面通過(guò)實(shí)例來(lái)說(shuō)明這一過(guò)程。假定用戶增加三個(gè)變量VG_TEST1 (uint32_t)、VG_TEST2 (uint8_t)、VG_TEST3(uintl6_t)。首先,在代碼全局區(qū)存在分配一個(gè)單字節(jié)數(shù)組BYTE State [32];默認(rèn)大小為32,可以依據(jù)用戶聲明變量數(shù)據(jù)總長(zhǎng)度更新,如果數(shù)據(jù)總長(zhǎng)度大于32,則依據(jù)數(shù)據(jù)總長(zhǎng)度增大該數(shù)值,否則保持默認(rèn)值32。本例中,數(shù)據(jù)總長(zhǎng)度為4+1+2=7字節(jié)小于32,則分配內(nèi)存大小保持32。其次,通過(guò)宏定義來(lái)標(biāo)識(shí)全局變量,依據(jù)數(shù)據(jù)長(zhǎng)度計(jì)算在分配內(nèi)存中的偏移,三個(gè)點(diǎn)的偏移依次為0、4、5。宏定義的格式為“#Define變量名* ((數(shù)據(jù)類型* ) (&State [偏移]))”。本例生成如下三個(gè)宏定義,#Define VG_TEST1* ((uint32_t* )(&State
))#Define VG_TEST2* ((uint8_t* )(&State[4]))
#Define VG_TEST3* ((uintl6_t * ) (&State[5]))最后,需要根據(jù)全局變量的初始值對(duì)分配內(nèi)存進(jìn)行初始化。假定本例,用戶設(shè)置VG_TEST1數(shù)值為1,VG_TEST2數(shù)值為3,VG_TEST3數(shù)值為4,在初始化時(shí)增加代碼“名稱=
數(shù)值;”。
VG_TEST1=1 ;VG_TEST2=3 ;VG_TEST3=4 ;本發(fā)明中測(cè)試環(huán)境模塊是為了方便測(cè)試設(shè)備、被測(cè)設(shè)備與測(cè)試數(shù)據(jù)的管理,流程圖模塊在全局變量之外會(huì)引入如下四種外部實(shí)體變量I、檢測(cè)器變量標(biāo)識(shí)測(cè)試設(shè)備; 2、端口變量標(biāo)識(shí)測(cè)試設(shè)備接口 ;3、設(shè)備變量標(biāo)識(shí)被測(cè)設(shè)備;4、字節(jié)碼變量標(biāo)識(shí)所涉及的字節(jié)流、數(shù)據(jù)流,主要體現(xiàn)為通信報(bào)文;5、測(cè)點(diǎn)變量按照指定數(shù)據(jù)類型表示字節(jié)流中的單個(gè)數(shù)據(jù)段,僅支持?jǐn)?shù)值類型。對(duì)檢測(cè)器、端口、設(shè)備、字節(jié)碼變量主要通過(guò)流程圖中的函數(shù)節(jié)點(diǎn)調(diào)用。生成代碼時(shí),主要通過(guò)指定結(jié)構(gòu)的數(shù)組來(lái)保存它們的名稱、類型等信息。對(duì)測(cè)點(diǎn)變量,除了函數(shù)節(jié)點(diǎn),能夠在表達(dá)式、循環(huán)、判定等節(jié)點(diǎn)中應(yīng)用。測(cè)點(diǎn)變量為固有全局變量。函數(shù)模塊是通過(guò)功能庫(kù)來(lái)管理所支持的功能函數(shù),是流程圖模塊實(shí)現(xiàn)功能擴(kuò)展的窗口。通過(guò)庫(kù)類別-功能庫(kù)-庫(kù)文件-庫(kù)函數(shù)的多級(jí)結(jié)構(gòu),組織管理功能函數(shù)。規(guī)定庫(kù)文件、庫(kù)函數(shù)的描述格式,允許導(dǎo)入庫(kù)文件。通過(guò)規(guī)定的描述格式獲取庫(kù)文件的描述及所支持的庫(kù)函數(shù)型。用戶可以按照定義格式編寫(xiě)庫(kù)文件,使用界面提供工具導(dǎo)入到流程圖模塊中進(jìn)行調(diào)用。流程圖模塊中的函數(shù)節(jié)點(diǎn),通過(guò)庫(kù)函數(shù)的描述格式供用戶選擇所需要的庫(kù)函數(shù),編輯輸入、輸出參數(shù)。本發(fā)明中的代碼輸出模塊將用戶邏輯生成代碼,并編譯生成可執(zhí)行文件。編譯過(guò)程包括選擇編譯環(huán)境,獲取平臺(tái)代碼;編譯環(huán)境是指生成代碼最終運(yùn)行的環(huán)境(操作系統(tǒng)、CPU等信息)。當(dāng)前主要支持window、vxworks、diab三種編譯環(huán)境,本發(fā)明通過(guò)調(diào)用指定環(huán)境下的Shell命令來(lái)完成編譯。通過(guò)配置文件描述所支持的編譯環(huán)境信息,對(duì)每個(gè)編譯環(huán)境記錄編譯環(huán)境名稱、生成可執(zhí)行文件后綴及Shell文件位置,并允許用戶根據(jù)當(dāng)前系統(tǒng)配置更改所支持的編譯環(huán)境。平臺(tái)代碼主要針對(duì)生成代碼而言,其能夠兼容多個(gè)編譯環(huán)境,無(wú)需用戶生成固有代碼。根據(jù)用戶選擇的多個(gè)流程圖,順序生成邏輯函數(shù)及代碼文件。復(fù)制使用的庫(kù)文件,并遍歷此流程圖,以獲取各個(gè)流程圖中所使用的庫(kù)函數(shù),根據(jù)庫(kù)函數(shù)可以確定所使用的庫(kù)文件,并將這些庫(kù)文件拷貝到指定目錄下。通過(guò)shell調(diào)用make命令執(zhí)行編譯,通過(guò)make文件來(lái)保存代碼相對(duì)位置及編譯信息;為了避免編譯位置有誤,首先調(diào)用命令切換至編譯位置,然后調(diào)用指定編譯環(huán)境的Shell命令執(zhí)行編譯。本發(fā)明在執(zhí)行時(shí),用戶首先通過(guò)測(cè)試環(huán)境模塊配置需要執(zhí)行測(cè)試的應(yīng)用環(huán)境,再通過(guò)流程圖模塊調(diào)用節(jié)點(diǎn)模塊中已經(jīng)設(shè)置好的各種測(cè)試節(jié)點(diǎn),使用函數(shù)模塊提供的函數(shù)構(gòu)成流程圖,最終通過(guò)代碼輸出模塊輸出指定環(huán)境下的測(cè)試程序。以上所述僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專利的技術(shù)人員在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述提示的技術(shù)內(nèi)容作出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本實(shí)發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn) 單修改、等同變化與修飾,均仍屬于本發(fā)明方案的范圍內(nèi)。
權(quán)利要求
1.一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于, 包括節(jié)點(diǎn)模塊根據(jù)不同被測(cè)設(shè)備及其相關(guān)的測(cè)試設(shè)備和對(duì)應(yīng)的測(cè)試程序,建立與此測(cè)試程序?qū)?yīng)的測(cè)試節(jié)點(diǎn); 測(cè)試環(huán)境模塊根據(jù)用戶選擇的被測(cè)設(shè)備信息建立當(dāng)前流程圖模塊運(yùn)行環(huán)境; 流程圖模塊用戶根據(jù)預(yù)測(cè)被測(cè)設(shè)備及相應(yīng)測(cè)試設(shè)備選擇對(duì)應(yīng)的測(cè)試節(jié)點(diǎn),按順序建立由各測(cè)試節(jié)點(diǎn)形成的圖形化流程圖; 函數(shù)模塊適于保存和收錄新增函數(shù),用于支持節(jié)點(diǎn)模塊和流程圖模塊的功能調(diào)用; 代碼輸出模塊適于將生成的圖形化流程圖轉(zhuǎn)化為由代碼構(gòu)成的可執(zhí)行文件輸出。
2.如權(quán)利要求I所述的一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于,所述節(jié)點(diǎn)模塊中的測(cè)試節(jié)點(diǎn)包括提供基本數(shù)值類型變量定義的變量節(jié)點(diǎn)、提供數(shù)組定義的數(shù)組節(jié)點(diǎn)、提供時(shí)間戳定義的時(shí)間戳節(jié)點(diǎn)、對(duì)支持的變量及數(shù)組進(jìn)行正則運(yùn)算的表達(dá)式節(jié)點(diǎn)、提供功能函數(shù)調(diào)用的函數(shù)節(jié)點(diǎn),用于測(cè)試判斷和循環(huán)的判定節(jié)點(diǎn)和循環(huán)節(jié)點(diǎn)上述各節(jié)點(diǎn)根據(jù)各自的屬性為用戶提供輸入界面。
3.如權(quán)利要求2所述的一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于,所述節(jié)點(diǎn)模塊中的測(cè)試節(jié)點(diǎn)內(nèi)容由表示當(dāng)前節(jié)點(diǎn)類型的類型標(biāo)識(shí)、表明當(dāng)前測(cè)試節(jié)點(diǎn)名稱的名稱標(biāo)識(shí)、表明當(dāng)前測(cè)試節(jié)點(diǎn)大小的數(shù)值標(biāo)識(shí)及記錄測(cè)試節(jié)點(diǎn)坐標(biāo)位置的坐標(biāo)標(biāo)識(shí)構(gòu)成。
4.如權(quán)利要求I所述的一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于,所述流程圖模塊首先建立由開(kāi)始和結(jié)束兩個(gè)節(jié)點(diǎn)框構(gòu)成的基本流程圖,然后再將用戶選擇的測(cè)試節(jié)點(diǎn)按順序加入到開(kāi)始和結(jié)束兩個(gè)節(jié)點(diǎn)框之間,最終形成完整的流程圖。
5.如權(quán)利要求I所述的一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于,所述測(cè)試環(huán)境模塊提供流程圖模塊的信息為當(dāng)前被測(cè)設(shè)備及其接口標(biāo)識(shí)及測(cè)試設(shè)備的標(biāo)識(shí)。
6.如權(quán)利要求I所述的一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于,代碼輸出模塊能夠?qū)⒍鄠€(gè)流程圖按一定的執(zhí)行順序配置到一個(gè)可執(zhí)行文件中。
7.如權(quán)利要求I所述的一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于,所述代碼模塊能夠根據(jù)可執(zhí)行文件最終執(zhí)行的環(huán)境而輸出對(duì)應(yīng)環(huán)境下的可執(zhí)行文件。
8.如權(quán)利要求I所述的一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,其特征在于,所述流程圖模塊首先利用XML信息建立整個(gè)流程圖的屬性信息,并將內(nèi)部的各個(gè)測(cè)試節(jié)點(diǎn)利用XML信息進(jìn)行記錄,再將上述所有XML信息保存成一個(gè)XML存儲(chǔ)流程圖。
全文摘要
本發(fā)明公開(kāi)一種利用圖形化操作實(shí)現(xiàn)代碼編程的方法,包括節(jié)點(diǎn)模塊根據(jù)不同被測(cè)設(shè)備及其相關(guān)的測(cè)試設(shè)備和對(duì)應(yīng)的測(cè)試程序,建立與此測(cè)試程序?qū)?yīng)的測(cè)試節(jié)點(diǎn);測(cè)試環(huán)境模塊根據(jù)用戶選擇的被測(cè)設(shè)備信息建立當(dāng)前流程圖模塊運(yùn)行環(huán)境;流程圖模塊用戶根據(jù)預(yù)測(cè)被測(cè)設(shè)備及相應(yīng)測(cè)試設(shè)備選擇對(duì)應(yīng)的測(cè)試節(jié)點(diǎn),按順序建立由各測(cè)試節(jié)點(diǎn)形成的圖形化流程圖;函數(shù)模塊適于保存和收錄新增函數(shù),用于支持節(jié)點(diǎn)模塊和流程圖模塊的功能調(diào)用;代碼輸出模塊適于將生成的圖形化流程圖轉(zhuǎn)化為由代碼構(gòu)成的可執(zhí)行文件輸出。本發(fā)明能夠兼容多種測(cè)試環(huán)境(操作系統(tǒng)、CPU環(huán)境),并向用戶提供圖形界面編輯測(cè)試邏輯,直觀的展示操作過(guò)程及測(cè)試功能模塊含義。
文檔編號(hào)G06F9/44GK102915242SQ20121036401
公開(kāi)日2013年2月6日 申請(qǐng)日期2012年9月26日 優(yōu)先權(quán)日2012年9月26日
發(fā)明者劉建龍, 張亞棟, 程建明, 余春秀 申請(qǐng)人:北京廣利核系統(tǒng)工程有限公司, 中國(guó)廣東核電集團(tuán)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
长兴县| 寿光市| 南宁市| 南安市| 旬阳县| 霍邱县| 宣威市| 青神县| 甘肃省| 廊坊市| 错那县| 宣恩县| 泾川县| 闽侯县| 新巴尔虎右旗| 霸州市| 浦北县| 昌都县| 龙井市| 枣阳市| 屯门区| 崇州市| 九江县| 长治县| 沙河市| 洛南县| 太仓市| 天台县| 高唐县| 涿鹿县| 普安县| 雅安市| 南开区| 北安市| 利川市| 枣阳市| 老河口市| 兴业县| 旅游| 伊宁市| 梁平县|