亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

針對軟件構件的自動化測試方法

文檔序號:6331130閱讀:291來源:國知局
專利名稱:針對軟件構件的自動化測試方法
技術領域
針對軟件構件的自動化測試方法屬于網(wǎng)絡設備的軟件構件的自動化測試方法領 域,
背景技術
構件技術的核心思想是支持開發(fā)一種對外提供標準接口的可復用的二進制模塊 (稱為構件),并用這些模塊來組合構造一個完整的軟件系統(tǒng),由于構件接口的標準性,不 同開發(fā)商開發(fā)的構件能夠彼此協(xié)作,達到無縫集成的目的,構件技術能夠很好地解決當前 的軟件系統(tǒng)暴露出的缺乏可伸縮性和互操作性的缺點,并為減輕開發(fā)工作量、提高軟件復 用率提供了一個很好的解決途徑,基于構件(Component-Based)的軟件很可能成為未來系 統(tǒng)的建構基礎,構件及其相關技術,包括支持構件集成的軟件體系結(jié)構技術以及特定領域 的構件系統(tǒng)設計技術等成為當前軟件領域的研究熱點,構件是大粒度、相對獨立、可替換的系統(tǒng)構成部分,完成一個定義良好的系統(tǒng)結(jié)構 中的某項清晰的功能,它由一組接口來輸出其功能,并可支持運行態(tài)綁定,構件可以在不同的環(huán)境中使用,也可在同一環(huán)境中被復合使用,因此構件需要提 供清楚的接口規(guī)范與對應環(huán)境進行交互,構件的封裝、設計與外部表征盡量分離,構件對外 發(fā)生作用或構件間的交互,都是通過規(guī)范定義的接口進行,構件使用者只需要知道構件的 接口,而不關心其內(nèi)部實現(xiàn),利用針對構件的自動化測試方法進行對構件的自動化測試正 是利用構件的這種規(guī)范性,實現(xiàn)了對各種構件用歸一化的方法進行測試,在這個過程中,可 以極大降低測試過程中人工的勞動量,使整個測試過程在測試人員僅給出入口數(shù)據(jù)和出口 數(shù)據(jù)的條件下,系統(tǒng)自動完成。

