軟件測(cè)試PPT 第一章 軟件測(cè)試導(dǎo)論_第1頁(yè)
軟件測(cè)試PPT 第一章 軟件測(cè)試導(dǎo)論_第2頁(yè)
軟件測(cè)試PPT 第一章 軟件測(cè)試導(dǎo)論_第3頁(yè)
軟件測(cè)試PPT 第一章 軟件測(cè)試導(dǎo)論_第4頁(yè)
軟件測(cè)試PPT 第一章 軟件測(cè)試導(dǎo)論_第5頁(yè)
已閱讀5頁(yè),還剩114頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件測(cè)試第一章軟件測(cè)試導(dǎo)論第二章軟件測(cè)試技術(shù)第三章軟件測(cè)試用例的設(shè)計(jì)方法第四章軟件測(cè)試的過(guò)程方法1.1軟件測(cè)試的基本概念1.2

軟件測(cè)試的依據(jù)與人員組織1.3

軟件測(cè)試的生命周期與模型1.4軟件測(cè)試計(jì)劃及其相關(guān)文檔第一章軟件測(cè)試導(dǎo)論1.1.1

軟件測(cè)試的定義1.1.2軟件測(cè)試的必要性1.1.3軟件缺陷1.1.4軟件測(cè)試的原則1.1.5軟件測(cè)試的誤區(qū)1.1.6軟件測(cè)試與軟件質(zhì)量保證的關(guān)系1.1.7

軟件測(cè)試技術(shù)的發(fā)展1.1軟件測(cè)試的基本概念

軟件質(zhì)量是軟件的生命。為了保證軟件的質(zhì)量,人們?cè)陂L(zhǎng)期的軟件開發(fā)過(guò)程中積累了許多經(jīng)驗(yàn),形成了許多有效的方法(技術(shù)的和管理的)。但是借助這些方法,只能減少軟件中的錯(cuò)誤和不足,但不能完全避免錯(cuò)誤。技術(shù):軟件開發(fā)技術(shù),軟件測(cè)試屬于技術(shù)管理:軟件項(xiàng)目管理軟件產(chǎn)品特點(diǎn):無(wú)形性、邏輯性、復(fù)雜性,一般產(chǎn)品質(zhì)量通過(guò)參數(shù)確定,軟件產(chǎn)品?

1.1軟件測(cè)試的基本概念1.什么是軟件測(cè)試軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、架構(gòu)設(shè)計(jì)和編碼實(shí)現(xiàn)的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵。對(duì)軟件測(cè)試的定義很多,但一般可描述如下:軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一組測(cè)試用例,利用測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。簡(jiǎn)言之,軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。1.1.1軟件測(cè)試的定義1.什么是軟件測(cè)試目前,根據(jù)側(cè)重點(diǎn)的不同,主要有以下三種觀點(diǎn):1983年IEEE將軟件測(cè)試定義為:“使用人工或自動(dòng)手段運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別”。明確地提出了軟件測(cè)試是以檢驗(yàn)軟件是否滿足需求為目的。Myers認(rèn)為:“是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程”。明確提出軟件測(cè)試是以對(duì)軟件“尋找錯(cuò)誤”為目的。

多數(shù)軟件開發(fā)商認(rèn)為:軟件測(cè)試是一種重要的軟件質(zhì)量保證活動(dòng),其動(dòng)機(jī)是通過(guò)一些經(jīng)濟(jì)、高效的方法,捕捉軟件中的錯(cuò)誤,保證軟件內(nèi)在質(zhì)量。明確提出軟件測(cè)試是以保證軟件內(nèi)在質(zhì)量。1.1.1軟件測(cè)試的定義2.軟件測(cè)試與軟件調(diào)試的區(qū)別概念不同:軟件測(cè)試是一個(gè)在可控環(huán)境中執(zhí)行軟件的過(guò)程,以驗(yàn)證是否按預(yù)期運(yùn)行。軟件調(diào)試是一個(gè)分析和定位軟件BUG的過(guò)程。作用不同:調(diào)試是測(cè)試的一個(gè)基礎(chǔ),調(diào)試支持測(cè)試,但不能完全替代測(cè)試。目的不同:調(diào)試使軟件能正確運(yùn)行,而測(cè)試是發(fā)現(xiàn)軟件中的錯(cuò)誤。對(duì)象不同:調(diào)試的對(duì)象是代碼,測(cè)試的對(duì)象是開發(fā)過(guò)程中的所有的產(chǎn)品。1.1.1軟件測(cè)試的定義3.軟件測(cè)試的目的

基于不同的立場(chǎng),存在兩種完全不同的測(cè)試目的。從用戶的角度,希望通過(guò)軟件測(cè)試暴露軟件中隱藏的錯(cuò)誤和缺陷,以考慮是否接受該產(chǎn)品。從開發(fā)者的角度,希望通過(guò)軟件測(cè)試表明軟件產(chǎn)品中不存在錯(cuò)誤,驗(yàn)證軟件已正確地實(shí)現(xiàn)了用戶的要求,確立對(duì)軟件質(zhì)量的信心。綜合明來(lái),測(cè)試的目的是通過(guò)對(duì)軟件錯(cuò)誤的原因和分布進(jìn)行歸納,來(lái)發(fā)現(xiàn)并排除軟件產(chǎn)品的缺陷,對(duì)在需求和設(shè)計(jì)過(guò)程中存在的問(wèn)題查缺補(bǔ)漏,確保軟件產(chǎn)品的質(zhì)量。

1.1.1軟件測(cè)試的定義4.軟件測(cè)試的基本職責(zé)軟件測(cè)試有兩個(gè)基本職責(zé):一是驗(yàn)證:前后階段的需求是否一致。即正向思維,所有特性功能通過(guò),達(dá)到預(yù)期。二是確認(rèn):滿足最終需求。即反向思維,存在錯(cuò)誤而盡力發(fā)現(xiàn)錯(cuò)誤,直到找不到錯(cuò)誤1.1.1軟件測(cè)試的定義1.為什么要進(jìn)行軟件測(cè)試軟件由人開發(fā),人會(huì)犯錯(cuò)誤——〉軟件(程序+數(shù)據(jù)+文檔)都有缺陷。無(wú)法避免人犯錯(cuò),但是可以通過(guò)努力尋找隱藏在軟件中的缺陷。多、快、好、省提高軟件質(zhì)量。1.1.2軟件測(cè)試的必要性用戶所說(shuō)的需求分析人員理解的《系統(tǒng)需求規(guī)格說(shuō)明書》開發(fā)人員理解的實(shí)際軟件人不是完美的,在設(shè)計(jì)和實(shí)現(xiàn)時(shí)會(huì)出錯(cuò)

信息傳遞的誤差1.1.2軟件測(cè)試的必要性1.為什么要進(jìn)行軟件測(cè)試工程碩士12沒有軟件工程和項(xiàng)目管理概念下,軟件開發(fā)現(xiàn)象1.1.2軟件測(cè)試的必要性2.軟件缺陷案例軟件缺陷將造成災(zāi)難性危害或?qū)τ脩舢a(chǎn)生巨大的影響。2003年,軟件問(wèn)題造成美國(guó)東部及加拿大停電,導(dǎo)致5000萬(wàn)人受影響,3人喪生,60億美元的損失。2000年,美國(guó)海軍飛機(jī)控制軟件問(wèn)題導(dǎo)致飛機(jī)墜落,4人喪生。1997年韓國(guó)空難,導(dǎo)致225人喪生(雷達(dá)控制軟件問(wèn)題)2004年,北美銀行已新安裝的軟件的缺陷,使數(shù)以百萬(wàn)計(jì)的客戶受影響,缺陷修復(fù)花費(fèi)兩個(gè)星期,造成億元損失。2003年,美國(guó)專門為學(xué)生貸款的公司由于軟件出錯(cuò),錯(cuò)誤計(jì)算80萬(wàn)學(xué)生的貸款利率,導(dǎo)致800萬(wàn)元的損失……1.1.2軟件測(cè)試的必要性3.軟件測(cè)試是軟件開發(fā)的重要環(huán)節(jié)4.軟件測(cè)試是保證軟件質(zhì)量的主要手段。

