版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2章 軟件測試模型與過程第第2章章 軟件測試模型與過程軟件測試模型與過程2.1 軟件測試模型軟件測試模型 2.2 軟件測試過程軟件測試過程 2.3 本章小結(jié)本章小結(jié) 第2章 軟件測試模型與過程2.1.1 V模型模型在傳統(tǒng)的瀑布型軟件開發(fā)過程中,僅僅將測試過程作為需求分析、設(shè)計、實現(xiàn)后的一個階段,對軟件測試過程沒有進(jìn)一步的描述。V模型針對瀑布模型對軟件測試過程進(jìn)行了補充和完善。V模型最早是由已故的Paul Rook在20世紀(jì)80年代后期提出的,旨在改進(jìn)軟件開發(fā)的效率和效果。在該模型中,測試過程被加在開發(fā)過程的后半部分,如圖2-1-1所示。V模型反映出了測試活動與分析設(shè)計活動的關(guān)系。從左到右描述
2、了基本的開發(fā)過程和測試行為,非常明確地標(biāo)注了測試過程中存在的不同類型的測試,并且清楚地描述了這些測試階段和開發(fā)過程期間各階段的對應(yīng)關(guān)系。 2.1 軟件測試模型軟件測試模型第2章 軟件測試模型與過程圖2-1-1 V模型示意圖 第2章 軟件測試模型與過程在V模型中的測試執(zhí)行階段一側(cè),先進(jìn)行單元測試,然后進(jìn)行集成測試、系統(tǒng)測試,最后進(jìn)行驗收測試,這些測試形成了軟件測試的不同層次(級別),并與開發(fā)過程的相應(yīng)階段對應(yīng)。各級測試的目的主要有:(1) 單元測試:檢測最小的軟件設(shè)計單元模塊是否符合詳細(xì)設(shè)計的要求,是否存在編碼錯誤等,確保產(chǎn)生符合要求的、運行可靠的程序單元。單元測試是最低層次的測試,但卻是最有效
3、的測試,在性能價格比上最優(yōu)。 第2章 軟件測試模型與過程(2) 集成測試:檢測此前已經(jīng)測試過的各個模塊(單元)是否能夠完好地結(jié)合在一起,是否在接口等方面存在錯誤,確保各單元(模塊)以正確、穩(wěn)定和一致的方式進(jìn)行交互。(3) 系統(tǒng)測試:檢測已集成在一起的產(chǎn)品是否符合需求規(guī)格說明書的要求。主要驗證系統(tǒng)的功能性需求和非功能性需求,為下一階段的驗收測試奠定基礎(chǔ)。(4) 驗收測試:檢測產(chǎn)品是否符合最終用戶的要求,并在軟件正式交貨前確保系統(tǒng)能正常工作且可用。 第2章 軟件測試模型與過程簡單地說,單元測試和集成測試主要檢測程序的執(zhí)行是否滿足軟件設(shè)計的要求;系統(tǒng)測試應(yīng)檢測系統(tǒng)功能、性能的質(zhì)量特性是否達(dá)到系統(tǒng)要求
4、的指標(biāo);驗收測試確定軟件的實現(xiàn)是否滿足用戶需要或合同的要求。對于V模型中的測試設(shè)計沒有明確說明,僅強調(diào)每個開發(fā)階段有一個與之相關(guān)的測試級別,測試設(shè)計應(yīng)該在各級別測試之前進(jìn)行。在實際操作中,需求分析階段文檔通過評審后就要進(jìn)行驗收測試和系統(tǒng)測試的用例設(shè)計,同樣在概要設(shè)計通過評審后進(jìn)行集成測試設(shè)計。 第2章 軟件測試模型與過程但V模型存在一定的局限性,它僅僅把測試作為在編碼之后的一個階段,是針對程序進(jìn)行的尋找錯誤的活動,而忽視了測試活動對需求分析、系統(tǒng)設(shè)計等活動的驗證和確認(rèn)。主要不足有:(1) 軟件測試執(zhí)行是在編碼實現(xiàn)后才進(jìn)行,容易導(dǎo)致從需求、設(shè)計等階段隱藏的缺陷一直到驗收測試才被發(fā)現(xiàn),圖1-1-1
5、的統(tǒng)計數(shù)據(jù)表明,這將導(dǎo)致發(fā)現(xiàn)和消除這些缺陷的代價非常高。(2) 將開發(fā)和測試過程劃分為固定邊界的不同階段,使得相關(guān)人員很難跨過這些邊界來采集測試所需要的信息。(3) 容易讓人形成“測試是開發(fā)之后的一個階段”、“測試的對象就是程序”等誤解。 第2章 軟件測試模型與過程2.1.2 W模型模型在V模型中,軟件測試執(zhí)行是在編碼實現(xiàn)后才進(jìn)行,容易導(dǎo)致從需求、設(shè)計等階段隱藏的缺陷一直到驗收測試才被發(fā)現(xiàn)。由于軟件缺陷的發(fā)現(xiàn)和解決的成本具有放大性,如在需求階段遺留的缺陷在產(chǎn)品交付后才發(fā)現(xiàn)和解決,其代價是在需求階段發(fā)現(xiàn)和解決代價的401000倍。因此,軟件測試工作越早進(jìn)行,其發(fā)現(xiàn)和解決錯誤的代價越小,風(fēng)險也越小
6、。根據(jù)這個觀點,Systeme Evolutif公司在V模型基礎(chǔ)上提出了W模型,如圖2-1-2所示。 第2章 軟件測試模型與過程在該模型中,W模型是由兩個“V”重疊而成。其中一個表示開發(fā)過程,另外一個表示測試過程。軟件測試中的各項活動與開發(fā)過程各個階段的活動相對應(yīng)。軟件開發(fā)過程中各階段性可交付產(chǎn)品(文檔、代碼和可執(zhí)行程序等)都要進(jìn)行測試,以盡可能將各階段產(chǎn)生的缺陷在該階段發(fā)現(xiàn)和消除。第2章 軟件測試模型與過程圖2-1-2 W模型 第2章 軟件測試模型與過程按照W模型進(jìn)行的軟件測試實際上是對軟件開發(fā)過程中各個階段的可交付產(chǎn)品(即輸出)的驗證和確認(rèn)活動。在開發(fā)過程中的各個階段,需要進(jìn)行需求評審、概
7、要設(shè)計評審、詳細(xì)設(shè)計評審,并完成相對應(yīng)的驗收測試、系統(tǒng)測試、集成測試和單元測試等工作。W模型使我們樹立了一種新的觀點,即軟件測試并不等于程序的測試,不應(yīng)僅僅局限于程序測試的狹小范圍內(nèi),而應(yīng)貫穿于整個軟件開發(fā)周期。因此,需求階段、設(shè)計階段和程序?qū)崿F(xiàn)等各個階段所得到的文檔,如需求規(guī)格說明書、系統(tǒng)架構(gòu)設(shè)計書、概要設(shè)計書、詳細(xì)設(shè)計書、源代碼等都應(yīng)成為測試的對象。也就是說,測試與開發(fā)是同步進(jìn)行的。W模型有利于盡早地、全面地發(fā)現(xiàn)問題。例如,需求分析完成后,測試人員就應(yīng)該參與到對需求的驗證和確認(rèn)活動中,以盡早地找出需求方面的缺陷。同時,對需求的測試也有利于及時了解項目難度和測試風(fēng)險,及早制定應(yīng)對措施,這將顯
8、著減少總體測試時間,加快項目進(jìn)度。 第2章 軟件測試模型與過程但W模型也存在局限性。在W模型中,需求、設(shè)計、編碼等活動被視為串行的,同時,測試和開發(fā)活動也保持著一種線性的前后關(guān)系,上一階段完全結(jié)束,才可正式開始下一階段工作。這樣就無法支持迭代的開發(fā)模型。對于當(dāng)前軟件開發(fā)復(fù)雜多變的情況,W模型并不能解除測試管理面臨的困惑。 第2章 軟件測試模型與過程2.1.3 X模型模型X模型的基本思想是由Marick提出的,Robin F.Goldsmith采用了Marick的部分想法并經(jīng)過重新組織,形成了X模型。該模型并不是為了和V模型相對應(yīng)而選擇該名稱,而是X通常代表未知。X模型如圖2-1-3所示。 第2
9、章 軟件測試模型與過程圖2-1-3 X模型 第2章 軟件測試模型與過程Marick對V模型的最主要批評是V模型無法引導(dǎo)項目的全部過程,他認(rèn)為一個模型必須能處理開發(fā)的所有方面,包括交接、頻繁重復(fù)的集成以及需求文檔的缺乏等等。X模型的目標(biāo)是彌補V模型的一些缺陷。X模型的左邊描述的是針對單獨程序片段所進(jìn)行的相互分離的編碼和測試,此后將進(jìn)行頻繁的交接,通過集成最終合成為可執(zhí)行的程序。圖中右上半部這些可執(zhí)行程序還需要進(jìn)行測試,已通過集成測試的成品若達(dá)到發(fā)布標(biāo)準(zhǔn),則可提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。多條并行的曲線表示軟件變更可以在各個部分發(fā)生。在圖中右下方,X模型還定位了探索性測試,這
10、是不進(jìn)行事先計劃的特殊類型的測試,這種探索性測試往往能幫助有經(jīng)驗的測試人員在測試計劃之外發(fā)現(xiàn)更多的軟件錯誤。 第2章 軟件測試模型與過程2.1.4 H模型模型V模型和W模型均存在一些不足之處,如它們都把軟件的開發(fā)視為需求、設(shè)計、編碼等一系列串行的活動,而事實上,這些活動在大部分時間內(nèi)是可以交叉進(jìn)行的,所以相應(yīng)的測試層次之間也不存在嚴(yán)格的次序關(guān)系。同時各層次的測試(單元測試、集成測試、系統(tǒng)測試等)也存在反復(fù)觸發(fā)、迭代的關(guān)系。為了解決以上問題,有專家提出了H模型,如圖2-1-4所示。它將測試活動完全獨立出來,形成了一個完全獨立的流程,將測試準(zhǔn)備活動和測試執(zhí)行活動清晰地體現(xiàn)出來。 第2章 軟件測試模
11、型與過程圖2-1-4 H模型 第2章 軟件測試模型與過程圖2-1-4演示了在整個生產(chǎn)周期中某個層次上的一次測試“微循環(huán)”。圖中的其他流程圖可以是任意開發(fā)流程,例如設(shè)計流程和編碼流程;也可以是其他非核心開發(fā)流程,例如SQA流程,甚至是測試流程本身。由H模型可知:(1) 軟件測試不僅僅指測試的執(zhí)行,還包括很多其他的活動。(2) 軟件測試是一個獨立的流程,貫穿于產(chǎn)品整個生命周期,與其他流程并發(fā)地進(jìn)行。(3) 軟件測試要盡早準(zhǔn)備,盡早執(zhí)行。(4) 軟件測試是根據(jù)被測件的不同而分層次進(jìn)行的。不同層次的測試活動可以是按照某個次序先后進(jìn)行的,但也可能是反復(fù)的。 第2章 軟件測試模型與過程2.2 軟件測試過程
12、軟件測試過程在軟件測試過程中,沒有最好的過程可以遵循,但可以選擇通過實踐檢驗證明是最佳的測試過程。掌握并應(yīng)用測試過程可以帶來以下益處:(1) 測試的一致性。有了規(guī)范的過程,可以以一致的方式從一個測試過渡到下一個測試。過程的運用有效減少了測試活動的不確定性。(2) 可持續(xù)改進(jìn)測試過程。在過程實施過程中,通過過程數(shù)據(jù)的收集、分析與處理,可以發(fā)現(xiàn)過程的優(yōu)缺點。一旦發(fā)現(xiàn)了過程的不足和缺點,就可以持續(xù)改進(jìn)測試過程。 第2章 軟件測試模型與過程(3) 便于管理。測試經(jīng)理可以通過測試過程進(jìn)行有效管理。從控制的角度來看,管理一個過程比管理一個人要簡單得多。為提高測試效率,降低測試成本,測試過程和軟件開發(fā)過程都
13、應(yīng)貫穿軟件過程的整個生命周期,它們是應(yīng)相輔相成和相互依賴的。(1) 測試過程和開發(fā)過程應(yīng)保持同步關(guān)系。如在做系統(tǒng)分析、產(chǎn)品功能設(shè)計的同時,測試工程師就可以閱讀、評審需求規(guī)格說明書,從而了解產(chǎn)品的設(shè)計特性、用戶的需求,確定測試目標(biāo),開始撰寫系統(tǒng)測試計劃和設(shè)計測試用例等工作。 第2章 軟件測試模型與過程(2) 測試過程是對軟件開發(fā)過程中階段性成果和最終的產(chǎn)品進(jìn)行驗證和確認(rèn)的過程,二者是相互依賴的。在開發(fā)前期,測試過程更多依賴于開發(fā)過程;在開發(fā)后期,開發(fā)過程更多依賴于測試過程。(3) 測試工作的重點和軟件開發(fā)工作的重點可能不一樣,因此在資源分配、風(fēng)險管理等上應(yīng)采取不同的策略,但二者的目標(biāo)都是開發(fā)客戶
14、滿意的高質(zhì)量產(chǎn)品。二者的差異以人力資源配置為例:在開發(fā)前期投入的開發(fā)工程師較多,在編程階段達(dá)到高峰,然后逐漸減少。而測試工程師在前期投入相對較少,但在開發(fā)后期投入的資源較多。若采用自動化測試,等到所有測試腳本完成后投入的測試工程師將逐漸減少。 第2章 軟件測試模型與過程在系統(tǒng)測試階段,軟件開發(fā)項目與測試之間的主要交互主要出現(xiàn)在被測件被提交給測試小組進(jìn)行測試時。若缺乏系統(tǒng)測試計劃,將經(jīng)常看到這個關(guān)鍵的交接點變成混亂的現(xiàn)象。如每當(dāng)開發(fā)組的任何一個成員修復(fù)了一個缺陷,軟件開發(fā)經(jīng)理就將被測件的新版本發(fā)送給整個開發(fā)部和測試小組,這樣的話,測試組在一天之內(nèi)將收到很多測試版本。為規(guī)范測試版本的管理和提高測試
15、效率,采用多個測試循環(huán)來組成某個階段的系統(tǒng)測試,如圖2-2-1所示,也即每隔一定周期發(fā)布一個新的軟件版本。任何特定的測試階段都至少包含一個測試循環(huán),測試循環(huán)的周期與軟件規(guī)模大小、測試過程和測試自動化水平等有關(guān),如可采取13周為一次循環(huán)。 第2章 軟件測試模型與過程圖2-2-1 測試循環(huán) 第2章 軟件測試模型與過程2.3 本本 章章 小小 結(jié)結(jié)本章介紹的模型對指導(dǎo)測試工作具有重要的意義,但任何模型都不是完美的,應(yīng)盡可能地去應(yīng)用模型中對項目有實用價值的方面,不能為使用模型而使用模型,否則就沒有了實際意義。在這些模型中,V模型強調(diào)了在整個軟件項目開發(fā)中需要經(jīng)歷的若干個測試級別,而且每一個級別都與一個開發(fā)級別相對應(yīng),但它忽略了測試的對象不應(yīng)該僅僅包括程序,或者說它沒有明確地指出應(yīng)該對軟件的需求、設(shè)計等進(jìn)行測試,而這一點在W模型中得到了補充和完善。W模型強調(diào)了測試計劃等工作的先行和對系統(tǒng)需求和系統(tǒng)設(shè)計的測試,但W模型和V模型一樣也沒有專門針對軟件測試的流程予以說明,如第三方測試就包含了從測試計劃和測試用例編寫到測試實施以及測
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026中國建筑一局(集團(tuán))有限公司華中分局投資專員招聘1人考試參考試題及答案解析
- 2026 廣東胥江文旅控股有限公司及下屬企業(yè)(佛山胥江投資管理有限公司和佛山胥江煙花有限公司)招聘7人考試備考題庫及答案解析
- 2026江西吉安市吉水縣旅游開發(fā)投資有限公司招聘場館營業(yè)員2人考試備考試題及答案解析
- 2026衢州江山市文旅投資集團(tuán)有限公司招聘勞務(wù)派遣人員3人考試參考題庫及答案解析
- 2026江蘇連云港市東海縣衛(wèi)生健康委員會所屬事業(yè)單位赴高校招聘編制內(nèi)高層次衛(wèi)生專業(yè)技術(shù)人員29人考試參考題庫及答案解析
- 2026廣西北海市老干部活動中心(北海市老年大學(xué))招錄公益性崗位人員4人考試備考試題及答案解析
- 2026江蘇常州經(jīng)濟(jì)開發(fā)區(qū)招聘協(xié)管員、司法輔警7人考試備考試題及答案解析
- 2026國家國防科技工業(yè)局所屬事業(yè)單位第一批招聘62人考試參考試題及答案解析
- 2026年1月廣東廣州市天河區(qū)四季幼兒園招聘編外教職工3人考試備考試題及答案解析
- 2026年保山市圖書館城鎮(zhèn)公益性崗位招聘(8人)考試參考試題及答案解析
- 2023-2024學(xué)年北京市海淀區(qū)清華附中八年級(上)期末數(shù)學(xué)試卷(含解析)
- 臨終決策中的醫(yī)患共同決策模式
- 2025年貴州省輔警考試真題附答案解析
- 2026年包頭輕工職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫及答案詳解
- 草原補償協(xié)議書
- 防護(hù)網(wǎng)施工專項方案
- 九年級物理 2025-2026學(xué)年九年級上學(xué)期期末物理試題及答案 2025-2026學(xué)年度上學(xué)期期末教學(xué)質(zhì)量測查九年級物理試卷
- 2026年及未來5年市場數(shù)據(jù)中國聚甲醛市場運行態(tài)勢及行業(yè)發(fā)展前景預(yù)測報告
- 北京市西城區(qū)2024-2025學(xué)年七年級上學(xué)期期末語文試題及答案
- 江蘇省2025年普通高中學(xué)業(yè)水平合格性考試試卷英語試卷(含答案詳解)
- TCFLP0030-2021國有企業(yè)網(wǎng)上商城采購交易操作規(guī)范
評論
0/150
提交評論