發(fā)明內(nèi)容
在網(wǎng)絡設備的軟件構件環(huán)境下,利用針對構件的自動化測試方法,依據(jù)以下步驟 實現(xiàn)本發(fā)明的目的在于1、針對軟件構件的自動化測試方法,其特征在于,是一種在可重構路由器內(nèi)用一 個自動化測試模塊對路由管理構件進行自動化測試的方法,步驟如下步驟(1),構造模板庫,該模板庫含有用于向待測試的路由管理構件輸入路由信息的路由協(xié)議構件候選 模板以及用于接收所述待測試路由構件輸出的經(jīng)篩選路由信息的路由轉(zhuǎn)發(fā)構件候選模板, 以下簡稱輸入候選模板和輸出候選模板,步驟如下步驟(1. 1),構造候選模板,根據(jù)所述路由協(xié)議構件和待測試路由管理構件之間以及根據(jù)所述待測試路由管 理構件和路由轉(zhuǎn)發(fā)構件之間各自外層封裝上有限幾種構件交互形式,抽象化為函數(shù)方法, 作為各自對應的候選模板,
步驟(1. 2),構造模板變量,提取每一個所述候選模板中的參數(shù),經(jīng)重新命名后,使所選參數(shù)在該候選模板中 具有唯一性,并作為模板參數(shù)寫入所選候選模板內(nèi),并保存以便按用戶提供的可擴展宏語 言XML文本,以下簡稱XML文本,以控制對模板變量的填寫,步驟(1. 3),把步驟(1. 2)的候選模板保存在文件夾template下,并把對應該候選 模板的模板變量保存在文件模板名稱fillin中,步驟(2),生成測試輸入代碼和測試輸出代碼,步驟(2. 1),生成測試輸入代碼測試,測試人員向所述自動化測試模板輸入針對所述待測試路由管理構件的XML文件, 在保存后,生成測試輸入代碼,步驟(2. 1. 1),從所述XML文件中得到用于生成測試輸入代碼的含有關鍵字input 及其后部分的input文件部分與該其后部分包括關鍵字template」!!,lib, inlet和 fillin_in,其中,該關鍵字templatejn指定要寫入的輸入候選模板,簡稱輸入模板,該關 鍵字lib指定在在結(jié)構時需要額外添加的庫文件,該關鍵字inlet指定該待測路由管理構 件的接入口,該關鍵字fillin_in指明要在該輸入模板中填入的模板參數(shù),格式由該關鍵 字templatejn指定的輸入模板來決定,步驟(2. 1. 2),用測試輸入程序讀取所述input文件部分的全部內(nèi)容,從所選模板 庫中讀取對應的輸入候選模板,填寫模板變量,形成作為測試輸入代碼用的input, c文件, 保存到forTest文件中,步驟(2. 2),生成測試輸出代碼,步驟(2.2. 1),按步驟(2.1)和步驟(2.1.1)所述方法生成測試輸出代碼的 output文件部分,所述output文件部分包括關鍵字output及其后部分,該其后部分包括關 鍵字template_out,outlet和f illin_out,其中,關鍵字template_out指明要填寫的輸出 模板,關鍵字outlet指明所述待測試路由管理構件的接口,關鍵字f illin_0ut指明要填寫 的輸出模板的參數(shù),步驟(2. 2. 2),用測試輸出程序讀取所述output文件部分的全部內(nèi)容,從所述模 板庫中選擇對應的輸出模板,填寫模板參數(shù)形成output. C文件作為測試輸出代碼保存在 所述forTest文件中,步驟(3),從所述XML文件中判斷是否含有關鍵字result,以進行測試結(jié)果與所述 期望測試結(jié)果比較,步驟(3. 1),若有關鍵字result,則依照步驟(3. 1. 1)到(3. 1. 3),步驟(3. 1. 1),從所述關鍵字result的內(nèi)容中取得指定的期望測試結(jié)果,并保存 到文件夾resultfile下的文件giveresult中,步驟(3. 1.2),把所述輸入測試代碼輸入到所述待測試路由管理器中,經(jīng)篩選 后,把用所述的測試輸出代碼中的測試結(jié)果存放到內(nèi)置的緩沖器中,保存到所選文件夾 resultfile 下的文件 testresult 中,步驟(3. 1. 3),把所選測試結(jié)果與期望測試結(jié)果進行對比,若兩者完全相同,則通過測試,若兩者不同,則判定未通過測試,
步驟(3. 2),若所述XML文件中無關鍵字result,則讀取該XML文件中所選待測試 路由管理構件接收數(shù)據(jù)中結(jié)構體中的變量的類型,送入所選待測試路由管理構件中,經(jīng)所 選測試輸出代碼得到測試結(jié)果,然后把所選一系列測試輸入?yún)?shù)和對應的測試結(jié)果同時返 回所選測試人員,步驟⑷,生成測試入口程序,根據(jù)所述的XML,確定待測試構件的入口函數(shù)名與出口函數(shù)名,查找待測試構 件存放的component文件夾,讀取其中的.h文件名,加入到模板中,生成測試入口程序 entrance, c并保存至Ij forTest文件夾下,步驟⑶,生成makefile文件,把已得到的所述測試輸入代碼,測試輸出代碼,測試結(jié)果對比代碼,測試入口程 序的代碼以及所述component文件中所述待測試路由管理構件的源代碼進行組合,生成 makefile 文件,步驟(5. 1),把步驟(5)中所述所有文件拷貝到所述文件夾forTest下,步驟(5.2),讀取步驟(5. 1)中的 input, c,output, c 和 entrance, c 文件,并保存 入一個鏈表中,步驟(5. 3),從輸入的所述XML文件中,判斷所述關鍵字lib后的內(nèi)容步驟(5.3. 1),若關鍵字lib后為空,則用shell控制根據(jù)步驟(5.2)中所述的 各.c文件的名稱執(zhí)行文件makefile,步驟(5.3.2),若關鍵字lib后為非空,且為pthread庫,在編譯時加入由該 pthread 庫,步驟(6),根據(jù)步驟(5.3)形成的文件makefile,生成對所述待測試路由管理構件 的測試程序,執(zhí)行并觀察給出的測試結(jié)果。本發(fā)明的優(yōu)點在于簡化了測試過程,使測試工作變得簡單,方便,并更高程度上保證了測試的正確 性,