1.1.2軟件測(cè)試的必要性1.1.3

軟件缺陷1.軟件缺陷的定義

軟件缺陷(bug)的定義很多,綜合說(shuō)來(lái)是程序中存在破壞軟件正常運(yùn)行的問(wèn)題、錯(cuò)誤或瑕疵,導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。

軟件缺陷是指軟件產(chǎn)品中所存在的導(dǎo)致不能完全滿足用戶需求的錯(cuò)誤。

按IEEE729標(biāo)準(zhǔn),軟件缺陷的含義有2個(gè)方面:軟件產(chǎn)品的內(nèi)部:軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過(guò)程中所存在的錯(cuò)誤、瑕疵等。軟件產(chǎn)品的外部:軟件缺陷是軟件所需要實(shí)現(xiàn)的某種功能的失效或違背。2.軟件缺陷外部表現(xiàn)的判斷規(guī)則

軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書要求的功能。軟件出現(xiàn)產(chǎn)品說(shuō)明書指明不會(huì)出現(xiàn)的錯(cuò)誤。軟件實(shí)現(xiàn)超出產(chǎn)品說(shuō)明書提到的功能。軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書雖未明確指出但應(yīng)該實(shí)現(xiàn)的功能。軟件難以理解,不易使用,運(yùn)行緩慢或用戶認(rèn)為不好。第5條規(guī)則是全面的。如果軟件測(cè)試員發(fā)現(xiàn)某些地方不對(duì)勁,無(wú)論什么原因,都可認(rèn)為是缺陷。1.1.3軟件缺陷

以計(jì)算器為例說(shuō)明判斷規(guī)則。若產(chǎn)品說(shuō)明書聲稱能夠準(zhǔn)確無(wú)誤地進(jìn)行加、減、乘、除運(yùn)算,當(dāng)你按下(+)鍵,結(jié)果什么反應(yīng)也沒有;根據(jù)第1條規(guī)則,是一個(gè)缺陷。假如得到錯(cuò)誤答案;根據(jù)第1條規(guī)則,同樣是一個(gè)缺陷。若產(chǎn)品說(shuō)明書聲稱永遠(yuǎn)不會(huì)崩潰、鎖死或者停止反應(yīng),當(dāng)你任意敲鍵盤,計(jì)算器停止接受輸入。根據(jù)第2條規(guī)則,是一個(gè)缺陷。若在測(cè)試計(jì)算器過(guò)程中,發(fā)現(xiàn)除了加、減、乘、除之外它還可以求平方根,而產(chǎn)品說(shuō)明書中沒提到該功能。根據(jù)第3條規(guī)則,是一個(gè)缺陷。若在測(cè)試計(jì)算器過(guò)程中,發(fā)現(xiàn)電池電量很少時(shí),會(huì)導(dǎo)致計(jì)算不正確,但產(chǎn)品說(shuō)明書未指出該問(wèn)題。根據(jù)第4條規(guī)則,是一個(gè)缺陷。若“=”鍵布置的位置使其極不好按,或在明亮光下顯示屏難以看清。根據(jù)第5條規(guī)則,是一個(gè)缺陷。1.1.3軟件缺陷3.軟件缺陷的種類從功能表現(xiàn)形式分,軟件缺陷有三種類型:完全沒有實(shí)現(xiàn)的功能。例如用戶要求實(shí)現(xiàn)A、B、C三個(gè)功能,但是軟件只實(shí)現(xiàn)了A、B兩個(gè)功能。基本實(shí)現(xiàn)了用戶需求的功能,運(yùn)行時(shí)出現(xiàn)功能或性能上的問(wèn)題。例如滿足軟件要求,但運(yùn)行經(jīng)常報(bào)錯(cuò)、死機(jī),響應(yīng)時(shí)間要求為5秒,實(shí)際為10秒。實(shí)現(xiàn)了用戶不需要的功能。例如用戶要求實(shí)現(xiàn)A、B、C三個(gè)功能,實(shí)際實(shí)現(xiàn)了A、B、C、D四個(gè)功能。1.1.3軟件缺陷還表現(xiàn)在其他方面。如:特性沒有實(shí)現(xiàn)或部分實(shí)現(xiàn);設(shè)計(jì)不合理;實(shí)際結(jié)果和預(yù)期結(jié)果不一致;運(yùn)行出錯(cuò)(運(yùn)行中斷、系統(tǒng)崩潰、界面混亂);數(shù)據(jù)結(jié)果不正確、精度不夠;用戶不能接受的其他問(wèn)題(存取時(shí)間過(guò)長(zhǎng)、界面不美觀)。1.1.3軟件缺陷4.軟件缺陷的級(jí)別軟件測(cè)試員發(fā)現(xiàn)的大多數(shù)缺陷是難以覺察的簡(jiǎn)單錯(cuò)誤,不明顯,也不嚴(yán)重;且有些是真正的錯(cuò)誤,有些不是。一般來(lái)說(shuō),問(wèn)題越嚴(yán)重的錯(cuò)誤,優(yōu)先級(jí)越高,越應(yīng)得到及時(shí)糾正。軟件公司對(duì)缺陷后果的嚴(yán)重程度的定義不盡相同,但一般可以分為4種級(jí)別:1.1.3軟件缺陷4.軟件缺陷的級(jí)別

致命的:指造成系統(tǒng)或應(yīng)用程序崩潰、死機(jī)、懸掛,或造成數(shù)據(jù)丟失、主要功能完全失效等。嚴(yán)重的:指功能或特性沒有實(shí)現(xiàn),主要功能部分喪失,次要功能完全喪失,或致命的錯(cuò)誤聲明。一般的:指雖然不影響系統(tǒng)的基本使用,但沒有很好實(shí)現(xiàn)功能,沒有達(dá)到預(yù)期效果。如次要功能喪失,提示信息不太準(zhǔn)確,用戶界面差,操作時(shí)間長(zhǎng)等。微小的:指對(duì)功能幾乎沒有影響,產(chǎn)品及屬性仍可使用,如有個(gè)別錯(cuò)別字、文字排列不整齊等。

除了這4種之外,有時(shí)需要“建議”級(jí)別來(lái)處理測(cè)試人員所提出的建議或質(zhì)疑,如建議程序做適當(dāng)?shù)男薷?,?lái)改善程序運(yùn)行狀態(tài),或?qū)υO(shè)計(jì)不合理、不明白的地方提出質(zhì)疑。

1.1.3軟件缺陷輕微:詞語(yǔ)拼寫錯(cuò)誤中等:誤導(dǎo)或重復(fù)信息使人不悅:被截?cái)嗟男畔ⅲ?.00¥帳單影響使用:有些交易沒有處理嚴(yán)重: 丟失交易非常嚴(yán)重:不正確的交易處理極為嚴(yán)重:經(jīng)常出現(xiàn)“非常嚴(yán)重”的錯(cuò)誤無(wú)法忍受:數(shù)據(jù)庫(kù)破壞災(zāi)難性:系統(tǒng)停機(jī)容易傳染:擴(kuò)展到其他系統(tǒng)的系統(tǒng)停機(jī)缺陷類型具體可參見軟件異常IEEE標(biāo)準(zhǔn)分類(IEEE,1993)1.1.3軟件缺陷5.軟件缺陷的狀態(tài)

為便于跟蹤和管理軟件的缺陷,可以定義不同的狀態(tài)。軟件缺陷的狀態(tài)一般有3種:激活狀態(tài):?jiǎn)栴}還沒有解決,測(cè)試人員新報(bào)的bug,或驗(yàn)證后bug仍然存在。已修正狀態(tài):開發(fā)人員針對(duì)所存在的缺陷,修改程序,認(rèn)為問(wèn)題已解決,或通過(guò)單元測(cè)試。關(guān)閉或非激活狀態(tài):測(cè)試人員驗(yàn)證已經(jīng)修正的bug后,確認(rèn)bug不存在后的狀態(tài)。1.1.3軟件缺陷6.軟件缺陷產(chǎn)生的原由

