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

下載本文檔

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

文檔簡介

1、Add Your Company Slogan上一章內(nèi)容回顧上一章內(nèi)容回顧軟件測試概述軟件測試概述軟件測試的概念、目的、意義軟件質(zhì)量保證同軟件測試的區(qū)別軟件測試原則軟件測試行業(yè)概述軟件測試行業(yè)概述軟件測試工程師要求軟件測試工程師要求微軟公司軟件測試簡介微軟公司軟件測試簡介本章內(nèi)容本章內(nèi)容軟件工程軟件工程軟件開發(fā)生命周期模型軟件開發(fā)生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用內(nèi)容進(jìn)度內(nèi)容進(jìn)度軟件工程軟件工程軟件開發(fā)生命周期模型軟件開發(fā)生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求

2、概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用編程大師的話編程大師的話編程編程大師大師說:說:“任何一個(gè)程序,無論它多么小,總存在著錯(cuò)誤。任何一個(gè)程序,無論它多么小,總存在著錯(cuò)誤?!背鯇W(xué)者不相信大師的話,他問:初學(xué)者不相信大師的話,他問:“如果一個(gè)程序小得只執(zhí)行一個(gè)簡單如果一個(gè)程序小得只執(zhí)行一個(gè)簡單的功能,那會(huì)怎樣?的功能,那會(huì)怎樣?”“這樣的一個(gè)程序沒有意義,這樣的一個(gè)程序沒有意義,”大師大師說,說,“但如果這樣的程序存在的但如果這樣的程序存在的話,操作系統(tǒng)最后將失效,產(chǎn)生一個(gè)錯(cuò)誤。話,操作系統(tǒng)最后將失效,產(chǎn)生一個(gè)錯(cuò)誤。”但初學(xué)者不滿足,他問:但初學(xué)者不滿足,他

3、問:“如果操作系統(tǒng)不失效,那么會(huì)怎樣?如果操作系統(tǒng)不失效,那么會(huì)怎樣?”“沒有不失效的操作系統(tǒng),沒有不失效的操作系統(tǒng),”大師大師說,說,“但如果這樣的操作系統(tǒng)存在但如果這樣的操作系統(tǒng)存在的話,硬件最后將失效,產(chǎn)生一個(gè)錯(cuò)誤。的話,硬件最后將失效,產(chǎn)生一個(gè)錯(cuò)誤?!背鯇W(xué)者仍不滿足,再問:初學(xué)者仍不滿足,再問:“如果硬件不失效,那么會(huì)怎樣?如果硬件不失效,那么會(huì)怎樣?”大師大師長嘆一聲道:長嘆一聲道:“沒有不失效的硬件。但如果這樣的硬件存在的話沒有不失效的硬件。但如果這樣的硬件存在的話,用戶就會(huì)想讓那個(gè)程序做一件不同的事,這件事也是一個(gè)錯(cuò)誤。,用戶就會(huì)想讓那個(gè)程序做一件不同的事,這件事也是一個(gè)錯(cuò)誤?!?/p>

4、軟件工程的定義軟件工程的定義軟件工程軟件工程 軟件工程軟件工程(Software Engineering(Software Engineering,簡稱為,簡稱為SE)SE)是一是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的科學(xué)。它涉及到程序設(shè)計(jì)語言,數(shù)高質(zhì)量的軟件的科學(xué)。它涉及到程序設(shè)計(jì)語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺(tái),標(biāo)準(zhǔn),設(shè)計(jì)模式據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺(tái),標(biāo)準(zhǔn),設(shè)計(jì)模式等方面。等方面。1983年IEEE給出的定義是:軟件工程是開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。軟件工程的主要環(huán)節(jié)軟件工程的主要環(huán)節(jié)軟件工程的主要環(huán)節(jié)有:

5、人員管理、項(xiàng)目管理、可軟件工程的主要環(huán)節(jié)有:人員管理、項(xiàng)目管理、可行性與需求分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì)、測試、維行性與需求分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì)、測試、維護(hù)等。護(hù)等。軟件開發(fā)模型軟件開發(fā)模型基本概念基本概念軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。它能清晰、直觀地表達(dá)軟件開發(fā)全過程,明確規(guī)定了要完成的主要活動(dòng)和任務(wù)。 瀑布模型原型模型螺旋模型敏捷開發(fā)模型內(nèi)容進(jìn)度內(nèi)容進(jìn)度軟件工程軟件工程 軟件工程的定義 軟件工程的目標(biāo)軟件開發(fā)生命周期模型軟件開發(fā)生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用軟件開發(fā)生命

6、周期模型軟件開發(fā)生命周期模型4種常用模式種常用模式大爆炸模式邊寫邊改模式瀑布模式螺旋模式敏捷軟件開發(fā)敏捷軟件開發(fā) 模式特點(diǎn)模式特點(diǎn)大爆炸模型大爆炸模型簡單 Boom最終產(chǎn)品或?大爆炸模式是最簡單的軟件開發(fā)模式12/31大爆炸模型大爆炸模型大爆炸式幾乎沒有測試大爆炸式幾乎沒有測試,如果有也擠在產(chǎn)品如果有也擠在產(chǎn)品發(fā)布前進(jìn)行發(fā)布前進(jìn)行軟件已經(jīng)完成軟件已經(jīng)完成,不可能修復(fù)不可能修復(fù),僅僅是報(bào)告發(fā)現(xiàn)僅僅是報(bào)告發(fā)現(xiàn)的問題的問題,讓客戶知道讓客戶知道邊寫邊改模型邊寫邊改模型項(xiàng)目小組在未刻意采用其他開發(fā)模式時(shí)默認(rèn)的開發(fā)模式。這是在大爆炸模式基礎(chǔ)上更進(jìn)了一步,至少考慮到了產(chǎn)品需求。典型的非正規(guī)說明書編碼,修改

7、,反復(fù)直到?最終產(chǎn)品快速做好,做好就扔的小項(xiàng)目瀑布模型瀑布模型三點(diǎn)特別強(qiáng)調(diào)內(nèi)容 1、強(qiáng)調(diào)產(chǎn)品的定義 2、各步驟是分立的、沒有交叉 3、無法回溯 螺旋模型螺旋模型開始不必詳細(xì)定義所有細(xì)節(jié)6個(gè)步驟:確定目標(biāo)/方案和限制條件;明確并化解風(fēng)險(xiǎn);評估可選方案;當(dāng)前階段開發(fā)和測試;計(jì)劃下一階段;確定進(jìn)入下一階段的方法。敏捷軟件開發(fā)敏捷軟件開發(fā)有一種開發(fā)過程,受到許多軟件公司的喜愛,叫做敏捷軟件有一種開發(fā)過程,受到許多軟件公司的喜愛,叫做敏捷軟件開發(fā)開發(fā)( Agile Software Development)( Agile Software Development)。我們也許聽說過它的。我們也許聽說過它的

8、另外一些名稱,如快速原型、極限編程或進(jìn)化開發(fā)等。另外一些名稱,如快速原型、極限編程或進(jìn)化開發(fā)等。敏捷軟件開發(fā)的目的是:敏捷軟件開發(fā)的目的是:每個(gè)開發(fā)活動(dòng)都有相應(yīng)的測試活動(dòng)每個(gè)測試級別都有其特有的測試目標(biāo)每個(gè)測試級別都有測試分析和設(shè)計(jì)開發(fā)周期中,在文檔初期稿階段就應(yīng)該參與文檔的評審內(nèi)容進(jìn)度內(nèi)容進(jìn)度軟件工程軟件工程 軟件工程的定義 軟件工程的目標(biāo)軟件開發(fā)生命周期模型軟件開發(fā)生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用V模型模型“V”的左端表示傳統(tǒng)的瀑布開發(fā)模型,而“V”的右端表明相應(yīng)的測試階段V模型是

