版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件測(cè)試第一章第一章 軟件測(cè)試導(dǎo)論軟件測(cè)試導(dǎo)論第二章第二章 軟件測(cè)試技術(shù)軟件測(cè)試技術(shù)第三章第三章 軟件測(cè)試用例的設(shè)計(jì)方法軟件測(cè)試用例的設(shè)計(jì)方法第四章第四章 軟件測(cè)試的過(guò)程方法軟件測(cè)試的過(guò)程方法1.1 1.1 軟件軟件測(cè)試的基本概念測(cè)試的基本概念1.21.2 軟件測(cè)試的依據(jù)與人員組織軟件測(cè)試的依據(jù)與人員組織1.31.3 軟件測(cè)試的生命周期軟件測(cè)試的生命周期與模型與模型1.4 1.4 軟件測(cè)試軟件測(cè)試計(jì)劃及其相關(guān)文檔計(jì)劃及其相關(guān)文檔1.1.11.1.1 軟件測(cè)試的定義軟件測(cè)試的定義1.1.2 1.1.2 軟件測(cè)試的必要性軟件測(cè)試的必要性1.1.3 1.1.3 軟件缺陷軟件缺陷1.1.4 1.1.4
2、 軟件測(cè)試的原則軟件測(cè)試的原則1.1.5 1.1.5 軟件測(cè)試的誤區(qū)軟件測(cè)試的誤區(qū)1.1.6 1.1.6 軟件測(cè)試與軟件質(zhì)量保證的關(guān)系軟件測(cè)試與軟件質(zhì)量保證的關(guān)系1.1.7 1.1.7 軟件測(cè)試技術(shù)的發(fā)展軟件測(cè)試技術(shù)的發(fā)展1.11.1 軟件測(cè)試的基本概念軟件測(cè)試的基本概念 軟件質(zhì)量是軟件的生命軟件質(zhì)量是軟件的生命。為了保證軟件的質(zhì)為了保證軟件的質(zhì)量,人們?cè)陂L(zhǎng)期的量,人們?cè)陂L(zhǎng)期的軟件軟件開(kāi)發(fā)過(guò)程中積累了許多開(kāi)發(fā)過(guò)程中積累了許多經(jīng)驗(yàn)經(jīng)驗(yàn),形成了許多有效的方法形成了許多有效的方法(技術(shù)的和管理(技術(shù)的和管理的)的)。但是借助這些方法,只能減少軟件中的。但是借助這些方法,只能減少軟件中的錯(cuò)誤和不足,但
3、不能完全避免錯(cuò)誤。錯(cuò)誤和不足,但不能完全避免錯(cuò)誤。技術(shù):軟件開(kāi)發(fā)技術(shù),技術(shù):軟件開(kāi)發(fā)技術(shù), 軟件測(cè)試屬于技術(shù)軟件測(cè)試屬于技術(shù)管理:軟件項(xiàng)目管理管理:軟件項(xiàng)目管理軟件產(chǎn)品特點(diǎn)軟件產(chǎn)品特點(diǎn):無(wú)形性、邏輯性、復(fù)雜性,無(wú)形性、邏輯性、復(fù)雜性,一般產(chǎn)品質(zhì)量通過(guò)參數(shù)確定,軟件產(chǎn)品?一般產(chǎn)品質(zhì)量通過(guò)參數(shù)確定,軟件產(chǎn)品? 1.11.1 軟件測(cè)試的基本概念軟件測(cè)試的基本概念1. 1. 什么是軟件測(cè)試什么是軟件測(cè)試 軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、架構(gòu)設(shè)計(jì)和編碼實(shí)現(xiàn)的需求分析、架構(gòu)設(shè)計(jì)和編碼實(shí)現(xiàn)的最終最終復(fù)審,復(fù)審,是軟件質(zhì)量保證的關(guān)鍵。對(duì)軟件測(cè)試的定義很是軟件質(zhì)
4、量保證的關(guān)鍵。對(duì)軟件測(cè)試的定義很多,但一般可描述如下:多,但一般可描述如下: 軟件測(cè)試是根據(jù)軟件開(kāi)發(fā)各階段的規(guī)格說(shuō)軟件測(cè)試是根據(jù)軟件開(kāi)發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一組測(cè)試用例,明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一組測(cè)試用例,利用測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的利用測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。簡(jiǎn)言之,軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)過(guò)程。簡(jiǎn)言之,軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。行程序的過(guò)程。1.1.11.1.1 軟件測(cè)試的定義軟件測(cè)試的定義1. 1. 什么是軟件測(cè)試什么是軟件測(cè)試 目前,根據(jù)側(cè)重點(diǎn)的不同,主要有以下三種觀點(diǎn):p 1983年IEEE將軟件測(cè)試定義為:“
5、使用人工或自動(dòng)手段運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別”。明確地提出了軟件測(cè)試是以檢驗(yàn)軟件是否滿足需求為目的。p Myers認(rèn)為:“是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程”。明確提出軟件測(cè)試是以對(duì)軟件“尋找錯(cuò)誤”為目的。p 多數(shù)軟件開(kāi)發(fā)商認(rèn)為:軟件測(cè)試是一種重要的軟件質(zhì)量保證活動(dòng),其動(dòng)機(jī)是通過(guò)一些經(jīng)濟(jì)、高效的方法,捕捉軟件中的錯(cuò)誤,保證軟件內(nèi)在質(zhì)量。明確提出軟件測(cè)試是以保證軟件內(nèi)在質(zhì)量。1.1.11.1.1 軟件測(cè)試的定義軟件測(cè)試的定義2.2.軟件測(cè)試與軟件調(diào)試的區(qū)別軟件測(cè)試與軟件調(diào)試的區(qū)別u概念不同:軟件測(cè)試是一個(gè)在可控環(huán)境中執(zhí)概念不同:軟件
6、測(cè)試是一個(gè)在可控環(huán)境中執(zhí)行軟件的過(guò)程,以驗(yàn)證是否按預(yù)期運(yùn)行。軟行軟件的過(guò)程,以驗(yàn)證是否按預(yù)期運(yùn)行。軟件調(diào)試是一個(gè)分析和定位軟件件調(diào)試是一個(gè)分析和定位軟件BUGBUG的過(guò)程。的過(guò)程。u作用不同:調(diào)試是測(cè)試的一個(gè)基礎(chǔ),調(diào)試支作用不同:調(diào)試是測(cè)試的一個(gè)基礎(chǔ),調(diào)試支持測(cè)試,但不能完全替代測(cè)試。持測(cè)試,但不能完全替代測(cè)試。u目的不同:調(diào)試使軟件能正確運(yùn)行,而測(cè)試目的不同:調(diào)試使軟件能正確運(yùn)行,而測(cè)試是發(fā)現(xiàn)軟件中的錯(cuò)誤。是發(fā)現(xiàn)軟件中的錯(cuò)誤。u對(duì)象不同:調(diào)試的對(duì)象是代碼,測(cè)試的對(duì)象對(duì)象不同:調(diào)試的對(duì)象是代碼,測(cè)試的對(duì)象是開(kāi)發(fā)過(guò)程中的所有的產(chǎn)品。是開(kāi)發(fā)過(guò)程中的所有的產(chǎn)品。1.1.11.1.1 軟件測(cè)試的定義軟
7、件測(cè)試的定義3. 3. 軟件測(cè)試的目的軟件測(cè)試的目的 基于不同的立場(chǎng),存在兩種完全不同的測(cè)試目的?;诓煌牧?chǎng),存在兩種完全不同的測(cè)試目的。從用戶(hù)的角度,希望通過(guò)軟件測(cè)試暴露軟件中隱藏從用戶(hù)的角度,希望通過(guò)軟件測(cè)試暴露軟件中隱藏的錯(cuò)誤和缺陷,以考慮是否接受該產(chǎn)品。的錯(cuò)誤和缺陷,以考慮是否接受該產(chǎn)品。從開(kāi)發(fā)者的角度,希望通過(guò)軟件測(cè)試表明軟件產(chǎn)品從開(kāi)發(fā)者的角度,希望通過(guò)軟件測(cè)試表明軟件產(chǎn)品中不存在錯(cuò)誤,驗(yàn)證軟件已正確地實(shí)現(xiàn)了用戶(hù)的要中不存在錯(cuò)誤,驗(yàn)證軟件已正確地實(shí)現(xiàn)了用戶(hù)的要求,確立對(duì)軟件質(zhì)量的信心。求,確立對(duì)軟件質(zhì)量的信心。綜合明來(lái),測(cè)試的目的是通過(guò)對(duì)軟件錯(cuò)誤的原因和綜合明來(lái),測(cè)試的目的是通過(guò)
8、對(duì)軟件錯(cuò)誤的原因和分布進(jìn)行歸納,來(lái)發(fā)現(xiàn)并排除軟件產(chǎn)品的缺陷,對(duì)分布進(jìn)行歸納,來(lái)發(fā)現(xiàn)并排除軟件產(chǎn)品的缺陷,對(duì)在需求和設(shè)計(jì)過(guò)程中存在的問(wèn)題查缺補(bǔ)漏,確保軟在需求和設(shè)計(jì)過(guò)程中存在的問(wèn)題查缺補(bǔ)漏,確保軟件產(chǎn)品的質(zhì)量。件產(chǎn)品的質(zhì)量。 1.1.11.1.1 軟件測(cè)試的定義軟件測(cè)試的定義4. 4. 軟件測(cè)試的基本職責(zé)軟件測(cè)試的基本職責(zé) 軟件測(cè)試有兩個(gè)基本職責(zé):軟件測(cè)試有兩個(gè)基本職責(zé): 一是驗(yàn)證一是驗(yàn)證:前后階段的需求是否一致前后階段的需求是否一致。即。即正向思維正向思維,所有特性功能通過(guò),達(dá)到預(yù)期。,所有特性功能通過(guò),達(dá)到預(yù)期。 二是二是確認(rèn)確認(rèn):滿足最終需求。滿足最終需求。即反向思維即反向思維,存在錯(cuò)誤而
9、盡力發(fā)現(xiàn)錯(cuò)誤,直到找不到錯(cuò)誤存在錯(cuò)誤而盡力發(fā)現(xiàn)錯(cuò)誤,直到找不到錯(cuò)誤1.1.11.1.1 軟件測(cè)試的定義軟件測(cè)試的定義1. 1. 為什么要進(jìn)行軟件測(cè)試為什么要進(jìn)行軟件測(cè)試軟件由人開(kāi)發(fā),人會(huì)犯錯(cuò)誤軟件由人開(kāi)發(fā),人會(huì)犯錯(cuò)誤軟件(程軟件(程序序+ +數(shù)據(jù)數(shù)據(jù)+ +文檔)都有缺陷。文檔)都有缺陷。無(wú)法避免人犯錯(cuò),但是可以通過(guò)努力尋找隱無(wú)法避免人犯錯(cuò),但是可以通過(guò)努力尋找隱藏在軟件中的缺陷。藏在軟件中的缺陷。 多、快、好、省多、快、好、省提高軟件質(zhì)量。提高軟件質(zhì)量。1.1.2 1.1.2 軟件測(cè)試的必要性軟件測(cè)試的必要性用戶(hù)所說(shuō)的需求分析人員理解的系統(tǒng)需求規(guī)格說(shuō)明書(shū)開(kāi)發(fā)人員理解的實(shí)際軟件人不是完美的,在設(shè)
10、計(jì)和實(shí)現(xiàn)時(shí)會(huì)出錯(cuò) 信息傳遞的誤差1.1.2 1.1.2 軟件測(cè)試的必要性軟件測(cè)試的必要性1. 1. 為什么要進(jìn)行軟件測(cè)試為什么要進(jìn)行軟件測(cè)試工程碩士12沒(méi)有軟件工程和項(xiàng)目管理概念下,軟件開(kāi)發(fā)現(xiàn)象1.1.2 軟件測(cè)試的必要性2. 2. 軟件缺陷案例軟件缺陷案例 軟件缺陷將造成災(zāi)難性危害或?qū)τ脩?hù)產(chǎn)生巨大的影響。軟件缺陷將造成災(zāi)難性危害或?qū)τ脩?hù)產(chǎn)生巨大的影響。u 2003 2003年,軟件問(wèn)題造成美國(guó)東部及加拿大停電,導(dǎo)致年,軟件問(wèn)題造成美國(guó)東部及加拿大停電,導(dǎo)致50005000萬(wàn)人受影響,萬(wàn)人受影響,3 3人喪生,人喪生,6060億美元的損失。億美元的損失。u 2000 2000年,美國(guó)海軍飛機(jī)控
11、制軟件問(wèn)題導(dǎo)致飛機(jī)墜落,年,美國(guó)海軍飛機(jī)控制軟件問(wèn)題導(dǎo)致飛機(jī)墜落,4 4人人喪生。喪生。u 1997 1997年韓國(guó)空難,導(dǎo)致年韓國(guó)空難,導(dǎo)致225225人喪生(雷達(dá)控制軟件問(wèn)題)人喪生(雷達(dá)控制軟件問(wèn)題)u 2004 2004年,北美銀行已新安裝的軟件的缺陷,使數(shù)以百萬(wàn)年,北美銀行已新安裝的軟件的缺陷,使數(shù)以百萬(wàn)計(jì)的客戶(hù)受影響,缺陷修復(fù)花費(fèi)兩個(gè)星期,造成億元損失。計(jì)的客戶(hù)受影響,缺陷修復(fù)花費(fèi)兩個(gè)星期,造成億元損失。u 2003 2003年,美國(guó)專(zhuān)門(mén)為學(xué)生貸款的公司由于軟件出錯(cuò),錯(cuò)年,美國(guó)專(zhuān)門(mén)為學(xué)生貸款的公司由于軟件出錯(cuò),錯(cuò)誤計(jì)算誤計(jì)算8080萬(wàn)學(xué)生的貸款利率,導(dǎo)致萬(wàn)學(xué)生的貸款利率,導(dǎo)致800
12、800萬(wàn)元的損失萬(wàn)元的損失1.1.2 1.1.2 軟件測(cè)試的必要性軟件測(cè)試的必要性3. 3. 軟件測(cè)試是軟件開(kāi)發(fā)的重要環(huán)節(jié)軟件測(cè)試是軟件開(kāi)發(fā)的重要環(huán)節(jié)4. 4. 軟件測(cè)試軟件測(cè)試是保證軟件質(zhì)量的主要手段。是保證軟件質(zhì)量的主要手段。 1.1.21.1.2 軟件測(cè)試的必要性軟件測(cè)試的必要性1.1.31.1.3 軟件缺陷軟件缺陷1 1軟件缺陷的定義軟件缺陷的定義u 軟件缺陷(軟件缺陷(bugbug)的定義很多)的定義很多,綜合說(shuō)來(lái)是程序綜合說(shuō)來(lái)是程序中存在破壞軟件正常運(yùn)行的問(wèn)題、錯(cuò)誤或瑕疵,導(dǎo)致中存在破壞軟件正常運(yùn)行的問(wèn)題、錯(cuò)誤或瑕疵,導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶(hù)的需要。軟件產(chǎn)品在某種程度上
13、不能滿足用戶(hù)的需要。u 軟件缺陷是指軟件產(chǎn)品中所存在的導(dǎo)致不能完全軟件缺陷是指軟件產(chǎn)品中所存在的導(dǎo)致不能完全滿足用戶(hù)需求的錯(cuò)誤。滿足用戶(hù)需求的錯(cuò)誤。u 按按IEEE 729IEEE 729標(biāo)準(zhǔn),軟件缺陷的含義有標(biāo)準(zhǔn),軟件缺陷的含義有2 2個(gè)方面:個(gè)方面: 軟件產(chǎn)品的內(nèi)部:軟件缺陷是軟件產(chǎn)品開(kāi)發(fā)軟件產(chǎn)品的內(nèi)部:軟件缺陷是軟件產(chǎn)品開(kāi)發(fā)或維護(hù)過(guò)程中所存在的錯(cuò)誤、瑕疵等?;蚓S護(hù)過(guò)程中所存在的錯(cuò)誤、瑕疵等。 軟件產(chǎn)品的外部:軟件缺陷是軟件所需要實(shí)軟件產(chǎn)品的外部:軟件缺陷是軟件所需要實(shí)現(xiàn)的某種功能的失效或違背?,F(xiàn)的某種功能的失效或違背。2. 2. 軟件缺陷外部表現(xiàn)的判斷規(guī)則軟件缺陷外部表現(xiàn)的判斷規(guī)則u 軟
14、件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書(shū)要求的功能。軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書(shū)要求的功能。u 軟件出現(xiàn)產(chǎn)品說(shuō)明書(shū)指明不會(huì)出現(xiàn)的錯(cuò)誤。軟件出現(xiàn)產(chǎn)品說(shuō)明書(shū)指明不會(huì)出現(xiàn)的錯(cuò)誤。u 軟件實(shí)現(xiàn)軟件實(shí)現(xiàn)超出超出產(chǎn)品說(shuō)明書(shū)提到的功能。產(chǎn)品說(shuō)明書(shū)提到的功能。u 軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書(shū)雖未明確指出但應(yīng)該實(shí)現(xiàn)軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書(shū)雖未明確指出但應(yīng)該實(shí)現(xiàn)的的功能功能。 u 軟件難以理解,不易使用,運(yùn)行緩慢或用戶(hù)認(rèn)為軟件難以理解,不易使用,運(yùn)行緩慢或用戶(hù)認(rèn)為不好。不好。 第條規(guī)則是全面的。如果軟件測(cè)試員發(fā)現(xiàn)某些第條規(guī)則是全面的。如果軟件測(cè)試員發(fā)現(xiàn)某些地方不對(duì)勁,無(wú)論什么原因,都可認(rèn)為是缺陷。地方不對(duì)勁,無(wú)論什么原因,都可認(rèn)為是缺陷。1.1.31.1
15、.3 軟件缺陷軟件缺陷 以計(jì)算器為例說(shuō)明判斷規(guī)則。以計(jì)算器為例說(shuō)明判斷規(guī)則。 若產(chǎn)品說(shuō)明書(shū)聲稱(chēng)能夠準(zhǔn)確無(wú)誤地進(jìn)行加、減、乘、除運(yùn)算,當(dāng)你按下若產(chǎn)品說(shuō)明書(shū)聲稱(chēng)能夠準(zhǔn)確無(wú)誤地進(jìn)行加、減、乘、除運(yùn)算,當(dāng)你按下()鍵,結(jié)果什么反應(yīng)也沒(méi)有;根據(jù)第條規(guī)則,是一個(gè)缺陷。假如得到()鍵,結(jié)果什么反應(yīng)也沒(méi)有;根據(jù)第條規(guī)則,是一個(gè)缺陷。假如得到錯(cuò)誤答案;根據(jù)第條規(guī)則,同樣是一個(gè)缺陷。錯(cuò)誤答案;根據(jù)第條規(guī)則,同樣是一個(gè)缺陷。 若產(chǎn)品說(shuō)明書(shū)聲稱(chēng)永遠(yuǎn)不會(huì)崩潰、鎖死或者停止反應(yīng),當(dāng)你任意敲鍵盤(pán)若產(chǎn)品說(shuō)明書(shū)聲稱(chēng)永遠(yuǎn)不會(huì)崩潰、鎖死或者停止反應(yīng),當(dāng)你任意敲鍵盤(pán),計(jì)算器停止接受輸入。根據(jù)第條規(guī)則,是一個(gè)缺陷。,計(jì)算器停止接受輸入
16、。根據(jù)第條規(guī)則,是一個(gè)缺陷。 若在測(cè)試計(jì)算器過(guò)程中,發(fā)現(xiàn)除了加、減、乘、除之外它還可以求平方若在測(cè)試計(jì)算器過(guò)程中,發(fā)現(xiàn)除了加、減、乘、除之外它還可以求平方根,而產(chǎn)品說(shuō)明書(shū)中沒(méi)提到該功能。根據(jù)第條規(guī)則,是一個(gè)缺陷。根,而產(chǎn)品說(shuō)明書(shū)中沒(méi)提到該功能。根據(jù)第條規(guī)則,是一個(gè)缺陷。 若在測(cè)試計(jì)算器過(guò)程中,發(fā)現(xiàn)電池電量很少時(shí),會(huì)導(dǎo)致計(jì)算不正確,但若在測(cè)試計(jì)算器過(guò)程中,發(fā)現(xiàn)電池電量很少時(shí),會(huì)導(dǎo)致計(jì)算不正確,但產(chǎn)品說(shuō)明書(shū)未指出該問(wèn)題。根據(jù)第條規(guī)則,是一個(gè)缺陷。產(chǎn)品說(shuō)明書(shū)未指出該問(wèn)題。根據(jù)第條規(guī)則,是一個(gè)缺陷。 若若“”鍵布置的位置使其極不好按,或在明亮光下顯示屏難以看清鍵布置的位置使其極不好按,或在明亮光下顯示
17、屏難以看清。根據(jù)第條規(guī)則,是一個(gè)缺陷。根據(jù)第條規(guī)則,是一個(gè)缺陷。 1.1.3 1.1.3 軟件缺陷軟件缺陷3 3軟件缺陷的種類(lèi)軟件缺陷的種類(lèi) 從功能表現(xiàn)形式分,軟件缺陷有三種類(lèi)型:從功能表現(xiàn)形式分,軟件缺陷有三種類(lèi)型:l 完全沒(méi)有實(shí)現(xiàn)的功能。例如用戶(hù)要求實(shí)現(xiàn)完全沒(méi)有實(shí)現(xiàn)的功能。例如用戶(hù)要求實(shí)現(xiàn)A A、B B、C C三個(gè)功能,但是三個(gè)功能,但是軟件軟件只實(shí)現(xiàn)了只實(shí)現(xiàn)了A A、B B兩個(gè)功能兩個(gè)功能。l 基本實(shí)現(xiàn)了用戶(hù)需求的功能,運(yùn)行時(shí)出現(xiàn)功能或性基本實(shí)現(xiàn)了用戶(hù)需求的功能,運(yùn)行時(shí)出現(xiàn)功能或性能上的問(wèn)題。例如滿足軟件要求,但運(yùn)行經(jīng)常報(bào)錯(cuò)、能上的問(wèn)題。例如滿足軟件要求,但運(yùn)行經(jīng)常報(bào)錯(cuò)、死機(jī),響應(yīng)時(shí)間要
18、求為死機(jī),響應(yīng)時(shí)間要求為5 5秒,實(shí)際為秒,實(shí)際為1010秒。秒。l 實(shí)現(xiàn)了用戶(hù)不需要的功能。例如用戶(hù)要求實(shí)現(xiàn)實(shí)現(xiàn)了用戶(hù)不需要的功能。例如用戶(hù)要求實(shí)現(xiàn)A A、B B、C C三個(gè)功能,實(shí)際實(shí)現(xiàn)了三個(gè)功能,實(shí)際實(shí)現(xiàn)了A A、B B、C C、D D四個(gè)功能。四個(gè)功能。1.1.3 1.1.3 軟件缺陷軟件缺陷 還表現(xiàn)在其他方面。如:特性沒(méi)有實(shí)現(xiàn)或部分實(shí)還表現(xiàn)在其他方面。如:特性沒(méi)有實(shí)現(xiàn)或部分實(shí)現(xiàn);設(shè)計(jì)不合理;實(shí)際結(jié)果和預(yù)期結(jié)果不一致;運(yùn)行現(xiàn);設(shè)計(jì)不合理;實(shí)際結(jié)果和預(yù)期結(jié)果不一致;運(yùn)行出錯(cuò)出錯(cuò)( (運(yùn)行中斷、系統(tǒng)崩潰、界面混亂運(yùn)行中斷、系統(tǒng)崩潰、界面混亂) );數(shù)據(jù)結(jié)果不;數(shù)據(jù)結(jié)果不正確、精度不夠;用戶(hù)
19、不能接受的其他問(wèn)題正確、精度不夠;用戶(hù)不能接受的其他問(wèn)題( (存取時(shí)間存取時(shí)間過(guò)長(zhǎng)、界面不美觀過(guò)長(zhǎng)、界面不美觀) )。1.1.3 1.1.3 軟件缺陷軟件缺陷4 4軟件缺陷的級(jí)別軟件缺陷的級(jí)別 軟件測(cè)試員發(fā)現(xiàn)的大多數(shù)缺陷是難以覺(jué)察軟件測(cè)試員發(fā)現(xiàn)的大多數(shù)缺陷是難以覺(jué)察的簡(jiǎn)單錯(cuò)誤的簡(jiǎn)單錯(cuò)誤,不明顯不明顯,也不嚴(yán)重;且有些是真也不嚴(yán)重;且有些是真正的錯(cuò)誤,有些不是。一般來(lái)說(shuō),問(wèn)題越嚴(yán)重正的錯(cuò)誤,有些不是。一般來(lái)說(shuō),問(wèn)題越嚴(yán)重的的錯(cuò)誤錯(cuò)誤,優(yōu)先級(jí)越高,越應(yīng)得到及時(shí)糾正。軟,優(yōu)先級(jí)越高,越應(yīng)得到及時(shí)糾正。軟件公司對(duì)缺陷后果的嚴(yán)重程度的定義不盡相同,件公司對(duì)缺陷后果的嚴(yán)重程度的定義不盡相同,但一般可以分為
20、但一般可以分為4 4種級(jí)別:種級(jí)別:1.1.3 1.1.3 軟件缺陷軟件缺陷4 4軟件缺陷的級(jí)別軟件缺陷的級(jí)別l 致命的:指造成系統(tǒng)或應(yīng)用程序崩潰、死機(jī)、懸掛,致命的:指造成系統(tǒng)或應(yīng)用程序崩潰、死機(jī)、懸掛,或造成數(shù)據(jù)丟失、主要功能完全失效等。或造成數(shù)據(jù)丟失、主要功能完全失效等。l 嚴(yán)重的:指功能或特性沒(méi)有實(shí)現(xiàn),主要功能部分喪嚴(yán)重的:指功能或特性沒(méi)有實(shí)現(xiàn),主要功能部分喪失,次要功能完全喪失,或致命的錯(cuò)誤聲明。失,次要功能完全喪失,或致命的錯(cuò)誤聲明。l 一般的:指雖然不影響系統(tǒng)的基本使用,但沒(méi)有很一般的:指雖然不影響系統(tǒng)的基本使用,但沒(méi)有很好實(shí)現(xiàn)功能,沒(méi)有達(dá)到預(yù)期效果。如次要功能喪失,提好實(shí)現(xiàn)功能
21、,沒(méi)有達(dá)到預(yù)期效果。如次要功能喪失,提示信息不太準(zhǔn)確,用戶(hù)界面差,操作時(shí)間長(zhǎng)等。示信息不太準(zhǔn)確,用戶(hù)界面差,操作時(shí)間長(zhǎng)等。l 微小的:微小的:指指對(duì)功能幾乎沒(méi)有影響,產(chǎn)品及屬性仍可對(duì)功能幾乎沒(méi)有影響,產(chǎn)品及屬性仍可使用,如有個(gè)別錯(cuò)別字、文字排列不整齊等。使用,如有個(gè)別錯(cuò)別字、文字排列不整齊等。u 除了這除了這4 4種之外,有時(shí)需要種之外,有時(shí)需要“建議建議”級(jí)別來(lái)處理測(cè)試人員所提出的建議或級(jí)別來(lái)處理測(cè)試人員所提出的建議或質(zhì)疑,如建議程序做適當(dāng)?shù)男薷?,?lái)改善程序運(yùn)行狀態(tài),或?qū)υO(shè)計(jì)不合理、不明質(zhì)疑,如建議程序做適當(dāng)?shù)男薷?,?lái)改善程序運(yùn)行狀態(tài),或?qū)υO(shè)計(jì)不合理、不明白的地方提出質(zhì)疑。白的地方提出質(zhì)疑。
22、 1.1.3 1.1.3 軟件缺陷軟件缺陷1.輕微: 詞語(yǔ)拼寫(xiě)錯(cuò)誤2.中等: 誤導(dǎo)或重復(fù)信息3.使人不悅: 被截?cái)嗟男畔ⅲ?.00¥帳單4.影響使用: 有些交易沒(méi)有處理5.嚴(yán)重: 丟失交易6.非常嚴(yán)重: 不正確的交易處理7.極為嚴(yán)重: 經(jīng)常出現(xiàn)“非常嚴(yán)重”的錯(cuò)誤8.無(wú)法忍受: 數(shù)據(jù)庫(kù)破壞9.災(zāi)難性: 系統(tǒng)停機(jī)10.容易傳染: 擴(kuò)展到其他系統(tǒng)的系統(tǒng)停機(jī)缺陷類(lèi)型具體可參見(jiàn)軟件異常IEEE標(biāo)準(zhǔn)分類(lèi)(IEEE,1993)1.1.3 1.1.3 軟件缺陷軟件缺陷5. 5. 軟件缺陷的狀態(tài)軟件缺陷的狀態(tài) 為便于跟蹤和管理軟件的缺陷,可以定義不同的為便于跟蹤和管理軟件的缺陷,可以定義不同的狀態(tài)。軟件缺陷的狀
23、態(tài)一般有狀態(tài)。軟件缺陷的狀態(tài)一般有3 3種:種:l 激活狀態(tài):?jiǎn)栴}還沒(méi)有解決,測(cè)試人員新報(bào)的激活狀態(tài):?jiǎn)栴}還沒(méi)有解決,測(cè)試人員新報(bào)的bugbug,或驗(yàn)證后,或驗(yàn)證后bugbug仍然存在。仍然存在。l 已修正狀態(tài):開(kāi)發(fā)人員針對(duì)所存在的缺陷,修改已修正狀態(tài):開(kāi)發(fā)人員針對(duì)所存在的缺陷,修改程序,認(rèn)為問(wèn)題已解決,或通過(guò)單元測(cè)試。程序,認(rèn)為問(wèn)題已解決,或通過(guò)單元測(cè)試。l 關(guān)閉或非激活狀態(tài):測(cè)試人員驗(yàn)證已經(jīng)修正的關(guān)閉或非激活狀態(tài):測(cè)試人員驗(yàn)證已經(jīng)修正的bugbug后,確認(rèn)后,確認(rèn)bugbug不存在后的狀態(tài)。不存在后的狀態(tài)。 1.1.3 1.1.3 軟件缺陷軟件缺陷6 6軟件缺陷產(chǎn)生的原由軟件缺陷產(chǎn)生的原由
24、 造成軟件缺陷的原由歸納起來(lái)有造成軟件缺陷的原由歸納起來(lái)有3 3個(gè)方面:個(gè)方面:l 技術(shù)問(wèn)題技術(shù)問(wèn)題 算法錯(cuò)誤。算法錯(cuò)誤。 語(yǔ)法錯(cuò)誤。語(yǔ)法錯(cuò)誤。 計(jì)算方法與精度要求不匹配或取值精度不夠。計(jì)算方法與精度要求不匹配或取值精度不夠。 結(jié)構(gòu)不合理。結(jié)構(gòu)不合理。 接口參數(shù)不匹配。接口參數(shù)不匹配。 1.1.3 1.1.3 軟件缺陷軟件缺陷l 團(tuán)隊(duì)工作問(wèn)題團(tuán)隊(duì)工作問(wèn)題 與用戶(hù)的溝通不夠,對(duì)需求不是十分清楚。與用戶(hù)的溝通不夠,對(duì)需求不是十分清楚。 不同階段的開(kāi)發(fā)人員對(duì)同一問(wèn)題理解不一致。不同階段的開(kāi)發(fā)人員對(duì)同一問(wèn)題理解不一致。 設(shè)計(jì)或編程上的假定或依賴(lài)性溝通不充分。設(shè)計(jì)或編程上的假定或依賴(lài)性溝通不充分。l 軟
25、件本身問(wèn)題軟件本身問(wèn)題 文檔錯(cuò)誤、內(nèi)容不正確或拼寫(xiě)錯(cuò)誤文檔錯(cuò)誤、內(nèi)容不正確或拼寫(xiě)錯(cuò)誤。 數(shù)據(jù)考慮不周全,引起強(qiáng)度或負(fù)載不合理。數(shù)據(jù)考慮不周全,引起強(qiáng)度或負(fù)載不合理。 對(duì)邊界考慮不周全,如漏掉幾個(gè)邊界條件。對(duì)邊界考慮不周全,如漏掉幾個(gè)邊界條件。 實(shí)時(shí)軟件的同步不精確,引起時(shí)間不協(xié)調(diào)、不一致實(shí)時(shí)軟件的同步不精確,引起時(shí)間不協(xié)調(diào)、不一致 沒(méi)有考慮系統(tǒng)崩潰后在安全性、可靠性的隱患。沒(méi)有考慮系統(tǒng)崩潰后在安全性、可靠性的隱患。 硬件或系統(tǒng)軟件上存在的錯(cuò)誤。硬件或系統(tǒng)軟件上存在的錯(cuò)誤。 軟件開(kāi)發(fā)標(biāo)準(zhǔn)或過(guò)程上的錯(cuò)誤。軟件開(kāi)發(fā)標(biāo)準(zhǔn)或過(guò)程上的錯(cuò)誤。 1.1.3 1.1.3 軟件缺陷軟件缺陷7 7軟件缺陷的構(gòu)成軟件
26、缺陷的構(gòu)成 從按軟件開(kāi)發(fā)過(guò)程來(lái)看,不同階段的工作從按軟件開(kāi)發(fā)過(guò)程來(lái)看,不同階段的工作,導(dǎo)致軟件缺陷的差異性很大,如圖所示。需,導(dǎo)致軟件缺陷的差異性很大,如圖所示。需求分析是軟件缺陷出現(xiàn)最多的階段。求分析是軟件缺陷出現(xiàn)最多的階段。圖1-1 軟件缺陷構(gòu)成示意圖1.1.3 1.1.3 軟件缺陷軟件缺陷需求階段缺陷概要設(shè)計(jì)階段缺陷詳細(xì)設(shè)計(jì)階段缺陷代碼階段缺陷放大n1倍放大n2倍放大n3倍 缺陷放大模型 因此因此,從需求開(kāi)始,從需求開(kāi)始,則制定測(cè)試計(jì)劃,則制定測(cè)試計(jì)劃,堅(jiān)持軟件堅(jiān)持軟件開(kāi)發(fā)的階段性技術(shù)評(píng)審,才能在開(kāi)發(fā)過(guò)程中盡早發(fā)現(xiàn)開(kāi)發(fā)的階段性技術(shù)評(píng)審,才能在開(kāi)發(fā)過(guò)程中盡早發(fā)現(xiàn)和預(yù)防錯(cuò)誤,把出現(xiàn)的錯(cuò)誤克服
27、在早期,杜絕隱患,和預(yù)防錯(cuò)誤,把出現(xiàn)的錯(cuò)誤克服在早期,杜絕隱患,提高軟件質(zhì)量。提高軟件質(zhì)量。1. 1. 盡早不斷地進(jìn)行軟件測(cè)試盡早不斷地進(jìn)行軟件測(cè)試 IBMIBM的研究結(jié)果表明,缺陷存在放大趨勢(shì)。從圖的研究結(jié)果表明,缺陷存在放大趨勢(shì)。從圖可可見(jiàn),問(wèn)題發(fā)現(xiàn)越早,解決問(wèn)題的代價(jià)就越小,這是軟見(jiàn),問(wèn)題發(fā)現(xiàn)越早,解決問(wèn)題的代價(jià)就越小,這是軟件開(kāi)發(fā)過(guò)程中的黃金法則。件開(kāi)發(fā)過(guò)程中的黃金法則。1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則2. 2. 不可能完全測(cè)試不可能完全測(cè)試 對(duì)程序完全測(cè)試則意味著在測(cè)試結(jié)束之后,不會(huì)對(duì)程序完全測(cè)試則意味著在測(cè)試結(jié)束之后,不會(huì)再發(fā)現(xiàn)軟件錯(cuò)誤。但這是不可能的,主要原因有
28、以下再發(fā)現(xiàn)軟件錯(cuò)誤。但這是不可能的,主要原因有以下幾點(diǎn):幾點(diǎn): 不可能對(duì)程序所有可能輸入的響應(yīng)進(jìn)行測(cè)試。不可能對(duì)程序所有可能輸入的響應(yīng)進(jìn)行測(cè)試。 不可能對(duì)程序所有可能執(zhí)行的路徑進(jìn)行測(cè)試。不可能對(duì)程序所有可能執(zhí)行的路徑進(jìn)行測(cè)試。 無(wú)法找出所有的設(shè)計(jì)錯(cuò)誤。無(wú)法找出所有的設(shè)計(jì)錯(cuò)誤。 不能采用邏輯來(lái)證明程序的正確性。不能采用邏輯來(lái)證明程序的正確性。1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則如果測(cè)試一個(gè)計(jì)算器程序的功能,需要進(jìn)行多少次輸入?不計(jì)其數(shù)!l 整型: 從 1+1 到 999999999999999999999999999999+ 9999999999999999999999999999
29、99l 小數(shù):1.0+0.1,1.0+0.2等等l 鍵盤(pán)上的任何一種組合l 乘法和除法運(yùn)算重復(fù)上面的操作1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則 由小到大是指軟由小到大是指軟件測(cè)試的粒度。即多件測(cè)試的粒度。即多個(gè)單元組合過(guò)渡到集個(gè)單元組合過(guò)渡到集成測(cè)試,集成測(cè)試過(guò)成測(cè)試,集成測(cè)試過(guò)渡到系統(tǒng)測(cè)試渡到系統(tǒng)測(cè)試。虛線虛線是測(cè)試階段的發(fā)布基是測(cè)試階段的發(fā)布基線線,隨著測(cè)試的逐步隨著測(cè)試的逐步深入,范圍的逐步擴(kuò)深入,范圍的逐步擴(kuò)大,測(cè)試時(shí)間、可用大,測(cè)試時(shí)間、可用資源也隨之增大。資源也隨之增大。3. 3. 由小到大增量測(cè)試由小到大增量測(cè)試測(cè) 試 時(shí) 間測(cè) 試 范 圍可 用 資 源系 統(tǒng) 測(cè) 試
30、集 成 測(cè) 試單 元 測(cè) 試單 元 測(cè) 試測(cè)試過(guò)程關(guān)系圖測(cè)試過(guò)程關(guān)系圖1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則4.4.避免程序員測(cè)試自己的程序避免程序員測(cè)試自己的程序 程序員不會(huì)輕易承認(rèn)自己的程序有錯(cuò)誤。程序員不會(huì)輕易承認(rèn)自己的程序有錯(cuò)誤。 程序員的測(cè)試思路有局限性,測(cè)試時(shí)容易受到編程程序員的測(cè)試思路有局限性,測(cè)試時(shí)容易受到編程思路的影響。思路的影響。 多數(shù)程序員沒(méi)有嚴(yán)格正規(guī)的職業(yè)訓(xùn)練,缺乏專(zhuān)業(yè)測(cè)多數(shù)程序員沒(méi)有嚴(yán)格正規(guī)的職業(yè)訓(xùn)練,缺乏專(zhuān)業(yè)測(cè)試人員的意識(shí)。試人員的意識(shí)。 程序員沒(méi)有養(yǎng)成錯(cuò)誤跟蹤和回歸測(cè)試的習(xí)慣。程序員沒(méi)有養(yǎng)成錯(cuò)誤跟蹤和回歸測(cè)試的習(xí)慣。 由別人測(cè)試,會(huì)更客觀,更有效。由別
31、人測(cè)試,會(huì)更客觀,更有效。 1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則5. 5. 設(shè)計(jì)周密的測(cè)試用例。設(shè)計(jì)周密的測(cè)試用例。 測(cè)試用例是測(cè)試工作的測(cè)試用例是測(cè)試工作的核心核心,只有設(shè)計(jì),只有設(shè)計(jì)周密細(xì)致的測(cè)試用例,才能保證測(cè)試工作的周密細(xì)致的測(cè)試用例,才能保證測(cè)試工作的質(zhì)量。質(zhì)量。 1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則6. 6. 注意錯(cuò)誤集中的現(xiàn)象注意錯(cuò)誤集中的現(xiàn)象 對(duì)錯(cuò)誤群集的程序段進(jìn)行重點(diǎn)測(cè)試,以提高對(duì)錯(cuò)誤群集的程序段進(jìn)行重點(diǎn)測(cè)試,以提高測(cè)試投資的效益。測(cè)試投資的效益。 軟件缺陷的軟件缺陷的“扎堆扎堆”現(xiàn)象的常見(jiàn)形式:現(xiàn)象的常見(jiàn)形式:對(duì)話框的某個(gè)控件功能不起作用,其他控
32、件的功對(duì)話框的某個(gè)控件功能不起作用,其他控件的功能也可能不起作用。能也可能不起作用。 某個(gè)文本框不能正確顯示雙字節(jié)字符,其他文本某個(gè)文本框不能正確顯示雙字節(jié)字符,其他文本框也可能不支持雙字節(jié)字符??蛞部赡懿恢С蛛p字節(jié)字符。安裝文件某個(gè)對(duì)話框的安裝文件某個(gè)對(duì)話框的“上一步上一步”或或“下一步下一步”按鈕被截?cái)啵谄渌麑?duì)話框中這兩個(gè)按鈕也可能按鈕被截?cái)?,在其他?duì)話框中這兩個(gè)按鈕也可能被截?cái)唷1唤財(cái)唷?.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則 7. BUG7. BUG有效性確認(rèn)有效性確認(rèn) 有時(shí)測(cè)試人員提交的有時(shí)測(cè)試人員提交的BUGBUG并不是真正的并不是真正的BUGBUG,無(wú)效,無(wú)效BUGB
33、UG的來(lái)源如圖所示。一般由的來(lái)源如圖所示。一般由A A測(cè)試測(cè)試人員發(fā)現(xiàn)的人員發(fā)現(xiàn)的BUGBUG,一定要由,一定要由B B測(cè)試人員進(jìn)行確認(rèn),測(cè)試人員進(jìn)行確認(rèn),如果發(fā)現(xiàn)嚴(yán)重的如果發(fā)現(xiàn)嚴(yán)重的BUGBUG可以召開(kāi)評(píng)審會(huì)進(jìn)行討論可以召開(kāi)評(píng)審會(huì)進(jìn)行討論和分析。和分析。1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則無(wú)效BUG來(lái)源構(gòu)成圖1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則 8. 合理安排測(cè)試計(jì)劃 合理的測(cè)試計(jì)劃有助于測(cè)試工作順利有序地進(jìn)行。 測(cè)試計(jì)劃應(yīng)結(jié)合多種針對(duì)性強(qiáng)的測(cè)試方法,列出所有可使用資源,建立一個(gè)正確的測(cè)試目標(biāo)。要有明確規(guī)定,不要隨意解釋。 本著嚴(yán)謹(jǐn)、準(zhǔn)確的原則,周到細(xì)致地做好測(cè)試
34、前期的準(zhǔn)備工作,避免測(cè)試的隨意性。尤其是要盡量科學(xué)合理地安排測(cè)試時(shí)間。 嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性。 妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。,1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則ABABCABCDEF基 本 結(jié) 構(gòu)( a)( b)( c)單 純 依 賴(lài)多 重 依 賴(lài)復(fù) 合 依 賴(lài)錯(cuò)誤依賴(lài)關(guān)系9. 9. 回歸測(cè)試回歸測(cè)試 錯(cuò)誤之間存在簡(jiǎn)單的依賴(lài)或復(fù)雜的多重依賴(lài)關(guān)系。(a)圖中:A錯(cuò)誤依賴(lài)于B錯(cuò)誤的關(guān)閉而關(guān)閉;(b)圖中:A錯(cuò)誤依賴(lài)于B錯(cuò)誤和C錯(cuò)誤的同時(shí)關(guān)閉而關(guān)閉;(c)圖是(a)和(b)的復(fù)合方式。程序中的錯(cuò)誤存在著一對(duì)多、多對(duì)多的復(fù)雜關(guān)系而變
35、得難以處理,且有些依賴(lài)關(guān)系處于隱性狀態(tài)。 1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則 10. 10. 測(cè)試結(jié)果的統(tǒng)計(jì)和分析測(cè)試結(jié)果的統(tǒng)計(jì)和分析l 只有對(duì)測(cè)試輸出信息進(jìn)行深入地統(tǒng)計(jì)、只有對(duì)測(cè)試輸出信息進(jìn)行深入地統(tǒng)計(jì)、分析和比較,才能正確的鑒別測(cè)試輸出的數(shù)分析和比較,才能正確的鑒別測(cè)試輸出的數(shù)據(jù),給出清晰的錯(cuò)誤分析報(bào)告。當(dāng)輸出的信據(jù),給出清晰的錯(cuò)誤分析報(bào)告。當(dāng)輸出的信息很龐大時(shí),可以借助專(zhuān)業(yè)的測(cè)試工具。息很龐大時(shí),可以借助專(zhuān)業(yè)的測(cè)試工具。1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則 11.11.及時(shí)更新測(cè)試及時(shí)更新測(cè)試 導(dǎo)致測(cè)試失敗的原因有很多,一般有如下幾點(diǎn):導(dǎo)致測(cè)試失敗的原因有很
36、多,一般有如下幾點(diǎn): 1 1、測(cè)試團(tuán)隊(duì)管理者失職;、測(cè)試團(tuán)隊(duì)管理者失職; 2 2、測(cè)試團(tuán)隊(duì)中溝通不好;、測(cè)試團(tuán)隊(duì)中溝通不好; 3 3、測(cè)試團(tuán)隊(duì)和項(xiàng)目團(tuán)隊(duì)溝通不良;、測(cè)試團(tuán)隊(duì)和項(xiàng)目團(tuán)隊(duì)溝通不良; 4 4、測(cè)試過(guò)程中,執(zhí)行角色無(wú)準(zhǔn)確定義;、測(cè)試過(guò)程中,執(zhí)行角色無(wú)準(zhǔn)確定義; 5 5、測(cè)試團(tuán)隊(duì)缺乏良好的培訓(xùn)。、測(cè)試團(tuán)隊(duì)缺乏良好的培訓(xùn)。 1.1.41.1.4 軟件測(cè)試的原則軟件測(cè)試的原則 誤區(qū)1 調(diào)試和測(cè)試是一樣的 誤區(qū)2 軟件測(cè)試在軟件開(kāi)發(fā)過(guò)程中并不重要 誤區(qū)3 在軟件開(kāi)發(fā)結(jié)束之后進(jìn)行測(cè)試 誤區(qū)4 過(guò)分依賴(lài)Beta測(cè)試 誤區(qū)5 過(guò)分依賴(lài)自動(dòng)化測(cè)試 誤區(qū)6 測(cè)試是可窮盡的 誤區(qū)7 測(cè)試是證明軟件的正確性
37、 誤區(qū)8 可以忽略測(cè)試的設(shè)計(jì) 1.1.51.1.5 軟件軟件測(cè)試的測(cè)試的誤區(qū)誤區(qū)41SQA (Software Quality Assurance) :為確保軟件開(kāi)發(fā)過(guò)程和結(jié)果符合預(yù)期要求而建立的一系列規(guī)程,以及依照規(guī)程和計(jì)劃采取的一系列活動(dòng)及其結(jié)果評(píng)價(jià)。面向管理層,提供正確的信息,工作的對(duì)象是產(chǎn)品;促進(jìn)和協(xié)調(diào)過(guò)程改進(jìn);預(yù)防問(wèn)題。軟件測(cè)試:使用人工或者自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,檢驗(yàn)其是否滿足規(guī)定的需求或判定預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。工作的對(duì)象是開(kāi)發(fā)的軟件,尋找缺陷;強(qiáng)調(diào)書(shū)寫(xiě)正式的測(cè)試文檔,實(shí)現(xiàn)可重復(fù)的結(jié)構(gòu)化軟件測(cè)試;發(fā)現(xiàn)問(wèn)題。1.1.6 1.1.6 軟件測(cè)試與質(zhì)量保證的關(guān)系軟件測(cè)
38、試與質(zhì)量保證的關(guān)系 軟件=程序+數(shù)據(jù)+文檔+服務(wù)軟件質(zhì)量:系統(tǒng)、組件或過(guò)程滿足明確的需求。 -IEEE Standard Glossary of Software Engineering Technology軟件測(cè)試:挑毛病,發(fā)現(xiàn)Bug(缺陷)。軟件測(cè)試是軟件質(zhì)量保證的手段。1.1.6 1.1.6 軟件測(cè)試與質(zhì)量保證的關(guān)系軟件測(cè)試與質(zhì)量保證的關(guān)系 1 1軟件測(cè)試技術(shù)的發(fā)展歷史軟件測(cè)試技術(shù)的發(fā)展歷史 起步階段(19571971)-驗(yàn)證為導(dǎo)向 在軟件發(fā)展初期,就實(shí)施軟件測(cè)試,但不是真正意義的軟件測(cè)試,更多是調(diào)試。直到1957年,隨著高級(jí)語(yǔ)言誕生,程序復(fù)雜性遠(yuǎn)超過(guò)以前,軟件測(cè)試才與軟件調(diào)試區(qū)別開(kāi)來(lái)。
39、但測(cè)試沒(méi)有計(jì)劃和方法,測(cè)試用例的設(shè)計(jì)和選取憑經(jīng)驗(yàn)隨機(jī)的,測(cè)試目的是證明軟件可以正常運(yùn)行。另外,由于軟件仍處于次要位置,測(cè)試?yán)碚摵头椒ǖ陌l(fā)展比較緩慢,軟件正確性的把握仍然主要依賴(lài)于編程人員的技術(shù)水平。1.1.7 軟件測(cè)試技術(shù)的發(fā)展軟件測(cè)試技術(shù)的發(fā)展 1 1軟件測(cè)試技術(shù)的發(fā)展歷史軟件測(cè)試技術(shù)的發(fā)展歷史 初級(jí)階段(19721982)-確認(rèn)為導(dǎo)向 軟件技術(shù)的成熟和完善,軟件測(cè)試規(guī)模和復(fù)雜度加大,軟件測(cè)試逐漸形成一套體系并走向規(guī)范。隨著計(jì)算機(jī)處理速度的提高、存儲(chǔ)容量的增加,軟件變得越來(lái)越重要。隨著軟件開(kāi)發(fā)技術(shù)的成熟和完善,軟件規(guī)模越來(lái)越大,復(fù)雜度增加,軟件的可靠性面臨著前所未有的危機(jī),主動(dòng)尋找缺陷給軟件
40、測(cè)試帶來(lái)新的挑戰(zhàn),也造就了一批批出色的測(cè)試人才。1.1.7 軟件測(cè)試技術(shù)的發(fā)展軟件測(cè)試技術(shù)的發(fā)展 1 1軟件測(cè)試技術(shù)的發(fā)展歷史軟件測(cè)試技術(shù)的發(fā)展歷史 發(fā)展階段(1983198?)-質(zhì)量為導(dǎo)向 在軟件產(chǎn)業(yè)化發(fā)展的趨勢(shì)下,人們對(duì)軟件質(zhì)量、成本和進(jìn)度的要求越來(lái)越高,質(zhì)量控制已不是傳統(tǒng)的軟件測(cè)試(執(zhí)行測(cè)試)-基于代碼運(yùn)行且是軟件開(kāi)發(fā)的后期進(jìn)行的。大量研究表明,設(shè)計(jì)階段引入的錯(cuò)誤占所有錯(cuò)誤數(shù)量的50%65%,規(guī)范軟件開(kāi)發(fā)過(guò)程是質(zhì)量控制的基礎(chǔ)。在整個(gè)軟件開(kāi)發(fā)過(guò)程中,測(cè)試不再僅是基于程序代碼的開(kāi)發(fā)活動(dòng),而是基于整個(gè)軟件生命周期的質(zhì)量控制活動(dòng),貫穿于軟件開(kāi)發(fā)全過(guò)程。 1.1.7 軟件測(cè)試技術(shù)的發(fā)展軟件測(cè)試技術(shù)
41、的發(fā)展 1 1軟件測(cè)試技術(shù)的發(fā)展歷史軟件測(cè)試技術(shù)的發(fā)展歷史 成熟階段(198?現(xiàn)在)-預(yù)防為導(dǎo)向 1.1.7 軟件測(cè)試技術(shù)的發(fā)展軟件測(cè)試技術(shù)的發(fā)展2 2軟件測(cè)試的現(xiàn)狀軟件測(cè)試的現(xiàn)狀國(guó)外現(xiàn)狀軟件測(cè)試在軟件公司中占有重要地位軟件測(cè)試?yán)碚撗芯颗畈l(fā)展,每年舉辦各種各樣的測(cè)試技術(shù)年會(huì),發(fā)表了大量的軟件測(cè)試研究論文,引領(lǐng)軟件測(cè)試?yán)碚撗芯康膰?guó)際潮流軟件測(cè)試市場(chǎng)繁榮國(guó)內(nèi)現(xiàn)狀我國(guó)軟件測(cè)試起步于“六五”期間(90),目前國(guó)家863、973以及大力支持軟件測(cè)試的研究1990年,成立中國(guó)軟件評(píng)測(cè)中心,測(cè)試服務(wù)開(kāi)始發(fā)展軟件測(cè)試正在逐步成為一個(gè)新興的產(chǎn)業(yè)國(guó)家確定“軟件評(píng)測(cè)師”的職業(yè)資格認(rèn)證;“以測(cè)代評(píng)”正成為我國(guó)科技項(xiàng)
42、目擇優(yōu)支持的一項(xiàng)重要舉措;第三方測(cè)試機(jī)構(gòu)繁榮發(fā)展1.1.7 軟件測(cè)試技術(shù)的發(fā)展軟件測(cè)試技術(shù)的發(fā)展 與一些發(fā)達(dá)國(guó)家相比,國(guó)內(nèi)測(cè)試工作還存在一定的差距。在我國(guó),軟件測(cè)試可能算不上一個(gè)真正的產(chǎn)業(yè),軟件開(kāi)發(fā)企業(yè)對(duì)軟件測(cè)試認(rèn)識(shí)淡薄,軟件測(cè)試人員與軟件開(kāi)發(fā)人員比例失調(diào),而在發(fā)達(dá)國(guó)家和地區(qū)軟件測(cè)試已經(jīng)成了一個(gè)產(chǎn)業(yè)。 但在軟件測(cè)試實(shí)現(xiàn)方面并不比國(guó)外差,國(guó)際上優(yōu)秀的測(cè)試工具,我們基本都有,這些工具所體現(xiàn)的思想我們也有深刻的理解,很多大型系統(tǒng)在國(guó)內(nèi)都得到了很好的測(cè)試。1.1.7 軟件測(cè)試技術(shù)的發(fā)展軟件測(cè)試技術(shù)的發(fā)展1.2 1.2 軟件測(cè)試軟件測(cè)試的依據(jù)與人員組織的依據(jù)與人員組織1.2.1 軟件測(cè)試的依據(jù)1.2.2
43、 軟件測(cè)試人員職責(zé)分配1.2.3 軟件測(cè)試人員必需的素質(zhì) 1.2.4 軟件測(cè)試的經(jīng)驗(yàn)501. 軟件質(zhì)量標(biāo)準(zhǔn)ISO9000-3軟件質(zhì)量標(biāo)準(zhǔn):考慮軟件行業(yè)的特殊性制定,是ISO質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn)在軟件開(kāi)發(fā)、供應(yīng)和維護(hù)中的使用指南。核心內(nèi)容包括:合同評(píng)審需求規(guī)格說(shuō)明開(kāi)發(fā)計(jì)劃質(zhì)量計(jì)劃設(shè)計(jì)和實(shí)現(xiàn)測(cè)試和確認(rèn)驗(yàn)收復(fù)制、交付和安裝維護(hù)1.2.11.2.1 軟件軟件測(cè)試的依據(jù)測(cè)試的依據(jù)512. 2. 軟件測(cè)試規(guī)范軟件測(cè)試規(guī)范軟件測(cè)試規(guī)范就是對(duì)軟件測(cè)試的流程過(guò)程化并對(duì)每一個(gè)過(guò)程元素進(jìn)行明確的界定,形成完整的規(guī)范體系,包括:規(guī)范目的、范圍、文檔結(jié)構(gòu)、詞匯表、參考信息、可追溯性、方針、過(guò)程/規(guī)范、指南、模板、檢查
44、表、培訓(xùn)、工具、參考資料等等。1.2.11.2.1 軟件軟件測(cè)試的依據(jù)測(cè)試的依據(jù)523. 軟件測(cè)試國(guó)家標(biāo)準(zhǔn)GB/T9386-1988 計(jì)算機(jī)軟件測(cè)試文件編制規(guī)范GB/T15532-1995 計(jì)算機(jī)軟件單元測(cè)試規(guī)范GB/T17544-1998信息技術(shù)軟件包質(zhì)量要求和測(cè)試GB/T16260.1-2003軟件工程產(chǎn)品質(zhì)量第1部分質(zhì)量模型GB/T16260.2-200X軟件工程產(chǎn)品質(zhì)量第2部分外部度量GB/T16260.3-200X軟件工程產(chǎn)品質(zhì)量第3部分內(nèi)部度量GB/T16260.4-200X軟件工程產(chǎn)品質(zhì)量第4部分使用質(zhì)量度量GB/T18905.1-2002軟件工程產(chǎn)品質(zhì)量第1部分概述GB/T18
45、905.2-2002軟件工程產(chǎn)品質(zhì)量第2部分策劃和管理GB/T18905.3-2002軟件工程產(chǎn)品質(zhì)量第3部分開(kāi)發(fā)者用的過(guò)程GB/T18905.4-2002軟件工程產(chǎn)品質(zhì)量第4部分需求方用的過(guò)程GB/T18905.5-2002軟件工程產(chǎn)品質(zhì)量第5部分評(píng)價(jià)者用的過(guò)程GB/T18905.6-2002軟件工程產(chǎn)品質(zhì)量第6部分評(píng)價(jià)模塊文檔編制1.2.11.2.1 軟件軟件測(cè)試的依據(jù)測(cè)試的依據(jù) 1. 軟件測(cè)試的組織結(jié)構(gòu)和人員結(jié)構(gòu) 軟件測(cè)試在組織結(jié)構(gòu)上一般分為功能測(cè)試組、性能測(cè)試組和文檔工作組。 軟件測(cè)試在人員結(jié)構(gòu)上一般需要有測(cè)試文檔審核師、測(cè)試工程師和操作人員。1.2.21.2.2 軟件軟件測(cè)試人員的職
46、責(zé)分配測(cè)試人員的職責(zé)分配工程碩士54系統(tǒng)分析設(shè)計(jì)人員系統(tǒng)分析設(shè)計(jì)人員軟件開(kāi)發(fā)人員軟件開(kāi)發(fā)人員軟件測(cè)試人員軟件測(cè)試人員配置管理員配置管理員質(zhì)量保證人員質(zhì)量保證人員對(duì)測(cè)試過(guò)程進(jìn)行對(duì)測(cè)試過(guò)程進(jìn)行審計(jì)審計(jì)對(duì)測(cè)試文檔及測(cè)對(duì)測(cè)試文檔及測(cè)試代碼等進(jìn)行配試代碼等進(jìn)行配置管理置管理提出測(cè)試需求;提出測(cè)試需求;進(jìn)行測(cè)試需求跟進(jìn)行測(cè)試需求跟蹤;進(jìn)行軟件系蹤;進(jìn)行軟件系統(tǒng)可測(cè)性分析;統(tǒng)可測(cè)性分析;確定測(cè)試的對(duì)確定測(cè)試的對(duì)象、范圍和方法象、范圍和方法提供軟件開(kāi)發(fā)計(jì)劃提供軟件開(kāi)發(fā)計(jì)劃SDP,參與測(cè)試計(jì),參與測(cè)試計(jì)劃的制定和評(píng)審,劃的制定和評(píng)審,提供軟件功能需求提供軟件功能需求規(guī)格、需求分析、規(guī)格、需求分析、測(cè)試建議、響應(yīng)
47、測(cè)測(cè)試建議、響應(yīng)測(cè)試需求、參與測(cè)試試需求、參與測(cè)試方案的評(píng)審;跟蹤方案的評(píng)審;跟蹤解決缺陷問(wèn)題報(bào)告解決缺陷問(wèn)題報(bào)告單,參與測(cè)試報(bào)告單,參與測(cè)試報(bào)告的評(píng)審。的評(píng)審。 制定測(cè)試計(jì)劃、方制定測(cè)試計(jì)劃、方案并組織評(píng)審,實(shí)案并組織評(píng)審,實(shí)現(xiàn)測(cè)試用例,代碼現(xiàn)測(cè)試用例,代碼和工具等設(shè)計(jì)、編和工具等設(shè)計(jì)、編寫(xiě)測(cè)試規(guī)程;執(zhí)行寫(xiě)測(cè)試規(guī)程;執(zhí)行測(cè)試、反饋并跟蹤測(cè)試、反饋并跟蹤缺陷問(wèn)題報(bào)告單,缺陷問(wèn)題報(bào)告單,完成測(cè)試報(bào)告并組完成測(cè)試報(bào)告并組織評(píng)審,輸出測(cè)試織評(píng)審,輸出測(cè)試案例、總結(jié)等經(jīng)驗(yàn)案例、總結(jié)等經(jīng)驗(yàn)文檔文檔 1.1.軟件測(cè)試人員必需的基本素質(zhì)軟件測(cè)試人員必需的基本素質(zhì) 三心二意一能力細(xì)心耐心責(zé)任心服務(wù)意識(shí)團(tuán)隊(duì)意識(shí)
48、溝通能力1.2.31.2.3 軟件軟件測(cè)試人員必需的素質(zhì)測(cè)試人員必需的素質(zhì) 2. 2. 軟件測(cè)試人員必需的知識(shí)素養(yǎng)軟件測(cè)試人員必需的知識(shí)素養(yǎng) 深入理解軟件測(cè)試?yán)碚?掌握各類(lèi)軟件測(cè)試技術(shù) 接受專(zhuān)門(mén)的測(cè)試訓(xùn)練 對(duì)軟件缺陷警覺(jué)性高 對(duì)缺陷出現(xiàn)的各種情況較熟悉 掌握多種計(jì)算機(jī)語(yǔ)言 掌握一般的軟硬件、數(shù)據(jù)庫(kù)及網(wǎng)絡(luò)知識(shí) 對(duì)所要測(cè)試的軟件的功能、結(jié)構(gòu)、要求有深入的認(rèn)識(shí)。1.2.31.2.3 軟件軟件測(cè)試人員必需的素質(zhì)測(cè)試人員必需的素質(zhì) 57(1 1)心理素質(zhì)最重要心理素質(zhì)最重要開(kāi)發(fā)人員我不會(huì)犯錯(cuò)-任何人都可能犯錯(cuò)這種錯(cuò)誤不能算作錯(cuò)誤-質(zhì)量是由用戶(hù)來(lái)評(píng)價(jià)的發(fā)現(xiàn)我的錯(cuò)誤是對(duì)我工作的否定-是對(duì)我的工作的幫助測(cè)試人
49、員責(zé)任心不夠,反正測(cè)試是不可能發(fā)現(xiàn)所有錯(cuò)誤的職業(yè)教育+激勵(lì)措施沒(méi)有創(chuàng)造性、枯燥總結(jié)經(jīng)驗(yàn),培養(yǎng)敏銳度,提升個(gè)人價(jià)值和權(quán)威技術(shù)比開(kāi)發(fā)人員差,自信心不足代表用戶(hù),決定成功的是用戶(hù)滿意1.2.41.2.4 軟件軟件測(cè)試的經(jīng)驗(yàn)測(cè)試的經(jīng)驗(yàn)58(2 2)測(cè)試前必須明確預(yù)期的輸出結(jié)果測(cè)試前必須明確預(yù)期的輸出結(jié)果否則實(shí)際的輸出結(jié)果很可能成為檢驗(yàn)的標(biāo)準(zhǔn),測(cè)試失去意義(3 3)必須檢查每一個(gè)實(shí)際輸出結(jié)果)必須檢查每一個(gè)實(shí)際輸出結(jié)果很可笑,但是卻是事實(shí):不認(rèn)真檢查輸出結(jié)果(4 4)一段程序中存在錯(cuò)誤的概率與這段程序中已經(jīng)發(fā)現(xiàn)的)一段程序中存在錯(cuò)誤的概率與這段程序中已經(jīng)發(fā)現(xiàn)的錯(cuò)誤數(shù)成正比錯(cuò)誤數(shù)成正比編碼規(guī)范、需求理解、
50、技術(shù)能力、內(nèi)部耦合性都會(huì)導(dǎo)致這種“蟲(chóng)子窩“現(xiàn)象1.2.41.2.4 軟件軟件測(cè)試的經(jīng)驗(yàn)測(cè)試的經(jīng)驗(yàn)工程碩士59(5 5)可能的情況下,避免測(cè)試自己的軟件)可能的情況下,避免測(cè)試自己的軟件發(fā)現(xiàn)不了思路錯(cuò)誤發(fā)現(xiàn)不了環(huán)境錯(cuò)誤心理因素導(dǎo)致測(cè)試可能不夠徹底和全面(6 6)依照用戶(hù)的要求、配置環(huán)境和使用習(xí)慣進(jìn)行測(cè)試并)依照用戶(hù)的要求、配置環(huán)境和使用習(xí)慣進(jìn)行測(cè)試并評(píng)價(jià)結(jié)果評(píng)價(jià)結(jié)果(7 7)測(cè)試設(shè)計(jì)決定了測(cè)試的有效性和效率,測(cè)試工具只)測(cè)試設(shè)計(jì)決定了測(cè)試的有效性和效率,測(cè)試工具只能提高測(cè)試效率能提高測(cè)試效率1.2.41.2.4 軟件軟件測(cè)試的經(jīng)驗(yàn)測(cè)試的經(jīng)驗(yàn)工程碩士60(8 8)注意保留測(cè)試設(shè)計(jì),并注意測(cè)試設(shè)計(jì)的
51、可重用性和說(shuō)明)注意保留測(cè)試設(shè)計(jì),并注意測(cè)試設(shè)計(jì)的可重用性和說(shuō)明文檔文檔(9 9)測(cè)試活動(dòng)要有組織、有計(jì)劃、有選擇)測(cè)試活動(dòng)要有組織、有計(jì)劃、有選擇窮舉測(cè)試是不可能的不充分的測(cè)試是不負(fù)責(zé)任,過(guò)度的測(cè)試是浪費(fèi)資源有計(jì)劃的活動(dòng)能提高效率(1010)不要放棄隨機(jī)測(cè)試的方法)不要放棄隨機(jī)測(cè)試的方法測(cè)試的不成熟性和藝術(shù)性1.2.41.2.4 軟件軟件測(cè)試的經(jīng)驗(yàn)測(cè)試的經(jīng)驗(yàn) 1. 1. 軟件測(cè)試人員的工作內(nèi)容軟件測(cè)試人員的工作內(nèi)容u 根據(jù)軟件需求規(guī)格說(shuō)明書(shū)、設(shè)計(jì)說(shuō)明書(shū)、代碼等軟件產(chǎn)物選取恰當(dāng)?shù)妮斎虢M合u 運(yùn)行被測(cè)試對(duì)象u 輸入數(shù)據(jù)u 執(zhí)行操作u 查看輸出結(jié)果是否和預(yù)期的結(jié)果一致,如果一致則認(rèn)為被測(cè)對(duì)象沒(méi)有問(wèn)
52、題,否則,則認(rèn)為被測(cè)對(duì)象中可能存在缺陷u 缺陷修改完畢,驗(yàn)證缺陷修改,確認(rèn)缺陷是否修改正確,是否引入新問(wèn)題1.2.51.2.5 軟件軟件測(cè)試人員的工作流程測(cè)試人員的工作流程l核心工作產(chǎn)品核心工作產(chǎn)品l測(cè)試用例l缺陷報(bào)告單l其他重要的工作其他重要的工作產(chǎn)品產(chǎn)品l測(cè)試計(jì)劃l測(cè)試策略l測(cè)試報(bào)告l。2. 2. 軟件測(cè)試人員的工作流程軟件測(cè)試人員的工作流程1.2.51.2.5 軟件軟件測(cè)試人員的工作流程測(cè)試人員的工作流程 3. 軟件測(cè)試人員的工作目標(biāo) GMyers給出了關(guān)于測(cè)試的一些規(guī)則,可以把它看作是測(cè)試人員的工作目標(biāo):u 軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。u 測(cè)試是為了證明程序有錯(cuò),而不是證明
53、程序無(wú)錯(cuò)。u 一個(gè)好的測(cè)試用例在于他能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。u 一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。u 要強(qiáng)調(diào)的是軟件測(cè)試不只是軟件測(cè)試人員的工作,也是軟件開(kāi)發(fā)人員和軟件使用者的工作。1.2.51.2.5 軟件軟件測(cè)試人員的工作流程測(cè)試人員的工作流程1.3 軟件測(cè)試的生命周期與模型1.3.1 軟件的開(kāi)發(fā)模型1.3.2 軟件測(cè)試的生命周期1.3.3 軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系 1.經(jīng)典瀑布模型經(jīng)典瀑布模型 由美國(guó)Winston Royce向IEEE WESCON(Royce, Winston 1970)提交的一篇名為管理大規(guī)模軟件系統(tǒng)的開(kāi)發(fā)的論文中首次提出的。由于方法的一個(gè)階段成瀑布流入
54、下一個(gè)階段,所以為“瀑布模型或線性模型”。瀑布模型有很多的變化,但都包括以下的階段:需求分析與定義,系統(tǒng)設(shè)計(jì)與軟件設(shè)計(jì),系統(tǒng)實(shí)施與單元測(cè)試,系統(tǒng)集成與系統(tǒng)測(cè)試,系統(tǒng)運(yùn)行與系統(tǒng)維護(hù),也是軟件開(kāi)發(fā)的基本過(guò)程。需求分析:可行性分析與軟件需求分析 軟件需求分析:業(yè)務(wù)需求 功能需求 非功能需求1.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型該處測(cè)試僅指執(zhí)行測(cè)試1.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型n 2.2.原型模型原型模型n 直觀、形象,更多地遵循了人們認(rèn)識(shí)事物的規(guī)律,因而更容易被人們接受。n 采用模擬的手段,縮短了用戶(hù)和系統(tǒng)分析、設(shè)計(jì)人員之間的距離。n 在整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程中反饋是及
55、時(shí)的,標(biāo)準(zhǔn)是統(tǒng)一的,可及時(shí)地暴露問(wèn)題,確保系統(tǒng)實(shí)現(xiàn)的正確性。n 充分利用了新一代的軟件工具,使得系統(tǒng)開(kāi)發(fā)和運(yùn)行的效率都大大提高。 1.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型1.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型1.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型1.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型3. 3. 增量與迭代模型增量與迭代模型增量開(kāi)發(fā)增量開(kāi)發(fā)迭代開(kāi)發(fā)迭代開(kāi)發(fā) AnalysisDesignCodeTestDelivery of 1st incrementIncrement1AnalysisDesignCodeTestAnalysisDesignC
56、odeTestDelivery of 2nd incrementDelivery of 3rd incrementIncrement2Increment31.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型 風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析原型1原型2原型3可用原型建模模擬評(píng)價(jià)軟件需求需求確認(rèn)操作概念需求計(jì)劃開(kāi)發(fā)計(jì)劃軟件產(chǎn)品設(shè)計(jì)設(shè)計(jì)確認(rèn)與驗(yàn)證集成與測(cè)試計(jì)劃詳細(xì)設(shè)計(jì)編碼單元測(cè)試集成測(cè)試接收測(cè)試實(shí)現(xiàn)成本評(píng)審制訂下階段計(jì)劃確定下階段目標(biāo)和約束條件風(fēng)險(xiǎn)分析、構(gòu)造原型開(kāi)發(fā)、驗(yàn)證階段軟件產(chǎn)品過(guò)程迭代 4. 4. 螺旋模型螺旋模型( (風(fēng)險(xiǎn)驅(qū)動(dòng)的過(guò)程模型風(fēng)險(xiǎn)驅(qū)動(dòng)的過(guò)程模型,增量模型與爆布模型相結(jié)合增量模型與
57、爆布模型相結(jié)合) ) 1.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型 5. 5. 漸進(jìn)模型漸進(jìn)模型1.3.1 1.3.1 軟件的開(kāi)發(fā)模型軟件的開(kāi)發(fā)模型 軟件測(cè)試的生命周期分為6個(gè)階段,前個(gè)階段是引入錯(cuò)誤時(shí)期,也就是開(kāi)發(fā)過(guò)程中的需求規(guī)格說(shuō)明、設(shè)計(jì)、編碼階段,此時(shí)極易引入錯(cuò)誤或者導(dǎo)致開(kāi)發(fā)過(guò)程中其他階段產(chǎn)生錯(cuò)誤。后3個(gè)階段是通過(guò)測(cè)試發(fā)現(xiàn)錯(cuò)誤、時(shí)期,這需要通過(guò)使用一些適當(dāng)?shù)臏y(cè)試技術(shù)和方法來(lái)共同完成,主要任務(wù)是進(jìn)行缺陷分類(lèi)、缺陷隔離和解決缺陷。其中在修復(fù)舊缺陷的時(shí)候很可能引進(jìn)新的錯(cuò)誤,導(dǎo)致原來(lái)能夠正確執(zhí)行的程序出現(xiàn)新的缺陷。 在軟件測(cè)試生命周期的每個(gè)階段都要完成一些確定的任務(wù),在執(zhí)行每個(gè)階段的任務(wù)
58、時(shí),可以采用行之有效的結(jié)構(gòu)分析設(shè)計(jì)技術(shù)和適當(dāng)?shù)妮o助工具;在結(jié)束每個(gè)階段的任務(wù)時(shí)都進(jìn)行嚴(yán)格的技術(shù)審查和管理復(fù)審。最后提交最終軟件配置的一個(gè)或幾個(gè)成分(文檔或程序)。1.3.2 1.3.2 軟件測(cè)試軟件測(cè)試的生命周期的生命周期圖1-2軟件測(cè)試生命周期1.3.2 1.3.2 軟件測(cè)試軟件測(cè)試的生命周期的生命周期 1 1測(cè)試與開(kāi)發(fā)各階段的關(guān)系測(cè)試與開(kāi)發(fā)各階段的關(guān)系 軟件開(kāi)發(fā)過(guò)程是一個(gè)自頂向下,逐步細(xì)化的過(guò)程。首先在軟件計(jì)劃階段定義軟件的作用域,進(jìn)行軟件需求分析,建立軟件的數(shù)據(jù)域、功能和性能需求、約束和一些有效性準(zhǔn)則。然后進(jìn)入軟件開(kāi)發(fā)-軟件設(shè)計(jì)和編寫(xiě)代碼。 測(cè)試過(guò)程則是依相反的順序安排的自底向上,逐步集
59、成的過(guò)程,低一級(jí)測(cè)試為上一級(jí)測(cè)試準(zhǔn)備條件。首先對(duì)每一個(gè)程序模塊進(jìn)行單元測(cè)試,消除程序模塊內(nèi)部在邏輯上和功能上的錯(cuò)誤和缺陷。再對(duì)照軟件設(shè)計(jì)進(jìn)行集成測(cè)試,檢測(cè)和排除子系統(tǒng)(或系統(tǒng))結(jié)構(gòu)上的錯(cuò)誤。隨后再對(duì)照需求,進(jìn)行確認(rèn)測(cè)試。最后從系統(tǒng)全體出發(fā),運(yùn)行系統(tǒng),看是否滿足要求。 1.3.3 1.3.3 軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系圖1-3 軟件測(cè)試與軟件開(kāi)發(fā)過(guò)程的關(guān)系1.3.3 1.3.3 軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系 2 2測(cè)試與開(kāi)發(fā)的并行性測(cè)試與開(kāi)發(fā)的并行性 在軟件的需求得到確認(rèn)并通過(guò)評(píng)審后,概要設(shè)計(jì)工作和測(cè)試計(jì)劃制定設(shè)計(jì)工作就要并行進(jìn)行。如果系統(tǒng)模塊已經(jīng)建立,
60、對(duì)各個(gè)模塊的詳細(xì)設(shè)計(jì)、編碼、單元測(cè)試等工作又可并行。待每個(gè)模塊完成后,可以進(jìn)行集成測(cè)試、系統(tǒng)測(cè)試。并行流程如圖1-4所示。1.3.3 1.3.3 軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系圖1-4 軟件測(cè)試與軟件開(kāi)發(fā)的并行性1.3.3 1.3.3 軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系 3 3測(cè)試與開(kāi)發(fā)模型測(cè)試與開(kāi)發(fā)模型 軟件測(cè)試不僅僅是執(zhí)行測(cè)試,而是一個(gè)包含很多復(fù)雜活動(dòng)的過(guò)程,并且這些活動(dòng)貫穿于整個(gè)軟件開(kāi)發(fā)過(guò)程。在軟件開(kāi)發(fā)過(guò)程中,應(yīng)該什么時(shí)候進(jìn)行測(cè)試,如何更好地把軟件開(kāi)發(fā)和測(cè)試活動(dòng)集成到一起?這是軟件測(cè)試工作人員必須考慮的問(wèn)題,因?yàn)橹挥羞@樣,才能提高軟件測(cè)試工作的效率,提高軟
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版泥工施工信息化管理合同4篇
- 2025年度出借資金募集與投放服務(wù)合同4篇
- 2025年度打印機(jī)遠(yuǎn)程診斷與快速響應(yīng)服務(wù)合同范本4篇
- 2025年度車(chē)間承包與智能化生產(chǎn)系統(tǒng)整合合同4篇
- 2025年度外墻涂料施工材料供應(yīng)合同4篇
- 2025年度二零二五校園食堂安全承包管理合同4篇
- 2025年度智能門(mén)窗安裝與智能控制系統(tǒng)合同4篇
- 二零二五年度土地承包經(jīng)營(yíng)權(quán)糾紛調(diào)解合同4篇
- 2025年度廚師餐飲業(yè)發(fā)展趨勢(shì)聘用合同樣本4篇
- 2025年度環(huán)保設(shè)備制造內(nèi)部承包經(jīng)營(yíng)服務(wù)協(xié)議書(shū)4篇
- 無(wú)人化農(nóng)場(chǎng)項(xiàng)目可行性研究報(bào)告
- 《如何存款最合算》課件
- 社區(qū)團(tuán)支部工作計(jì)劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語(yǔ)試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 《wifi協(xié)議文庫(kù)》課件
- 《好東西》:女作者電影的話語(yǔ)建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國(guó)考培的再研究供需變化的新趨勢(shì)
- GB/T 44895-2024市場(chǎng)和社會(huì)調(diào)查調(diào)查問(wèn)卷編制指南
- 道醫(yī)館可行性報(bào)告
評(píng)論
0/150
提交評(píng)論