造成軟件缺陷的原由歸納起來(lái)有3個(gè)方面:技術(shù)問(wèn)題算法錯(cuò)誤。語(yǔ)法錯(cuò)誤。計(jì)算方法與精度要求不匹配或取值精度不夠。結(jié)構(gòu)不合理。接口參數(shù)不匹配。

1.1.3軟件缺陷

團(tuán)隊(duì)工作問(wèn)題

與用戶的溝通不夠,對(duì)需求不是十分清楚。不同階段的開發(fā)人員對(duì)同一問(wèn)題理解不一致。設(shè)計(jì)或編程上的假定或依賴性溝通不充分。軟件本身問(wèn)題文檔錯(cuò)誤、內(nèi)容不正確或拼寫錯(cuò)誤。數(shù)據(jù)考慮不周全,引起強(qiáng)度或負(fù)載不合理。對(duì)邊界考慮不周全,如漏掉幾個(gè)邊界條件。實(shí)時(shí)軟件的同步不精確,引起時(shí)間不協(xié)調(diào)、不一致沒有考慮系統(tǒng)崩潰后在安全性、可靠性的隱患。硬件或系統(tǒng)軟件上存在的錯(cuò)誤。軟件開發(fā)標(biāo)準(zhǔn)或過(guò)程上的錯(cuò)誤。1.1.3軟件缺陷7.軟件缺陷的構(gòu)成從按軟件開發(fā)過(guò)程來(lái)看,不同階段的工作,導(dǎo)致軟件缺陷的差異性很大,如圖所示。需求分析是軟件缺陷出現(xiàn)最多的階段。圖1-1軟件缺陷構(gòu)成示意圖1.1.3軟件缺陷

缺陷放大模型

因此,從需求開始,則制定測(cè)試計(jì)劃,堅(jiān)持軟件開發(fā)的階段性技術(shù)評(píng)審,才能在開發(fā)過(guò)程中盡早發(fā)現(xiàn)和預(yù)防錯(cuò)誤,把出現(xiàn)的錯(cuò)誤克服在早期,杜絕隱患,提高軟件質(zhì)量。1.盡早不斷地進(jìn)行軟件測(cè)試

IBM的研究結(jié)果表明,缺陷存在放大趨勢(shì)。從圖可見,問(wèn)題發(fā)現(xiàn)越早,解決問(wèn)題的代價(jià)就越小,這是軟件開發(fā)過(guò)程中的黃金法則。1.1.4軟件測(cè)試的原則2.不可能完全測(cè)試對(duì)程序完全測(cè)試則意味著在測(cè)試結(jié)束之后,不會(huì)再發(fā)現(xiàn)軟件錯(cuò)誤。但這是不可能的,主要原因有以下幾點(diǎn):不可能對(duì)程序所有可能輸入的響應(yīng)進(jìn)行測(cè)試。不可能對(duì)程序所有可能執(zhí)行的路徑進(jìn)行測(cè)試。無(wú)法找出所有的設(shè)計(jì)錯(cuò)誤。不能采用邏輯來(lái)證明程序的正確性。1.1.4軟件測(cè)試的原則如果測(cè)試一個(gè)計(jì)算器程序的功能,需要進(jìn)行多少次輸入?不計(jì)其數(shù)!整型:從1+1到999999999999999999999999999999+999999999999999999999999999999小數(shù):1.0+0.1,1.0+0.2…等等鍵盤上的任何一種組合乘法和除法運(yùn)算重復(fù)上面的操作1.1.4軟件測(cè)試的原則

由小到大是指軟件測(cè)試的粒度。即多個(gè)單元組合過(guò)渡到集成測(cè)試,集成測(cè)試過(guò)渡到系統(tǒng)測(cè)試。虛線是測(cè)試階段的發(fā)布基線,隨著測(cè)試的逐步深入,范圍的逐步擴(kuò)大,測(cè)試時(shí)間、可用資源也隨之增大。3.由小到大增量測(cè)試測(cè)試過(guò)程關(guān)系圖1.1.4軟件測(cè)試的原則4.避免程序員測(cè)試自己的程序

程序員不會(huì)輕易承認(rèn)自己的程序有錯(cuò)誤。程序員的測(cè)試思路有局限性,測(cè)試時(shí)容易受到編程思路的影響。

多數(shù)程序員沒有嚴(yán)格正規(guī)的職業(yè)訓(xùn)練,缺乏專業(yè)測(cè)試人員的意識(shí)。

程序員沒有養(yǎng)成錯(cuò)誤跟蹤和回歸測(cè)試的習(xí)慣。由別人測(cè)試,會(huì)更客觀,更有效。

1.1.4軟件測(cè)試的原則5.設(shè)計(jì)周密的測(cè)試用例。測(cè)試用例是測(cè)試工作的核心,只有設(shè)計(jì)周密細(xì)致的測(cè)試用例,才能保證測(cè)試工作的質(zhì)量。

1.1.4軟件測(cè)試的原則6.注意錯(cuò)誤集中的現(xiàn)象對(duì)錯(cuò)誤群集的程序段進(jìn)行重點(diǎn)測(cè)試,以提高測(cè)試投資的效益。軟件缺陷的“扎堆”現(xiàn)象的常見形式:對(duì)話框的某個(gè)控件功能不起作用,其他控件的功能也可能不起作用。某個(gè)文本框不能正確顯示雙字節(jié)字符,其他文本框也可能不支持雙字節(jié)字符。安裝文件某個(gè)對(duì)話框的“上一步”或“下一步”按鈕被截?cái)?,在其他?duì)話框中這兩個(gè)按鈕也可能被截?cái)唷?.1.4軟件測(cè)試的原則

7.BUG有效性確認(rèn)有時(shí)測(cè)試人員提交的BUG并不是真正的BUG,無(wú)效BUG的來(lái)源如圖所示。一般由A測(cè)試人員發(fā)現(xiàn)的BUG,一定要由B測(cè)試人員進(jìn)行確認(rèn),如果發(fā)現(xiàn)嚴(yán)重的BUG可以召開評(píng)審會(huì)進(jìn)行討論和分析。1.1.4軟件測(cè)試的原則無(wú)效BUG來(lái)源構(gòu)成圖1.1.4軟件測(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è)試前期的準(zhǔn)備工作,避免測(cè)試的隨意性。尤其是要盡量科學(xué)合理地安排測(cè)試時(shí)間。嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性。妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。,1.1.4軟件測(cè)試的原則錯(cuò)誤依賴關(guān)系9.回歸測(cè)試

錯(cuò)誤之間存在簡(jiǎn)單的依賴或復(fù)雜的多重依賴關(guān)系。(a)圖中:A錯(cuò)誤依賴于B錯(cuò)誤的關(guān)閉而關(guān)閉;(b)圖中:A錯(cuò)誤依賴于B錯(cuò)誤和C錯(cuò)誤的同時(shí)關(guān)閉而關(guān)閉;(c)圖是(a)和(b)的復(fù)合方式。程序中的錯(cuò)誤存在著一對(duì)多、多對(duì)多的復(fù)雜關(guān)系而變得難以處理,且有些依賴關(guān)系處于隱性狀態(tài)。1.1.4軟件測(cè)試的原則

10.測(cè)試結(jié)果的統(tǒng)計(jì)和分析

只有對(duì)測(cè)試輸出信息進(jìn)行深入地統(tǒng)計(jì)、分析和比較,才能正確的鑒別測(cè)試輸出的數(shù)據(jù),給出清晰的錯(cuò)誤分析報(bào)告。當(dāng)輸出的信息很龐大時(shí),可以借助專業(yè)的測(cè)試工具。1.1.4軟件測(cè)試的原則

11.及時(shí)更新測(cè)試

導(dǎo)致測(cè)試失敗的原因有很多,一般有如下幾點(diǎn):

1、測(cè)試團(tuán)隊(duì)管理者失職;

2、測(cè)試團(tuán)隊(duì)中溝通不好;

3、測(cè)試團(tuán)隊(duì)和項(xiàng)目團(tuán)隊(duì)溝通不良;

