freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于模型的自動(dòng)化測(cè)試工具的實(shí)現(xiàn)_畢業(yè)設(shè)計(jì)論文-文庫吧

2025-06-05 12:55 本頁面


【正文】 析模型自動(dòng)得到測(cè)試用例。 軟件測(cè)試的主要目的就是發(fā)現(xiàn)錯(cuò)誤。事實(shí)證明, MBT 確實(shí)具有很強(qiáng)的錯(cuò)誤發(fā)現(xiàn)能力 。 IBM公司和 BMW 公司的研究表明, MBT 發(fā)現(xiàn)的錯(cuò)誤和手工設(shè)計(jì)的測(cè)試集發(fā)現(xiàn)的錯(cuò)誤數(shù)量差不多。而微軟公司的某一應(yīng)用中, MBT 發(fā)現(xiàn)了多 10 倍的錯(cuò)誤 [14]。其它的一些研究結(jié)果中(如圖 12),和人工測(cè)試相比 MBT 都是發(fā)現(xiàn)更多或者相同數(shù)量的錯(cuò)誤。當(dāng)然 MBT 也不是萬能的,它發(fā)現(xiàn)錯(cuò)誤的能力很大程度上依賴于建模 和選擇測(cè)試用例選擇要求人員的水平。 基于模型的自動(dòng)化測(cè)試工具的實(shí)現(xiàn) 第 3 頁 共 13 頁 圖 12 各種測(cè)試方法整個(gè)測(cè)試過程的花費(fèi)時(shí)間圖 [14] MBT 能否降低測(cè)試的花費(fèi)和時(shí)間,取決于建立和維護(hù)模型加上生成測(cè)試用例花費(fèi)的時(shí)間是否比其它方法設(shè)計(jì)和維護(hù)測(cè)試集所需要的時(shí)間少,通常情況下答案是肯定的。而且 MBT可以提高測(cè)試效率,因?yàn)槿斯y(cè)試受限于測(cè)試人員的思維活躍程度, MBT 使用的測(cè)試用例生成算法和啟發(fā)式用例選擇機(jī)制能夠快速生成大量測(cè)試用例,達(dá)到對(duì)模型更高的覆蓋率卻僅需要多花費(fèi)少量運(yùn)行測(cè)試用例生成程序的時(shí)間。如果 SUT 支持大規(guī)模地測(cè)試, MBT 必然將發(fā)現(xiàn)更多的錯(cuò)誤。 有時(shí)侯測(cè)試用例沒有通過,并不是因?yàn)槌绦蚓帉懙腻e(cuò)誤,而是因?yàn)橄到y(tǒng)需求定義存在錯(cuò)誤。其它形式的軟件測(cè)試一般無法發(fā)現(xiàn)此類錯(cuò)誤,但是 MBT 可以。我們知道,軟件開發(fā)中的錯(cuò)誤越早發(fā)現(xiàn)需要付出的修復(fù)代價(jià)越小, MBT 把一些錯(cuò)誤扼殺在需求階段,貢獻(xiàn)無疑是巨大的。此外, MBT 具有良好的應(yīng)付軟件需求變更的能力。傳統(tǒng)的測(cè)試方法很可能需要重新設(shè)計(jì)編寫所有測(cè)試用例, MBT 只需要調(diào)整模型后再自動(dòng)生成測(cè)試用例。 凡事有利必有弊,好的模型可以讓測(cè)試過程一帆風(fēng)順,模型也給測(cè)試過程帶來了許多問題。實(shí)施 MBT 的測(cè)試人員需 要具有比普通測(cè)試人員更強(qiáng)的系統(tǒng)抽象能力,因?yàn)?SUT 很可能并不容易建模。當(dāng) MBT 的測(cè)試用例沒有通過時(shí),測(cè)試人員無法斷定是 SUT 存在錯(cuò)誤還是建模存在錯(cuò)誤,增加了錯(cuò)誤分析的代價(jià)。傳統(tǒng)的人工測(cè)試的測(cè)試用例都是依據(jù)系統(tǒng)需求定義的, MBT的測(cè)試用例生成算法難免產(chǎn)生一些無效冗余的測(cè)試用例,測(cè)試用例通過率不再是衡量軟件測(cè)試效率的有效標(biāo)準(zhǔn)。認(rèn)識(shí)到這些 MBT 的不足之處,我們才能更加正確地利用 MBT。 目前代表性的支持 MBT 的測(cè)試工具有: IBM 公司的 GOTCHATCBeans 軟件測(cè)試套件,面向 Java、 C/C++語言編寫的應(yīng)用 程序接口( API, Application Program Interfaces)和軟件協(xié)議 [7];微軟公司的 Spec Explorer 工具,具有創(chuàng)建軟件行為模型、可視化分析模型、驗(yàn)證模型有效性和根據(jù)模型生成測(cè)試用例等功能 [8];“凈室”公司的 CleanTest,主要用于凈室軟件工程中使用的統(tǒng)計(jì)測(cè)試過程 [9]。此外,軍方也積極嘗試 MBT 技術(shù),比如美國(guó)海軍水面戰(zhàn)中心開發(fā)的 SMERFS[10]和 CASRE[11]。 基于模型的自動(dòng)化測(cè)試工具的實(shí)現(xiàn) 第 4 頁 共 13 頁 . 項(xiàng)目背景和論文結(jié)構(gòu) . 項(xiàng)目背景 本課題來源于 作者實(shí)習(xí)所在的微軟公司,旨在 遵照 基于模型的軟件測(cè)試 理論 開始 實(shí)現(xiàn)一款自動(dòng)化測(cè)試工具, 該工具 能夠支持有限狀態(tài)機(jī)模型的輸入,然后自動(dòng)生成 抽象 測(cè)試用例。用戶填充實(shí)現(xiàn)完整的測(cè)試用例后,此工具能執(zhí)行測(cè)試用例并給出測(cè)試報(bào)告。 該測(cè)試工具將被主要用于微軟公司 SCCM 系統(tǒng)的基于角色權(quán)限控制( RBAC, RoleBased Access Control)功能的測(cè)試。 特別地,在測(cè)試用例生成過程中算法需要結(jié)合參數(shù)配對(duì)組合測(cè)試技術(shù),盡可能縮減測(cè)試用例數(shù)目卻又不影響測(cè)試質(zhì)量。因?yàn)榕c傳統(tǒng)的單純正交排列組合測(cè)試相比,配對(duì)組合測(cè)試技術(shù)具有較大的優(yōu)越性。 . 論文結(jié)構(gòu) 本文第二 章 主要介紹 MBT 測(cè)試 技術(shù),依照 MBT 測(cè)試的一般流程來說明工具使用的模型表現(xiàn)形式、測(cè)試用例生成算法和預(yù)期輸出的生成。第三章介紹系統(tǒng)的總體架構(gòu)和簡(jiǎn)要闡述系統(tǒng)各模塊的功能。第四章使用類圖和算法偽代碼詳細(xì)討論系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。第五章通過一個(gè)虛構(gòu)的自動(dòng)取款機(jī)( ATM, Automatic Teller Machines)系統(tǒng)來演示如何使用我們完成的工具進(jìn)行 MBT 測(cè)試。最后作簡(jiǎn)要的總結(jié)及展望。 基于模型的自動(dòng)化測(cè)試工具的實(shí)現(xiàn) 第 5 頁 共 13 頁 第二章 基于模型的測(cè)試 . MBT 一般操作流程 基于模型的測(cè)試依賴于三項(xiàng)關(guān)鍵技術(shù): 模型的表現(xiàn)形式、測(cè)試用例的生成算法和產(chǎn)生其它輔助性內(nèi)容(包括預(yù)期結(jié)果)的工具 [12]。模型是 MBT 技術(shù)的核心,不同領(lǐng)域的不同軟件系統(tǒng)適用的模型表現(xiàn)形式都不盡相同,測(cè)試人員應(yīng)該結(jié)合被測(cè)系統(tǒng)的工作特點(diǎn)和自身對(duì)模型的熟悉程度來慎重選擇。如果沒有使用正確的模型表現(xiàn)形式,會(huì)拖累影響整個(gè)測(cè)試流程。針對(duì)各個(gè)不同的模型表現(xiàn)形式,如今已有許多測(cè)試用例算法與之對(duì)應(yīng),我們可以在實(shí)際應(yīng)用過程中靈活地借鑒參考來設(shè)計(jì)自己的算法。至于產(chǎn)生其它輔助性內(nèi)容的工具,它在不同項(xiàng)目之間不具有可移植性,只有根據(jù)不同項(xiàng)目來專門設(shè)計(jì)實(shí)現(xiàn)。 圖 21 MBT 一般操作流程 [13] 上圖展示了 MBT 的一般操作流程。首先在系統(tǒng)需求或者規(guī)約文檔的基礎(chǔ)上建立某種形式的模型(步驟 1),模型說明了系統(tǒng)所有的潛在行為意圖。接下來需要定義測(cè)試用例的選擇要求(步驟 2),形成測(cè)試用例規(guī)約(步驟 3),編寫算法將其應(yīng)用于模型之上來生成測(cè)試用例(步驟 4)。然后在被測(cè)系統(tǒng)( SUT, System Under Test)環(huán)境中真正執(zhí)行所有測(cè)試用例(步驟 51),可以利用測(cè)試腳本來自動(dòng)化執(zhí)行測(cè)試,最終得到測(cè)試結(jié)果(步驟 52)。 基于模型的自動(dòng)化測(cè)試工具的實(shí)現(xiàn) 第 6 頁 共 13 頁 . MBT 模型表現(xiàn)形式 理想的模型需要容易被測(cè)試人員理解,能夠把大的復(fù)雜的問題描述成小的簡(jiǎn)單的系統(tǒng),最好還是以一種測(cè)試用例生成工具方便識(shí)別的形式。想要同時(shí)滿足以上所有的特性是很困難的,但是可以把幾種不同的模型整合成一個(gè),揚(yáng)長(zhǎng)避短地得到理想模型。在 MBT 中使用過 的模型可能有幾十甚至上百種, 我們不可能也沒有必要去逐一了解, Mark Utting 和 Bruno Legeard 把它們大致分為以下幾種 [14]: 類型 示例 基于 Pre/Post B、 OCL、 JML、 Spec、 Z 基于轉(zhuǎn)換 FSM、狀態(tài)圖、 UML 狀態(tài)機(jī) 統(tǒng)計(jì)式 馬爾可夫鏈 基于歷史 消息隊(duì)列圖、 UML 順序圖 函數(shù)式 HOL 系統(tǒng) 操作式 Petri 網(wǎng) 數(shù)據(jù)流式 Lustre、塊狀圖 表 21 MBT 模型分類 基于轉(zhuǎn)換的模型 是我們最為熟悉的模型類型, 它們集中于描述系統(tǒng)在不同狀態(tài)之間的轉(zhuǎn)換過程。通常是以節(jié)點(diǎn)和弧線的形式出現(xiàn),節(jié)點(diǎn)代表系統(tǒng)的狀態(tài),弧線代表系統(tǒng)的動(dòng)作或操作。有限狀態(tài)機(jī)( FSM, Finite State Machine)模型可以被認(rèn)為是該類模型的鼻祖,是極其重要的一種模型表現(xiàn)形式。圖 22 是一個(gè)描述了門的四種不同狀態(tài)及其轉(zhuǎn)換關(guān)系的 FSM。Harel 在 FSM 的基礎(chǔ)上添加了層次、并發(fā)和交流概念,擴(kuò)展成了狀態(tài)圖模型 [15],從而在面對(duì)復(fù)雜系統(tǒng)時(shí)也能夠輕松建立模型。之后又有人刪去了 Harel 的狀態(tài)圖模型中的部分特性,同時(shí)增加了一些新的特性,形成了統(tǒng)一建模語言( UML, Unified Modeling Language)狀態(tài)機(jī)模型。 UML 狀態(tài)機(jī)模型用于定義類之間狀態(tài)相關(guān)的行為,包括方法調(diào)用和數(shù)據(jù)域的修改。 圖 22 FSM 示例 基于模型的自動(dòng)化測(cè)試工具的實(shí)現(xiàn) 第 7 頁 共 13 頁 我們工具主要面向的是 RBAC 功能的測(cè)試,頻繁關(guān)心具有不同權(quán)限的不同角色所能執(zhí)行的操作。 把系統(tǒng)抽象 為變量 集合 和修改這些變量操作的基于 Pre/Post 的模型需要測(cè)試人員預(yù)先學(xué)習(xí)一段時(shí)間才能完全掌握,所以基本不予考慮。我們也并不需要描述系統(tǒng)行為隨著時(shí)間變化的變化情況, RBAC 測(cè)試中不涉及分布式并發(fā)操作,側(cè)重關(guān)心系統(tǒng)控制流而不是數(shù)據(jù)流,可見基本的 FSM 模型就已經(jīng)滿足相關(guān)要求。而且 FMS 模型也最為簡(jiǎn)便,測(cè)試工具識(shí)別起來沒有任何問題,降低了編寫測(cè)試工具的難度,測(cè)試人員構(gòu)建模型時(shí)可以從 SUT 設(shè)計(jì)文檔中的 UML 狀態(tài)圖稍加變化直接轉(zhuǎn)化而來。如果以后需要額外考慮系統(tǒng)事件和測(cè)試輸入的概率分布,只需要為每個(gè)狀態(tài)之間的遷移動(dòng)作增加概率相 關(guān)屬性,非常輕松地支持統(tǒng)計(jì)式模型。 . MBT 測(cè)試用例生成 軟件測(cè)試過程中的執(zhí)行和監(jiān)督 過程已經(jīng)可以使用現(xiàn)代化的自動(dòng)測(cè)試工具代替完成,至于如何 生成測(cè)試用例 ,依然是一件棘手的事情。 MBT 中使用的測(cè)試用例生成方法主要依賴于所使用的模型表現(xiàn)形式,針對(duì)不同的模型表現(xiàn)形式,研究者分別想出了一些解決方案。 如果系統(tǒng)的模型是由一系列邏輯表達(dá)式所組成的,那么可以使用定理證明的方法。定理證明方法原先是被用于自動(dòng)證明數(shù)學(xué)公式, MBT 生成測(cè)試用例時(shí)根據(jù)邏輯表達(dá)式的有效說明把模型劃分為不同等價(jià)類,每個(gè)等價(jià)類描述了 SUT 的某一行為。這些等 價(jià)類就可以用于生成測(cè)試用例,最簡(jiǎn)單的劃分方法是析取范式的方法。當(dāng)需要為程序的特定執(zhí)行路徑尋找輸入時(shí),沿著路徑使用符號(hào)執(zhí)行的方法,結(jié)合途中遇到的一些分支斷言,我們可以求出預(yù)期輸入所需要滿足的約束。于是可以用各種約束來建立 MBT 的模型,收集不同執(zhí)行路徑中數(shù)據(jù)約束再利用約束編程中的方法求解得到測(cè)試用例。其中約束編程是一種通過約束來描述變量間關(guān)系的編程方法,求解約束的方法有布爾式求解方法和數(shù)值分析方法。 MBT 自然還會(huì)讓人想到模型檢測(cè),即檢測(cè)模型是否滿足特定的屬性。無論檢測(cè)結(jié)果是滿足屬性還是違背屬性,都可以形成測(cè)試 用例。但是一般來說反例的作用更大,因?yàn)闇y(cè)試用例中的各種斷言正是通過反例來生成的,從而有效地識(shí)別出系統(tǒng)是否正常工作。模型檢測(cè)會(huì)遇到的問題是,生成的用例中存在過多冗余用例 ,導(dǎo)致軟件測(cè)試執(zhí)行的代價(jià)增加。為此, Hamon 等人詳細(xì)討論提出了高效模型檢測(cè)的方法 [16]。類似 于描述程序所有可執(zhí)行路徑的控制流 和描述程序所有變量定義和內(nèi)存使用的數(shù)據(jù)流,事件流模型描述的是 GUI 上所有可執(zhí)行的事件序列。通常情況下, GUI 又可以分為不同的層次結(jié)構(gòu),比如整個(gè) GUI 系統(tǒng)是由各種對(duì)話框所組成的,那么系統(tǒng)的事件流圖就是由對(duì)話框各自的事件 流圖組成的。把復(fù)雜系統(tǒng)拆分為相對(duì)獨(dú)立的組件單獨(dú)分析,也是所有 MBT 測(cè)試用例生成方法通用的竅門。 馬爾可夫鏈也是 MBT 中生成測(cè)試用例的重要方法之一 ,它由兩大部件組成:代表系統(tǒng)所有使用場(chǎng)景的 FSM 和評(píng)價(jià) FSM來說明系統(tǒng)統(tǒng)計(jì)性使用信息的操作說明。馬爾可夫鏈模型為 MBT 提供了測(cè)試的側(cè)重點(diǎn),即著重測(cè)試那些用戶經(jīng)常使用的功能。因?yàn)閷?duì)于系統(tǒng)中那些極少概率出現(xiàn)的錯(cuò)誤,是幾乎不可能被發(fā)現(xiàn)的。 我們選用的是 FSM 模型,所以可以利用圖論中的一些遍歷方法,比如廣度優(yōu)先遍歷算法或者深度優(yōu)先遍歷算法,每找到的一條可執(zhí)行路徑對(duì)應(yīng)于一個(gè)測(cè)試用例。當(dāng) FSM 包含的狀態(tài)比較多時(shí),遍歷組成 FSM 有向圖產(chǎn)生的測(cè)試用例數(shù)量可能太多,不僅難以測(cè)試包含冗余測(cè)試用例??梢酝ㄟ^指定初始遍歷節(jié)點(diǎn)和限定路徑長(zhǎng)度的方法來減少生成測(cè)試用例的數(shù)量,但是更好的是下面介紹的組合測(cè)試。 軟件開發(fā)者和用戶經(jīng)常還會(huì)遇到這樣的問題,把同樣的軟件應(yīng)用從一臺(tái)機(jī)器換到另外一臺(tái)機(jī)器上使用時(shí),原先從未出過故障的軟件突然變得無法正常使用。問題有許多可能的影響因素,比如跟軟件安裝所 在機(jī)器的操作系統(tǒng)類型有關(guān),或者是系統(tǒng)物理內(nèi)存的大小,甚至網(wǎng)卡型號(hào)等等。除了硬件環(huán)境的不同,軟件接受的輸入?yún)?shù)也很可能不同,比如同一款 Web應(yīng)用發(fā)布后,不同國(guó)家的用戶將會(huì)輸入不同編碼的內(nèi)容。軟件能否經(jīng)得住各種條件下的考驗(yàn), 基于模型的自動(dòng)化測(cè)試工具的實(shí)現(xiàn) 第 8 頁 共 13 頁 是軟件測(cè)試需要解決的問題。當(dāng)然,最簡(jiǎn)單和理想的情況下是把所有可能出現(xiàn)的硬件配置和參數(shù)取值都測(cè)試一遍。但是現(xiàn)實(shí)并不允許測(cè)試人員這么做,因?yàn)樵斐傻臏y(cè)試用例數(shù)量是指數(shù)性爆炸增長(zhǎng)的, N 個(gè)分別有 M 種取值的影響因素將需要 MN個(gè)測(cè)試用例來完成測(cè)試。 后來人們發(fā)現(xiàn)通過巧妙地選取測(cè)試用例,只要求某些參數(shù)的組合 情況被包含,能夠在保證測(cè)試效率的同時(shí)大大縮減測(cè)試用例數(shù)量。該理論是基于以下事實(shí)的,軟件中的錯(cuò)誤大部分都是由單個(gè)參數(shù)所導(dǎo)致的,一般最多是由兩個(gè)參數(shù)相互作用而觸發(fā),三個(gè)或三個(gè)以上的情況幾乎沒有。如果測(cè)試用例集包含了任意 t 個(gè)參數(shù)的所有取值組合,那么稱該測(cè)試用例集組合強(qiáng)度為 t,或者說它是 tway 的。 圖 23 不同組合強(qiáng)度下的錯(cuò)誤發(fā)現(xiàn)率 圖 23 是 NIST 報(bào)告中總結(jié)的幾個(gè)應(yīng)用使用不同組合強(qiáng)度的測(cè)試用例集測(cè)試后的錯(cuò)誤發(fā)現(xiàn)率曲線 [17]。我們可以看出,隨著組合強(qiáng)度的增加,錯(cuò)誤發(fā)現(xiàn)率顯著增長(zhǎng)。以 NASA 應(yīng)用為例 , 67%的錯(cuò)誤由單個(gè)參數(shù)觸發(fā), 93%由兩個(gè)參數(shù)相互作用
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1