9、最具有代表意義的測試模型 。V模型問題模型問題 測試是開發(fā)之后的一個(gè)階段。測試是開發(fā)之后的一個(gè)階段。 測試的對象就是程序本身。測試的對象就是程序本身。 實(shí)際應(yīng)用中容易導(dǎo)致需求階段的錯(cuò)誤一直到最實(shí)際應(yīng)用中容易導(dǎo)致需求階段的錯(cuò)誤一直到最后系統(tǒng)測試階段才被發(fā)現(xiàn)。后系統(tǒng)測試階段才被發(fā)現(xiàn)。 整個(gè)軟件產(chǎn)品的過程質(zhì)量保證完全依賴于開發(fā)整個(gè)軟件產(chǎn)品的過程質(zhì)量保證完全依賴于開發(fā)人員的能力和對工作的責(zé)任心,而且上一步的人員的能力和對工作的責(zé)任心,而且上一步的結(jié)果必須是充分和正確的,如果任何一個(gè)環(huán)節(jié)結(jié)果必須是充分和正確的,如果任何一個(gè)環(huán)節(jié)出了問題,則必將嚴(yán)重的影響整個(gè)工程的質(zhì)量出了問題,則必將嚴(yán)重的影響整個(gè)工程的質(zhì)

10、量和預(yù)期進(jìn)度和預(yù)期進(jìn)度 W模型模型 1.測試程序,需求,功能,設(shè)計(jì)2.無法迭代W模型模型相對于相對于V模型,模型,W模型增加了軟件各開發(fā)階段中應(yīng)模型增加了軟件各開發(fā)階段中應(yīng)同步進(jìn)行的驗(yàn)證和確認(rèn)活動(dòng)。同步進(jìn)行的驗(yàn)證和確認(rèn)活動(dòng)。W模型由兩個(gè)模型由兩個(gè)V字型字型模型組成,分別代表測試與開發(fā)過程,圖中明確表模型組成,分別代表測試與開發(fā)過程,圖中明確表示出了測試與開發(fā)的示出了測試與開發(fā)的并行關(guān)系并行關(guān)系。 W模型強(qiáng)調(diào):測試伴隨著整個(gè)軟件開發(fā)周期,而模型強(qiáng)調(diào):測試伴隨著整個(gè)軟件開發(fā)周期,而且測試的對象不僅僅是程序,需求、設(shè)計(jì)等同樣要且測試的對象不僅僅是程序,需求、設(shè)計(jì)等同樣要測試,也就是說,測試與開發(fā)是測

11、試,也就是說,測試與開發(fā)是同步進(jìn)行同步進(jìn)行的。的。W模型有利于盡早地全面的發(fā)現(xiàn)問題。但模型有利于盡早地全面的發(fā)現(xiàn)問題。但W模型也模型也存在局限性。在存在局限性。在W模型中,需求、設(shè)計(jì)、編碼等活模型中,需求、設(shè)計(jì)、編碼等活動(dòng)被視為串行的,同時(shí),測試和開發(fā)活動(dòng)也保持著動(dòng)被視為串行的,同時(shí),測試和開發(fā)活動(dòng)也保持著一種線性的前后關(guān)系,上一階段完全結(jié)束,才可正一種線性的前后關(guān)系,上一階段完全結(jié)束,才可正式開始下一個(gè)階段工作。這樣就式開始下一個(gè)階段工作。這樣就無法支持迭代無法支持迭代的開的開發(fā)模型。對于當(dāng)前軟件開發(fā)復(fù)雜多變的情況,發(fā)模型。對于當(dāng)前軟件開發(fā)復(fù)雜多變的情況,W模模型并不能解除測試管理面臨著困惑