4、測(cè)試過(guò)程中,執(zhí)行角色無(wú)準(zhǔn)確定義;

5、測(cè)試團(tuán)隊(duì)缺乏良好的培訓(xùn)。

1.1.4軟件測(cè)試的原則

誤區(qū)1調(diào)試和測(cè)試是一樣的誤區(qū)2軟件測(cè)試在軟件開發(fā)過(guò)程中并不重要誤區(qū)3在軟件開發(fā)結(jié)束之后進(jìn)行測(cè)試誤區(qū)4過(guò)分依賴Beta測(cè)試誤區(qū)5過(guò)分依賴自動(dòng)化測(cè)試誤區(qū)6測(cè)試是可窮盡的誤區(qū)7測(cè)試是證明軟件的正確性誤區(qū)8可以忽略測(cè)試的設(shè)計(jì)

1.1.5軟件測(cè)試的誤區(qū)41SQA(SoftwareQualityAssurance):為確保軟件開發(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ì)象是開發(fā)的軟件,尋找缺陷;強(qiáng)調(diào)書寫正式的測(cè)試文檔,實(shí)現(xiàn)可重復(fù)的結(jié)構(gòu)化軟件測(cè)試;發(fā)現(xiàn)問(wèn)題。1.1.6軟件測(cè)試與質(zhì)量保證的關(guān)系

軟件=程序+數(shù)據(jù)+文檔+服務(wù)軟件質(zhì)量:系統(tǒng)、組件或過(guò)程滿足明確的需求。----IEEEStandardGlossaryofSoftwareEngineeringTechnology軟件測(cè)試:挑毛病,發(fā)現(xiàn)Bug(缺陷)。軟件測(cè)試是軟件質(zhì)量保證的手段。1.1.6軟件測(cè)試與質(zhì)量保證的關(guān)系1.軟件測(cè)試技術(shù)的發(fā)展歷史

起步階段(1957~1971)----驗(yàn)證為導(dǎo)向在軟件發(fā)展初期,就實(shí)施軟件測(cè)試,但不是真正意義的軟件測(cè)試,更多是調(diào)試。直到1957年,隨著高級(jí)語(yǔ)言誕生,程序復(fù)雜性遠(yuǎn)超過(guò)以前,軟件測(cè)試才與軟件調(diào)試區(qū)別開來(lái)。但測(cè)試沒有計(jì)劃和方法,測(cè)試用例的設(shè)計(jì)和選取憑經(jīng)驗(yàn)隨機(jī)的,測(cè)試目的是證明軟件可以正常運(yùn)行。另外,由于軟件仍處于次要位置,測(cè)試?yán)碚摵头椒ǖ陌l(fā)展比較緩慢,軟件正確性的把握仍然主要依賴于編程人員的技術(shù)水平。1.1.7軟件測(cè)試技術(shù)的發(fā)展1.軟件測(cè)試技術(shù)的發(fā)展歷史

初級(jí)階段(1972~1982)----確認(rèn)為導(dǎo)向

軟件技術(shù)的成熟和完善,軟件測(cè)試規(guī)模和復(fù)雜度加大,軟件測(cè)試逐漸形成一套體系并走向規(guī)范。隨著計(jì)算機(jī)處理速度的提高、存儲(chǔ)容量的增加,軟件變得越來(lái)越重要。隨著軟件開發(fā)技術(shù)的成熟和完善,軟件規(guī)模越來(lái)越大,復(fù)雜度增加,軟件的可靠性面臨著前所未有的危機(jī),主動(dòng)尋找缺陷給軟件測(cè)試帶來(lái)新的挑戰(zhàn),也造就了一批批出色的測(cè)試人才。1.1.7軟件測(cè)試技術(shù)的發(fā)展1.軟件測(cè)試技術(shù)的發(fā)展歷史

發(fā)展階段(1983~198?)----質(zhì)量為導(dǎo)向在軟件產(chǎn)業(yè)化發(fā)展的趨勢(shì)下,人們對(duì)軟件質(zhì)量、成本和進(jìn)度的要求越來(lái)越高,質(zhì)量控制已不是傳統(tǒng)的軟件測(cè)試(執(zhí)行測(cè)試)----基于代碼運(yùn)行且是軟件開發(fā)的后期進(jìn)行的。大量研究表明,設(shè)計(jì)階段引入的錯(cuò)誤占所有錯(cuò)誤數(shù)量的50%~65%,規(guī)范軟件開發(fā)過(guò)程是質(zhì)量控制的基礎(chǔ)。在整個(gè)軟件開發(fā)過(guò)程中,測(cè)試不再僅是基于程序代碼的開發(fā)活動(dòng),而是基于整個(gè)軟件生命周期的質(zhì)量控制活動(dòng),貫穿于軟件開發(fā)全過(guò)程。1.1.7軟件測(cè)試技術(shù)的發(fā)展1.軟件測(cè)試技術(shù)的發(fā)展歷史

成熟階段(198?~現(xiàn)在)----預(yù)防為導(dǎo)向