圖1.根據(jù)用戶的輸入文件產(chǎn)生測試的輸入與輸出代碼;圖2.進行結(jié)果與期望輸出的對比;圖 3.生成 makefile 文件;圖4.針對構件的自動化測試方法結(jié)構具體實施例方式針對在可重構路由器軟件開發(fā)環(huán)境下,為驗證由第三方提供的構件的正確性,提 出的一種規(guī)范、簡化的測試方法,此方法可以達到簡化測試過程的目的,針對構件的自動化測試方法,在具體的實施過程中,分為由人完成的工作和由自 動化測試工具完成的工作,共兩個部分自動化測試工具為將一部分自動化測試方法抽象 出來,并用C語言實現(xiàn)的測試工具,自動化測試工具的內(nèi)部實現(xiàn)邏輯為自動化測試方法的 一部分,
我們針對在可重構路由器軟件開發(fā)環(huán)境下的路由管理軟件,按照“針對構件的自 動化測試方法”,即本發(fā)明中提出的測試方法,指出由人完成的工作,和自動化測試工具實 現(xiàn)內(nèi)部邏輯完成的工作,完成對路由管理構件的測試,路由管理構件是這樣的構件它接受由路由協(xié)議構件產(chǎn)生的路由信息,保存并篩 選路由信息,從得到的路由信息中選出最適合信息,發(fā)送給路由轉(zhuǎn)發(fā)構件。針對路由管理構件,具體測試過程如下1.針對路由管理構件,自動生成測試輸入和測試輸出代碼,為了達到自動生成測試輸入代碼和測試輸出代碼的目的,需要測試人員提供XML, 利用自動化測試工具分析XML,從中獲得相關信息,這些信息根據(jù)關鍵字分成三部分,包括 用來生成測試輸入代碼的input文本部分,用來生成測試輸出代碼的output文本部分,自 動化測試工具根據(jù)關鍵字input及其后部分,從模板庫中選擇適合做路由管理構件input 部分的模板,用測試人員提供的XML中提供的信息填充模板,生成測試輸入代碼input, c,自動化測試工具根據(jù)關鍵字output及其后部分,從模板庫中選擇適合做路由管理構件 output部分的模板,用測試人員提供的XML中提供的信息填充模板,生成測試輸出代碼 output, c,將生成的input, c以及output, c保存在名為forTest的文件夾下,以備后續(xù)使 用;2.進行結(jié)果與期望輸出的對比,在這一步驟中,將以兩種方式進行結(jié)果的比對,方式一如果在測試人員提供的XML中使用了關鍵字result,方法如下測試工具需要重新讀取測試人員輸入的XML,將測試人員輸入的XML中關鍵字 為input后的輸入數(shù)據(jù),經(jīng)測試輸入代碼傳入路由管理構件,經(jīng)過路由管理構件的邏輯, 經(jīng)測試輸出代碼,最終生成測試結(jié)果,保存在接收緩沖區(qū)中,重新讀取XML,讀取關鍵字為 result其后的部分,此部分的內(nèi)容為測試人員提供的期望輸出,將測試緩沖區(qū)中的內(nèi)容與 期望輸出進行比較,如果緩沖區(qū)中的內(nèi)容與期望輸出結(jié)果內(nèi)容完全相同,則提示路由管理 構件通過測試,如果內(nèi)容不相同,則提示路由管理構件沒有通過測試,方式二 如果在測試人員提供的XML中沒有使用關鍵字result,方法如下讀取XML中的待測試構件的接收數(shù)據(jù)的結(jié)構體定義,根據(jù)結(jié)構體中變量的類型, 隨機產(chǎn)生一系列的測試數(shù)據(jù),將這些測試數(shù)據(jù)經(jīng)測試輸入代碼傳入路由管理構件,經(jīng)過路 由管理構件的邏輯,經(jīng)測試輸出代碼,最終得到結(jié)果,將隨機產(chǎn)生的測試數(shù)據(jù)與得到的對應 結(jié)果同時返回給測試人員,供測試人員自行推斷測試通過與否;3.生成測試入口程序,重新讀取測試人員提供的XML,在關鍵字input后找到關鍵字inlet,以及在關鍵 字output后找到關鍵字outlet,確定為待測試構件,即路由管理構件指定的入口函數(shù)和出 口函數(shù),將兩個函數(shù)名填入構件測試入口模板,生成測試入口程序entrance, c,并保存到 forTest文件夾下;4.生成 makefile 文件,至此,在forTest文件夾下已經(jīng)保存了由步驟1生成的input, c,output, c,文件, 由步驟3生成的entrance, c文件,路由管理構件的源代碼保存在名為component的文件夾 下(待測試構件的存放位置),將在component文件夾下的路由管理構件的源代碼拷貝到forTest文件夾下,讀取forTest文件夾信息,得到forTest文件夾下所有文件的信息,這 些信息包括文件input, c, input, h, output, c, output, h, entrance, c以及路由管理構件源 文件,提取所有.c文件的名稱,用shell腳本根據(jù)提取的.c文件的名稱,生成makefile文 件,在生成makefile文件的過程中,需要再次讀取測試人員提供的XML,尋找關鍵字lib后 面的內(nèi)容,如果需要在編譯時加入特殊的庫,則在關鍵字lib后指定,如果需要多個庫,則 用逗號分隔,在路由管理構件中,需要在編譯時加入Pthread庫,所以在關鍵字lib后指定 庫名為pthread,生成編譯時加入pthread庫編譯的makefile文件;5.生成測試用例執(zhí)行程序并得到測試結(jié)果,運行makefile,編譯文件,生成針對路由管理構件的測試程序,替換到當前的進 程,并執(zhí)行測試程序,觀察給出的測試結(jié)果;這樣就完成了針對路由管理構件的自動化測試;在網(wǎng)絡設備的軟件構件環(huán)境下,針對構件的自動化測試,依據(jù)以下設計步驟實 現(xiàn)步驟(1),構造模板庫由于在網(wǎng)絡設備的軟件構件環(huán)境下,在實現(xiàn)構件功能段代碼的外層對構件實現(xiàn)了 一層封裝,提供了幾個知名接口,這層封裝為用socket方式實現(xiàn),并在此基礎上完成了構 件間的交互,所以構件的接口類型可歸納為實現(xiàn)封裝的類型,步驟(1. 1),構造候選模板,由于在實現(xiàn)構件功能段代碼的外層,使用了知名接口的方式,采用有限的幾種構 件間交互的形式完成了構件的交互,所以可以將這幾種交互形式作為候選模板,步驟(1. 2),構造模板變量,針對每一個模板,將其中參數(shù)部分提取出來,并進行重新命名,使參數(shù)名在模板中 唯一,并作為模板變量重新寫入模板,將每個模板中的模板變量保存到一個新文件中,以用 來根據(jù)用戶提供的XML,控制對模板變量的填寫,步驟(1.3),命名與存放,將候選模板保存到名為template的文件夾下,并將對應每個模板的,保存模板變 量的文件命名為模板名_fillin,以用來和模板對應,保存到fillin文件夾下,步驟(2),生成測試輸入和測試輸出,在實現(xiàn)構件功能段代碼的外層對構件實現(xiàn)了一層封裝,提供了幾個知名接口,這 層封裝為用socket方式實現(xiàn),并在此基礎上完成了構件間的交互,所以構件的接口類型可 歸納為實現(xiàn)封裝的類型,步驟(2. 1),生成測試輸入代碼,在這一步,測試人員需要針對待測試的構件,提供XML,在XML中,在關鍵字input 下的內(nèi)容即為測試人員針對此構件,在此步驟中提供的內(nèi)容,在input關鍵字后,繼續(xù)提供 了幾個關鍵字,分別為 template_in,lib, inlet, fillin_in.其中 template_in 關鍵字指 定要填寫的模板,lib關鍵字指定在編譯時需要添加的庫文件,inlet關鍵字指定待測試構 件入接口的名稱,fillin_in關鍵字指明其下內(nèi)容為要在模板中填入模板參數(shù)的內(nèi)容,具體 填寫內(nèi)容的格式根據(jù)templatejn指定的要填寫的模板名決定,所有模板保存在fillin_ in文件夾下,以供程序選擇,生成測試輸入程序讀取這些關鍵字及其后的內(nèi)容,籍此選擇相應的模板,并填寫其中的模板變量,最終生成input, c文件,此文件為測試輸入代碼,將 input, c文件保存到forTest文件夾下,步驟(2. 2),生成測試輸出代碼,在這一步,測試人員需要針對待測試的構件,提供XML,在XML中,在關鍵字output 下的內(nèi)容即為測試人員針對此構件,在此步驟中提供的內(nèi)容,在output關鍵字下,繼續(xù)提 供了幾個關鍵字,分別為template_out,outlet, fllin_out.其中outlet關鍵字指明待測 試構件的名稱,template_out關鍵字指明要填寫模板的模板名,fillin_out關鍵字指明它 之下內(nèi)容為要填寫輸出模板的參數(shù)。具體如何填寫方法同填寫輸入文本相應部分內(nèi)容相 同,最終生成output, c文件,此文件為測試輸出代碼,將output, c文件保存到forTest文 件夾下,步驟(3),進行結(jié)果與期望輸出的對比,在這一步驟中,將以兩種方式進行結(jié)果對比,步驟(3. 1),在測試人員提供的XML中含有result關鍵字,在這種方式中,針對構件的自動化測試方法期待測試人員提供給定的輸入與輸入 數(shù)據(jù)對應的輸出結(jié)果,并將兩者進行比較,步驟(3. 1. 1),取得用戶提供的期望輸出,測試人員針對待測試構件,提供XML,在XML中,在input關鍵字下的內(nèi)容中提供測 試人員的輸入數(shù)據(jù),在result關鍵字下的內(nèi)容中,提供對應于輸入數(shù)據(jù)給出的期望輸出數(shù) 據(jù),讀取這個期望輸出數(shù)據(jù),并保存到resultfile文件夾下名為giveresult的文件中,步驟(3. 1. 2),取得真實輸出結(jié)果,將關鍵字input下測試人員給出的輸入數(shù)據(jù),通過測試輸入代碼傳入待測試構 件,經(jīng)過待測試構件的邏輯,存儲到測試輸出的緩沖區(qū)中,讀取緩沖區(qū)的內(nèi)容,將結(jié)果保存 到resultfile文件夾下名為testresult的文件中,步驟(3. 1. 3),對比測試結(jié)果與期望結(jié)果,將測試人員提供的期望輸出結(jié)果與真實輸出結(jié)果分別保存在兩個容器中,對兩個 容器中的內(nèi)容進行比較,如果兩個容器中的內(nèi)容完全相同,則說明真實輸出結(jié)果與測試人 員提供的期望輸出結(jié)果相同,說明構件通過測試,如果兩個容器中的內(nèi)容不完全相同,則說 明真實輸出結(jié)果與測試人員提供的期望輸出結(jié)果不相同,說明構件沒有通過測試,步驟(3. 2),在測試人員提供的XML中不含有result關鍵字,在這種方式中,測試人員沒有提供測試輸入程序,也沒有給出測試輸出程序,在測 試人員提供的XML中不含有result關鍵字時,讀取XML中的待測試構件的接收數(shù)據(jù)的結(jié)構 體定義,根據(jù)結(jié)構體中變量的類型,隨機產(chǎn)生一系列的測試數(shù)據(jù),將這些測試數(shù)據(jù)經(jīng)測試輸 入代碼傳入路由管理構件,經(jīng)過路由管理構件的邏輯,經(jīng)測試輸出代碼,最終得到結(jié)果,將 隨機產(chǎn)生的測試數(shù)據(jù)與得到的對應結(jié)果同時返回給測試人員,供測試人員自行推斷測試通 過與否,步驟(4),生成測試入口程序,在這一步驟中,需要重新讀取測試人員提供的XML,在input關鍵字后找到關鍵 字inlet,確定其后參數(shù)名為待測試構件的入口函數(shù)名,在output關鍵字后找到關鍵字 outlet,確定其后參數(shù)名為待測試構件的出口函數(shù)名,查找待測試構件存放的component文件夾,讀取其中的.h文件名,加入到入口函數(shù)模板的#include “... ”中,把入口函數(shù)名 和出口函數(shù)名添加入到測試入口模板的模板變量中,生成測試入口程序entrance, c.并保 存到forTest文件夾下,步驟(δ),生成makefile 文件,在此步驟中,將把步驟2產(chǎn)生的測試輸入代碼,測試輸出代碼,步驟3產(chǎn)生的結(jié)果 對比代碼,步驟4產(chǎn)生的測試入口程序代碼以及待測試構件源代碼,進行組合,為它們生成 makefile 文件,步驟(5. 1),拷貝所有需要文件至forTest文件夾下,在此步驟中,步驟2產(chǎn)生的測試輸入代碼,測試輸出代碼,與步驟3產(chǎn)生的結(jié)果比 對代碼以及步驟4生成的測試入口程序代碼均已保存到forTest文件夾下,還需要拷貝的 僅為待測試構件代碼,將待測試構件代碼從component文件夾下拷貝至forTest文件夾下,步驟(5. 2),得到待測試文件夾下所有的*. c源文件名稱,在進行此步驟前,已經(jīng)由步驟5. 1保證了在forTest文件夾下存放了所有需要進 行編譯的代碼。讀取文件夾信息,得到這個文件夾下所有文件的名稱。提取并保存所有*. c 文件的名稱到鏈表中,步驟(5. 3),根據(jù)得到的源文件名稱自動生成makefile,按照makefile的格式,根據(jù)步驟5. 2中保存的鏈表中的內(nèi)容,自動生成makefile. 這個過程由shell腳本完成,在生成makefile的過程中,如果測試人員需要在編譯過程中 加入特定的庫,再會在提供的XML中以關鍵字lib指定要加入的庫,讀取XML中l(wèi)ib后的相 關內(nèi)容,即可了解編譯過程中的特殊需要,自動完成makefile的編寫工作,步驟(6),生成測試用例執(zhí)行代碼,利用在步驟5中生成的makefile文件,執(zhí)行make,生成測試用例可執(zhí)行程序,替 換當前進程,執(zhí)行測試用例程序。完成將測試輸入數(shù)據(jù)通過測試輸入代碼,執(zhí)行待測試構件 邏輯,經(jīng)過測試輸出代碼,保存到測試輸出緩沖區(qū)中的過程,如果在測試人員提供的XML中 含有result關鍵字,則比對給定的測試輸出與實際測試輸出結(jié)果,給出測試是否通過的提 示,如果不含有result關鍵字,則給出測試輸入數(shù)據(jù)與測試輸出數(shù)據(jù),讓測試人員自行判 斷輸出結(jié)果,至此,完成了利用針對構件的自動測試方法,測試構件的過程。
權利要求
針對軟件構件的自動化測試方法,其特征在于,是一種在可重構路由器內(nèi)用一個自動化測試模塊對路由管理構件進行自動化測試的方法,步驟如下步驟(1),構造模板庫,該模板庫含有用于向待測試的路由管理構件輸入路由信息的路由協(xié)議構件候選模板以及用于接收所述待測試路由構件輸出的經(jīng)篩選路由信息的路由轉(zhuǎn)發(fā)構件候選模板,以下簡稱輸入候選模板和輸出候選模板,步驟如下步驟(1.1),構造候選模板,根據(jù)所述路由協(xié)議構件和待測試路由管理構件之間以及根據(jù)所述待測試路由管理構件和路由轉(zhuǎn)發(fā)構件之間各自外層封裝上有限幾種構件交互形式,抽象化為函數(shù)方法,作為各自對應的候選模板,步驟(1.2),構造模板變量,提取每一個所述候選模板中的參數(shù),經(jīng)重新命名后,使所選參數(shù)在該候選模板中具有唯一性,并作為模板參數(shù)寫入所選候選模板內(nèi),并保存以便按用戶提供的可擴展宏語言XML文本,以下簡稱XML文本,以控制對模板變量的填寫,步驟(1.3),把步驟(1.2)的候選模板保存在文件夾template下,并把對應該候選模板的模板變量保存在文件模板名稱fillin中,步驟(2),生成測試輸入代碼和測試輸出代碼,步驟(2.1),生成測試輸入代碼測試,測試人員向所述自動化測試模板輸入針對所述待測試路由管理構件的XML文件,在保存后,生成測試輸入代碼,步驟(2.1.1),從所述XML文件中得到用于生成測試輸入代碼的含有關鍵字input及其后部分的input文件部分與該其后部分包括關鍵字template_in,lib,inlet和fillin_in,其中,該關鍵字template_in指定要寫入的輸入候選模板,簡稱輸入模板,該關鍵字lib指定在在結(jié)構時需要額外添加的庫文件,該關鍵字inlet指定該待測路由管理構件的接入口,該關鍵字fillin_in指明要在該輸入模板中填入的模板參數(shù),格式由該關鍵字template_in指定的輸入模板來決定,步驟(2.1.2),用測試輸入程序讀取所述input文件部分的全部內(nèi)容,從所選模板庫中讀取對應的輸入候選模板,填寫模板變量,形成作為測試輸入代碼用的input.c文件,保存到forTest文件中,步驟(2.2),生成測試輸出代碼,步驟(2.2.1),按步驟(2.1)和步驟(2.1.1)所述方法生成測試輸出代碼的output文件部分,所述output文件部分包括關鍵字output及其后部分,該其后部分包括關鍵字template_out,outlet和fillin_out,其中,關鍵字template_out指明要填寫的輸出模板,關鍵字outlet指明所述待測試路由管理構件的接口,關鍵字fillin_out指明要填寫的輸出模板的參數(shù),步驟(2.2.2),用測試輸出程序讀取所述output文件部分的全部內(nèi)容,從所述模板庫中選擇對應的輸出模板,填寫模板參數(shù)形成output.c文件作為測試輸出代碼保存在所述forTest文件中,步驟(3),從所述XML文件中判斷是否含有關鍵字result,以進行測試結(jié)果與所述期望測試結(jié)果比較,步驟(3.1),若有關鍵字result,則依照步驟(3.1.1)到(3.1.3),步驟(3.1.1),從所述關鍵字result的內(nèi)容中取得指定的期望測試結(jié)果,并保存到文件夾resultfile下的文件giveresult中,步驟(3.1.2),把所述輸入測試代碼輸入到所述待測試路由管理器中,經(jīng)篩選后,把用所述的測試輸出代碼中的測試結(jié)果存放到內(nèi)置的緩沖器中,保存到所選文件夾resultfile下的文件testresult中,步驟(3.1.3),把所選測試結(jié)果與期望測試結(jié)果進行對比,若兩者完全相同,則通過測試,若兩者不同,則判定未通過測試,步驟(3.2),若所述XML文件中無關鍵字result,則讀取該XML文件中所選待測試路由管理構件接收數(shù)據(jù)中結(jié)構體中的變量的類型,送入所選待測試路由管理構件中,經(jīng)所選測試輸出代碼得到測試結(jié)果,然后把所選一系列測試輸入?yún)?shù)和對應的測試結(jié)果同時返回所選測試人員,步驟(4),生成測試入口程序,根據(jù)所述的XML,確定待測試構件的入口函數(shù)名與出口函數(shù)名,查找待測試構件存放的component文件夾,讀取其中的.h文件名,加入到模板中,生成測試入口程序entrance.c并保存到forTest文件夾下,步驟(5),生成makefile文件,把已得到的所述測試輸入代碼,測試輸出代碼,測試結(jié)果對比代碼,測試入口程序的代碼以及所述component文件中所述待測試路由管理構件的源代碼進行組合,生成makefile文件,步驟(5.1),把步驟(5)中所述所有文件拷貝到所述文件夾forTest下,步驟(5.2),讀取步驟(5.1)中的input.c,output.c和entrance.c文件,并保存入一個鏈表中,步驟(5.3),從輸入的所述XML文件中,判斷所述關鍵字lib后的內(nèi)容步驟(5.3.1),若關鍵字lib后為空,則用shell控制根據(jù)步驟(5.2)中所述的各c文件的名稱執(zhí)行文件makefile,步驟(5.3.2),若關鍵字lib后為非空,且為pthread庫,在編譯時加入由該pthread庫,步驟(6),根據(jù)步驟(5.3)形成的文件makefile,生成對所述待測試路由管理構件的測試程序,執(zhí)行并觀察給出的測試結(jié)果。
全文摘要
針對軟件構件的自動化測試方法屬于可重構網(wǎng)絡技術的領域,其特征在于,是一種規(guī)范的測試構件的方法,含有以下的步驟生成測試輸入和測試輸出,進行結(jié)果與期望輸出的對比,自動生成makefile文件,生成測試用例執(zhí)行代碼,執(zhí)行并觀察測試結(jié)果。本發(fā)明是具有簡化了測試過程,使測試工作變得簡單,方便,并更高程度上保證了測試的正確性的優(yōu)點。
文檔編號G06F11/36GK101950269SQ201010266770
公開日2011年1月19日 申請日期2010年8月30日 優(yōu)先權日2010年8月30日
發(fā)明者徐恪, 賈鴛鴛, 馬東超 申請人:清華大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1