12、。型并不能解除測試管理面臨著困惑。H模型模型1、H模型建立模型建立 為了解決為了解決V模型和模型和W模型存在的問題,有專家提出了模型存在的問題,有專家提出了H模型。它將測模型。它將測試活動(dòng)完全獨(dú)立出來,形成一個(gè)完全獨(dú)立的流程,將測試準(zhǔn)備活動(dòng)試活動(dòng)完全獨(dú)立出來,形成一個(gè)完全獨(dú)立的流程,將測試準(zhǔn)備活動(dòng)和測試執(zhí)行活動(dòng)侵襲地體現(xiàn)出來和測試執(zhí)行活動(dòng)侵襲地體現(xiàn)出來2、H模型應(yīng)用模型應(yīng)用 軟件測試是一個(gè)獨(dú)立的流程,貫穿產(chǎn)品整個(gè)生命周期,與其他流程并發(fā)地進(jìn)行軟件測試是一個(gè)獨(dú)立的流程,貫穿產(chǎn)品整個(gè)生命周期,與其他流程并發(fā)地進(jìn)行軟件測試要盡早準(zhǔn)備,盡早執(zhí)行軟件測試要盡早準(zhǔn)備,盡早執(zhí)行軟件測試是根據(jù)被測物的不同而分

13、層次進(jìn)行的。不同層次的測試活動(dòng)可以是按軟件測試是根據(jù)被測物的不同而分層次進(jìn)行的。不同層次的測試活動(dòng)可以是按照某個(gè)次序先后進(jìn)行的,但也可能是反復(fù)的照某個(gè)次序先后進(jìn)行的,但也可能是反復(fù)的H模型模型H模型揭示了一個(gè)原理:模型揭示了一個(gè)原理:軟件測試是一個(gè)獨(dú)軟件測試是一個(gè)獨(dú)立的流程立的流程,貫穿產(chǎn)品整個(gè)生命周期,與其他,貫穿產(chǎn)品整個(gè)生命周期,與其他流程并發(fā)地進(jìn)行。流程并發(fā)地進(jìn)行。H模型指出軟件測試要盡模型指出軟件測試要盡早準(zhǔn)備,盡早執(zhí)行。不同的測試活動(dòng)可以是早準(zhǔn)備,盡早執(zhí)行。不同的測試活動(dòng)可以是按照某個(gè)次序先后進(jìn)行的,但也可能是反復(fù)按照某個(gè)次序先后進(jìn)行的,但也可能是反復(fù)的,只要某個(gè)測試達(dá)到準(zhǔn)備就緒點(diǎn),

14、測試執(zhí)的,只要某個(gè)測試達(dá)到準(zhǔn)備就緒點(diǎn),測試執(zhí)行活動(dòng)就可以開展。行活動(dòng)就可以開展。其他模型其他模型X模型模型單獨(dú)程序片段單獨(dú)程序片段相互分享的編碼和測試頻繁交接集成測試探索性測試探索性測試其他模型其他模型前置測試模型前置測試模型開發(fā)和測試相結(jié)合開發(fā)和測試相結(jié)合:標(biāo)識(shí)關(guān)鍵行為:標(biāo)識(shí)關(guān)鍵行為對每一個(gè)交付內(nèi)容進(jìn)行測試對每一個(gè)交付內(nèi)容進(jìn)行測試在設(shè)計(jì)階段進(jìn)行計(jì)劃和測試設(shè)計(jì)在設(shè)計(jì)階段進(jìn)行計(jì)劃和測試設(shè)計(jì)測試和開發(fā)結(jié)合在一起測試和開發(fā)結(jié)合在一起讓驗(yàn)收測試和技術(shù)測試保持相互獨(dú)立讓驗(yàn)收測試和技術(shù)測試保持相互獨(dú)立:均可以在開始進(jìn)行,也可以在最后:均可以在開始進(jìn)行,也可以在最后反復(fù)交替的開發(fā)和測試反復(fù)交替的開發(fā)和測試測

15、試模型的使用測試模型的使用我們應(yīng)該盡可能地去應(yīng)用模型中對項(xiàng)目有實(shí)用價(jià)值的方面,但不強(qiáng)行地為使用模型而使用模型,否則也沒有實(shí)際意義。在實(shí)際的工作中,我們要靈活地運(yùn)用各種模型的優(yōu)點(diǎn),在W模型的框架下,運(yùn)用H模型的思想進(jìn)行獨(dú)立地測試,并同時(shí)將測試和開發(fā)緊密結(jié)合,尋找恰當(dāng)?shù)木途w點(diǎn)開始測試并反復(fù)迭代測試,最終保證按期完成預(yù)定目標(biāo)。 內(nèi)容進(jìn)度內(nèi)容進(jìn)度軟件工程軟件工程 軟件工程的定義 軟件工程的目標(biāo)軟件開發(fā)生命周期模型軟件開發(fā)生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用需求需求用戶解決問題或達(dá)到目標(biāo)所需的用戶解