1.1.7軟件測(cè)試技術(shù)的發(fā)展2.軟件測(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ù)開始發(fā)展軟件測(cè)試正在逐步成為一個(gè)新興的產(chǎn)業(yè)國(guó)家確定“軟件評(píng)測(cè)師”的職業(yè)資格認(rèn)證;“以測(cè)代評(píng)”正成為我國(guó)科技項(xiàng)目擇優(yōu)支持的一項(xiàng)重要舉措;第三方測(cè)試機(jī)構(gòu)繁榮發(fā)展1.1.7軟件測(cè)試技術(shù)的發(fā)展與一些發(fā)達(dá)國(guó)家相比,國(guó)內(nèi)測(cè)試工作還存在一定的差距。在我國(guó),軟件測(cè)試可能算不上一個(gè)真正的產(chǎn)業(yè),軟件開發(fā)企業(yè)對(duì)軟件測(cè)試認(rèn)識(shí)淡薄,軟件測(cè)試人員與軟件開發(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ā)展1.2軟件測(cè)試的依據(jù)與人員組織1.2.1軟件測(cè)試的依據(jù)1.2.2軟件測(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)在軟件開發(fā)、供應(yīng)和維護(hù)中的使用指南。核心內(nèi)容包括:合同評(píng)審需求規(guī)格說(shuō)明開發(fā)計(jì)劃質(zhì)量計(jì)劃設(shè)計(jì)和實(shí)現(xiàn)測(cè)試和確認(rèn)驗(yàn)收復(fù)制、交付和安裝維護(hù)1.2.1軟件測(cè)試的依據(jù)512.軟件測(cè)試規(guī)范軟件測(cè)試規(guī)范就是對(duì)軟件測(cè)試的流程過(guò)程化并對(duì)每一個(gè)過(guò)程元素進(jìn)行明確的界定,形成完整的規(guī)范體系,包括:規(guī)范目的、范圍、文檔結(jié)構(gòu)、詞匯表、參考信息、可追溯性、方針、過(guò)程/規(guī)范、指南、模板、檢查表、培訓(xùn)、工具、參考資料等等。1.2.1軟件測(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/T18905.2-2002《軟件工程產(chǎn)品質(zhì)量》第2部分策劃和管理GB/T18905.3-2002《軟件工程產(chǎn)品質(zhì)量》第3部分開發(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.1軟件測(cè)試的依據(jù)

1.軟件測(cè)試的組織結(jié)構(gòu)和人員結(jié)構(gòu)軟件測(cè)試在組織結(jié)構(gòu)上一般分為功能測(cè)試組、性能測(cè)試組和文檔工作組。軟件測(cè)試在人員結(jié)構(gòu)上一般需要有測(cè)試文檔審核師、測(cè)試工程師和操作人員。1.2.2軟件測(cè)試人員的職責(zé)分配工程碩士54

2.測(cè)試職責(zé)分配系統(tǒng)分析設(shè)計(jì)人員軟件開發(fā)人員軟件測(cè)試人員配置管理員質(zhì)量保證人員對(duì)測(cè)試過(guò)程進(jìn)行審計(jì)對(duì)測(cè)試文檔及測(cè)試代碼等進(jìn)行配置管理提出測(cè)試需求;進(jìn)行測(cè)試需求跟蹤;進(jìn)行軟件系統(tǒng)可測(cè)性分析;確定測(cè)試的對(duì)象、范圍和方法提供軟件開發(fā)計(jì)劃SDP,參與測(cè)試計(jì)劃的制定和評(píng)審,提供軟件功能需求規(guī)格、需求分析、測(cè)試建議、響應(yīng)測(cè)試需求、參與測(cè)試方案的評(píng)審;跟蹤解決缺陷問(wèn)題報(bào)告單,參與測(cè)試報(bào)告的評(píng)審。制定測(cè)試計(jì)劃、方案并組織評(píng)審,實(shí)現(xiàn)測(cè)試用例,代碼和工具等設(shè)計(jì)、編寫測(cè)試規(guī)程;執(zhí)行測(cè)試、反饋并跟蹤缺陷問(wèn)題報(bào)告單,完成測(cè)試報(bào)告并組織評(píng)審,輸出測(cè)試案例、總結(jié)等經(jīng)驗(yàn)文檔1.軟件測(cè)試人員必需的基本素質(zhì)三心二意一能力細(xì)心耐心責(zé)任心服務(wù)意識(shí)團(tuán)隊(duì)意識(shí)溝通能力1.2.3軟件測(cè)試人員必需的素質(zhì)

2.軟件測(cè)試人員必需的知識(shí)素養(yǎng)

深入理解軟件測(cè)試?yán)碚撜莆崭黝愜浖y(cè)試技術(shù)接受專門的測(cè)試訓(xùn)練對(duì)軟件缺陷警覺性高對(duì)缺陷出現(xiàn)的各種情況較熟悉掌握多種計(jì)算機(jī)語(yǔ)言掌握一般的軟硬件、數(shù)據(jù)庫(kù)及網(wǎng)絡(luò)知識(shí)對(duì)所要測(cè)試的軟件的功能、結(jié)構(gòu)、要求有深入的認(rèn)識(shí)。1.2.3軟件測(cè)試人員必需的素質(zhì)

57(1)心理素質(zhì)最重要開發(fā)人員我不會(huì)犯錯(cuò)---任何人都可能犯錯(cuò)這種錯(cuò)誤不能算作錯(cuò)誤---質(zhì)量是由用戶來(lái)評(píng)價(jià)的發(fā)現(xiàn)我的錯(cuò)誤是對(duì)我工作的否定---是對(duì)我的工作的幫助測(cè)試人員責(zé)任心不夠,反正測(cè)試是不可能發(fā)現(xiàn)所有錯(cuò)誤的職業(yè)教育+激勵(lì)措施沒有創(chuàng)造性、枯燥總結(jié)經(jīng)驗(yàn),培養(yǎng)敏銳度,提升個(gè)人價(jià)值和權(quán)威技術(shù)比開發(fā)人員差,自信心不足代表用戶,決定成功的是用戶滿意1.2.4軟件測(cè)試的經(jīng)驗(yàn)58(2)測(cè)試前必須明確預(yù)期的輸出結(jié)果否則實(shí)際的輸出結(jié)果很可能成為檢驗(yàn)的標(biāo)準(zhǔn),測(cè)試失去意義(3)必須檢查每一個(gè)實(shí)際輸出結(jié)果很可笑,但是卻是事實(shí):不認(rèn)真檢查輸出結(jié)果(4)一段程序中存在錯(cuò)誤的概率與這段程序中已經(jīng)發(fā)現(xiàn)的錯(cuò)誤數(shù)成正比編碼規(guī)范、需求理解、技術(shù)能力、內(nèi)部耦合性都會(huì)導(dǎo)致這種“蟲子窩“現(xiàn)象1.2.4軟件測(cè)試的經(jīng)驗(yàn)工程碩士59(5)可能的情況下,避免測(cè)試自己的軟件發(fā)現(xiàn)不了思路錯(cuò)誤發(fā)現(xiàn)不了環(huán)境錯(cuò)誤心理因素導(dǎo)致測(cè)試可能不夠徹底和全面(6)依照用戶的要求、配置環(huán)境和使用習(xí)慣進(jìn)行測(cè)試并評(píng)價(jià)結(jié)果(7)測(cè)試設(shè)計(jì)決定了測(cè)試的有效性和效率,測(cè)試工具只能提高測(cè)試效率1.2.4軟件測(cè)試的經(jīng)驗(yàn)工程碩士60(8)注意保留測(cè)試設(shè)計(jì),并注意測(cè)試設(shè)計(jì)的可重用性和說(shuō)明文檔(9)測(cè)試活動(dòng)要有組織、有計(jì)劃、有選擇窮舉測(cè)試是不可能的不充分的測(cè)試是不負(fù)責(zé)任,過(guò)度的測(cè)試是浪費(fèi)資源有計(jì)劃的活動(dòng)能提高效率(10)不要放棄隨機(jī)測(cè)試的方法測(cè)試的不成熟性和藝術(shù)性1.2.4軟件測(cè)試的經(jīng)驗(yàn)

1.軟件測(cè)試人員的工作內(nèi)容

根據(jù)軟件需求規(guī)格說(shuō)明書、設(shè)計(jì)說(shuō)明書、代碼等軟件產(chǎn)物選取恰當(dāng)?shù)妮斎虢M合運(yùn)行被測(cè)試對(duì)象輸入數(shù)據(jù)執(zhí)行操作查看輸出結(jié)果是否和預(yù)期的結(jié)果一致,如果一致則認(rèn)為被測(cè)對(duì)象沒有問(wèn)題,否則,則認(rèn)為被測(cè)對(duì)象中可能存在缺陷缺陷修改完畢,驗(yàn)證缺陷修改,確認(rèn)缺陷是否修改正確,是否引入新問(wèn)題1.2.5軟件測(cè)試人員的工作流程核心工作產(chǎn)品測(cè)試用例缺陷報(bào)告單其他重要的工作產(chǎn)品測(cè)試計(jì)劃測(cè)試策略測(cè)試報(bào)告。。。。2.軟件測(cè)試人員的工作流程1.2.5軟件測(cè)試人員的工作流程

3.軟件測(cè)試人員的工作目標(biāo)

G.Myers給出了關(guān)于測(cè)試的一些規(guī)則,可以把它看作是測(cè)試人員的工作目標(biāo):軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)。一個(gè)好的測(cè)試用例在于他能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。要強(qiáng)調(diào)的是軟件測(cè)試不只是軟件測(cè)試人員的工作,也是軟件開發(fā)人員和軟件使用者的工作。1.2.5軟件測(cè)試人員的工作流程1.3軟件測(cè)試的生命周期與模型1.3.1軟件的開發(fā)模型1.3.2軟件測(cè)試的生命周期1.3.3

軟件測(cè)試與軟件開發(fā)的關(guān)系

1.經(jīng)典瀑布模型

由美國(guó)WinstonRoyce向IEEEWESCON(Royce,Winston1970)提交的一篇名為《管理大規(guī)模軟件系統(tǒng)的開發(fā)》的論文中首次提出的。由于方法的一個(gè)階段成瀑布流入下一個(gè)階段,所以為“瀑布模型或線性模型”。瀑布模型有很多的變化,但都包括以下的階段:需求分析與定義,系統(tǒng)設(shè)計(jì)與軟件設(shè)計(jì),系統(tǒng)實(shí)施與單元測(cè)試,系統(tǒng)集成與系統(tǒng)測(cè)試,系統(tǒng)運(yùn)行與系統(tǒng)維護(hù),也是軟件開發(fā)的基本過(guò)程。需求分析:可行性分析與軟件需求分析軟件需求分析:業(yè)務(wù)需求功能需求非功能需求1.3.1軟件的開發(fā)模型該處測(cè)試僅指執(zhí)行測(cè)試1.3.1軟件的開發(fā)模型

