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

一種自動(dòng)化測(cè)試方法和系統(tǒng)的制作方法

文檔序號(hào):6434533閱讀:149來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種自動(dòng)化測(cè)試方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù),特別是涉及一種自動(dòng)化測(cè)試方法和系統(tǒng)。
背景技術(shù)
目前,在進(jìn)行軟件測(cè)試時(shí),常采用自動(dòng)化測(cè)試的方法。自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng) 的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。如果采用非自動(dòng)化測(cè)試的方法,則在設(shè)計(jì)了測(cè)試 用例并通過(guò)評(píng)審之后,由測(cè)試人員根據(jù)測(cè)試用例中描述的規(guī)程一步步執(zhí)行測(cè)試,得到實(shí)際 結(jié)果與期望結(jié)果的比較。隨著軟件測(cè)試技術(shù)的發(fā)展,為了節(jié)省人力、時(shí)間、硬件資源,提高測(cè) 試效率,提出了自動(dòng)化測(cè)試方法。自動(dòng)化測(cè)試與軟件開(kāi)發(fā)過(guò)程本質(zhì)上是一致的,利用自動(dòng)化 測(cè)試工具,經(jīng)過(guò)對(duì)測(cè)試需求的分析,設(shè)計(jì)出自動(dòng)化測(cè)試用例,從而搭建自動(dòng)化測(cè)試的框架, 設(shè)計(jì)與編寫(xiě)自動(dòng)化測(cè)試腳本,通過(guò)測(cè)試該腳本的正確性,從而完成該套測(cè)試腳本。
目前的自動(dòng)化測(cè)試方法中,預(yù)先編寫(xiě)測(cè)試框架,在該框架中為測(cè)試需要的基礎(chǔ)操 作提供接口以供調(diào)用,在測(cè)試時(shí),測(cè)試人員根據(jù)用例操作需求,人工編寫(xiě)調(diào)用上述接口的自 動(dòng)化測(cè)試腳本。采用此方法,要求參與測(cè)試的腳本開(kāi)發(fā)人員以及后期運(yùn)行維護(hù)人員都必須 具有很高的代碼水平,自動(dòng)化腳本的開(kāi)發(fā)和運(yùn)行維護(hù)的成本大。并且,采用此方法,在測(cè)試 時(shí)需要人工編寫(xiě)腳本,從而導(dǎo)致測(cè)試過(guò)程所需時(shí)間長(zhǎng),測(cè)試效率低,并且,采用此方法,對(duì)測(cè) 試人員的技術(shù)要求高,從而導(dǎo)致測(cè)試方法的通用性差。發(fā)明內(nèi)容
本發(fā)明提供了一種自動(dòng)化測(cè)試方法,采用該方法能夠提高自動(dòng)化測(cè)試的效率和通 用性。
本發(fā)明還提供了一種自動(dòng)化測(cè)試系統(tǒng),采用該系統(tǒng)能夠提高自動(dòng)化測(cè)試的效率和 通用性。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的
本發(fā)明提供一種自動(dòng)化測(cè)試方法,包括
對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、所述每個(gè)測(cè)試對(duì)象包含的操作方法和 參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝,為每一個(gè)封裝后的所述測(cè)試對(duì)象、所述操 作方法、所述參數(shù)、所述功能過(guò)程和所述靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字;
輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本;
對(duì)所述測(cè)試腳本進(jìn)行解析,獲取所述測(cè)試腳本中的全部關(guān)鍵字;
根據(jù)解析獲得的全部所述關(guān)鍵字,分別獲取所述關(guān)鍵字對(duì)應(yīng)的封裝后的所述測(cè)試 對(duì)象、所述參數(shù)和所述靜態(tài)元素,執(zhí)行所述關(guān)鍵字對(duì)應(yīng)的封裝后的所述操作方法和所述功 能過(guò)程。
所述輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本之前還包括創(chuàng)建所述測(cè)試腳本;
所述創(chuàng)建所述測(cè)試腳本之后還包括存儲(chǔ)所述測(cè)試腳本;和/或,查看所述測(cè)試腳 本;和/或,導(dǎo)出所述測(cè)試腳本;和/或,編輯所述測(cè)試腳本;和/或,刪除所述測(cè)試腳本;和/或,關(guān)聯(lián)至少兩個(gè)所述測(cè)試腳本;和/或,查看測(cè)試腳本的執(zhí)行結(jié)果。
所述測(cè)試腳本采用偽代碼。
本發(fā)明還提供一種自動(dòng)化測(cè)試系統(tǒng),包括
封裝單元,用于對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、所述每個(gè)測(cè)試對(duì)象包 含的操作方法和參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝,為每一個(gè)封裝后的所述 測(cè)試對(duì)象、所述操作方法、所述參數(shù)、所述功能過(guò)程和所述靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān) 鍵字;
瀏覽器,用于輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本;
解析模塊,用于對(duì)所述測(cè)試腳本進(jìn)行解析,獲取所述測(cè)試腳本中的全部關(guān)鍵字;
執(zhí)行模塊,用于根據(jù)所述解析模塊獲取的全部所述關(guān)鍵字,分別獲取所述關(guān)鍵字 對(duì)應(yīng)的封裝后的所述測(cè)試對(duì)象、所述參數(shù)和所述靜態(tài)元素,執(zhí)行所述關(guān)鍵字對(duì)應(yīng)的封裝后 的所述操作方法和所述功能過(guò)程。
所述封裝單元包括底層支撐模塊和對(duì)象工廠模塊;
所述底層支撐模塊,用于對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、所述每個(gè)測(cè) 試對(duì)象包含的操作方法和參數(shù)、以及每個(gè)功能過(guò)程分別進(jìn)行封裝,為每一個(gè)封裝后的所述 測(cè)試對(duì)象、所述操作方法、所述參數(shù)和所述功能過(guò)程映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字;
所述對(duì)象工廠模塊,用于存儲(chǔ)經(jīng)過(guò)封裝的自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)靜態(tài)元素 和每個(gè)所述靜態(tài)元素對(duì)應(yīng)的關(guān)鍵字;
所述執(zhí)行模塊,具體用于根據(jù)解析模塊獲得的至少一個(gè)關(guān)鍵字,獲取底層支撐模 塊存儲(chǔ)的所述至少一個(gè)操作關(guān)鍵字對(duì)應(yīng)的測(cè)試對(duì)象、操作方法、參數(shù)和功能過(guò)程,分別執(zhí)行 所述操作方法和功能過(guò)程,在執(zhí)行所述操作方法和功能過(guò)程的過(guò)程中,從所述對(duì)象工廠模 塊調(diào)用所述操作方法和功能過(guò)程中涉及的靜態(tài)元素。
所述底層支撐模塊包括測(cè)試對(duì)象接口、測(cè)試幫助接口、操作系統(tǒng)對(duì)象接口、應(yīng)用 程序用戶(hù)接口;
所述測(cè)試對(duì)象接口用于實(shí)現(xiàn)窗口操作和/或控件操作;
所述測(cè)試幫助接口用于實(shí)現(xiàn)輔助功能;
所述操作系統(tǒng)對(duì)象接口用于提供系統(tǒng)對(duì)象;
所述應(yīng)用程序用戶(hù)接口用于實(shí)現(xiàn)應(yīng)用程序的用戶(hù)操作和進(jìn)程操作。
所述裝置還包括
管理模塊,用于創(chuàng)建所述測(cè)試腳本、和/或存儲(chǔ)所述測(cè)試腳本、和/或查看所述測(cè) 試腳本、和/或?qū)С鏊鰷y(cè)試腳本、和/或編輯所述測(cè)試腳本、和/或刪除所述測(cè)試腳本、和 /或關(guān)聯(lián)至少兩個(gè)所述測(cè)試腳本、和/或查看測(cè)試腳本的執(zhí)行結(jié)果。
所述管理模塊包括管理接口 ;
所述管理接口用于所述管理模塊與所述解析模塊交互,以檢查所述測(cè)試腳本的格 式;
和/或,所述管理接口用于所述管理模塊與所述執(zhí)行模塊交互,以觸發(fā)所述執(zhí)行 模塊啟動(dòng)執(zhí)行測(cè)試腳本;
和/或,所述管理接口用于所述管理模塊與所述瀏覽器交互,以創(chuàng)建所述測(cè)試腳 本、和/或編輯所述測(cè)試腳本、和/或存儲(chǔ)所述測(cè)試腳本、和/或查看所述測(cè)試腳本、和/或?qū)С鏊鰷y(cè)試腳本、和/或刪除所述測(cè)試腳本、和/或關(guān)聯(lián)至少兩個(gè)所述測(cè)試腳本。
所述解析模塊包括解析接口 ;
所述解析接口連接所述執(zhí)行模塊,所述執(zhí)行模塊調(diào)用所述解析接口向所述解析模 塊傳入所述測(cè)試腳本并從所述解析模塊獲取解析結(jié)果;
和/或,所述解析接口連接所述管理模塊,所述管理模塊調(diào)用所述解析接口向所 述解析模塊傳入所述測(cè)試腳本并從所述解析模塊獲取格式檢查結(jié)果和/或解析結(jié)果;
和/或,所述解析接口連接所述瀏覽器,所述瀏覽器通過(guò)所述解析接口向所述解 析模塊傳入所述測(cè)試腳本。
所述測(cè)試腳本采用偽代碼。
由上述發(fā)明內(nèi)容可見(jiàn),通過(guò)將自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、每個(gè)測(cè)試 對(duì)象包含的操作方法和參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝,為每一個(gè)封裝后 的測(cè)試對(duì)象、操作方法、參數(shù)、功能過(guò)程和靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字,測(cè)試人員 輸入所需測(cè)試的功能對(duì)應(yīng)的關(guān)鍵字的組合,根據(jù)關(guān)鍵字執(zhí)行該關(guān)鍵字對(duì)應(yīng)的經(jīng)過(guò)封裝的上 述內(nèi)容,完成測(cè)試過(guò)程,從而不必在測(cè)試過(guò)程中編寫(xiě)針對(duì)本次測(cè)試的復(fù)雜的代碼,提高了自 動(dòng)化測(cè)試的效率,并且,不必要求測(cè)試人員掌握現(xiàn)有的編程語(yǔ)言,提高了自動(dòng)化測(cè)試方法和 系統(tǒng)的通用性。