16、決問題或達(dá)到目標(biāo)所需的條件或權(quán)能條件或權(quán)能系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或權(quán)能其它正式規(guī)定文檔所需具有的條件或權(quán)能內(nèi)容進(jìn)度內(nèi)容進(jìn)度軟件工程軟件工程 軟件工程的定義 軟件工程的目標(biāo)軟件開發(fā)生命周期模型軟件開發(fā)生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用需求類型需求類型業(yè)務(wù)需求(業(yè)務(wù)需求(Business requirement)項(xiàng)目投資人購買產(chǎn)品的客戶來自用戶的管理者市場營銷部門產(chǎn)品策劃部門需求類型需求類型用戶需求(用戶需求

17、(user requirement)用戶的目標(biāo),或用戶要求系統(tǒng)必須能完成的任務(wù)n1)自動(dòng)存款;n2)自動(dòng)取款;n3)賬務(wù)查詢;n4)密碼驗(yàn)證;n5)出錯(cuò)處理;需求類型需求類型系統(tǒng)需求(系統(tǒng)需求(system requirement)包含多個(gè)子系統(tǒng)的產(chǎn)品(即系統(tǒng))的頂級需求n軟件子系統(tǒng)和硬件子系統(tǒng),軟件部分主要實(shí)現(xiàn)用戶驗(yàn)證、存取款的賬務(wù)處理、遠(yuǎn)程通訊等功能n而硬件部分包括:吞吐卡、觸摸屏、點(diǎn)/驗(yàn)鈔機(jī)等功能軟件需求規(guī)格說明軟件需求規(guī)格說明(software requirements specification,SRS)n非功能需求,它描述了系統(tǒng)展現(xiàn)給用戶的行為和執(zhí)行的操作等n包括產(chǎn)品必須遵從的標(biāo)準(zhǔn)

18、、規(guī)范和合約;n外部接口的具體細(xì)節(jié);n性能要求;n設(shè)計(jì)或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性需求規(guī)格說明書的特征需求規(guī)格說明書的特征1. 完整性完整性2. 正確性正確性3. 可行性可行性4. 必要性必要性5. 劃分優(yōu)先級劃分優(yōu)先級6. 無二義性無二義性7. 可驗(yàn)證性可驗(yàn)證性產(chǎn)品和項(xiàng)目類軟件需求獲取產(chǎn)品和項(xiàng)目類軟件需求獲取產(chǎn)品類軟件產(chǎn)品類軟件 沒有特定用戶以合同的形式明確需求,需求由市場分析人員分析潛在客戶的潛在需求獲得產(chǎn)品需求獲取需要通過市場調(diào)查、問卷、類似產(chǎn)品用戶回饋、心理分析研究等方式,需要我們的需求獲取人員有深厚的業(yè)務(wù)背景、敏銳的洞察力、前瞻的預(yù)測能力和創(chuàng)造性思維項(xiàng)目類軟件項(xiàng)目類軟件由特定用戶以合同等契約形式明確下來;需求獲取是通過和用戶交流溝通的方式,可通過訪談、交流,一起工作等管道,需求獲取人員應(yīng)有業(yè)務(wù)背景、很好的交流溝通能力和親和力,還需要很強(qiáng)的分析能力內(nèi)容進(jìn)度內(nèi)容進(jìn)度軟件工程軟件工程 軟件工程的定義 軟件工程的目標(biāo)軟件開發(fā)生命周期模型軟件開發(fā)生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用測試人員評審需求測試人員評審需求內(nèi)容進(jìn)度內(nèi)容進(jìn)度軟件工程軟件工程 軟件工程的定義 軟件

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論