2.原型模型直觀、形象,更多地遵循了人們認(rèn)識(shí)事物的規(guī)律,因而更容易被人們接受。采用模擬的手段,縮短了用戶和系統(tǒng)分析、設(shè)計(jì)人員之間的距離。在整個(gè)系統(tǒng)開發(fā)過(guò)程中反饋是及時(shí)的,標(biāo)準(zhǔn)是統(tǒng)一的,可及時(shí)地暴露問(wèn)題,確保系統(tǒng)實(shí)現(xiàn)的正確性。充分利用了新一代的軟件工具,使得系統(tǒng)開發(fā)和運(yùn)行的效率都大大提高。

1.3.1軟件的開發(fā)模型1.3.1軟件的開發(fā)模型1.3.1軟件的開發(fā)模型1.3.1軟件的開發(fā)模型3.增量與迭代模型增量開發(fā)迭代開發(fā)

AnalysisDesignCodeTestDeliveryof1stincrementIncrement1AnalysisDesignCodeTestAnalysisDesignCodeTestDeliveryof2ndincrementDeliveryof3rdincrementIncrement2Increment31.3.1軟件的開發(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ì)劃開發(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)造原型開發(fā)、驗(yàn)證階段軟件產(chǎn)品過(guò)程迭代

4.螺旋模型(風(fēng)險(xiǎn)驅(qū)動(dòng)的過(guò)程模型,增量模型與爆布模型相結(jié)合)

1.3.1軟件的開發(fā)模型

5.漸進(jìn)模型1.3.1軟件的開發(fā)模型軟件測(cè)試的生命周期分為6個(gè)階段,前3個(gè)階段是引入錯(cuò)誤時(shí)期,也就是開發(fā)過(guò)程中的需求規(guī)格說(shuō)明、設(shè)計(jì)、編碼階段,此時(shí)極易引入錯(cuò)誤或者導(dǎo)致開發(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)行缺陷分類、缺陷隔離和解決缺陷。其中在修復(fù)舊缺陷的時(shí)候很可能引進(jìn)新的錯(cuò)誤,導(dǎo)致原來(lái)能夠正確執(zhí)行的程序出現(xiàn)新的缺陷。在軟件測(cè)試生命周期的每個(gè)階段都要完成一些確定的任務(wù),在執(zhí)行每個(gè)階段的任務(wù)時(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軟件測(cè)試的生命周期圖1-2軟件測(cè)試生命周期1.3.2軟件測(cè)試的生命周期

1.測(cè)試與開發(fā)各階段的關(guān)系

軟件開發(fā)過(guò)程是一個(gè)自頂向下,逐步細(xì)化的過(guò)程。首先在軟件計(jì)劃階段定義軟件的作用域,進(jìn)行軟件需求分析,建立軟件的數(shù)據(jù)域、功能和性能需求、約束和一些有效性準(zhǔn)則。然后進(jìn)入軟件開發(fā)---軟件設(shè)計(jì)和編寫代碼。

測(cè)試過(guò)程則是依相反的順序安排的自底向上,逐步集成的過(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軟件測(cè)試與軟件開發(fā)的關(guān)系圖1-3軟件測(cè)試與軟件開發(fā)過(guò)程的關(guān)系1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系

2.測(cè)試與開發(fā)的并行性在軟件的需求得到確認(rèn)并通過(guò)評(píng)審后,概要設(shè)計(jì)工作和測(cè)試計(jì)劃制定設(shè)計(jì)工作就要并行進(jìn)行。如果系統(tǒng)模塊已經(jīng)建立,對(duì)各個(gè)模塊的詳細(xì)設(shè)計(jì)、編碼、單元測(cè)試等工作又可并行。待每個(gè)模塊完成后,可以進(jìn)行集成測(cè)試、系統(tǒng)測(cè)試。并行流程如圖1-4所示。1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系圖1-4軟件測(cè)試與軟件開發(fā)的并行性1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系

3.測(cè)試與開發(fā)模型軟件測(cè)試不僅僅是執(zhí)行測(cè)試,而是一個(gè)包含很多復(fù)雜活動(dòng)的過(guò)程,并且這些活動(dòng)貫穿于整個(gè)軟件開發(fā)過(guò)程。在軟件開發(fā)過(guò)程中,應(yīng)該什么時(shí)候進(jìn)行測(cè)試,如何更好地把軟件開發(fā)和測(cè)試活動(dòng)集成到一起?這是軟件測(cè)試工作人員必須考慮的問(wèn)題,因?yàn)橹挥羞@樣,才能提高軟件測(cè)試工作的效率,提高軟件產(chǎn)品的質(zhì)量,最大限度地降低軟件開發(fā)與測(cè)試的成本,減少重復(fù)勞動(dòng)。1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系

(1)V模型在傳統(tǒng)開發(fā)過(guò)程中,測(cè)試不受重視,僅把它作為在需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)及編碼之后的一個(gè)階段。在V模型中,描述了一些不同的測(cè)試級(jí)別,并指出了這些級(jí)別所對(duì)應(yīng)的軟件生命周期中不同的階段和測(cè)試活動(dòng)和開發(fā)活動(dòng)的對(duì)應(yīng)關(guān)系。這是V模型的主要價(jià)值。V模型適用于所有類型的開發(fā)過(guò)程,但并不一定適用于開發(fā)和測(cè)試過(guò)程的所有方面。特別地,V模型并不是瀑布模型(線性關(guān)系)的變形。1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系軟件測(cè)試與開發(fā)的V模型1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系

(2)W模型由于各種原因,開發(fā)的每一個(gè)環(huán)節(jié)都可能產(chǎn)生錯(cuò)誤,如果堅(jiān)持各個(gè)階段的技術(shù)評(píng)審,就可盡早發(fā)現(xiàn)和預(yù)防錯(cuò)誤。軟件開發(fā)與測(cè)試的W模型,形象地說(shuō)明了軟件測(cè)試與開發(fā)的同步性。應(yīng)用W模型的優(yōu)點(diǎn)在于:每個(gè)軟件開發(fā)活動(dòng)結(jié)束后就可以執(zhí)行相應(yīng)的測(cè)試。如在需求分析結(jié)束后,就可以進(jìn)行需求分析測(cè)試。1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系W模型示意圖

1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系

(3)H模型

與前兩種模型相比,H模型充分地體現(xiàn)了測(cè)試過(guò)程。H模型揭示了:軟件測(cè)試不僅僅指測(cè)試的執(zhí)行,還包括很多其他的活動(dòng)。軟件測(cè)試是一個(gè)獨(dú)立的流程,貫穿軟件開發(fā)周期,與其它流程并發(fā)進(jìn)行。軟件測(cè)試要盡早準(zhǔn)備,盡早執(zhí)行。軟件測(cè)試根據(jù)被測(cè)物的不同是分層次的,不同層次的測(cè)試活動(dòng)可以是按照某個(gè)次序先后進(jìn)行的,但也可能是反復(fù)的。1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系H模型示意圖1.3.3軟件測(cè)試與軟件開發(fā)的關(guān)系1.4軟件測(cè)試計(jì)劃及其相關(guān)文檔1.1.1

軟件測(cè)試計(jì)劃1.1.2軟件測(cè)試計(jì)劃的制訂1.1.3開發(fā)、測(cè)試及計(jì)劃制定的并行關(guān)系1.1.4軟件測(cè)試文檔1.1.5軟件測(cè)試總結(jié)報(bào)告1.1.6軟件生命周期各階段交付的測(cè)試文檔1.4.1

軟件測(cè)試計(jì)劃1.測(cè)試計(jì)劃的定義軟件測(cè)試是一個(gè)有組織有計(jì)劃的活動(dòng),應(yīng)當(dāng)對(duì)時(shí)間和資源制訂測(cè)試計(jì)劃,才能在合理的控制下正常進(jìn)行。測(cè)試計(jì)劃作為測(cè)試的起始步驟,是整個(gè)軟件測(cè)試過(guò)程的關(guān)鍵。測(cè)試計(jì)劃規(guī)定了測(cè)試各個(gè)階段所要使用的方法策略、測(cè)試環(huán)境、測(cè)試通過(guò)或失敗的準(zhǔn)則等內(nèi)容。《ANSI/IEEE軟件測(cè)試文檔標(biāo)準(zhǔn)829-1983》將測(cè)試計(jì)劃定義為:“一個(gè)敘述了預(yù)定的測(cè)試活動(dòng)的范圍、途徑、資源及進(jìn)度安排的文檔。它確認(rèn)了測(cè)試項(xiàng)、被測(cè)特征、測(cè)試任務(wù)、人員安排,以及任何偶發(fā)事件的風(fēng)險(xiǎn)?!?/p>