圖1是本發(fā)明實(shí)施例一的自動(dòng)化測(cè)試方法的流程圖2是本發(fā)明實(shí)施例二的自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì) 本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明的基本思想是將自動(dòng)化測(cè)試過(guò)程中所需的每個(gè)功能對(duì)應(yīng)的代碼分別進(jìn)行 封裝并映射一個(gè)關(guān)鍵字,在測(cè)試時(shí),測(cè)試人員只需輸入所需測(cè)試的功能對(duì)應(yīng)的關(guān)鍵字或關(guān) 鍵字的組合,即可根據(jù)關(guān)鍵字執(zhí)行該關(guān)鍵字對(duì)應(yīng)的經(jīng)過(guò)封裝的代碼,從而完成測(cè)試過(guò)程。
圖1是本發(fā)明實(shí)施例一的自動(dòng)化測(cè)試方法的流程圖。如圖1所示,該方法包括如 下過(guò)程。
步驟101 :對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、每個(gè)測(cè)試對(duì)象包含的操作 方法和參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝,為每一個(gè)封裝后的測(cè)試對(duì)象、操作 方法、參數(shù)、功能過(guò)程和靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字。
在本步驟中,具體地,上述功能過(guò)程可以是一個(gè)或多個(gè)操作方法的組合。上述靜態(tài) 元素可以為窗口等靜態(tài)元素,上述操作方法和功能過(guò)程中所需的靜態(tài)元素可以從上述經(jīng)過(guò) 封裝的靜態(tài)元素中調(diào)去。
步驟102 :輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本。
在本步驟中,測(cè)試腳本中可以包括一個(gè)關(guān)鍵字,或者,也可以包括一組關(guān)鍵字組成 的組合。該測(cè)試腳本可以由測(cè)試人員通過(guò)瀏覽器向自動(dòng)化測(cè)試系統(tǒng)中輸入,具體地,測(cè)試人 員只需要根據(jù)當(dāng)前的測(cè)試需求,采用該需求對(duì)應(yīng)的關(guān)鍵字組成測(cè)試腳本即可。
進(jìn)一步地,在本發(fā)明實(shí)施例一中,該自動(dòng)化測(cè)試方法中采用的測(cè)試腳本可以采用 偽代碼。具體地,該測(cè)試腳本可以不采用現(xiàn)有技術(shù)中的編程語(yǔ)言進(jìn)行編寫(xiě),而采用偽代碼進(jìn) 行編寫(xiě)。由于現(xiàn)有的編程語(yǔ)言較復(fù)雜,通過(guò)采用更為簡(jiǎn)單的偽代碼進(jìn)行編寫(xiě),因此不必要求 測(cè)試人員掌握現(xiàn)有技術(shù)中的復(fù)雜的編程語(yǔ)言,而只需要通過(guò)偽代碼對(duì)關(guān)鍵字進(jìn)行簡(jiǎn)單組合 即可。并且,采用偽代碼無(wú)需對(duì)編寫(xiě)后的測(cè)試腳本進(jìn)行編譯,只需要按照預(yù)先定義的格式組 裝偽代碼,通過(guò)測(cè)試系統(tǒng)對(duì)偽代碼進(jìn)行格式檢查來(lái)確保偽代碼的格式正確即可。通過(guò)采用 偽代碼編寫(xiě)測(cè)試腳本,進(jìn)一步提高了測(cè)試方法的自動(dòng)化測(cè)試效率和通用性。
步驟103 :對(duì)測(cè)試腳本進(jìn)行解析,獲取測(cè)試腳本中的全部關(guān)鍵字。
在本步驟中,對(duì)測(cè)試腳本進(jìn)行解析,通過(guò)解析獲得步驟102中組成該測(cè)試腳本的 一個(gè)或一組關(guān)鍵字。
步驟104 :根據(jù)解析獲得的全部關(guān)鍵字,分別獲取關(guān)鍵字對(duì)應(yīng)的封裝后的測(cè)試對(duì) 象、參數(shù)和靜態(tài)元素,執(zhí)行關(guān)鍵字對(duì)應(yīng)的封裝后的操作方法和功能過(guò)程。
在本步驟中,根據(jù)步驟103中的解析結(jié)果,組織執(zhí)行流程,即組織執(zhí)行測(cè)試腳本中 的單條或多條腳本程序。具體地,在執(zhí)行上述經(jīng)過(guò)封裝的操作或功能過(guò)程時(shí),所需的靜態(tài)元 素可以從上述封裝的靜態(tài)元素中調(diào)取。
在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,本發(fā)明實(shí)施例一的自動(dòng)化測(cè)試方法還可以 包括如下步驟中的一種或幾種的組合。
在步驟102之前,本發(fā)明實(shí)施例一的自動(dòng)化測(cè)試方法中還可以包括創(chuàng)建測(cè)試腳 本。在創(chuàng)建測(cè)試腳本之后,本發(fā)明實(shí)施例一的自動(dòng)化測(cè)試方法中還可以包括如下步驟中的 一種或幾種的組合存儲(chǔ)測(cè)試腳本、查看測(cè)試腳本、導(dǎo)出測(cè)試腳本、編輯測(cè)試腳本、刪除測(cè)試 腳本、關(guān)聯(lián)至少兩個(gè)測(cè)試腳本、查看測(cè)試腳本的執(zhí)行結(jié)果。
在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,在步驟102輸入由至少一個(gè)關(guān)鍵字組成的 測(cè)試腳本之后,在步驟103對(duì)測(cè)試腳本進(jìn)行解析之前,本發(fā)明實(shí)施例一的自動(dòng)化測(cè)試方法 還可以包括以下步驟檢查測(cè)試腳本的格式。
以上對(duì)本發(fā)明提出的自動(dòng)化測(cè)試方法進(jìn)行了說(shuō)明,下面介紹一種采用上述自動(dòng)化 測(cè)試方法的自動(dòng)化測(cè)試系統(tǒng)。
圖2是本發(fā)明實(shí)施例二的自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,該系統(tǒng)至 少包括封裝單元21、瀏覽器22、解析模塊23和執(zhí)行模塊24,在該系統(tǒng)包括封裝單元21、瀏 覽器22、解析模塊23和執(zhí)行模塊24的基礎(chǔ)上,進(jìn)一步地,該系統(tǒng)中還可以包括管理模塊 25。
其中,封裝單元21對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、每個(gè)測(cè)試對(duì)象包含 的操作方法和參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝,為每一個(gè)封裝后的測(cè)試對(duì) 象、操作方法、參數(shù)、功能過(guò)程和靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字。并且,封裝單元21 存儲(chǔ)上述封裝后的測(cè)試對(duì)象、操作方法、參數(shù)、功能過(guò)程和靜態(tài)元素以及各自與關(guān)鍵字的對(duì) 應(yīng)關(guān)系。
瀏覽器22用于為測(cè)試人員提供交互界面,測(cè)試人員通過(guò)該瀏覽器22向該自動(dòng)化 測(cè)試系統(tǒng)輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本。具體地,該瀏覽器22可以采用瀏覽器22 和服務(wù)器(BiOwser/Server,簡(jiǎn)稱(chēng)B/S)架構(gòu)中的瀏覽器22。該瀏覽器22的界面可以分為 兩部分,其中,一部分根據(jù)系統(tǒng)中各個(gè)模塊的需求定義控件和布局,另一部分給各個(gè)瀏覽器22控件添加控制邏輯。進(jìn)一步地,在本發(fā)明實(shí)施例二中,該自動(dòng)化測(cè)試系統(tǒng)中采用的測(cè)試腳 本可以采用偽代碼。
解析模塊23對(duì)測(cè)試腳本進(jìn)行解析,獲取測(cè)試腳本中的全部關(guān)鍵字。進(jìn)一步地,解 析模塊23還可以在對(duì)測(cè)試腳本進(jìn)行解析之前,首先檢查測(cè)試腳本的格式。解析模塊23可 以從瀏覽器22和/或執(zhí)行模塊24獲取測(cè)試腳本,并將該測(cè)試腳本的解析結(jié)果或格式檢查 結(jié)果返回給瀏覽器22和/或執(zhí)行模塊24。
執(zhí)行模塊24從解析模塊23獲取解析模塊23解析獲取的測(cè)試腳本中的全部關(guān) 鍵字,根據(jù)至少一個(gè)關(guān)鍵字,從封裝單元21分別獲取關(guān)鍵字對(duì)應(yīng)的封裝后的測(cè)試對(duì)象、參 數(shù)和靜態(tài)元素,并且,從封裝單元21獲取并執(zhí)行關(guān)鍵字對(duì)應(yīng)的封裝后的操作方法和功能過(guò) 程。具體地,執(zhí)行模塊24根據(jù)解析模塊23的解析結(jié)果,組織執(zhí)行流程,即組織執(zhí)行測(cè)試腳 本中的單條或多條腳本程序。執(zhí)行模塊24中包括執(zhí)行程序,該執(zhí)行程序可以采用Java歸 檔文件(Java Archive,簡(jiǎn)稱(chēng)JAR)包方式,使用啟動(dòng)Java瀏覽器(Java web start)的部署 方式在瀏覽器22頁(yè)面上調(diào)起。
進(jìn)一步地,該系統(tǒng)中還可以包括管理模塊25。該管理模塊25用于實(shí)現(xiàn)對(duì)腳本進(jìn) 行管理的功能,具體可以包括如下功能中的一項(xiàng)或多項(xiàng)的組合創(chuàng)建測(cè)試腳本、存儲(chǔ)測(cè)試腳 本、查看測(cè)試腳本、導(dǎo)出測(cè)試腳本、編輯測(cè)試腳本、刪除測(cè)試腳本、關(guān)聯(lián)至少兩個(gè)測(cè)試腳本、 查看測(cè)試腳本的執(zhí)行結(jié)果。通過(guò)管理模塊25進(jìn)行創(chuàng)建測(cè)試腳本或編輯測(cè)試腳本后,將經(jīng)過(guò) 管理模塊25創(chuàng)建、編輯后的測(cè)試腳本輸入到解析模塊23。具體地,管理模塊25從瀏覽器 22獲取上述創(chuàng)建、存儲(chǔ)、查看、導(dǎo)出、編輯、刪除、關(guān)聯(lián)測(cè)試腳本和查看測(cè)試腳本的執(zhí)行結(jié)果 的命令,在瀏覽器22的后臺(tái)采用JAVA服務(wù)網(wǎng)頁(yè)技術(shù)(Java Server Pages,簡(jiǎn)稱(chēng)JSP)調(diào)用 管理模塊25,以完成上述創(chuàng)建、存儲(chǔ)、查看、導(dǎo)出、編輯、刪除、關(guān)聯(lián)測(cè)試腳本并查看測(cè)試腳本 的執(zhí)行結(jié)果。
在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,該系統(tǒng)中的封裝單元21具體可以包括底 層支撐模塊211和對(duì)象工廠模塊212。
具體地,底層支撐模塊211對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、每個(gè)測(cè)試 對(duì)象包含的操作方法和參數(shù)、以及每個(gè)功能過(guò)程分別進(jìn)行封裝,為每一個(gè)封裝后的測(cè)試對(duì) 象、操作方法、參數(shù)和功能過(guò)程映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字。
對(duì)象工廠模塊212存儲(chǔ)經(jīng)過(guò)封裝的自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)靜態(tài)元素和每 個(gè)靜態(tài)元素對(duì)應(yīng)的關(guān)鍵字。對(duì)象工廠模塊212中的封裝后的靜態(tài)元素用于在底層支撐模塊 211中的操作和/或功能過(guò)程執(zhí)行的過(guò)程中被調(diào)用。
在封裝單元21包括底層支撐模塊211和對(duì)象工廠模塊212的情況下,相應(yīng)地,執(zhí) 行模塊24根據(jù)從解析模塊23獲得的解析模塊23解析獲取的全部關(guān)鍵字,獲取底層支撐模 塊211存儲(chǔ)的至少一個(gè)操作關(guān)鍵字對(duì)應(yīng)的測(cè)試對(duì)象、操作方法、參數(shù)和功能過(guò)程,按照測(cè)試 腳本中的關(guān)鍵字順序,分別執(zhí)行關(guān)鍵字對(duì)應(yīng)的操作方法和功能過(guò)程,在執(zhí)行操作方法和功 能過(guò)程的過(guò)程中,所需的靜態(tài)元素從對(duì)象工廠模塊212中調(diào)用。
在上述技術(shù)方案的基礎(chǔ)上,進(jìn)一步地,自動(dòng)化測(cè)試系統(tǒng)中的上述各個(gè)模塊需要提 供相應(yīng)的接口,各個(gè)模塊通過(guò)調(diào)用相應(yīng)接口來(lái)完成自身的各種功能。例如
解析模塊23中包括解析接口(IScriptParse接口),該解析接口用于解析測(cè)試腳 本;該測(cè)試腳本可以采用偽代碼編寫(xiě),則該解析接口還可以進(jìn)一步用于檢查測(cè)試腳本的格式。該解析模塊23通過(guò)該解析接口接收測(cè)試腳本。具體地,該解析接口可以應(yīng)用于下述三 種場(chǎng)景中的任意一種或多種的組合第一,該解析接口可以與執(zhí)行模塊24連接,執(zhí)行模塊 24通過(guò)調(diào)用該解析接口向解析模塊23傳入測(cè)試腳本,并通過(guò)該解析接口獲取解析結(jié)果,以 根據(jù)解析結(jié)果執(zhí)行測(cè)試腳本。第二,該解析接口可以與管理模塊25連接,管理模塊25通過(guò) 調(diào)用該解析接口向解析模塊23傳入測(cè)試腳本,并通過(guò)該解析接口獲取格式檢查結(jié)果和/或 解析結(jié)果。第三,該解析接口可以與瀏覽器22連接,通過(guò)該解析接口從瀏覽器22傳入測(cè)試 腳本。在實(shí)際應(yīng)用中,可以根據(jù)具體應(yīng)用的需要,設(shè)計(jì)該解析接口的連接對(duì)象,該解析接口 可以與執(zhí)行模塊24、管理模塊25和瀏覽器22中的任意一種連接,也可以與其中兩者或三者 連接。
底層支撐模塊211中包括測(cè)試對(duì)象接口(ITestObject接口)、測(cè)試幫助接口 (ITestAssistant接口)、操作系統(tǒng)對(duì)象接口(ISystemObject接口 )和應(yīng)用程序用戶(hù)接口 (IUser接口)。測(cè)試對(duì)象接口用于實(shí)現(xiàn)窗口操作和/或控件操作。測(cè)試幫助接口用于實(shí)現(xiàn) 輔助功能,例如模擬鼠標(biāo)鍵盤(pán)操作等輔助功能。操作系統(tǒng)對(duì)象接口用于提供系統(tǒng)對(duì)象,例如 提供系統(tǒng)文件、注冊(cè)表、時(shí)間、環(huán)境變量等系統(tǒng)對(duì)象。應(yīng)用程序用戶(hù)接口用于實(shí)現(xiàn)應(yīng)用程序 的用戶(hù)操作和進(jìn)程操作。進(jìn)一步地,上述測(cè)試對(duì)象接口、操作系統(tǒng)對(duì)象接口和應(yīng)用程序用戶(hù) 接口需要定義一個(gè)判斷對(duì)象是否有效的靜態(tài)方法,并且為每一個(gè)對(duì)象映射一個(gè)一一對(duì)應(yīng)的 關(guān)鍵字,以供偽碼格式檢查使用。
管理模塊25包括管理接口(IScripManagment接口),上述管理模塊25的功能均 通過(guò)該管理接口或其擴(kuò)展子接口實(shí)現(xiàn)。具體地,管理接口可以包括三部分功能。第一,管理 模塊25的管理接口用于與解析模塊23交互,對(duì)測(cè)試腳本的格式進(jìn)行檢查。第二,管理模塊 25的管理接口用于與執(zhí)行模塊24交互,觸發(fā)執(zhí)行模塊24啟動(dòng)執(zhí)行測(cè)試腳本。第三,管理模 塊25通過(guò)管理接口與瀏覽器22交互,對(duì)測(cè)試腳本進(jìn)行管理,例如,可以包括如下對(duì)測(cè)試腳 本進(jìn)行的管理操作創(chuàng)建測(cè)試腳本、和/或編輯測(cè)試腳本、和/或存儲(chǔ)測(cè)試腳本、和/或查看 測(cè)試腳本、和/或?qū)С鰷y(cè)試腳本、和/或刪除測(cè)試腳本、和/或關(guān)聯(lián)至少兩個(gè)測(cè)試腳本。在 實(shí)際應(yīng)用中,根據(jù)實(shí)際應(yīng)用的需要,該管理接口可以包括上述三種功能中的任意一種或幾 種的組合。
具體地,在瀏覽器22給各個(gè)網(wǎng)頁(yè)控件或網(wǎng)絡(luò)控件(簡(jiǎn)稱(chēng)Web控件)添加控制邏輯 時(shí),需要上述管理接口和解析接口的支持。
在對(duì)象工廠模塊212中,提供獲取全部接口對(duì)象的靜態(tài)方法。上述各個(gè)模塊中,對(duì) 其各自所依賴(lài)的接口均定義設(shè)置函數(shù)(簡(jiǎn)稱(chēng)setter),由對(duì)象工廠在構(gòu)造時(shí)傳入依賴(lài),實(shí)現(xiàn) 依賴(lài)倒轉(zhuǎn)。
根據(jù)上述本發(fā)明具體實(shí)施方式
可見(jiàn),通過(guò)將自動(dòng)化測(cè)試過(guò)程中所需的每個(gè)測(cè)試對(duì) 象、所述每個(gè)測(cè)試對(duì)象包含的操作方法和參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝, 為每一個(gè)封裝后的測(cè)試對(duì)象、操作方法、參數(shù)、功能過(guò)程和靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān) 鍵字,在測(cè)試時(shí),測(cè)試人員只需輸入所需測(cè)試的功能對(duì)應(yīng)的關(guān)鍵字或關(guān)鍵字的組合,即可根 據(jù)關(guān)鍵字執(zhí)行該關(guān)鍵字對(duì)應(yīng)的經(jīng)過(guò)封裝的代碼,從而完成測(cè)試過(guò)程。采用該自動(dòng)化測(cè)試方 法和系統(tǒng),不必在測(cè)試過(guò)程中編寫(xiě)針對(duì)本次測(cè)試的復(fù)雜的代碼,從而提高了自動(dòng)化測(cè)試的 效率,并且,可以支持普通測(cè)試人員完成測(cè)試過(guò)程,而不必要求測(cè)試人員掌握現(xiàn)有的編程語(yǔ) 言,從而提高了測(cè)試方法和系統(tǒng)的通用性。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種自動(dòng)化測(cè)試方法,其特征在于,包括 對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、所述每個(gè)測(cè)試對(duì)象包含的操作方法和參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝,為每一個(gè)封裝后的所述測(cè)試對(duì)象、所述操作方法、所述參數(shù)、所述功能過(guò)程和所述靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字; 輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本; 對(duì)所述測(cè)試腳本進(jìn)行解析,獲取所述測(cè)試腳本中的全部關(guān)鍵字; 根據(jù)解析獲得的全部所述關(guān)鍵字,分別獲取所述關(guān)鍵字對(duì)應(yīng)的封裝后的所述測(cè)試對(duì)象、所述參數(shù)和所述靜態(tài)元素,執(zhí)行所述關(guān)鍵字對(duì)應(yīng)的封裝后的所述操作方法和所述功能過(guò)程。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本之前還包括創(chuàng)建所述測(cè)試腳本; 所述創(chuàng)建所述測(cè)試腳本之后還包括存儲(chǔ)所述測(cè)試腳本;和/或,查看所述測(cè)試腳本;和/或,導(dǎo)出所述測(cè)試腳本;和/或,編輯所述測(cè)試腳本;和/或,刪除所述測(cè)試腳本;和/或,關(guān)聯(lián)至少兩個(gè)所述測(cè)試腳本;和/或,查看測(cè)試腳本的執(zhí)行結(jié)果。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于, 所述測(cè)試腳本采用偽代碼。
4.一種自動(dòng)化測(cè)試系統(tǒng),其特征在于,包括 封裝單元,用于對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、所述每個(gè)測(cè)試對(duì)象包含的操作方法和參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝,為每一個(gè)封裝后的所述測(cè)試對(duì)象、所述操作方法、所述參數(shù)、所述功能過(guò)程和所述靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字; 瀏覽器,用于輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本; 解析模塊,用于對(duì)所述測(cè)試腳本進(jìn)行解析,獲取所述測(cè)試腳本中的全部關(guān)鍵字; 執(zhí)行模塊,用于根據(jù)所述解析模塊獲取的全部所述關(guān)鍵字,分別獲取所述關(guān)鍵字對(duì)應(yīng)的封裝后的所述測(cè)試對(duì)象、所述靜態(tài)元素,執(zhí)行所述關(guān)鍵字對(duì)應(yīng)的封裝后的所述操作方法和所述功能過(guò)程。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于, 所述封裝單元包括底層支撐模塊和對(duì)象工廠模塊; 所述底層支撐模塊,用于對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、所述每個(gè)測(cè)試對(duì)象包含的操作方法和參數(shù)、以及每個(gè)功能過(guò)程分別進(jìn)行封裝,為每一個(gè)封裝后的所述測(cè)試對(duì)象、所述操作方法、所述參數(shù)和所述功能過(guò)程映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字; 所述對(duì)象工廠模塊,用于存儲(chǔ)經(jīng)過(guò)封裝的自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)靜態(tài)元素和每個(gè)所述靜態(tài)元素對(duì)應(yīng)的關(guān)鍵字; 所述執(zhí)行模塊,具體用于根據(jù)解析模塊獲得的至少一個(gè)關(guān)鍵字,獲取底層支撐模塊存儲(chǔ)的所述至少一個(gè)操作關(guān)鍵字對(duì)應(yīng)的測(cè)試對(duì)象、操作方法、參數(shù)和功能過(guò)程,分別執(zhí)行所述操作方法和功能過(guò)程,在執(zhí)行所述操作方法和功能過(guò)程的過(guò)程中,從所述對(duì)象工廠模塊調(diào)用所述操作方法和功能過(guò)程中涉及的靜態(tài)元素。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述底層支撐模塊包括測(cè)試對(duì)象接口、測(cè)試幫助接口、操作系統(tǒng)對(duì)象接口、應(yīng)用程序用戶(hù)接口 ;所述測(cè)試對(duì)象接口用于實(shí)現(xiàn)窗口操作和/或控件操作; 所述測(cè)試幫助接口用于實(shí)現(xiàn)輔助功能; 所述操作系統(tǒng)對(duì)象接口用于提供系統(tǒng)對(duì)象; 所述應(yīng)用程序用戶(hù)接口用于實(shí)現(xiàn)應(yīng)用程序的用戶(hù)操作和進(jìn)程操作。
7.根據(jù)權(quán)利要求4至6中任意一項(xiàng)所述的系統(tǒng),其特征在于,所述裝置還包括 管理模塊,用于創(chuàng)建所述測(cè)試腳本、和/或存儲(chǔ)所述測(cè)試腳本、和/或查看所述測(cè)試腳本、和/或?qū)С鏊鰷y(cè)試腳本、和/或編輯所述測(cè)試腳本、和/或刪除所述測(cè)試腳本、和/或關(guān)聯(lián)至少兩個(gè)所述測(cè)試腳本、和/或查看測(cè)試腳本的執(zhí)行結(jié)果。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述管理模塊包括管理接口; 所述管理接口用于所述管理模塊與所述解析模塊交互,以檢查所述測(cè)試腳本的格式; 和/或,所述管理接口用于所述管理模塊與所述執(zhí)行模塊交互,以觸發(fā)所述執(zhí)行模塊啟動(dòng)執(zhí)行測(cè)試腳本; 和/或,所述管理接口用于所述管理模塊與所述瀏覽器交互,以創(chuàng)建所述測(cè)試腳本、和/或編輯所述測(cè)試腳本、和/或存儲(chǔ)所述測(cè)試腳本、和/或查看所述測(cè)試腳本、和/或?qū)С鏊鰷y(cè)試腳本、和/或刪除所述測(cè)試腳本、和/或關(guān)聯(lián)至少兩個(gè)所述測(cè)試腳本。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述解析模塊包括解析接口; 所述解析接口連接所述執(zhí)行模塊,所述執(zhí)行模塊調(diào)用所述解析接口向所述解析模塊傳入所述測(cè)試腳本并從所述解析模塊獲取解析結(jié)果; 和/或,所述解析接口連接所述管理模塊,所述管理模塊調(diào)用所述解析接口向所述解析模塊傳入所述測(cè)試腳本并從所述解析模塊獲取格式檢查結(jié)果和/或解析結(jié)果; 和/或,所述解析接口連接所述瀏覽器,所述瀏覽器通過(guò)所述解析接口向所述解析模塊傳入所述測(cè)試腳本。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于, 所述測(cè)試腳本采用偽代碼。
全文摘要
本發(fā)明公開(kāi)了一種自動(dòng)化測(cè)試方法,對(duì)自動(dòng)化測(cè)試過(guò)程中涉及的每個(gè)測(cè)試對(duì)象、每個(gè)測(cè)試對(duì)象包含的操作方法和參數(shù)、每個(gè)功能過(guò)程以及靜態(tài)元素分別進(jìn)行封裝,為每一個(gè)封裝后的測(cè)試對(duì)象、操作方法、參數(shù)、功能過(guò)程和靜態(tài)元素映射一個(gè)一一對(duì)應(yīng)的關(guān)鍵字,輸入由至少一個(gè)關(guān)鍵字組成的測(cè)試腳本,對(duì)測(cè)試腳本進(jìn)行解析,獲取測(cè)試腳本中的全部關(guān)鍵字,根據(jù)解析獲得的關(guān)鍵字,分別獲取關(guān)鍵字對(duì)應(yīng)的封裝后的測(cè)試對(duì)象、參數(shù)和靜態(tài)元素,執(zhí)行關(guān)鍵字對(duì)應(yīng)的封裝后的操作方法和功能過(guò)程。本發(fā)明還公開(kāi)了一種自動(dòng)化測(cè)試系統(tǒng)。采用本發(fā)明公開(kāi)的自動(dòng)化測(cè)試方法和系統(tǒng),能夠提高自動(dòng)化測(cè)試的效率和通用性。
文檔編號(hào)G06F11/36GK103019928SQ201110296140
公開(kāi)日2013年4月3日 申請(qǐng)日期2011年9月27日 優(yōu)先權(quán)日2011年9月27日
發(fā)明者劉顯健, 孫冬梅 申請(qǐng)人:北京新媒傳信科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1