【畢業(yè)學(xué)位論文】(Word原稿)基于Selenium的自動化測試框架的研究與應(yīng)用-軟件工程_第1頁
【畢業(yè)學(xué)位論文】(Word原稿)基于Selenium的自動化測試框架的研究與應(yīng)用-軟件工程_第2頁
【畢業(yè)學(xué)位論文】(Word原稿)基于Selenium的自動化測試框架的研究與應(yīng)用-軟件工程_第3頁
【畢業(yè)學(xué)位論文】(Word原稿)基于Selenium的自動化測試框架的研究與應(yīng)用-軟件工程_第4頁
【畢業(yè)學(xué)位論文】(Word原稿)基于Selenium的自動化測試框架的研究與應(yīng)用-軟件工程_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

碩士學(xué)位論文 基于 自動化測試框架的 研究與 應(yīng)用 姓 名: 學(xué) 號: 所在院系:軟件學(xué)院 學(xué)科門類:計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)科專業(yè):軟件工程 指導(dǎo)教師: 副 指導(dǎo)教師 : 二 一 三 年 九 月 I A in he 2013 基于S e l e n i u m 自動化測試框架的 研究與應(yīng)用 同濟(jì)大學(xué) I 學(xué)位論文版權(quán)使用授權(quán)書 本人完全了解同濟(jì)大學(xué)關(guān)于收集、保存、使用學(xué)位論文的規(guī)定,同意如下各項(xiàng)內(nèi)容:按照學(xué)校要求提交學(xué)位論文的印刷本和電子版本;學(xué)校有權(quán)保存學(xué)位論文的印刷本和電子版,并采用影印、縮印、掃描、數(shù)字化或其它手段保存論文;學(xué)校有權(quán)提供目錄檢索以及提供本學(xué)位論文全文或者部分的閱覽服務(wù);學(xué)校有權(quán)按有關(guān)規(guī)定向國家有關(guān)部門或者機(jī)構(gòu)送交論文的復(fù)印件和電子版;在不以贏利為目的的前提下,學(xué)校可以適當(dāng)復(fù)制論文的部分或全部內(nèi)容用于學(xué)術(shù)活動。 學(xué)位論文作者簽名: 年 月 日 同濟(jì)大學(xué)學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師指導(dǎo)下,進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含任何他人創(chuàng)作的、已公開發(fā)表或者沒有公開發(fā)表的作品的內(nèi)容。對本論文所涉及的研究工作做出貢獻(xiàn)的其他個人和集體,均已在文中以明確方式標(biāo)明。本學(xué)位論文原創(chuàng)性聲明的法律責(zé)任由本人承擔(dān)。 學(xué)位論文作者簽名: 年 月 日同濟(jì)大學(xué) 碩士學(xué)位論文 摘要 I 摘要 隨著軟件行業(yè)的發(fā)展 和更新的 速度越來越快, 對軟件質(zhì)量的要求越來高,軟件測試行業(yè)面臨著前所未有的挑戰(zhàn) 。面對大量重復(fù)的執(zhí)行的工作, 傳統(tǒng)手工測試的執(zhí)行效率低,對測試人員的主觀因素依賴程度大等缺點(diǎn)越來越多的凸現(xiàn)出來。自動化測試的產(chǎn)生的適時地彌補(bǔ)了手工測試不足 , 但在 實(shí)際操作中 , 僅僅依靠單一的自動化工具去完成自動化測試并不現(xiàn)實(shí) 。 自動化測試的開發(fā)復(fù)雜度高,相關(guān)腳本編寫和維護(hù) 成本大的客觀 因素 阻礙了自動化 測試的廣泛使用。 在這種背景下,自動化測試框架變成為當(dāng)下軟件測試行業(yè)非常關(guān)注的一個方向,特別是對于基于開源軟件的自動化測試框架 因其初期工具成本為 0,更是被寄予了極大的期望。 提供了一整套自動化測試解決方案的 自動化測試框架彌補(bǔ)了自動化測試的先天不足,從而充分發(fā)揮自動化測試的優(yōu)勢, 進(jìn)而 提高軟件 的整體質(zhì)量。 本課題主要研究 在 自動化測試框架中數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動的有效結(jié)合 并且 同時滿足自動化測試批量執(zhí)行以及無人監(jiān)管等要求,使用當(dāng)前流行的開源自動化工具 成熟的 發(fā)程序 語言,從而使框架具有一定的通用性和便捷性。 本文 詳細(xì)闡述了課題產(chǎn)生的背景, 國內(nèi)外研究現(xiàn)狀, 深入研究軟件自動化測試的基本理論,介紹分析開源自動化工具 細(xì)闡述基于 個模塊的 設(shè)計(jì) 和具體實(shí)現(xiàn)過程 。最 后 結(jié)合某保險系統(tǒng)的測試,介紹此自動化測試框架的在實(shí)際生產(chǎn)上的應(yīng)用情況 。 關(guān)鍵詞 : 自動化測試 , 自動化測試框架 , 關(guān)鍵字驅(qū)動 , 數(shù)據(jù)驅(qū)動 , I of is of s is is on as of on of in is of it is to if on a is of In a in on of . a of up of of is on of of so of of of of in of of of an 碩士學(xué)位論文 目錄 錄 第 1 章 概述 . 1 題研究背景 . 1 內(nèi)外研究現(xiàn)狀 . 2 要研究內(nèi)容及開發(fā)工作 . 2 文結(jié)構(gòu) . 3 第 2 章 軟件自動化測試的基本理論 . 5 件自動化測試的概述 . 5 件自動化測試的優(yōu)缺點(diǎn) . 6 件自動化測試的優(yōu)點(diǎn) . 6 件自動化測試的缺點(diǎn) . 6 件自動化測試的準(zhǔn)入條件 . 7 動化測試的流程 . 8 動化測試框架的提出背景和種類 . 10 動化測試框架提出的背景 . 10 動化測試框架的種類 . 11 章小結(jié) . 12 第 3 章 紹 . 13 介 . 13 工作機(jī)制 . 13 面及頁面對象的操作與控制 . 13 試數(shù)據(jù)的控制 . 14 試驗(yàn)證的實(shí)現(xiàn) . 16 要 紹 . 18 應(yīng)用 . 18 章小結(jié) . 19 第 4 章 基于 動化測試框架的需求分析和設(shè)計(jì) . 20 能性需求分析 . 20 別參與者與用例 . 23 功能性需求分析 . 26 架的總體設(shè)計(jì) . 27 據(jù)表設(shè)計(jì) . 29 試用例流程數(shù)據(jù)搭建表 . 29 測試場景數(shù)據(jù)庫: . 30 試用例運(yùn)行配置表 . 31 同濟(jì)大學(xué) 碩士學(xué)位論文 目錄 V 章小結(jié) . 32 第 5 章 基于 動化測試框架的實(shí)現(xiàn) . 33 處理腳本執(zhí)行模塊 . 33 處理腳本執(zhí)行模塊流程 . 33 處理腳本執(zhí)行模塊主要方法 . 36 試腳本主驅(qū)動模塊 . 37 試腳本主驅(qū)動模塊流程 . 37 試腳本主驅(qū)動模塊主要方法 . 38 據(jù)引擎模塊 . 39 據(jù)引擎模塊工作實(shí)現(xiàn)流程 . 39 復(fù)用自動化測試業(yè)務(wù)組件的設(shè)計(jì) . 41 試報告模塊 . 43 試報告模塊分類 . 43 試報告產(chǎn)生流程 . 45 試報告模塊主要方法 . 47 持函數(shù) 庫模塊 . 48 章小結(jié) . 51 第 6 章 基于 動化測試框架在保險系統(tǒng)中的應(yīng)用 . 52 目背景 . 52 統(tǒng)業(yè)務(wù)背景 . 52 目測試背景及要求 . 54 動化測試實(shí)施 . 54 動化測試估算 . 54 算 . 55 動化測試實(shí)現(xiàn) . 57 際 . 59 章小結(jié) . 60 第 7 章 總結(jié)與展望 . 61 結(jié) . 61 望 . 62 致謝 . 63 參考文獻(xiàn) . 64 個人簡歷、在讀期間發(fā)表的學(xué)術(shù)論文與研究成 果 . 66 1 第 1 章 概述 1 第 1 章 概述 題研究背景 測試是基于給定的準(zhǔn)則對系統(tǒng)的執(zhí)行進(jìn)行抽樣的一個過程 20。 作為軟件工程不可或缺的一環(huán), 軟件測試是軟件開發(fā)過程的一個完整部分 2,其 在軟件開發(fā)整個流程中已經(jīng)所扮演的腳色已經(jīng)日益重要 ,發(fā)現(xiàn)測試對象中的缺陷是軟件測試的一個重要目的,缺陷發(fā)現(xiàn)和修復(fù)得越早,其需要的成本越低 3。 而當(dāng)今高質(zhì)量的軟件變得越來越重要了 23,所以測試 在保證軟 件質(zhì)量,降低軟件交付風(fēng)險,提高客戶滿意度等方面作用使得越來越多 的 軟件企業(yè)開始加大對軟件測試的成本用以提高軟件自身的質(zhì)量和客戶的對軟件的信心。 但是,由于測試的不確定性、事件和預(yù)算的限制,要想徹底的對一個復(fù)雜系統(tǒng)進(jìn)行測試是不可能的。應(yīng)運(yùn)而生的是使許多軟件測試技術(shù)迅速發(fā)展 14。 在目前軟件測試當(dāng)中,作為測試主力的手工測試也有其明顯不足之處, 當(dāng)?shù)谝粋€可測試的版本產(chǎn)生后,測試人員開始對這個版本的系統(tǒng)進(jìn)行測試,很快第二個版本在第一個版本的技術(shù)上產(chǎn)生了,測試人員需要在第二次測試時重復(fù)上次的測試工作,還要對新增加的功能 進(jìn)行測試,每經(jīng)過一個迭代測試工作量會逐步累加 22。 測試用例執(zhí)行效率低,測試人員的主觀因素(比如:態(tài)度,細(xì)心程度)會直接影響到測試的結(jié)果以及測試產(chǎn)品的質(zhì)量。同時由于測試人員不得不深陷大量的重復(fù)的測試任務(wù)中,使其無暇去考慮更好的測試解決方案,從而更好的提高軟件產(chǎn)品的質(zhì)量。在當(dāng)今軟件更新迅速的今天,這些不足凸現(xiàn)的業(yè)越來越明顯。 針對手工測試的不足,自動化測試的產(chǎn)生適時對其進(jìn)行了彌補(bǔ),其模擬手工測試的特性使其可以迅速客觀的完成軟件測試中的重復(fù)工作,從而提高測試執(zhí)行效率和測試產(chǎn)品的質(zhì)量。同時由于其對測試執(zhí)行效率的 提升,在長期的測試執(zhí)行過程中,相關(guān)的測試執(zhí)行成本也會隨著執(zhí)行次數(shù)增多而相應(yīng)的下降,而當(dāng)司推出開源集成測試軟件 更是將自動化工具的購買成本降低為 0。 但自動化測試的較手工測試高昂的開發(fā)和維護(hù)成本以及開發(fā)復(fù)雜度,阻礙了自動化測試發(fā)展進(jìn)而阻礙了軟件測試的進(jìn)一步提升。事實(shí)上緊緊依靠自動化工具本身很難解決這些自動化測試天生的缺點(diǎn),當(dāng)前唯一可行的,并被很多公司所使用的便是開發(fā)一套與自身相匹配的自動化測試框架從而使自動化測試能夠更好的揚(yáng)長避短。在充分發(fā)揮自動化測試的執(zhí)行方面的優(yōu) 勢的同時,降低其開發(fā)維護(hù)成本及相應(yīng)的開發(fā)難度,使自動化測試更具有強(qiáng)大的吸引力和競爭力。 同濟(jì)大學(xué) 碩士學(xué)位論文 基于 自動化測試框架的研究與應(yīng)用 2 內(nèi)外研究現(xiàn)狀 在國外,軟件測試的大量有組織的研究工作的開展可以追溯到上個世紀(jì) 70年代。 1972 年 6 月在美國北卡羅來納大學(xué)召開首屆軟件測試正式技術(shù)會議,成為軟件測試技術(shù)發(fā)展中的一個重要里程碑 9。由此次會議為起點(diǎn),軟件測試作為軟件工程的一個重要組成部分成為軟件業(yè)關(guān)注并研究的新的方向和領(lǐng)域。 由于軟件測試在國外的起步大大早于國內(nèi),所以其在軟件測試特別是自動化測試方面的技術(shù)發(fā)展要更加成熟完善。在自動化工具的研發(fā)上諸如 發(fā)的發(fā)的 發(fā)的 當(dāng)今流行的自動化測 試 商業(yè)工具都是出自國外企業(yè)之手,并且也在根據(jù)形勢定期發(fā)布新版本更新。從 21 世紀(jì)開始之后,國外的對自動化測試研究逐漸開始自動化測試工具的研究轉(zhuǎn)向了自動化測試的整體運(yùn)行和具體實(shí)施方面的研究。一套自動化測試的順利實(shí)施需要包含從開發(fā)到測試團(tuán)隊(duì) 各 個方面的配合10。使用合理的自動化測試腳本開發(fā)和驅(qū)動模式達(dá)到不僅在測試階段降低執(zhí)行 成本的目的,同時使自動化測試自身的開發(fā)復(fù)雜度和周期下降。為了達(dá)到這個目的,國外各個企業(yè)組織提出并且設(shè)計(jì)了各種開發(fā)驅(qū)動模式并且在實(shí)際中得很好的應(yīng)用,其中 出的 2003 年提出的21 , 第三次國際自動化測試研討會提出的4,之前被廣泛使用的自動化組件測試 (25, 目前非常流行的 是在實(shí)際的生產(chǎn)過程中得到驗(yàn)證有非常良好效果的方式。 相比國外,國內(nèi)的自動化測試發(fā)展就相對還處于比較初級的階段,在自動化測試工具的大多數(shù)還是使用現(xiàn)有國外的成熟產(chǎn)品,或者對現(xiàn)有的開源自動化工具進(jìn)行二次開發(fā)。而在自動化測試的推廣實(shí)施上,畏懼與自動化測試的較高的前期投入,大多數(shù)企業(yè)公司 還處于比較保守的嘗試階段 , 但同時隨著軟件業(yè)的迅猛發(fā)展,軟件測試的價值越來越大的體現(xiàn),而實(shí)施自動化測試成為軟件測試的必由之路已經(jīng)毋庸置疑,很多國內(nèi)大企業(yè)開始針對自己企業(yè)的實(shí)際情況開發(fā)實(shí)施相應(yīng)的自 動化測試框架甚至工具,比如淘寶的 動化測試框架, 出的自動化測試 7: 2: 1 的比例都為國內(nèi)自動化測試發(fā)展開啟了一個良好的開端。 要研究內(nèi)容及開發(fā)工作 本文 主要 收集分析當(dāng)前軟件測試自動化測試的普遍需求,深入研究 自動化測試的目的及特點(diǎn) ,基于開源自動化測試工具 計(jì)開發(fā)一套通用的針對第 1 章 概述 3 統(tǒng)的自動化測試框架,從而 最大程度的發(fā)揮自動化測試的優(yōu)勢。 論文 的核心研究內(nèi)容包括以下幾個方面。 (1) 收集分析目前普遍的自動化測試需求,結(jié)合相關(guān)理論知識的深入研究和理解,設(shè)計(jì)出整體的自動化 測試框架模型 (2) 對整個自動化測試流程進(jìn)行分析和了解,設(shè)計(jì)自動化測試框架模型基本開發(fā)流程的流程驅(qū)動模式 (3) 對整個自動化測試框架流程進(jìn)行總體設(shè)計(jì) (4) 根據(jù)普遍的自動化測試需求及相應(yīng)的測試流程進(jìn)行功能模塊的設(shè)計(jì)與 具體實(shí)現(xiàn) ,設(shè)計(jì)出適合當(dāng)下普遍使用的自動化測試模式的系統(tǒng)模塊,滿足測試人員對自動化腳本的搭建的速度和簡便性要求以及測試腳本執(zhí)行的詳細(xì)和穩(wěn)定性的要求。 論文的研究內(nèi)容中包含了以下幾個亮點(diǎn)。 (1) 允許測試人員 根據(jù)不同測試類型配置相應(yīng)的測試用例集合,并一鍵式完成批量執(zhí)行 。 (2) 復(fù)合驅(qū)動的實(shí)現(xiàn),發(fā)揮數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動各自的優(yōu)點(diǎn) ,實(shí)現(xiàn)自動化腳本高復(fù)用性和降低自動化測試用例的搭建難度 (3) 引入對象庫概念,改善開源軟件無法對頁面對象進(jìn)行管理的缺點(diǎn),將所有對象集中管理,降低維護(hù)難度及成本 (4) 使用 新核心技術(shù) 高對瀏覽器及腳本語言的兼容度。 文結(jié)構(gòu) 論文共六章,各章的基本內(nèi)容如下 第一章,概論。包括對自動化測試框架的研究背景 ,研究的內(nèi)容 以及 相應(yīng)的開發(fā)工作。 第二章,軟件自動化測試的基本理論介紹。包括自動化測試優(yōu)缺點(diǎn),準(zhǔn)入和準(zhǔn)出條件,自動化測試的流程 ,自動化測試框架的提出背景和種類 。 第三章, 技術(shù)介紹。包括對 本工作機(jī)制, 相關(guān)應(yīng)用。 第四章,基于 動化測試框架的需求分析和設(shè)計(jì)。 包括 需求分析,總體設(shè)計(jì)和相關(guān)表結(jié)構(gòu)的設(shè)計(jì)。 第五章,基于 動化測試框架的實(shí)現(xiàn)。對于所設(shè)計(jì)的各個模塊進(jìn)同濟(jì)大學(xué) 碩士學(xué)位論文 基于 自動化測試框架的研究與應(yīng)用 4 行詳細(xì)分析設(shè)計(jì)及具體開發(fā)實(shí)現(xiàn)。 第六章, 基于 動化測試框架在保險系統(tǒng)中的應(yīng)用。主要包括結(jié)合某保險系統(tǒng)的自動化測試任務(wù)對該框架進(jìn)行檢驗(yàn) 。 第七章,總結(jié)與展望。對框架進(jìn)行總結(jié), 提出不成熟的地方,展望下一步的發(fā)展。第 2章 軟件自動化測試的基本理論 5 第 2 章 軟件自動化測試的基本理論 件自動化測試的概述 在整個軟件開發(fā)的過程中,軟件測試一般會占有 40%60%的比重 ,這就決定了軟件測試高強(qiáng)度的工作量。而在這些大量的工作中,重復(fù)的測試又占有很大的比重,無論是迭代的開發(fā)模式,使新版本功能的發(fā)布,都會大量的重復(fù)回歸測試的工作。而如果一直依靠測試人員手工去完成這些重復(fù)的,大量的,又需要執(zhí)行者用于高度注意力的工作,不但會使測試人員不堪重負(fù),也會對軟件測試質(zhì)量產(chǎn)生影響。 基于這種情況, 用機(jī)器代替測試人員手工去 自動 完成 大量重復(fù)的測試執(zhí)行工作成了必然的選擇。 自動測試相對于手工測試而言,其主要進(jìn)步在于自動 測試工具的引入。自動 化測試的定義為: 各種測試活動的管理與實(shí)施 ,包括測試腳本的開發(fā)與執(zhí)行,以便使用一種自動測試工具來驗(yàn)證測試需求 1。 自動化測試 的本質(zhì)就是通過工具模擬手工測試的一切的操作,包括手工測試整個流程以及 測試方式,其中主要包括自動完成測試用例的前提條件,模擬手工測試對被測系統(tǒng)進(jìn)行流程的操作,自動化驗(yàn)證比較實(shí)際值和預(yù)期值的,完成整個測試中對檢查點(diǎn)情況報告,同時整個的自動化測試流程必須與手工測試的各個階段路程 相 一致 。 自動化測試 主要 目的是在保證質(zhì)量的前提條件下為企業(yè)節(jié)省成本和時間。 穩(wěn)定的自動化測試是 現(xiàn)代軟件開發(fā)的一個重要組成部分,它除了能夠代替部分手工測試,還能夠完成許多手工無法完成的一些測試工作,從而提高軟件質(zhì)量,縮短產(chǎn)品發(fā)布周期,提高測試效率 5。 除此之外,由于自動化測試將承擔(dān)大量的手工測試工作,相應(yīng)的測試人員得以有時間和精力的更深入的研究軟件的業(yè)務(wù)路程和相應(yīng)的測試技術(shù),設(shè)計(jì) 出新的更有價值的測試用例,從而提高和改善軟件的整體質(zhì)量,最終達(dá)到保證軟件產(chǎn)品質(zhì)量,提高客戶信心,加強(qiáng)企業(yè)市場競爭力的最終目標(biāo)。 自動化測試的初期準(zhǔn)備成本要遠(yuǎn)遠(yuǎn)大于手工測試,因?yàn)槟_本本身不僅需要經(jīng)過創(chuàng)建 ,調(diào)試,更要根據(jù)系統(tǒng) 的修改要進(jìn)行及時的變化。但只要規(guī)劃管理得當(dāng),同時增加腳本的復(fù)用性,那么其在測試執(zhí)行時所帶來的回報也大大超過手工測試,一般而言,在同等條件,自動化測試的 執(zhí)行效率要比手工測試快上 23倍,同時所有的結(jié)果具有絕對的客觀性。 同濟(jì)大學(xué) 碩士學(xué)位論文 基于 6 件自動化測試的優(yōu)缺點(diǎn) 件自動化測試的優(yōu)點(diǎn) 自動化測試的優(yōu)點(diǎn)主要包括以下幾點(diǎn): (1) 速度快: 自動化測試是使用某些特定的自動化測試工具進(jìn)行測試執(zhí)行的,其頁面操作和期望值對比的速度要遠(yuǎn)遠(yuǎn)大于測試人員手工操作。一般來說其速度是手工測試的 23 倍。 (2) 循環(huán)執(zhí)行: 在硬件及環(huán)境允許的前提條件下,自動化測試 的執(zhí)行工作可以無限次的重復(fù)的執(zhí)行同一套腳本。 (3) 可復(fù)用性: 自動化測試的測 試用 用例 ,其物理表現(xiàn)形式便是一套腳本代碼,其繼承了代碼可以復(fù)用的 基本特征,并更好的在測試領(lǐng)域進(jìn)行了拓展。每套自動化測試腳本只要劃分得當(dāng),都可以被其他的自動化測試用例所復(fù)用,從而節(jié)省了自動化測試用例的準(zhǔn)備和維護(hù)成本。 (4) 可信性: 自動化測試的主要執(zhí)行者是自動化測試工具, 在執(zhí)行過程中,不可能存在執(zhí)行者的主觀因素對測試結(jié)果的影響的可能 。它的優(yōu)勢是借助于計(jì)算機(jī)的計(jì)算能力,可以重復(fù)地、不知疲倦地運(yùn)行,對于數(shù)據(jù),能進(jìn)行精確的、大批量的比較,而且不會出 錯 6,在同等的情況下,可信度要比手工測試更為可信。 件自動化測試的缺點(diǎn) 自動化測試的缺點(diǎn)主要包括以下幾點(diǎn): (1) 成本高: 自動化測試的成本主要包括以下三個方面 自動化測試工具的購買成本 自動化測試工具是某個特定的軟件,若使用商業(yè)的自動化測試工具,必須在事先對工具的使用權(quán)進(jìn)行額外的購買。 自動化測試工具及其腳本語言的培訓(xùn)成本 自動化測試工具及其相關(guān)的腳本語言的使用和被測系統(tǒng)本身沒有任何的關(guān)系,在使用自動化測試之前,對于這方面的培訓(xùn)的成本必須額外進(jìn)行考慮。 第 2章 軟件自動化測試的基本理論 7 自動化測試腳本的創(chuàng)建和維護(hù)成本 自動化測試腳本的創(chuàng)建和 維護(hù)相對于手工測試用例的創(chuàng)建和維護(hù)而言難度要大很多,所需花費(fèi)的時間和成本也要更為巨大。一般而言,自動化測試腳本的創(chuàng)建和維護(hù)成本要比手工測試用例的創(chuàng)建和維護(hù)高 達(dá) 70%以上。 (2) 測試準(zhǔn)備周期長: 自動化測試的執(zhí)行速度要比手工測試快很多,但相對的其測試的準(zhǔn)備周期則要比手工測試要長很多。撇開事先的自動化工具和腳本語言的培訓(xùn)時間不算,由于自動化測試創(chuàng)建的過程事實(shí)上是代碼開發(fā)的過程,從代碼方法的設(shè)計(jì),代碼的創(chuàng)建,調(diào)試等步驟一樣都不能少,所以其花費(fèi)的時間要遠(yuǎn)大于手工測試用例的設(shè)計(jì)。 (3) 靈活度不夠: 自動化測試的主體是自動化測 試工具,所以在測試執(zhí)行前,所有的測試路徑必須都預(yù)制與腳本內(nèi),腳本會忠實(shí)的執(zhí)行這些路徑,若遇到執(zhí)行過程中,預(yù)制路徑發(fā)生變化,腳本也無法辨識從而導(dǎo)致最終結(jié)果的失敗。 件自動化測試的準(zhǔn)入條件 基于自動化測試自身的優(yōu)點(diǎn)使很多軟件公司對他青睞有加,但其顯著的缺點(diǎn)也預(yù)示這對自動化測試的引入并不是無門檻的, 軟件測試的自動化是一個漸近的過程,自動化測試既不能解決軟件測試中的所有問題,也不意味著任何軟件測試都可以自動化 7。 據(jù)統(tǒng)計(jì),利用測試工具只能發(fā)現(xiàn) 15左右的缺陷,而通過手工測試可以發(fā)現(xiàn)大約 85的缺 陷 27 。 購 買軟件測試工具包并不意味著實(shí)現(xiàn)了軟件測試過程 16。 一般而言,若 想 引入自動化測試需要具備以下的幾個條件 (1) 對自動化測試有一個統(tǒng)一的正確的認(rèn)識 認(rèn)清使用自動化測試的目的。自動化測試是在幫助測試人員從大量的重復(fù)的測試執(zhí)行工作中解放出來的同時為企業(yè)節(jié)省相應(yīng)的執(zhí)行成本和時間。 自動化測試并不是萬能,并不是所有的測試的都適合使用自動化測試, 100%自動化測試覆蓋率是不可能實(shí)現(xiàn)的。 自動化測試的初期成本是大大高于手工測試的,同時若在初期沒有很高規(guī)劃好自動化測試的結(jié)構(gòu)和方法,其之后的維護(hù)成本會成幾何的上升,大大超過手工測 試的成本。 同濟(jì)大學(xué) 碩士學(xué)位論文 基于 8 自動化測試是以手工測試為基礎(chǔ)的,一套優(yōu)秀的自動化測試腳本必然源于一套優(yōu)秀的手工測試用例。自動化測試無法完全提到手工測試。 (2) 已存在一套標(biāo)準(zhǔn)的軟件測試流程 自動化測試的整個必須依靠于現(xiàn)有的軟件測試流程而實(shí)現(xiàn),相對而言,自動化測試的每個階段都是滯后于軟件測試的相應(yīng)階段的,軟件測試流程的混亂勢必造成自動化測試的混亂的,從而導(dǎo)致自動化測試無法達(dá)到預(yù)期的效果。 (3) 確保測試部門有足夠的資源從事自動化測試 相對于手工測試,自動化測試對相關(guān)的測試人員的有一定代碼編寫能力的要求,特別是在自動化測試初期,對自動化測試的 策略,計(jì)劃,實(shí)現(xiàn)方式,架構(gòu)設(shè)計(jì)等各個步驟地確認(rèn)和實(shí)現(xiàn)對相關(guān)人員的技術(shù)是極大的考驗(yàn)的,這直接關(guān)系到之后的自動化測試在整個測試部門的使用。 動化測試 的 流程 自動化測試 的流程是完全依附于整體的測試流程的,圖 自動化測試的流程及其在整體測試流程中的運(yùn)行情況。 第 2章 軟件自動化測試的基本理論 9 自 動 化 測 試 在 整 體 測 試 流 程 中 的 運(yùn) 行設(shè)計(jì)測試用例準(zhǔn)備測試計(jì)劃執(zhí)行測試用例遞交測試報告單 元 測 試 集 成 測 試 系 統(tǒng) 測 試 驗(yàn) 收 測 試 回 歸 測 試自 動 化 測 試 計(jì) 劃準(zhǔn) 備自 動 化 工 具 評 估自 動 化 工 具 可 行性 研 究確 定 自 動 化 測 試 用例設(shè) 計(jì) 和 開 發(fā) 自 動 化測 試 腳 本試 運(yùn) 行 自 動 化 測 試腳 本執(zhí) 行 自 動 化 測 試腳 本自 動 化 測 試 報 告遞 交圖 動化測試在整體測試流程中的運(yùn)行 情況 如圖所示在整個自動化測試流程中一般需要經(jīng)歷以下 8 個階段: (1) 自動化測試計(jì)劃準(zhǔn)備 制訂一個合適的目標(biāo)計(jì)劃對自動化測試的成功實(shí)施至關(guān)重要 30。 測試計(jì)劃包含了測試工作的全部內(nèi)容,上到測試方法,下至制訂所有獨(dú)立的測試用例 13。 和項(xiàng)目計(jì)劃和測試計(jì)劃一樣,自動化測試的計(jì)劃也是非常重要的。用于防止測試團(tuán)隊(duì)直接進(jìn)行自動化腳本編寫,而未考慮以下重要因素:提供準(zhǔn)確的項(xiàng)目評估,運(yùn)用正確的框架,選擇正確的方法,自動化的長期維護(hù),以及項(xiàng)目早期的 資回報率)。 (2) 自動化工具評估 自動化測試需要使用各種自動化測試工具, 估)是一個重要的決策階段,如果選錯了工具,自動化測試實(shí)施起來就十分吃力15。所以必須 根據(jù) 項(xiàng)目的成本,長度和人員的技能評估 出合適的候選自動化測試工具。 (3) 自動化工具可行性研究 對候選的自動化測試工具逐一進(jìn)行相應(yīng)的可行性研究,最終確定可同濟(jì)大學(xué) 碩士學(xué)位論文 基于 10 以支持測試系統(tǒng)的合適的自動化測試工具。 (4) 確定自動化測試用例 確定需要被自動化的測試用例列表從而確定相應(yīng)的自動化測試范圍。 (5) 設(shè)計(jì)和開發(fā)自動化測試腳本 搭建 或修改自動化測試框架并在其基礎(chǔ)上設(shè)計(jì)和開發(fā)自動化腳本,從而完成自動化腳本的開發(fā)工作 。 (6) 試運(yùn)行自動化測試腳本 在正式運(yùn)行自動化測試腳本前,必須對所有的腳本進(jìn)行試運(yùn)行從而判斷腳本是否可以遞交到正式執(zhí)行階段。 (7) 執(zhí)行自動化測試腳本 正式執(zhí)行自動化測試腳本,分 析執(zhí)行的結(jié)果,判斷失敗的步驟是腳本問題造成還是系統(tǒng)問題造成,如果是腳本問題則修改相應(yīng)腳本,如果是系統(tǒng)問題則提交缺陷。最后將所有的測試結(jié)果備份。 (8) 自動化測試報告遞交 測試結(jié)果分析是測試中至關(guān)重要的步驟 17。 根據(jù)執(zhí)行結(jié)果及執(zhí)行過程中所收集的數(shù)據(jù)評估自動化測試是否達(dá)到預(yù)期目標(biāo),若沒有達(dá)到需要分析相應(yīng)的原因,最終完成自動化測試報告的遞交 。 動化測試框架的提出背景和種類 自動化測試框架提出的背景 盡管自動化測試相當(dāng)強(qiáng)大,但大多數(shù)使用中的自動化測試還相當(dāng)脆弱 11。 最初的自動化測試技術(shù)大多是基于簡單的捕捉回 放技術(shù)來完成。這些測試方法雖然最容易應(yīng)用,但是維護(hù)性復(fù)用性比較差,因此逐漸被功能和靈活性更

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論