2.測(cè)試計(jì)劃的目的和作用測(cè)試計(jì)劃的目的是明確測(cè)試活動(dòng)的意圖,規(guī)范軟件測(cè)試內(nèi)容、方法和過(guò)程,為有組織地完成測(cè)試任務(wù)提供保障。盡管測(cè)試的每一個(gè)步驟都是獨(dú)立的,但是必須要有一個(gè)起到框架結(jié)構(gòu)作用的測(cè)試計(jì)劃。軟件測(cè)試計(jì)劃是整個(gè)測(cè)試過(guò)程中最重要的部分,為實(shí)現(xiàn)可管理且高質(zhì)量的測(cè)試過(guò)程提供基礎(chǔ)。1.4.1

軟件測(cè)試計(jì)劃3.測(cè)試計(jì)劃書測(cè)試計(jì)劃文檔化即是測(cè)試計(jì)劃書,分為總體計(jì)劃和分級(jí)計(jì)劃,是可以更新改進(jìn)的文檔。測(cè)試計(jì)劃書描述了軟件測(cè)試預(yù)計(jì)達(dá)到的目標(biāo),確定測(cè)試過(guò)程所要采用的方法策略。從文檔的角度看,測(cè)試計(jì)劃書是最重要的測(cè)試文檔。1.4.1

軟件測(cè)試計(jì)劃

4.測(cè)試計(jì)劃的內(nèi)容測(cè)試計(jì)劃包括測(cè)試目的、測(cè)試范圍、測(cè)試對(duì)象、測(cè)試策略、測(cè)試任務(wù)、測(cè)試用例、資源配置、測(cè)試結(jié)果分析和度量以及測(cè)試風(fēng)險(xiǎn)評(píng)估等,測(cè)試計(jì)劃應(yīng)當(dāng)足夠完整但也不應(yīng)當(dāng)太詳盡。實(shí)際的測(cè)試計(jì)劃內(nèi)容因不同的測(cè)試對(duì)象而靈活變化。1.4.1軟件測(cè)試計(jì)劃

正規(guī)的測(cè)試計(jì)劃應(yīng)該包含以下幾個(gè)項(xiàng)目(參考樣本)。

(1)測(cè)試的基本信息:包括測(cè)試目的、背景、測(cè)試范圍等。(2)測(cè)試的具體目標(biāo):列出軟件需要進(jìn)行的測(cè)試部分和不需要進(jìn)行的測(cè)試部分。(3)測(cè)試的策略:測(cè)試人員采用的測(cè)試方法,如回歸測(cè)試、功能測(cè)試、自動(dòng)測(cè)試等。

(4)測(cè)試的通過(guò)標(biāo)準(zhǔn):測(cè)試是否通過(guò)的界定標(biāo)準(zhǔn)以及沒有通過(guò)情況的處理方法;

(5)停測(cè)標(biāo)準(zhǔn):給出每個(gè)測(cè)試階段停止測(cè)試的標(biāo)準(zhǔn)。1.4.1軟件測(cè)試計(jì)劃

(6)測(cè)試用例:詳細(xì)描述測(cè)試用例,包括測(cè)試值、測(cè)試操作過(guò)程、測(cè)試期待值等。(7)測(cè)試的基本支持:測(cè)試所需硬件、自動(dòng)測(cè)試軟件等。(8)部門責(zé)任分工:明確所有參與軟件管理、開發(fā)、測(cè)試、技術(shù)支持等部門的責(zé)任細(xì)則。(9)測(cè)試人力資源分配:列出測(cè)試所需人力資源以及軟件測(cè)試人員的培訓(xùn)計(jì)劃。(10)測(cè)試進(jìn)度:制定每一個(gè)階段的詳細(xì)測(cè)試進(jìn)度安排表。(11)風(fēng)險(xiǎn)估計(jì)和危機(jī)處理:估計(jì)測(cè)試過(guò)程中潛在的風(fēng)險(xiǎn)以及面臨危機(jī)時(shí)的解決辦法。1.4.1軟件測(cè)試計(jì)劃5.測(cè)試計(jì)劃的特點(diǎn)一個(gè)理想的測(cè)試計(jì)劃應(yīng)該體現(xiàn)以下幾個(gè)特點(diǎn):檢測(cè)主要缺陷時(shí)有一個(gè)好的選擇;具有靈活性;提供絕大部分代碼的覆蓋率;定義要執(zhí)行測(cè)試的種類;易于執(zhí)行、回歸和自動(dòng)化;沒有測(cè)試冗余;明確說(shuō)明期望的測(cè)試結(jié)果;確認(rèn)測(cè)試風(fēng)險(xiǎn);當(dāng)缺陷被發(fā)現(xiàn)時(shí)提供缺陷核對(duì);文檔化確定測(cè)試的需求;明確定義測(cè)試目標(biāo);明確定義測(cè)試策略;明確定義測(cè)試通過(guò)標(biāo)準(zhǔn);定義可交付的測(cè)試件。1.4.1軟件測(cè)試計(jì)劃6.測(cè)試計(jì)劃的應(yīng)用借助軟件測(cè)試計(jì)劃,參與測(cè)試的項(xiàng)目成員,尤其是測(cè)試管理人員,明確了測(cè)試任務(wù)和測(cè)試方法,保持測(cè)試實(shí)施過(guò)程的順暢溝通,跟蹤和控制測(cè)試進(jìn)度,應(yīng)對(duì)測(cè)試過(guò)程中的各種變更。一份好的測(cè)試計(jì)劃需要綜合考慮各種影響測(cè)試的因素。測(cè)試計(jì)劃是軟件測(cè)試流程工作的基本依據(jù),測(cè)試計(jì)劃中所列條目在實(shí)際測(cè)試中必須一一執(zhí)行。在測(cè)試的過(guò)程中,若發(fā)現(xiàn)新的測(cè)試用例,就要盡早補(bǔ)充到測(cè)試計(jì)劃中。若預(yù)先制定的測(cè)試計(jì)劃項(xiàng)目在實(shí)際測(cè)試中不適用或無(wú)法實(shí)現(xiàn),那么也要盡快對(duì)計(jì)劃進(jìn)行修改,使計(jì)劃具有可行性。1.4.1軟件測(cè)試計(jì)劃1.測(cè)試計(jì)劃制定的工作內(nèi)容測(cè)試計(jì)劃制定需要完成的主要工作內(nèi)容有:擬定測(cè)試計(jì)劃、論證在開發(fā)過(guò)程中難于管理和控制的因素,明確軟件產(chǎn)品的最重要部分(風(fēng)險(xiǎn)評(píng)估)。1.4.2測(cè)試計(jì)劃的制訂

2、測(cè)試計(jì)劃制定的活動(dòng)在制定測(cè)試計(jì)劃過(guò)程中,核心活動(dòng)包括:(1)確定測(cè)試策:確定測(cè)試的范圍與方法、確定測(cè)試標(biāo)準(zhǔn)和質(zhì)量檢查點(diǎn)、確定自動(dòng)化測(cè)試策略。(2)確定測(cè)試系統(tǒng)(硬件和軟件)測(cè)試架構(gòu):測(cè)試用例的組織結(jié)構(gòu);測(cè)試工具測(cè)試環(huán)境:物理測(cè)試設(shè)施,運(yùn)行的操作系統(tǒng)與計(jì)算平臺(tái)等。測(cè)試配置情況:排列配置的優(yōu)先級(jí),決定哪些配置需要全面測(cè)試,哪些可以進(jìn)行部分測(cè)試。1.4.2測(cè)試計(jì)劃的制訂

