【畢業(yè)學位論文】(Word原稿)數字電視應用平臺的自動化測試設計與實現(xiàn)-軟件工程_第1頁
【畢業(yè)學位論文】(Word原稿)數字電視應用平臺的自動化測試設計與實現(xiàn)-軟件工程_第2頁
【畢業(yè)學位論文】(Word原稿)數字電視應用平臺的自動化測試設計與實現(xiàn)-軟件工程_第3頁
【畢業(yè)學位論文】(Word原稿)數字電視應用平臺的自動化測試設計與實現(xiàn)-軟件工程_第4頁
【畢業(yè)學位論文】(Word原稿)數字電視應用平臺的自動化測試設計與實現(xiàn)-軟件工程_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

碩士學位論文 ( 軟件工程 ) 數字電視應用 平臺 的自動化測試 設計與實現(xiàn) 姓 名: 莊子健 學 號: 0921170225 所在院系: 軟件 學院 職業(yè)類型:軟件工程 專業(yè)領域:軟件工程 指導教師:王介之 , 張惠娟 校外導師: 王忠全 二 一三年九月 A in 2013 0921170225 of V 數字電視應用平臺的自動化測試設計與實現(xiàn) 莊子健 同濟大學 軟件學院 學位論文版權使用授權書 本人 完全了解同濟大學關于收集、保存、使用學位論文的規(guī)定,同意如下各項內容:按照學校要求提交學位論文的印刷本和電子版本;學校有權保存學位論文的印刷本和電子版,并采用影印、縮印、掃描、數字化或其它手段保存論文;學校有權提供目錄檢索以及提供本學位論文全文或者部分的閱覽服務;學校有權按有關規(guī)定向國家有關部門或者機構送交論文的復印件和電子版;在不以贏利為目的的前提下,學??梢赃m當復制論文的部分或全部內容用于學術活動。 學位論文作者簽名: 年 月 日 同濟大學學位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的學位論文,是本人在導師指導下,進行研究工作所取得的成果。除文中已經注明引用的內容外,本學位論文的研究成果不包含任何他人創(chuàng)作的、已公開發(fā)表或者沒有公開發(fā)表的作品的內容。對本論文所涉及的研究工作做出貢獻的其他個人和集體,均已在文中以明確方式標明。本學位論文原創(chuàng)性聲明的法律責任由本人承擔。 學位論文作者簽名: 年 月 日同濟大學 碩士學位論文 摘要 I 摘要 為了保證所提交的軟件產品能夠滿足客戶的需求 ,確保產品 在使用中的可靠性 , 必須對所開發(fā)的軟件產品進行系統(tǒng)而全面的測試。軟件測試是軟件質量保證工程的一個重要組成部分 ,也是最重要的質量保證手段。無論是面向對象軟件開發(fā)還是傳統(tǒng)的面向過程軟件開發(fā) ,軟件測試歸根結底要通過一套比較成熟的測試技術和方法來實現(xiàn) 。隨著軟件規(guī)模的不斷擴大 ,測試工作的復雜性也不斷升高 ,而改善、提高軟件易測試性則是降低測試復雜性的有效手段。為達到這一目標 ,首先要 對軟件的易測試性進行準確的度量 。 這種度量結果除了作為軟件度量的一個量化指標外 ,還應能為改善易測試性提供指導、為測試的設計提供有效幫助。 本文主要從數字電視應用項目的軟件測試實踐出發(fā) ,闡述了軟件測試的基本原理和意義。主要的研究內容有以下 二 個方面 : 第一 ,對數字電視應用系統(tǒng)基礎體系進行了研究和分析 ,建立了一整套測試用例 ; 第二 ,針對功能測試 ,開發(fā)了一套實用的測試腳本 。 根據系統(tǒng)設計 用例 ,選用合適的測試工具 制定自動化測試腳本 。 這樣可有效地提高系統(tǒng)回歸測試 質量 ,提升回歸測試 效率 ,確保 產品質量穩(wěn)定 。 關鍵詞 : 軟件 測試 ; 自動化測試 ; 測試管理I to be by of a to it in in a or be by a of on of is of is an to of is to a be of be to to my on V on of on of to 1. V to a of 2. a of on of to be to an of so be of 碩士學位論文 目錄 錄 第 1章 概述 . 5 述 . 5 外研究現(xiàn)狀 . 5 內軟件測試行業(yè)的現(xiàn)狀與趨勢 . 6 題來源 . 7 究目標 . 7 文組織與結構 . 8 第 2章 軟件自動化測試的基本理論 . 9 件自動化測試的概述 . 9 件自動化測試的優(yōu)缺點 . 10 件自動化測試的優(yōu)點 . 10 件自動化測試的缺點 . 10 件 自動化測試的準入條件 . 11 動化測試的流程 . 12 動化測試框架的提出背景和種類 . 14 動化測試 框架提出的背景 . 14 動化測試框架的種類 . 15 章小結 . 16 第 3章 . 17 . 17 . 17 . 18 試驗證的實現(xiàn) . 18 . 20 章小結 . 20 第 4章 數字電視平臺應用的需求分析 . 21 目背景 . 21 統(tǒng)簡介 . 21 作流程 . 21 同濟大學 碩士學位論文 目錄 項目測試背景及要求 . 22 能性需求分析 . 23 口模塊 . 23 口模塊 . 29 口模塊 . 32 能需求分析 . 36 件系統(tǒng)耗時功能分析 . 36 戶訪問量 . 36 統(tǒng)業(yè)務量和系統(tǒng)處理能力 . 36 章小結 . 37 第 5章 數字電視平臺自動化測試框架的設計與實現(xiàn) . 38 動化測試框架的設計 . 38 試用例流程數據搭建表 . 38 試用例運行配置表 . 40 動化測試框架的實現(xiàn) . 41 據準備模塊實現(xiàn)方法 . 41 線程組模塊 . 43 動化測試的結果與分析 . 51 能測試結果 . 51 動化測試估算 . 53 算 . 54 動化測試分析 . 55 際 . 57 章小結 . 57 第 6章 結論與展望 . 58 論 . 58 一步工作的方向 . 58 參考文獻 . 60 個人簡歷、在讀期間發(fā)表的學術論文與研究成果 . 62 第 1 章 概述 5 第 1 章 概述 述 隨著軟件產品在各個應用領域的普及 ,軟件的質量問題逐漸成為人們關注的焦點。質量不過關的軟件產品在使用中可能出現(xiàn)各種意想不到的問題 ,不但影響正常的操作、增加使用成本 ,甚至會產生嚴重的或災難性的后果 1。另一方面 ,軟件的質量問題也會增加軟件開發(fā)商的維護費用 , 影響其信 譽和形象 , 甚至導致經濟或法律糾紛。因此不論軟件用戶還是開發(fā)商都希望 軟件 質優(yōu), 可靠性 強 。 然而 ,完美無缺的軟件是不存在的 ,有錯是軟件的必然屬性。導致軟件錯誤的原因是多方面的 ,開發(fā)商對用戶要求認知的不深刻、軟件本身的復雜性、軟件開發(fā)工具存在的局限 性 、軟件開發(fā)中的人為錯誤、時間壓力等等 ,這些都 影響 著 產品的順利開發(fā) ,從而導致軟件開發(fā)成本、進度和質量上的失控。 然而, 經過軟件專家和相關人員的研究 分析 ,發(fā)現(xiàn)軟件的質量問題僅僅通過開發(fā)人員的認真和仔細是不能消除的 ,程序語言的更新?lián)Q代對提高軟件的可靠性也收效甚微。隨著軟件工程 學的興起和軟件開發(fā)的工程化 ,人們認識到新的語言、先進的技術和完善的管理仍然不能杜絕軟件中的錯誤 ,而軟件測試則在這一工程化的過程中逐漸擔負起評價和發(fā)現(xiàn)錯誤的責任 ,成為軟件開發(fā)的重要部分。 實踐 表明在典型的軟件開發(fā)項目中 ,軟件測試的工作量往往占軟件開發(fā)工作總量的 40%,由此產生的費用要占 總成本 的 30%其重要性不言而喻。 外研究現(xiàn)狀 在國外 軟件測試 中, 大量有組織的研究工作可以追溯到上 世紀 70 年代。 1972年 6 月在美國北卡羅來納大學召開首屆軟件測試正式技術會議,成為軟件測試技術發(fā)展中的一個重要里程碑 9。由此次會議為起點, 軟件測試作為軟件工程的一個重要組成部分成為軟件業(yè)關注并研究的新 方向和 新 領域 4。 由于軟件測試在國外的起步大大早于國內,軟件測試 技術 特別是自動化測試技術 其 發(fā)展要更加成熟完善。在自動化工具的研發(fā)上諸如 發(fā)的 發(fā)的 商業(yè)工具都是出自國外企業(yè)之手 5,并且也 根據形勢定期發(fā)布新版本更新。從 21 世紀 初起 ,國外 對自 動化測試研究逐漸開始 從對 自動化測試工具的研究轉向了 對 自動化測試的整體運行和具體實施方面的研究。一套第 1 章 概述 6 自動化測試的順利實施需要包含從開發(fā)到測試團隊 各 個方面的配合 10。 開發(fā)并 合理 使用自動化測試腳本和驅動模式不僅 能 達到 在測試階段降低執(zhí)行成本的目的,同時 也能 使自動化測試 的 自身開發(fā)復雜 性 和周期 性 下降。為了達到這個目的,國外 很多 企業(yè)提出 , 并且設計了各種開發(fā)驅動模式 ,而 且在實際中 也 得 到了 很好的應用 。 其中 有: 出的 2003 年提出的 21, 第三次國際自動化測試研討會 中 提出的 0,之前被廣泛使用的自動化組件測試 (19, 以及 目前非常流行的 些 在實際生產過程中 都得到 了 驗證 ,具 有非常良好 的 效果。 相比國外,國內的自動化測試發(fā)展 顯得 還處于比較初級的階段 。 自動化測試工具大多數還是使用國外的產品,或者對現(xiàn)有的開源自動化工具進行二次開發(fā)6。而在自動化測試的推 廣實施上,畏懼 自動化測試 成本 較高的前期投入,大多數公司 企業(yè) 還處于比較保守的嘗試階段 。 但隨著軟件業(yè)的迅猛發(fā)展,軟件測試的必要性和 價值 日趨顯現(xiàn)。 自動化測試成為軟件測試的必由之路已經毋庸置疑 。 很多國內大企業(yè)開始 根據 自己企業(yè)的實際情況開發(fā) 應用 相應的自動化測試框架 , 甚至工具,比如淘寶的 動化測試框架 18, 自動化測試 7: 2:1 的比例 等, 都為國內自動化測試發(fā)展 引領了方向 。 內 軟件測試行業(yè)的現(xiàn)狀 與趨勢 在國內軟件 消費市場 經常出現(xiàn)一些產品 ,由 于 存在嚴重缺陷, 導致大量退貨。這對 軟件 定制 行業(yè)來 說 造成了 一再的 返工 ,無休止的 修改和維護 。這樣 既拖死了軟件提供商 ,也耽誤了客戶的正常業(yè)務 運作 。 這一現(xiàn)狀使用戶對國內軟件提供商失去信心 ,經常聽到有人抱怨 ,國內軟件質量不高。 要提高我國的軟件測試行業(yè)的發(fā)展水平,首先要解決人才的問題。一方面要提高國內企業(yè)對軟件測試的重視程度,另一方面要壯大軟件測試隊伍,提高測試人員的素質。國內很多軟件企業(yè)對軟件測試的重要性了解不夠,重開發(fā)輕測試的現(xiàn)象較為嚴重,很多公司測試工程師太少,沒有專門的測試部門,開發(fā)人員同時做測試工作的現(xiàn)象較為普遍,尤其在中小型軟件企業(yè)中這種現(xiàn)象特別突出 。要改變這種現(xiàn)狀,需要一個漫長的過程 。不過隨著中國市場 透明度 的 提高,產 品質量問題將成為軟件企業(yè)能否繼續(xù)發(fā)展壯大的關鍵所在,這也 促使 越來越多的企業(yè)管理者意識到產品測試的重要性,也會將越來越多的精力投入到測試工作中 7。 第二, 要善于學習與吸收。我們中國人具有很強的學習能力,但在軟件測試這一塊,我們有太多 東西要 學 ,尤其 要學習國外的先進技術及經驗。國外有完善第 1 章 概述 7 的測試機制,有豐富的軟件測試經 驗,有強大的測試工具,有優(yōu)秀的測試管理隊伍。 這些我們都應好好地學習,確立與國外先進水平相同的技術指標和質量標準,解決測試手段落 后、測試方法單一和測試工具欠缺的問題,在行業(yè)內部形成一個嚴密有效的糾錯系統(tǒng),使國內的測試工作流程、技術水平接近國外先進水平,這樣才能提高國內軟件開發(fā)與測試的整體管理水平,增加軟件產品的競爭力。 第三,大力發(fā)展第三方的專業(yè)測試公司,重視利用第三方的測試力量進行測試。如果讓企業(yè)從頭去建立測試部門,完善測試質量體系,需要較多的資金投入,增加企業(yè)的運營成本,而且技術支持和技術培訓也得從頭做起,往往很困 難。而將研發(fā)出來的軟件產品交給實力強勁的第三方專業(yè)測試機構,不 僅能大大 提高軟件產品的質量 ,而且還節(jié)約了產品測試成本。 這樣 第三方專業(yè)測試機構將越來越多,規(guī)模也將越來越大 8。目前國內很多地方都有了軟件產品檢測中心,此類機構 依靠技術與服務來征服客戶 。 注重測試方法與質量,國外在這一方面發(fā)展得很好 。隨著軟件測試行業(yè)的發(fā)展, 提高和完善,也會象軟件開發(fā)行業(yè)一樣出現(xiàn)分工上的細化,測試人員等級的劃分 。 比如 , 初級測試員,測試工程師,高級測試工程師,測試設計師,測試經理等,同時也會出現(xiàn)各種各樣的國家認證、企業(yè)認證、國際認證等,所以我們需要不斷地學習,不斷地提高測試水平。 題來源 本課題源于筆者 工程項目產品 : “ 。 統(tǒng) 是 司針對國內市場推出的一套視頻服務產品,能夠 為客戶提供實現(xiàn)媒體流點播,錄播,實時收看等多種媒體服務功能 硬件和軟件的架構 。 筆者 參與了這個項目的測試工作,主要負責系統(tǒng)中的隨心點播應用的測試用例設計,測試的管理,測試文檔的維護,測試環(huán)境的搭建,自動化測試軟件的設計與開發(fā)以及 究目標 筆者在 作 期間 參與 及的軟件自動化測試 研究范圍僅限于黑盒測試。筆者所在的測試與工具小組根據公司的具體情況設計了一套引入自動化測試的解決方案 , 并自主開發(fā)出一套通用測試 平臺。 本課題研究主要集中在以下幾個方面 : (1) 根據 統(tǒng)的需求設計測試用例。 (2) 針對測試的特點 ,開發(fā)出一套簡單易用的 自動化測試腳本 。 (3) 對整個自動化測試框架流程進行總體設計 。 第 1 章 概述 8 (4) 在整個項目實施過程中 , 編寫與管理 指定項目進度。 本項目自動化測試的目標是: 提升工作效率 50%,加快測試進度 50%,控制產品的 0%以下 。 文組織與結構 本文的結構主要包含 : 概述 、 軟件自動化測試的基本理論 、 紹 、 基于 基于 結論與展望 。 概述 主要敘述了課題的背景及來源 , 研究意義 , 國內外發(fā)展概況 , 以及研 究現(xiàn)狀和目標。 軟件自動化測試的基本理論介紹 , 包括自動化測試優(yōu)缺點,準入和準出條件,自動化測試的流程,自動化測試框架的提出背景和種類。 包括 基于 基于 動化測試框架的 設計 , 實現(xiàn) 與 結果分析 。對于所設計的各個模塊進行詳細分析設計及具 體開發(fā)實現(xiàn)。 總結部分 , 概括了工作成果 , 對下一步工作的展望以及對論文的完成作了一個總結。 第 2章 軟件自動化測試的基本理論 9 第 2 章 軟件自動化測試的基本理論 件自動化測試的概述 在整個軟件開發(fā) 過程中,軟件測試一般會占 40%60%的比重,這就決定了軟件測試高強度的工作量。而在這些大量的工作中,重復的測試又占有很大的比重 。無論是迭代的開發(fā) 模式, 還是 新版本功能的發(fā)布,都會大量 地 重復回歸測試工作。如果一直依靠測試人員手工去完成這些重復的,大量的, 需要 注意力 高度 集中 的工作,不但會使測試人員不堪重負,也會對軟件測試質量產生影響?;谶@種情況,用機 器代替測試人員手工去自動完成大量重復的測試執(zhí)行工作成了必然的選擇。 自動測試相對于手工測試而言,其主要進步在于 引入 自動測試工具。自動 化測試 可 定義為: 各種測試活動的管理與實施,包括測試腳本的開發(fā)與執(zhí)行,以便使用一種自動測試工具來驗證測試需求 。自動化測試的本質就是通過工具模擬手工測試一切 操作,包括手工測試整個流程以及測試方式,其中主要 包括自動完成測試用例的前提條件,模擬手工測試對被測系統(tǒng)進行流程操作,自動化驗證比較實際值和預期值,完成整個測試中對檢查點情況報告,同時整個 自動化測試流程必須與手工測試的各個階段路 程 相 一致。 自動化測試主要目的是在保證質量的前提條件下為企業(yè)節(jié)省成本和時間。 穩(wěn)定的自動化測試是現(xiàn)代軟件開發(fā)的一個重要組成部分,它除了能夠代替部分手工測試,還能夠完成許多手工無法完成的一些測試工作,從而提高軟件質量,縮短產品發(fā)布周期,提高測試效率 。除此之外,由于自動化測試將承擔大量的手工測試工作,相應的測試人員 必須要 有時間和精力 , 深入 研究軟件 業(yè)務路程和相應的測試技術,設計出新的更有價值的測試用例,從而提高和改善軟件的整體質量,最終達到保證軟件產品質量,提高客戶信心,加強企業(yè)市場競爭力的最終目標 14。 自動化測試的初期準備成本要遠遠大于手工測試,因為腳本本身不僅需要經過創(chuàng)建 ,調試,更要根據系統(tǒng)的修改要 進行及時的變化。但只要規(guī)劃管理得當,同時增加腳本的復用性,那么 在測試執(zhí)行時所帶來的回報也大大超過手工測試,一般而言,在同等條件 下 ,自動化測試的執(zhí)行效率要比手工測試快上 23倍 15,同時所有的結果具有絕對的客觀性。 第 2章 軟件自動化測試的基本理論 10 件自動化測試的優(yōu)缺點 件自動化測試的優(yōu)點 自動化測試的優(yōu)點主要包括以下幾點: (1) 速度快: 自動化測試是使用某些特定的自動化測試工具進行測試 執(zhí)行 ,其頁面操作和期望值對比的速度要遠遠大于測試人員 手工操作。一般來說其速度是手工測試的 23 倍。 (2) 循環(huán)執(zhí)行: 在硬件及環(huán)境允許的前提條件下,自動化測試的執(zhí)行工作可以無限次 重復執(zhí)行同一套腳本。 (3) 可復用性: 自動化測試的測 試用 例 ,其物理表現(xiàn)形式 則 是一套腳本代碼, 它 繼承了代碼可以復用的 基本特征,在測試領域 能 更好進行 拓展。每套自動化測試腳本只要劃分得當,都可以被其他的自動化測試用例所復用,從而 可 節(jié)省自動化測試用例的準備和維護成本。 (4) 可信性: 自動化測試的主要執(zhí)行者是自動化測試工具, 在執(zhí)行過程中,不可能存在執(zhí)行者的主觀因素對測試結果 產生 影響 。它的優(yōu)勢是借助于計算機的計算能力,可以重復地、不知疲倦地運行 。 對于數據,能進行精確的 , 大批量的比較,而且不會出錯 。 在同等的情況下,可信度要比手工測試更 高 。 件自動化測試的缺點 自動化測試的缺點主要包括以下幾點: (1) 成本高 自動化測試的成本主要包括以下三個方面 : 自動化測試工具的購買成本 自動化測試工具是某個特定的軟件,若使用商業(yè)自動化測試工具,必須 事先對工具的使用權進行額外的購買。 自動化測試工具及其腳本語言的培訓成本 自動化測試工具及其相關 腳本語言的使用 與 被測 系統(tǒng)本身沒有任何的關系,在使用自動化測試之前,對于這方面的培訓 成本必 須額外進行考慮。 第 2章 軟件自動化測試的基本理論 11 自動化測試腳本的創(chuàng)建和維護成本 自動化測試腳本 的創(chuàng)建和維護相對于手工測試用例的創(chuàng)建和維護而言難度要大很多,所花費的時間和成本也 更為巨大。一般而言,自動化測試腳本的創(chuàng)建和維護成本要比手工測試用例的創(chuàng)建和維護高 達 70%以上。 (2) 測試準備周期長 自動化測試的執(zhí)行速度要比手工測試快很多,但相對的 測試 準備周期要比手工測試 長很多。撇開事先的自動化工具和腳本語言的培訓時間不算,由于自動化測試創(chuàng)建的過程 實際 上是代碼開發(fā)的過程,從代碼方法的設計,代碼的創(chuàng)建, 到 調試等步驟一樣都不能少,所以其花費時間要遠 多 于手工 測試用例的設計。 (3) 靈活度不夠 自動化測試的主體是自動化測試工具,所以在測試執(zhí)行前,所有的測試路徑必須都預制 于 腳本內,腳本會忠實的執(zhí)行這些路徑 。在 執(zhí)行過程中, 若遇到 預制路徑發(fā)生變化,腳本 便 無法辨識 , 從而導致最終結果的失敗。 軟件自動化測試的準入條件 基于自動化測試自身的優(yōu)點使很多軟件公司對他青睞有加,但其顯著的缺點也預示自動化測試的引入并不是無門檻的 。 軟件的自動化 測試 是一個漸近的過程,自動化測試既不能解決軟件測試中的所有問題,也不意味著任何軟件測試都可以自動化。 據統(tǒng)計,利用測試工具只能發(fā)現(xiàn) 15左右的缺陷, 而通過手工測試可以發(fā)現(xiàn)大約 85的缺 陷。購買軟件測試工具包并不意味著實現(xiàn)了軟件測試過程。 一般而言,若想引入自動化測試需要具備以下的幾個條件 : (1) 對自動化測試有一個統(tǒng)一 正確的認識 認清使用自動化測試的目的。自動化測試 可 幫助測試人員從大量的 , 重復的測試執(zhí)行工作中解放出來 , 為企業(yè)節(jié)省相應的執(zhí)行成本和時間。 自動化測試并不是萬能,并不是所有的測試都適合使用自動化測試 。 100%自動化測試覆蓋率是不可能實現(xiàn)的。 自動化測試的初期成本 大大高于手工測試 。 若在初期沒有很好 規(guī)劃自動化測試的結構和方法, 之后的維護成本會成幾何式 上升 ,大大超過手工測試 成本。 第 2章 軟件自動化測試的基本理論 12 自動化測試 以手工測試為基礎 。 一套優(yōu)秀的自動化測試腳本必然源于一套優(yōu)秀的手工測試用例。自動化測試無法完全 替代 手工測試。 (2) 已存在一套標準的軟件測試流程 自動化測試 整 體 必須依靠 現(xiàn)有的軟件測試流程而實現(xiàn) 。 相對而言,自動化測試的每個階段都滯后于軟件測試的相應階段 。 軟件測試流程的混亂勢必造成自動化測試的混亂,從而導致自動化測試無法達到預期的效果。 (3) 確保測試部門有足夠的資源從事自動化測試 相對于手工測試,自動化測試對相關的測試人員有一定代碼編寫能力的要求,特別是在自動化測試初期, 涉及 自動化測試的 策略,計劃,實現(xiàn)方式,架構設計等各個步驟 的 確認和實現(xiàn) , 對相關人員的技術是極大的考驗, 因為這些 直接關系到之后的自動化測試在整個測試部門的使用。 動化測試的流程 自動化測試的流程 完全依附于整體的測試流程 。 圖 自動化測試的流程及其在整體測試流程中的運行情況。 第 2章 軟件自動化測試的基本理論 13 自 動 化 測 試 在 整 體 測 試 流 程 中 的 運 行設計測試用例準備測試計劃執(zhí)行測試用例遞交測試報告單 元 測 試 集 成 測 試 系 統(tǒng) 測 試 驗 收 測 試 回 歸 測 試自 動 化 測 試 計 劃準 備自 動 化 工 具 評 估自 動 化 工 具 可 行性 研 究確 定 自 動 化 測 試 用例設 計 和 開 發(fā) 自 動 化測 試 腳 本試 運 行 自 動 化 測 試腳 本執(zhí) 行 自 動 化 測 試腳 本自 動 化 測 試 報 告遞 交圖 動化測試在整體測試流程中的運行情況 如圖所示在整個自動化測試流程中一般需要經歷以下 8 個階段: (1) 自動化測試計劃準備 制訂一個合適的目標計劃對自動化測試的成功實施至關重要。測試計劃包 含了測試工作的全部內容,上到測試方法,下至制訂所有獨立的測試用例 13。 和項目計劃和測試計劃一樣,自動化測試的計劃也是非常重要的。 為了 防止測試團隊直接進行自動化腳本編寫, 必須 考慮以下重要因素:提供準確的項目評估,運用正確的框架,選擇正確的方法,自動化的長期維護,以及項目早期的 資回報率)。 (2) 自動化工具評估 自動化測試需要使用各種自動化測試工具, 估)是一個重要的決策階段,如果選錯了工具,自動化測試實施起來就 非常困難 。所以必須 根據 項目的成本,長度和人員的技能評估出合適的候選自動 化測試工具。 (3) 自動化工具可行性研究 對候選 自動化測試工具逐一進行相應的可行性研究,最終確定可以支持測試系統(tǒng)的合適的自動化測試工具。 第 2章 軟件自動化測試的基本理論 14 (4) 確定自動化測試用例 先 確定需要被自動化測試 的 用例列表 ,然后再 確定相應的自動化測試范圍。 (5) 設計和開發(fā)自動化測試腳本 搭建或修改自動化測試框架 , 并在其基礎上設計和開發(fā)自動化腳本,從而完成自動化腳本的開發(fā)工作。 (6) 試運行自動化測試腳本 在正式運行自動化測試腳本前,必須對所有的腳本進行試運行 , 從而判斷腳本是否可以遞交到正式執(zhí)行階段。 (7) 執(zhí)行自動化測試腳本 正式執(zhí)行自動化測試腳本,分析執(zhí)行的 結果,判斷失敗的步驟是腳本 中 問題造成還是系統(tǒng) 中 問題造成 。 如果是腳本問題 , 則修改相應腳本,如果是系統(tǒng)問題則提交缺陷。最后將所有的測試結果備份。 (8) 自動化測試報告遞交 測試結果分析是測試中至關重要的步驟。 根據執(zhí)行結果及執(zhí)行過程中所收集的數據評估自動化測試是否達到預期目標 。 若沒有達到 , 需要分析相應的原因,最終完成自動化測試報告的遞交。 動化測試框架的提出背景和種類 動化測試框架提出的背景 盡管自動化測試相當強大,但大多數 實際 使用中的自動化測試還 是 相當脆弱的 。 最初的自動化測試技術大多是基于簡單的捕捉 回放技術來完成。這些測試方法雖然最容易應用,但是維護性 , 復用性比較差,因此逐漸被功能和靈活性更強的測試腳本工具代替 。 捕獲回放機制生成的測試腳本是基于場景的,不僅腳本可讀性差,調試復雜,更重要的是腳本維護困難,一個微小的錯誤都會導致測試執(zhí)行過程無法正常執(zhí)行 。隨著自動化測試開始被大量 地運用于 軟件項目中,測試人員逐漸發(fā)現(xiàn),僅僅依賴自動化測試工具是根本無法完成自動化測試的。工具本身只是起到一個輔助的作用,要真正完成好自動化測試,達 到 提高測試效率,降低測試執(zhí)行 時間 , 最終達到提高產品質量的目的,勢必需要一套完整自動化 測試流程 作為 解決方案 的 基礎。 隨著軟件項目的增多 和 自動化測試應用經驗的 積累 , 企業(yè) 希望 有 一套可以被更多項目所使用的通用自動化測試框架,降低自動化測試在各個項目的實施難第 2章 軟件自動化測試的基本理論 15 度。 基于這樣的情況,各個軟件公司企業(yè)紛紛開始著手嘗試研發(fā)適合 自己 通用的自動化測試框架,從而 在更大范圍中解決 軟件自動化測試 的 一些常見問題,諸如降低軟件自動化測試中腳本開發(fā)維護成本,降低自動化測試用例搭建生成的難度,提高自動化測試腳本生成和更新的速度等問題。 動化測試框架的種類 對自動化測試框架的研究是在 本世紀初 開始興起 的 ,其中經過多 次的更迭,現(xiàn)今業(yè)界公認的主要經歷過以下幾種: 1) 線形 ( 線形就是一段過程性代碼,這是在自動化測試初期僅適用錄制功能方法 所 產生的一種形式。這種形式的一個最大弊端就是極端不靈活,系統(tǒng)任何細微修改就可能 導致腳本的失效,所以這種形式很快 就被淘汰。 2) 結構形 (結構形 比較線形有了一定程度的改進 。 代碼本身加入 了 一定 的 異常處理 , 可以使自動化測試腳本的強 大 性得到了一定的提升。但由于結構形 未考慮到自動化腳本的可維護性,所以在項目中 實際 使用的頻率也相當低。 3) 數據驅動 ( 自動化測試中數據驅動與手工測試中 數據驅動基本相同,即測試目的 是 根據所準備的輸入不同而不同 。 所謂的測試目的由測試數據所決定。 編寫自動化測試腳本的時候,可以讓測試用例數據 單獨存在 于測試套件 中,也可以把它嵌入測試套件中。通常來說,較好的 做法是讓測試數據獨立于測試套件 。 在自動化測試中,只需設計同一套測試腳本 。 根據所配置測試數據的不同完成不同的測試流程 , 從而達到各自的測試目的。通過這種方式 , 最大程度 地 提高了自動化腳本的復用性 , 相應 地 降低了開發(fā)和維護成本。當今所 用 的商業(yè)自動化工具 , 例如 將這種理念帶到了工具本身特性中。 4) 關鍵字驅動 ( 關鍵字驅動是由 司 提出的 。 為了讓更多的測試人員投入的自動化測試中,降低自動化測試 用例搭建 難度是必須的。關鍵字驅動 的 主旨就是將某些功能流程封裝成相應的關鍵字供所有測第 2章 軟件自動化測試的基本理論 16 試人員使用 。 測試人員不必關 心 關鍵字的具體內部實現(xiàn)方式,只需根據自己需要進行相應的組合,從而達到降低自動化測試 用例 搭建難度的目的。 5) 復合式驅動 ( 復合式驅動是當今最為流行的框架種類,即將數據驅動和關鍵字驅動組合使用。借由數據驅動達到降低開發(fā)維護成本的目的,借由關鍵字驅動達到降低自動化測 試用例搭建產生難度的目的。這種組合能夠最大程度 地 彌補自動化測試工具本身先天不足,從而更好地發(fā)揮自動測試的作用。 章小結 本章主要介紹了軟件自動化測試所涉及到的相關概念和理論,包括軟件自動化測試的概述,優(yōu)缺點,準入條件和基本流程。同時還介紹了關于軟件自動化測試框架的提出背景和當今公認的框架種類 。 這些概念和理論是這次自動化測試框架研究的理論依據和基礎。第 3章 17 第 3 章 紹 本 文 項目中 的測試工具 , 筆者選用 做自動化測試 。 之所以要引入主要考慮到 四個方面 。 第一 , 測試腳本不需要編程,熟悉 求,熟悉業(yè)務流程,就可以根據頁面中 象來編寫測試用例 。 第二 , 測試腳本維護方便 , 可以將測試腳本復制,并且 還 可以將某一部分單獨保存 。 第三 , 它又是個開源的工具 ,方便使用 ,節(jié)省項目成本 。 第四 , 介 一個 100%純 于壓力測試和性能測量。它最初被設計用于 但后來擴展到其它測試領域。 以對靜態(tài)和動態(tài)資源 (文件, 據庫和查詢, 務器或是其它資源 )的性能進行測試。 以在服務器,網絡或對象模擬繁重的負載 , 測試它們提供服務的受壓能力或者分析不同壓力條件下的總體性能情況??梢允褂?供的圖形化界面,分析性能指標 , 或者在高負載情況下測試服務器 /腳本 /對象。 項目 工程師 發(fā)出來。他當初開發(fā) 要用于測試 個被 程取代了的項目 )的性能。之后又再次設計了 加了圖形化界面和一些功能測試 。 開發(fā)人員借助它可嵌入的結構 特性 ,希望看到 能力能 隨之快速被擴大。 進一步的 發(fā)展 方向 是在沒有減弱它負載測試能力的同時盡可能做成最有效的回歸測試工具。 要特性 a) 能夠對 也可以對任何數據庫進行同樣的測試(通過 b) 完全的可移植性和 100 純 c) 完全 輕量組件支持(預編譯的 )包。 d) 完全多線程 框架允許通過多 線程并發(fā)取樣和通過單線程組對不同的功第 3章 18 能同時取樣。 e) 精心的 計允許快速操作和更精確的計時。 f) 緩存和離線分析 /回放測試結果。 g) 高可擴展性: 可鏈接的取樣器允許無限制的測試能力。 有 各種負載統(tǒng)計表和可鏈接的計時器可供選擇。 數據分析和可視化插件提供了很好的可擴展性以及個性化。 具有提供動態(tài)輸入到測試的功能(包括 支持 由 腳 本變成的取樣器(在 工作機制 1 測試計劃是使用 試起點,它是其它 試元件的容器。 2 線程組代表一定數量的并發(fā)用戶,可以用來 向 模擬并發(fā)用戶發(fā)送請求。實際的請求內容在 被線程組包含。 3 監(jiān)聽器負責收集測試結果,同時也被告知 結果 的 顯示方式。 4 邏

溫馨提示

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

最新文檔

評論

0/150

提交評論