第2章 軟件測試模型.ppt_第1頁
第2章 軟件測試模型.ppt_第2頁
第2章 軟件測試模型.ppt_第3頁
第2章 軟件測試模型.ppt_第4頁
第2章 軟件測試模型.ppt_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章測試過程 2 1如何定義過程 過程是指為了達(dá)到給定目的而執(zhí)行的實(shí)踐的集合 它可能包括工具 方法 資料和 或人 過程是指為了達(dá)到給定目的而執(zhí)行的一系列活動(dòng)的有序集 軟件過程是指軟件產(chǎn)品或軟件系統(tǒng)從產(chǎn)生 投入使用到被淘汰的全過程 需求 包括問題分析和需求分析 設(shè)計(jì) 包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì) 實(shí)現(xiàn) 把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼 測試 包括單元測試 集成測試和確認(rèn)測試 維護(hù) 是對(duì)投入運(yùn)行的軟件進(jìn)行修改 使軟件系統(tǒng)能適應(yīng)外界環(huán)境變化 實(shí)現(xiàn)功能擴(kuò)充和質(zhì)量改善 為什么要定義軟件過程 有助于以一種有序的方式選擇過程了解工作目標(biāo)和內(nèi)容 明確每個(gè)任務(wù)完成標(biāo)準(zhǔn)借助已經(jīng)建立的過程定義 軟件專業(yè)人員能夠更好地理解自身應(yīng)該完成什么工作 了解可以指望合作人員做什么 明確自己應(yīng)為合作人員提供什么 這樣 軟件專業(yè)人員就可以將精力放在完成自己份內(nèi)的工作上 允許個(gè)人根據(jù)自身情況適當(dāng)調(diào)整工作為組織提供了一個(gè)一致的工作框架 2 2軟件開發(fā)模型 1 大棒開發(fā)法源于能量爆發(fā)創(chuàng)造宇宙 萬物都由能量和物質(zhì)積聚而成的理論 但如果不是遵循某種正確的排列和組合 形成的將不是預(yù)先期望的事物 大棒模式與上述理論一樣 一大堆能量 這里指開發(fā)軟件所需的人力和物力 放在一起 巨大的能量進(jìn)行釋放 通常的結(jié)果可能是產(chǎn)生了優(yōu)秀的軟件產(chǎn)品或成為一堆 廢品 不成功的軟件 優(yōu)點(diǎn) 思路簡單 通??赡苁情_發(fā)者的 突發(fā)奇想 缺點(diǎn) 開發(fā)過程是非工程化的 隨意性大關(guān)于測試 有的較簡單 有的則非常困難 2 邊寫邊改法采用邊寫邊改法的軟件開發(fā)通常只是有了比較粗略的想法就開始進(jìn)行簡單的設(shè)計(jì) 然后進(jìn)行較長的反復(fù)編寫 測試與修復(fù)這樣一個(gè)循環(huán)的過程 在認(rèn)為無法更精細(xì)的描述軟件產(chǎn)品要求時(shí) 就發(fā)布產(chǎn)品 優(yōu)點(diǎn) 能夠較為迅速的展現(xiàn)成果 適合需要快速制作而且用完就扔的小項(xiàng)目 如示范程序 演示程序等 缺點(diǎn) 其編碼和測試可能將是長期的循環(huán)往復(fù)的過程 3 瀑布法瀑布模式是將軟件的各項(xiàng)活動(dòng) 規(guī)定為按照固定順序相連的若干個(gè)階段性工作 形如瀑布流水 最終得到軟件產(chǎn)品 優(yōu)點(diǎn) 易于理解 調(diào)研開發(fā)的階段性 強(qiáng)調(diào)早期計(jì)劃及需求調(diào)查 確定何時(shí)能夠交付產(chǎn)品及何時(shí)進(jìn)行評(píng)審與測試 缺點(diǎn) 需求調(diào)查分析只進(jìn)行一次 不能適應(yīng)需求變化 順序的開發(fā)流程 使得開發(fā)中的經(jīng)驗(yàn)教訓(xùn)不能反饋到該項(xiàng)目的開發(fā)中去 不能反映出軟件開發(fā)過程的反復(fù)與迭代性 沒有包含任何類型的風(fēng)險(xiǎn)評(píng)估 開發(fā)中出現(xiàn)的問題直到開發(fā)后期才能夠顯露 因此失去及早糾正的機(jī)會(huì) 一個(gè)軟件生命周期包括 制定計(jì)劃 需求分析 軟件設(shè)計(jì) 程序編碼 軟件測試 軟件運(yùn)行 軟件維護(hù) 軟件停用等8個(gè)階段 生命周期 增量迭代模型 螺旋模型RUP敏捷開發(fā) 4 螺旋模式法螺旋模式是瀑布模式與邊寫邊改演化模式相結(jié)合 并加入風(fēng)險(xiǎn)評(píng)估所建立的軟件開發(fā)模式 每一螺旋 開發(fā)階段 包括5個(gè)步驟 確定目標(biāo) 選擇方案和限制條件 對(duì)方案風(fēng)險(xiǎn)進(jìn)行評(píng)估 并能解決風(fēng)險(xiǎn) 進(jìn)行本階段的開發(fā)和測試 計(jì)劃下一階段 確定進(jìn)入下階段的方法 優(yōu)點(diǎn) 可以在項(xiàng)目前期考慮對(duì)已經(jīng)存在的軟件進(jìn)行重用 在軟件產(chǎn)品開發(fā)過程中考慮了軟件質(zhì)量目標(biāo) 關(guān)注于缺陷預(yù)防 并能夠盡早發(fā)現(xiàn)缺陷 更好地控制項(xiàng)目活動(dòng)的資源和相關(guān)成本 缺點(diǎn) 過分依賴風(fēng)險(xiǎn)評(píng)估 過于靈活的開發(fā)過程不適合開發(fā)者與客戶之間有明確的合同約定 模型本身的文檔化和推廣需要較大工作量 5 RUPRUP即Rational統(tǒng)一過程模型 是一種強(qiáng)調(diào)迭代開發(fā) 持續(xù)集成的軟件開發(fā)過程模型 RUP流程圖 圖4RUP模型 初始階段 inception 目標(biāo)是為系統(tǒng)建立商業(yè)案例和確定項(xiàng)目的邊界 細(xì)化階段 elaboration 目標(biāo)是分析問題領(lǐng)域 建立健全的體系結(jié)構(gòu)基礎(chǔ) 編制項(xiàng)目計(jì)劃 淘汰項(xiàng)目中最高風(fēng)險(xiǎn)的元素 構(gòu)建階段 construction 目標(biāo)是將所有涉及的構(gòu)件和應(yīng)用程序功能被開發(fā)并集成為產(chǎn)品 并詳盡測試所有的功能 產(chǎn)品化階段 transition 目標(biāo)是將軟件產(chǎn)品交付給用戶群體 迭代式開發(fā) 1 管理需求 2 基于組件的體系結(jié)構(gòu) 3 可視化建模 4 驗(yàn)證軟件質(zhì)量 5 控制軟件變更 6 6 敏捷開發(fā)最優(yōu)先要做的是通過盡早地 持續(xù)地交付有價(jià)值的軟件來使客戶滿意 即使到了開發(fā)后期 也允許需求變更 交付時(shí)間越短越好開發(fā)人員和業(yè)務(wù)人員協(xié)同工作 圍繞個(gè)人構(gòu)建項(xiàng)目 提倡面對(duì)面交談 能夠工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn) 提倡可持續(xù)的開發(fā)速度 簡單是根本 不斷關(guān)注優(yōu)秀的技能和好的設(shè)計(jì)最好的構(gòu)架 需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì) 每隔一定時(shí)間就進(jìn)行工作總結(jié)和調(diào)整 2 3軟件開發(fā)與測試的關(guān)系 軟件測試的生命周期測試與開發(fā)各階段的關(guān)系軟件開發(fā)與測試模型 軟件測試的生命周期 軟件測試的生命周期 softwaretestinglifecycle 分為幾個(gè)階段 如圖5所示 前三個(gè)階段就是引入程序錯(cuò)誤階段 后三個(gè)階段就是清除程序錯(cuò)誤的階段 圖5軟件測試生命周期 在軟件測試生命周期的每個(gè)階段都要完成一些確定的任務(wù) 在執(zhí)行每個(gè)階段的任務(wù)時(shí) 可以采用行之有效的結(jié)構(gòu)分析設(shè)計(jì)技術(shù)和適當(dāng)?shù)妮o助工具 2 在結(jié)束每個(gè)階段的任務(wù)時(shí) 都進(jìn)行嚴(yán)格的技術(shù)審查和管理復(fù)審 3 最后提交最終軟件配置的一個(gè)或幾個(gè)成分 文檔或程序 軟件測試與開發(fā)的關(guān)系 圖6軟件測試與開發(fā)的順序關(guān)系 1 軟件測試與開發(fā)的順序關(guān)系 軟件開發(fā)過程是一個(gè)自頂向下 逐步細(xì)化的過程 首先在軟件計(jì)劃階段定義了軟件的作用域 然后進(jìn)行軟件需求分析 建立軟件的數(shù)據(jù)域 功能和性能需求 約束和一些有效性準(zhǔn)則 接著進(jìn)入軟件開發(fā) 首先是軟件設(shè)計(jì) 然后再把設(shè)計(jì)用某種程序設(shè)計(jì)語言轉(zhuǎn)換成程序代碼 而測試過程則是依相反的順序安排的自底向上 逐步集成的過程 低一級(jí)測試為上一級(jí)測試準(zhǔn)備條件 此外還有兩者平行地進(jìn)行測試 如圖6 首先對(duì)每一個(gè)程序模塊進(jìn)行單元測試 消除程序模塊內(nèi)部在邏輯上和功能上的錯(cuò)誤和缺陷 再對(duì)照軟件設(shè)計(jì)進(jìn)行集成測試 檢測和排除子系統(tǒng) 或系統(tǒng) 結(jié)構(gòu)上的錯(cuò)誤 隨后再對(duì)照需求 進(jìn)行確認(rèn)測試 最后從系統(tǒng)全體出發(fā) 運(yùn)行系統(tǒng) 看是否滿足要求 圖7軟件測試與軟件開發(fā)的并行性 2 軟件測試與開發(fā)的并行關(guān)系 在軟件的需求得到確認(rèn)并通過評(píng)審后 概要設(shè)計(jì)工作和測試計(jì)劃制定設(shè)計(jì)工作就要并行進(jìn)行 如果系統(tǒng)模塊已經(jīng)建立 對(duì)各個(gè)模塊的詳細(xì)設(shè)計(jì) 編碼 單元測試等工作又可并行 待每個(gè)模塊完成后 可以進(jìn)行集成測試 系統(tǒng)測試 并行流程如圖7所示 2 4軟件測試過程模型 V模型在V模型中 描述了一些不同的測試級(jí)別 并說明了這些級(jí)別所對(duì)應(yīng)的生命周期中不同的階段 清楚地描述了這些測試階段和開發(fā)過程期間的對(duì)應(yīng)關(guān)系 圖8V模型示意圖 用戶 需求獲取 需求定義 需求分析 需求分析書 概要設(shè)計(jì) 概要設(shè)計(jì)書 詳細(xì)設(shè)計(jì) 詳細(xì)設(shè)計(jì)書 編碼 程序 軟件產(chǎn)品 可交付軟件 系統(tǒng)測試 已確認(rèn)軟件 確認(rèn)測試 已集成軟件 集成測試 已測試模塊 單元測試 需 求 分 析 評(píng)審 評(píng)審 評(píng)審 評(píng)審 評(píng)審 評(píng)審 評(píng)審 評(píng)審 測試W模型由于各種原因 開發(fā)的每一個(gè)環(huán)節(jié)都可能產(chǎn)生錯(cuò)誤 如果堅(jiān)持各個(gè)階段的技術(shù)評(píng)審 就能夠盡早發(fā)現(xiàn)和預(yù)防錯(cuò)誤 圖9為軟件開發(fā)與測試的W模型 形象地說明了軟件測試與開發(fā)的這種同步性 圖9W模型示意圖 優(yōu)點(diǎn) 測試貫穿于整個(gè)軟件開發(fā)生命周期 測試對(duì)象不僅僅是程序 還包括需求和設(shè)計(jì)規(guī)格說明等 測試與開發(fā)同步 可以盡早 全面發(fā)現(xiàn)問題 缺點(diǎn) 為串行結(jié)構(gòu) 需等上一階段活動(dòng)結(jié)束后才能開展下一活動(dòng) 測試H模型與前兩種模型相比 H模型充分地體現(xiàn)了測試過程 如圖10所示的H模型揭示了 1 軟件測試不僅僅指測試的執(zhí)行 還包括很多其他的活動(dòng) 2 軟件測試是一個(gè)獨(dú)立的流程 貫穿產(chǎn)品的整個(gè)開發(fā)周期 與其它流程并發(fā)進(jìn)行 3 軟件測試要盡早準(zhǔn)備 盡早執(zhí)行 4 軟件測試根據(jù)被測物的不同是分層次的 不同層次的測試活動(dòng)可以是按照某個(gè)次序先后進(jìn)行的 但也可能是反復(fù)的 圖10H模型示意圖 軟件測試的完整模型 圖11軟件測試與開發(fā)的完整模型 測試在開發(fā)階段的作用 項(xiàng)目規(guī)劃階段 負(fù)責(zé)從單元測試到系統(tǒng)測試的整個(gè)測試階段的監(jiān)控 需求分析階段 確定測試需求分析 系統(tǒng)測試計(jì)劃的制定 評(píng)審后成為管理項(xiàng)目 詳細(xì)設(shè)計(jì)和概要設(shè)計(jì)階段 確保集成測試計(jì)劃和單元測試計(jì)劃完成 編碼階段 由開發(fā)人員進(jìn)行自己負(fù)責(zé)部分的測試代碼 在項(xiàng)目較大時(shí) 由專人進(jìn)行編碼階段的測試任務(wù) 測試階段 單元 集成 系統(tǒng)測試 依據(jù)測試代碼進(jìn)行測試 并提交相應(yīng)的測試狀態(tài)報(bào)告和測試結(jié)束報(bào)告 2 5測試組織中的測試過程 不成熟組織中的測試過程測試沒有自己的周期 和開發(fā)生命周期串行測試組和一個(gè)不成熟的開發(fā)組織一起工作 將感到非常痛苦不成熟的開發(fā)組織將產(chǎn)生一個(gè)非產(chǎn)品化 混亂的 屢受搓折的環(huán)境中產(chǎn)生低質(zhì)量的不另人滿意的結(jié)果 成熟組織中的測試過程 測試有自己的周期 和開發(fā)生命周期并行在一個(gè)成熟的開發(fā)組織中 測試組可以并能夠集中精力在內(nèi)部流程改進(jìn)上測試流程的有效改革將會(huì)成為促進(jìn)不成熟組織改進(jìn)開發(fā)流程的催化劑 軟件測試流程的質(zhì)量決定測試是否成功 標(biāo)準(zhǔn)軟件測試過程 基本特性 1 計(jì)劃性 任務(wù)人員設(shè)備時(shí)間相關(guān) 2 平行性 開發(fā)編碼 測試再測試 3 完整性 計(jì)劃大綱用例 4 重用性 測試再測試回歸測試升級(jí)多平臺(tái) 5 可重復(fù)性 用例大綱再現(xiàn)Bugs 6 周期性 測試周期回歸更新 7 可管理性 測試組織完整的計(jì)劃良好的準(zhǔn)備工作 ISTQB定義的軟件測試過程模型 測試階段 軟件測試過程可被分成五個(gè)階段 Theplanningandcontrolphase 計(jì)劃和控制階段Thepreparationphase 準(zhǔn)備階段Thespecificationphase 規(guī)范階段Theexecutionphase 測試執(zhí)行階段Thecompletionphase 完成階段 計(jì)劃與控制階段 它是整個(gè)測試過程中最重要的階段 為實(shí)現(xiàn)可管理且高質(zhì)量的測試過程提供基礎(chǔ) 本階段的主要工作內(nèi)容 1 擬定測試計(jì)劃 2 論證那些使開發(fā)過程難于管理和控制的因素 3 明確軟件產(chǎn)品的最重要部分 風(fēng)險(xiǎn)評(píng)估 準(zhǔn)備階段 開始本階段的前提條件 完成測試計(jì)劃的擬定 需求規(guī)格說明書 第一版 的確定 本階段的主要工作內(nèi)容 對(duì)需求規(guī)格說明書的仔細(xì)研究 將要測試的產(chǎn)品分解成可獨(dú)立測試的單元 為每個(gè)測試單元確定采用的測試技術(shù) 為測試的下一個(gè)階段及其活動(dòng)制定計(jì)劃 規(guī)范階段 本階段的主要工作內(nèi)容 編寫測試大綱 測試用例 測試腳本 搭建測試環(huán)境 測試數(shù)據(jù)庫 軟件環(huán)境 硬件環(huán)境 測試用例描述的內(nèi)容 輸入 執(zhí)行過程 預(yù)期輸出 實(shí)施執(zhí)行階段 根據(jù)測試大綱 測試用例 測試腳本進(jìn)行測試 1 根據(jù)測試大綱 測試用例進(jìn)行測試 找出預(yù)期的測試結(jié)果和實(shí)際測試結(jié)果之間的差異 2 填寫軟件問題報(bào)告 3 確定造成這些差異的原因 產(chǎn)品有缺陷 規(guī)格說明書有缺陷 測試環(huán)境和測試下屬部件有缺陷 測試用例設(shè)計(jì)不合理 測試報(bào)告 與管理層進(jìn)行溝通的方式已測試部分占產(chǎn)品多大的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論