(3)預(yù)估測(cè)試工作量(資源和時(shí)間進(jìn)度計(jì)劃)對(duì)項(xiàng)目進(jìn)行預(yù)估有5個(gè)準(zhǔn)備步驟:確定需完成的任務(wù)。確定每項(xiàng)任務(wù)所需的工作量和整個(gè)測(cè)試過(guò)程的工作量。確定完成每項(xiàng)任務(wù)以及整個(gè)測(cè)試過(guò)程所需的時(shí)間。為測(cè)試工作建立詳細(xì)的時(shí)間進(jìn)度計(jì)劃和里程碑表。評(píng)估時(shí)間進(jìn)度風(fēng)險(xiǎn)并準(zhǔn)備緩解風(fēng)險(xiǎn)計(jì)劃。

(4)準(zhǔn)備并復(fù)查測(cè)試計(jì)劃文檔。

1.4.2測(cè)試計(jì)劃的制訂測(cè)試計(jì)劃制訂活動(dòng)1.4.2測(cè)試計(jì)劃的制訂軟件開發(fā)過(guò)程測(cè)試計(jì)劃制定需求分析功能設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼概要測(cè)試計(jì)劃詳細(xì)測(cè)試計(jì)劃測(cè)試大綱測(cè)試用例實(shí)施測(cè)試結(jié)果分析糾錯(cuò)質(zhì)量評(píng)審產(chǎn)品發(fā)布項(xiàng)目任務(wù)書

軟件開發(fā)、軟件測(cè)試與測(cè)試計(jì)劃制定的并行關(guān)系1.4.3開發(fā)、測(cè)試及計(jì)劃制定的并行關(guān)系

1.軟件測(cè)試文檔的定義測(cè)試文檔(TestingDocumentation)記錄和描述了整個(gè)測(cè)試流程,是測(cè)試的產(chǎn)出物,是整個(gè)測(cè)試活動(dòng)中非常重要的文件。常見的測(cè)試文檔包括測(cè)試計(jì)劃、測(cè)試規(guī)范、測(cè)試用例(大綱)、缺陷報(bào)告和測(cè)試報(bào)告等。測(cè)試報(bào)告內(nèi)容包括產(chǎn)品質(zhì)量和測(cè)試過(guò)程的評(píng)價(jià),測(cè)試報(bào)告基于測(cè)試中的數(shù)據(jù)采集以及對(duì)最終測(cè)試結(jié)果的分析。測(cè)試文檔在測(cè)試過(guò)程中的作用在于:有助于測(cè)試任務(wù)的完成、更好的協(xié)調(diào)測(cè)試任務(wù)與測(cè)試過(guò)程、為測(cè)試項(xiàng)目的組織、規(guī)劃與管理提供了一個(gè)架構(gòu)。1.4.4測(cè)試文檔

2.測(cè)試文檔的類型測(cè)試文檔一般分為兩類:測(cè)試計(jì)劃和測(cè)試分析報(bào)告。測(cè)試計(jì)劃文檔描述將要進(jìn)行的測(cè)試活動(dòng)的范圍、方法、資源和時(shí)間進(jìn)度及測(cè)試準(zhǔn)則等。在軟件的需求和設(shè)計(jì)階段就要開始制定測(cè)試計(jì)劃,不能在開始測(cè)試的時(shí)候才制定測(cè)試計(jì)劃。測(cè)試計(jì)劃的編寫要從需求分析階段開始,直到軟件設(shè)計(jì)階段結(jié)束時(shí)才完成。測(cè)試報(bào)告是執(zhí)行測(cè)試的總結(jié),對(duì)測(cè)試結(jié)果進(jìn)行分析說(shuō)明。軟件經(jīng)過(guò)測(cè)試以后,結(jié)論性的意見如何,軟件的能力如何,存在哪些缺陷和限制等。測(cè)試報(bào)告既是對(duì)軟件質(zhì)量的評(píng)價(jià),又是決定該軟件能否交付用戶使用的依據(jù)。1.4.4測(cè)試文檔3.軟件測(cè)試文檔的規(guī)范《計(jì)算機(jī)軟件測(cè)試文檔編制規(guī)范》國(guó)家標(biāo)準(zhǔn)給出了的測(cè)試文檔編制建議,具體包括以下幾個(gè)內(nèi)容。其中前4項(xiàng)屬于測(cè)試計(jì)劃類文檔,后3項(xiàng)屬于測(cè)試分析報(bào)告類文檔。測(cè)試計(jì)劃:描述測(cè)試活動(dòng)的范圍、方法、資源和進(jìn)度,其中規(guī)定了被測(cè)試的對(duì)象,被測(cè)試的特性、應(yīng)完成的測(cè)試任務(wù)、人員職責(zé)及風(fēng)險(xiǎn)等。測(cè)試設(shè)計(jì)規(guī)格說(shuō)明:詳細(xì)描述測(cè)試方法,測(cè)試用例設(shè)計(jì)以及測(cè)試通過(guò)的準(zhǔn)則等。1.4.4測(cè)試文檔測(cè)試用例規(guī)格說(shuō)明:描述一個(gè)完整的測(cè)試用例所需要的必備因素,如輸入、預(yù)期結(jié)果、測(cè)試執(zhí)行條件以及對(duì)環(huán)境的要求、對(duì)測(cè)試規(guī)程的要求等。測(cè)試步驟規(guī)格說(shuō)明:指明了測(cè)試所執(zhí)行活動(dòng)的次序,規(guī)定了實(shí)施測(cè)試的具體步驟。它包括測(cè)試規(guī)程清單和測(cè)試規(guī)程列表兩部分。測(cè)試日志:日志是測(cè)試小組對(duì)測(cè)試過(guò)程所作的記錄。測(cè)試事件報(bào)告:說(shuō)明測(cè)試中發(fā)生的一些重要事件。測(cè)試總結(jié)報(bào)告:對(duì)測(cè)試活動(dòng)所作的總結(jié)和結(jié)論。1.4.4測(cè)試文檔測(cè)試總結(jié)報(bào)告主要包括測(cè)試結(jié)果統(tǒng)計(jì)表、測(cè)試問(wèn)題表和問(wèn)題統(tǒng)計(jì)表、測(cè)試進(jìn)度表、測(cè)試總結(jié)表等。1.4.5軟件測(cè)試總結(jié)報(bào)告計(jì)劃測(cè)試項(xiàng)實(shí)際測(cè)試項(xiàng)【Y】項(xiàng)【P】項(xiàng)【N】項(xiàng)【N/A】項(xiàng)備注數(shù)量百分比1.測(cè)試結(jié)果統(tǒng)計(jì)表測(cè)試結(jié)果統(tǒng)計(jì)表主要是對(duì)測(cè)試項(xiàng)目進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)計(jì)劃測(cè)試項(xiàng)和實(shí)際測(cè)試項(xiàng)的數(shù)量以及測(cè)試項(xiàng)通過(guò)多少、失敗多少等。測(cè)試結(jié)果統(tǒng)計(jì)表1.4.5軟件測(cè)試總結(jié)報(bào)告其中:【Y】表示測(cè)試結(jié)果全部通過(guò),【P】表示測(cè)試結(jié)果部分通過(guò),【N】表示測(cè)試結(jié)果絕大多數(shù)沒通過(guò),【N/A】表示無(wú)法測(cè)試或測(cè)試用例不適合。另外,根據(jù)表可以按照下列兩個(gè)公式分別計(jì)算測(cè)試完成率和覆蓋率,作為測(cè)試總結(jié)報(bào)告的重要數(shù)據(jù)指標(biāo)。測(cè)試完成率=實(shí)際測(cè)試項(xiàng)數(shù)量/計(jì)劃測(cè)試項(xiàng)數(shù)量×100%測(cè)試覆蓋率=【Y】項(xiàng)的數(shù)量/計(jì)劃測(cè)試項(xiàng)數(shù)量×100%1.4.5軟件測(cè)試總結(jié)報(bào)告問(wèn)題號(hào)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論