版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章軟件測試過程與模型主講人:崔海燕教學(xué)內(nèi)容2.1軟件開發(fā)過程2.2軟件開發(fā)與測試的關(guān)系2.3軟件測試過程2.4軟件測試過程模型2.5測試?yán)砟?.1軟件開發(fā)過程2.1.1軟件產(chǎn)品的組成2.1.2軟件開發(fā)項(xiàng)目組2.1.3軟件開發(fā)模式2.1.1軟件產(chǎn)品的組成1、軟件產(chǎn)品需要各種開發(fā)投入圖1-5獲得軟件產(chǎn)品的工作示意圖產(chǎn)品說明書、產(chǎn)品審查、設(shè)計(jì)文檔、進(jìn)度計(jì)劃、上一版本信息反饋、商業(yè)競爭對手的同類軟件產(chǎn)品情況、客戶調(diào)查、易用性數(shù)據(jù)、觀察與感受說明書開發(fā)過程2.1.1軟件產(chǎn)品的組成2、客戶需求
客戶需求包括對客戶調(diào)查所收集的詳細(xì)信息、以前軟件的使用情況及存在的問題、競爭對手的軟件產(chǎn)品信息等等。通過分析客戶需求,可以確定將要開發(fā)的軟件產(chǎn)品應(yīng)該具有哪些功能。3、產(chǎn)品說明
產(chǎn)品說明書的作用就是對客戶需求信息進(jìn)行綜合描述,并包括用戶沒有提出、但軟件產(chǎn)品本身必須要實(shí)現(xiàn)的要求,從而針對產(chǎn)品進(jìn)行定義并確定其功能。2.1.1軟件產(chǎn)品的組成4、設(shè)計(jì)文檔構(gòu)架。即產(chǎn)生描述軟件整體設(shè)計(jì)的文檔,包括軟件所有主要部分的描述以及相互間的交互方式。數(shù)據(jù)流示意圖。表示數(shù)據(jù)在程序中如何流動(dòng)的正規(guī)示意圖。通常由圓圈和線條組成,所以也稱為泡泡圖。狀態(tài)變化示意圖。將軟件分解為基本狀態(tài)或者條件的另一種正規(guī)示意圖,表示不同狀態(tài)之間的變化的方式。流程圖。用圖形描述程序邏輯的最常用方式之一。根據(jù)詳細(xì)的流程圖編寫程序代碼簡單方便。注釋代碼。代碼注釋是便于維護(hù)代碼的程序員掌握代碼的內(nèi)容和執(zhí)行方式。2.1.1軟件產(chǎn)品的組成5、測試文檔一般測試文檔所包含的內(nèi)容:測試計(jì)劃。描述用于驗(yàn)證軟件是否符合產(chǎn)品說明書和客戶需求的整體方案。測試用例。依據(jù)測試的項(xiàng)目,并描述驗(yàn)證軟件的詳細(xì)步驟。軟件測試報(bào)告。描述依據(jù)測試用例找出的問題,通常提交測試報(bào)告。歸納、統(tǒng)計(jì)和總結(jié)。采用圖表、表格和報(bào)告等形式來描述整個(gè)測試過程。
2.1.1軟件產(chǎn)品的組成6、開發(fā)進(jìn)度表軟件項(xiàng)目的開發(fā)進(jìn)度通常使用Gantt圖表來進(jìn)行描述。7、軟件產(chǎn)品組成部分(1)程序代碼(2)幫助文件(3)用戶手冊(4)樣本和示例(5)標(biāo)簽(6)產(chǎn)品支持信息(7)圖表和標(biāo)志(8)錯(cuò)誤信息(9)廣告與宣傳材料(10)軟件的安裝(11)軟件說明文件(12)測試錯(cuò)誤提示信息
2.1.2軟件開發(fā)項(xiàng)目組項(xiàng)目管理經(jīng)理:全程負(fù)責(zé)整個(gè)軟件項(xiàng)目的開發(fā)。
系統(tǒng)設(shè)計(jì)師:設(shè)計(jì)整個(gè)系統(tǒng)構(gòu)架或軟件構(gòu)思。
程序員:負(fù)責(zé)設(shè)計(jì)、編寫程序,并修改軟件中的缺陷。
軟件測試員/測試師:負(fù)責(zé)找出并報(bào)告軟件產(chǎn)品的問題,與開發(fā)組密切合作,進(jìn)行測試并報(bào)告發(fā)現(xiàn)的問題。
技術(shù)制作、用戶助手、用戶培訓(xùn)員、手冊編寫和文件檔案專員:負(fù)責(zé)編寫軟件產(chǎn)品附帶的文件和聯(lián)機(jī)文檔。結(jié)構(gòu)管理和制作人員:負(fù)責(zé)將程序員編寫的全部文檔資料合并成一個(gè)軟件包。2.1.3軟件開發(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.1.3軟件開發(fā)模式2.1.3軟件開發(fā)模式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ù)的過程。2.1.3軟件開發(fā)模式2、邊寫邊改法開發(fā)模式產(chǎn)品說明書代碼編制、測試、修復(fù)最終產(chǎn)品圖2-6邊寫邊改開發(fā)模式2.1.3軟件開發(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)行評審與測試。缺點(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)評估;開發(fā)中出現(xiàn)的問題直到開發(fā)后期才能夠顯露,因此失去及早糾正的機(jī)會(huì)。2.1.3軟件開發(fā)模式問題定義分析研究需求分析軟件設(shè)計(jì)編碼測試維護(hù)定義階段開發(fā)階段維護(hù)階段圖2-7瀑布開發(fā)模式2.1.3軟件開發(fā)模式4、快速原型法
根據(jù)客戶需求在較短的時(shí)間內(nèi)解決用戶最迫切解決的問題,完成可演示的產(chǎn)品。這個(gè)產(chǎn)品只實(shí)現(xiàn)最重要功能,在得到用戶的更加明確的需求之后,原型將丟棄。需求分析原型開發(fā)原型評價(jià)最終設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)用戶反饋圖2-8快速原型開發(fā)模式2.1.3軟件開發(fā)模式5、螺旋模式法螺旋模式是瀑布模式與邊寫邊改演化模式相結(jié)合,并加入風(fēng)險(xiǎn)評估所建立的軟件開發(fā)模式。
主要思想是在開始時(shí)不必詳細(xì)定義所有細(xì)節(jié),而是從小開始,定義重要功能,盡量實(shí)現(xiàn),接受客戶反饋,進(jìn)入下一階段,并重復(fù)上述過程,直到獲得最終產(chǎn)品。
每一螺旋(開發(fā)階段)包括5個(gè)步驟:①確定目標(biāo),選擇方案和限制條件。②對方案風(fēng)險(xiǎn)進(jìn)行評估,并能解決風(fēng)險(xiǎn)。③進(jìn)行本階段的開發(fā)和測試。④計(jì)劃下一階段。⑤確定進(jìn)入下階段的方法。優(yōu)點(diǎn):嚴(yán)格的全過程風(fēng)險(xiǎn)管理;強(qiáng)調(diào)各開發(fā)階段的質(zhì)量;提供機(jī)會(huì)評估項(xiàng)目是否有價(jià)值繼續(xù)下去。2.1.3軟件開發(fā)模式圖1-9螺旋開發(fā)模式詳細(xì)設(shè)計(jì)風(fēng)險(xiǎn)分析評估方案累計(jì)成本提交線制定計(jì)劃原型1原型2原型3可運(yùn)行原型風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析需求計(jì)劃開發(fā)計(jì)劃集成與測試軟件需求軟件產(chǎn)品設(shè)計(jì)需求確定設(shè)計(jì)確定實(shí)現(xiàn)編碼單元測試集成測試驗(yàn)收測試2.2軟件開發(fā)與測試的關(guān)系1、測試與開發(fā)各階段的關(guān)系圖1-10
軟件測試與軟件開發(fā)過程的關(guān)系需求分析說明書詳細(xì)設(shè)計(jì)說明書源程序代碼單元測試集成測試確認(rèn)測試概要設(shè)計(jì)說明書2.2軟件開發(fā)與測試的關(guān)系測試在開發(fā)階段的作用:項(xiàng)目規(guī)劃階段:負(fù)責(zé)從單元測試到系統(tǒng)測試的整個(gè)測試階段的監(jiān)控。需求分析階段:確定測試需求分析、系統(tǒng)測試計(jì)劃的制定,評審后成為管理項(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.2軟件開發(fā)與測試的關(guān)系圖1-11軟件測試與軟件開發(fā)的并行性需求分析需求評審概要設(shè)計(jì)詳細(xì)設(shè)計(jì)概要設(shè)計(jì)評審單元測試編碼設(shè)計(jì)走查編碼走查各子模塊有效性測試集成測試測試計(jì)劃測試過程測試評審…………**項(xiàng)目階段任務(wù)的里程碑********2、測試與開發(fā)的并行性2.2軟件開發(fā)與測試的關(guān)系圖1-12完整的開發(fā)流程項(xiàng)目規(guī)劃項(xiàng)目需求分析項(xiàng)目概要分析項(xiàng)目詳細(xì)分析代碼編寫測試代碼編寫測試需求分析系統(tǒng)測試計(jì)劃集成測試計(jì)劃單元測試計(jì)劃產(chǎn)品發(fā)布系統(tǒng)測試集成測試單元測試3、完整的軟件開發(fā)流程2.2軟件開發(fā)與測試的關(guān)系在公司中測試與開發(fā)的關(guān)系測試工作流程測試計(jì)劃測試設(shè)計(jì)測試執(zhí)行測試記錄測試總結(jié)分析完畢測試執(zhí)行YNYN開始(立項(xiàng))針對測試目標(biāo),規(guī)定測試任務(wù)、資源分配、人員角色、進(jìn)度安排等。根據(jù)測試計(jì)劃,設(shè)計(jì)測試用例,包括:測試步驟、測試場景、測試代碼、測試數(shù)據(jù)(包括預(yù)期結(jié)果)。根據(jù)測試計(jì)劃,配置測試環(huán)境,并手動(dòng)或者自動(dòng)執(zhí)行測試設(shè)計(jì)。記錄、分發(fā)、評估、關(guān)閉缺陷報(bào)告。分析測試過程和缺陷報(bào)告,評估測試質(zhì)量和測試效果,給出是否通過測試的建議。檢查測試設(shè)計(jì)是否全部執(zhí)行完畢,缺陷是否全部關(guān)閉。分析測試記錄,如果發(fā)現(xiàn)與預(yù)期結(jié)果不同,確定并重現(xiàn)缺陷。根據(jù)測試計(jì)劃,忠實(shí)地記錄測試執(zhí)行的過程和結(jié)果。2.3軟件測試過程2.3.1測試設(shè)計(jì)階段2.3.2測試執(zhí)行過程2.3.1測試設(shè)計(jì)階段1、制定計(jì)劃本階段的主要工作內(nèi)容
——對需求規(guī)格說明書的仔細(xì)研究
——將要測試的產(chǎn)品分解成可獨(dú)立測試的單元
——為每個(gè)測試單元確定采用的測試技術(shù)
——為測試的下一個(gè)階段及其活動(dòng)制定計(jì)劃制定計(jì)劃包括:(1)概要測試計(jì)劃(2)詳細(xì)測試計(jì)劃2.3.1測試設(shè)計(jì)階段2、測試用例
測試大綱是軟件測試的依據(jù),包括測試項(xiàng)目、測試步驟、測試完成的標(biāo)準(zhǔn)。測試大綱的本質(zhì)
——從測試的角度對被測對象的功能和各種特性的細(xì)化和展開。測試大綱的好處
——保證測試功能不被遺漏,也不被重復(fù)測試
——合理安排測試人員
——使得軟件測試不依賴于個(gè)人2.3.1測試設(shè)計(jì)階段3、軟件測試報(bào)告軟件測試報(bào)告是軟件測試過程中最重要的文檔,它的內(nèi)容包括:記錄問題發(fā)生的環(huán)境
——如:各種資源的配置情況記錄問題的再現(xiàn)步驟記錄問題性質(zhì)的說明記錄問題的處理進(jìn)程
——問題處理進(jìn)程從一定角度上反映測試的進(jìn)程和被測軟件的質(zhì)量狀況以及改善過程。2.3.2測試執(zhí)行過程1、測試執(zhí)行過程的三個(gè)階段(1)初測期
——測試主要功能和關(guān)鍵的執(zhí)行路徑,排除主要障礙。(2)細(xì)測期
——依據(jù)測試計(jì)劃和測試大綱、測試用例,逐一測試大大小小的功能、方方面面的特性、性能、用戶界面、兼容性、可用性等等;預(yù)期可發(fā)現(xiàn)大量不同性質(zhì)、不同嚴(yán)重程度的錯(cuò)誤和問題。(3)回歸測試期
——系統(tǒng)已達(dá)到穩(wěn)定,在一輪測試中發(fā)現(xiàn)的錯(cuò)誤已十分有限;復(fù)查已知錯(cuò)誤的糾正情況,確認(rèn)未引發(fā)任何新的錯(cuò)誤時(shí),終結(jié)回歸測試。2.3.2測試執(zhí)行過程初測期功能凍結(jié)代碼凍結(jié)回歸測試期細(xì)測期02040608010012014016012345678910111213141516171819出錯(cuò)數(shù)時(shí)間圖1-13三個(gè)測試期階段圖示2.3.2測試執(zhí)行過程2、集成測試過程中的兩個(gè)重要里程碑在集成測試過程中的兩個(gè)重要的里程碑是功能凍結(jié)和代碼凍結(jié)的確定。這兩個(gè)里程碑界定出回歸測試期的起止界限。功能凍結(jié)(Function/FeatureFreeze)——經(jīng)過測試,符合設(shè)計(jì)要求,確認(rèn)系統(tǒng)功能和其他特性均不再做任何改變。代碼凍結(jié)(CodeFreeze)——理論上,在無錯(cuò)誤時(shí)凍結(jié)程序代碼,但實(shí)際上,代碼凍結(jié)只標(biāo)志系統(tǒng)的當(dāng)前版本的質(zhì)量已達(dá)到預(yù)期的要求,凍結(jié)程序的源代碼,不再對其做任何修改。這個(gè)里程碑是設(shè)置在軟件通過最終回歸測試之后。2.4軟件測試過程模型V模型W模型X模型H模型前置模型2.4軟件測試過程模型1、V模型2.4軟件測試過程模型1、V模型V模型中的過程從左到右,描述了基本的開發(fā)過程和測試行為。V模型的價(jià)值在于它非常明確地標(biāo)明了測試過程中存在的不同級別,并且清楚地描述了這些測試階段和開發(fā)過程期間各階段的對應(yīng)關(guān)系。局限性:把測試作為編碼之后的最后一個(gè)活動(dòng),需求分析等前期產(chǎn)生的錯(cuò)誤直到后期的驗(yàn)收測試才能發(fā)現(xiàn).該模型容易使人理解主要是針對程序進(jìn)行測試尋找錯(cuò)誤—主要應(yīng)用在快速的軟件開發(fā)。2.4軟件測試過程模型2、W模型2.4軟件測試過程模型2、W模型V模型的局限性在于沒有明確地說明早期的測試,無法體現(xiàn)“盡早地和不斷地進(jìn)行軟件測試”的原則。在V模型中增加軟件各開發(fā)階段應(yīng)同步進(jìn)行的測試,演化為W模型。開發(fā)是“V”,測試是與此并行的“V”。相對于V模型,W模型更科學(xué)。W模型是V模型的發(fā)展,強(qiáng)調(diào)的是測試伴隨著整個(gè)軟件開發(fā)周期,而且測試的對象不僅僅是程序,需求、功能和設(shè)計(jì)同樣要測試。測試與開發(fā)是同步進(jìn)行的,從而有利于盡早地發(fā)現(xiàn)問題。2.4軟件測試過程模型2、W模型
W模型也有局限性。W模型和V模型都把軟件的開發(fā)視為需求、設(shè)計(jì)、編碼等一系列串行的活動(dòng),無法支持迭代、自發(fā)性以及變更調(diào)整?!饕獞?yīng)用在一些中型軟件并且業(yè)務(wù)邏輯關(guān)聯(lián)非常緊密的項(xiàng)目中。2.4軟件測試過程模型3、H模型測試準(zhǔn)備測試就緒點(diǎn)測試執(zhí)行測試流程其他流程(如設(shè)計(jì)流程、SQA流程)H模型中,軟件測試過程活動(dòng)完全獨(dú)立,貫穿于整個(gè)產(chǎn)品的周期,與其他流程并發(fā)地進(jìn)行,某個(gè)測試點(diǎn)準(zhǔn)備就緒時(shí),就可以從測試準(zhǔn)備階段進(jìn)行到測試執(zhí)行階段。軟件測試可以盡早的進(jìn)行,并且可以根據(jù)被測物的不同而分層次進(jìn)行。2.4軟件測試過程模型3、H模型 H模型揭示了一個(gè)原理:
軟件測試是一個(gè)獨(dú)立的流程,貫穿產(chǎn)品整個(gè)生命周期,與其他流程并發(fā)地進(jìn)行。 H模型指出軟件測試要盡早準(zhǔn)備,盡早執(zhí)行。不同的測試活動(dòng)可以是按照某個(gè)次序先后進(jìn)行的,但也可能是反復(fù)的,只要某個(gè)測試達(dá)到準(zhǔn)備就緒點(diǎn),測試執(zhí)行活動(dòng)就可以開展2.4軟件測試過程模型4、X模型
很好地處理測試與開發(fā)的交接過程(交接的過程是一個(gè)時(shí)間段,而不是一個(gè)點(diǎn))
左邊描述的是針對單獨(dú)程序片段所進(jìn)行的相互分離的編碼和測試,此后將進(jìn)行頻繁的交接,通過集成最終合成為可執(zhí)行的程序,然后再對這些可執(zhí)行程序進(jìn)行測試。
己通過集成測試的成品可以進(jìn)行封裝并提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。多根并行的曲線表示變更可以在各個(gè)部分發(fā)生。 X模型還定位了探索性測試,這是不進(jìn)行事先計(jì)劃的特殊類型的測試,給有經(jīng)驗(yàn)的測試人員在測試計(jì)劃之外發(fā)現(xiàn)更多的軟件缺陷。2.4軟件測試過程模型5、前置測試模型2.4軟件測試過程模型前置測試模型要點(diǎn)(一)開發(fā)和測試相結(jié)合
前置機(jī)測試模型將開發(fā)和測試的生命周
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車制造碳資產(chǎn)管理辦法
- 河邊步道鋪設(shè)合同樣本
- 體育設(shè)施轉(zhuǎn)租協(xié)議
- 航空航天供貨施工合同
- 離婚協(xié)議書編寫格式
- 智能化項(xiàng)目建造師聘用
- 醫(yī)院真石漆噴涂合同
- 苗木種植技術(shù)合作研發(fā)合同
- 造林綠化合同模板
- 通信行業(yè)工作人員證件管理辦法
- 可隨意編輯【封面+自薦信+簡歷】百年樹人寓意求職個(gè)人簡歷
- 中國審美文化史第四講唐代課件
- 中醫(yī)經(jīng)穴推拿模板課件
- 《三只小豬的真實(shí)故事》課件
- 遼寧省火力發(fā)電企業(yè)名錄2017年158家
- “美麗醫(yī)院”建設(shè)工作匯報(bào)材料
- 鉆孔灌注樁鉆進(jìn)成孔原始記錄表
- 中石油氣集團(tuán)公司 會(huì)計(jì)核算辦法
- 小學(xué)綜合實(shí)踐二年級上冊第1單元《主題活動(dòng)一:交通標(biāo)志我會(huì)認(rèn)》教案
- 壓力是否有利于成長辯論稿
- 思想道德與法治教案第四章:明確價(jià)值要求踐行價(jià)值準(zhǔn)則
評論
0/150
提交評論