版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件測試第一章軟件測試導(dǎo)論第二章軟件測試技術(shù)第三章軟件測試用例的設(shè)計方法第四章軟件測試的過程方法1.1軟件測試的基本概念1.2
軟件測試的依據(jù)與人員組織1.3
軟件測試的生命周期與模型1.4軟件測試計劃及其相關(guān)文檔第一章軟件測試導(dǎo)論1.1.1
軟件測試的定義1.1.2軟件測試的必要性1.1.3軟件缺陷1.1.4軟件測試的原則1.1.5軟件測試的誤區(qū)1.1.6軟件測試與軟件質(zhì)量保證的關(guān)系1.1.7
軟件測試技術(shù)的發(fā)展1.1軟件測試的基本概念
軟件質(zhì)量是軟件的生命。為了保證軟件的質(zhì)量,人們在長期的軟件開發(fā)過程中積累了許多經(jīng)驗,形成了許多有效的方法(技術(shù)的和管理的)。但是借助這些方法,只能減少軟件中的錯誤和不足,但不能完全避免錯誤。技術(shù):軟件開發(fā)技術(shù),軟件測試屬于技術(shù)管理:軟件項目管理軟件產(chǎn)品特點:無形性、邏輯性、復(fù)雜性,一般產(chǎn)品質(zhì)量通過參數(shù)確定,軟件產(chǎn)品?
1.1軟件測試的基本概念1.什么是軟件測試軟件測試就是在軟件投入運行前,對軟件需求分析、架構(gòu)設(shè)計和編碼實現(xiàn)的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵。對軟件測試的定義很多,但一般可描述如下:軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一組測試用例,利用測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程。簡言之,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。1.1.1軟件測試的定義1.什么是軟件測試目前,根據(jù)側(cè)重點的不同,主要有以下三種觀點:1983年IEEE將軟件測試定義為:“使用人工或自動手段運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別”。明確地提出了軟件測試是以檢驗軟件是否滿足需求為目的。Myers認(rèn)為:“是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程”。明確提出軟件測試是以對軟件“尋找錯誤”為目的。
多數(shù)軟件開發(fā)商認(rèn)為:軟件測試是一種重要的軟件質(zhì)量保證活動,其動機是通過一些經(jīng)濟(jì)、高效的方法,捕捉軟件中的錯誤,保證軟件內(nèi)在質(zhì)量。明確提出軟件測試是以保證軟件內(nèi)在質(zhì)量。1.1.1軟件測試的定義2.軟件測試與軟件調(diào)試的區(qū)別概念不同:軟件測試是一個在可控環(huán)境中執(zhí)行軟件的過程,以驗證是否按預(yù)期運行。軟件調(diào)試是一個分析和定位軟件BUG的過程。作用不同:調(diào)試是測試的一個基礎(chǔ),調(diào)試支持測試,但不能完全替代測試。目的不同:調(diào)試使軟件能正確運行,而測試是發(fā)現(xiàn)軟件中的錯誤。對象不同:調(diào)試的對象是代碼,測試的對象是開發(fā)過程中的所有的產(chǎn)品。1.1.1軟件測試的定義3.軟件測試的目的
基于不同的立場,存在兩種完全不同的測試目的。從用戶的角度,希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,以考慮是否接受該產(chǎn)品。從開發(fā)者的角度,希望通過軟件測試表明軟件產(chǎn)品中不存在錯誤,驗證軟件已正確地實現(xiàn)了用戶的要求,確立對軟件質(zhì)量的信心。綜合明來,測試的目的是通過對軟件錯誤的原因和分布進(jìn)行歸納,來發(fā)現(xiàn)并排除軟件產(chǎn)品的缺陷,對在需求和設(shè)計過程中存在的問題查缺補漏,確保軟件產(chǎn)品的質(zhì)量。
1.1.1軟件測試的定義4.軟件測試的基本職責(zé)軟件測試有兩個基本職責(zé):一是驗證:前后階段的需求是否一致。即正向思維,所有特性功能通過,達(dá)到預(yù)期。二是確認(rèn):滿足最終需求。即反向思維,存在錯誤而盡力發(fā)現(xiàn)錯誤,直到找不到錯誤1.1.1軟件測試的定義1.為什么要進(jìn)行軟件測試軟件由人開發(fā),人會犯錯誤——〉軟件(程序+數(shù)據(jù)+文檔)都有缺陷。無法避免人犯錯,但是可以通過努力尋找隱藏在軟件中的缺陷。多、快、好、省提高軟件質(zhì)量。1.1.2軟件測試的必要性用戶所說的需求分析人員理解的《系統(tǒng)需求規(guī)格說明書》開發(fā)人員理解的實際軟件人不是完美的,在設(shè)計和實現(xiàn)時會出錯
信息傳遞的誤差1.1.2軟件測試的必要性1.為什么要進(jìn)行軟件測試工程碩士12沒有軟件工程和項目管理概念下,軟件開發(fā)現(xiàn)象1.1.2軟件測試的必要性2.軟件缺陷案例軟件缺陷將造成災(zāi)難性危害或?qū)τ脩舢a(chǎn)生巨大的影響。2003年,軟件問題造成美國東部及加拿大停電,導(dǎo)致5000萬人受影響,3人喪生,60億美元的損失。2000年,美國海軍飛機控制軟件問題導(dǎo)致飛機墜落,4人喪生。1997年韓國空難,導(dǎo)致225人喪生(雷達(dá)控制軟件問題)2004年,北美銀行已新安裝的軟件的缺陷,使數(shù)以百萬計的客戶受影響,缺陷修復(fù)花費兩個星期,造成億元損失。2003年,美國專門為學(xué)生貸款的公司由于軟件出錯,錯誤計算80萬學(xué)生的貸款利率,導(dǎo)致800萬元的損失……1.1.2軟件測試的必要性3.軟件測試是軟件開發(fā)的重要環(huán)節(jié)4.軟件測試是保證軟件質(zhì)量的主要手段。
1.1.2軟件測試的必要性1.1.3
軟件缺陷1.軟件缺陷的定義
軟件缺陷(bug)的定義很多,綜合說來是程序中存在破壞軟件正常運行的問題、錯誤或瑕疵,導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。
軟件缺陷是指軟件產(chǎn)品中所存在的導(dǎo)致不能完全滿足用戶需求的錯誤。
按IEEE729標(biāo)準(zhǔn),軟件缺陷的含義有2個方面:軟件產(chǎn)品的內(nèi)部:軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中所存在的錯誤、瑕疵等。軟件產(chǎn)品的外部:軟件缺陷是軟件所需要實現(xiàn)的某種功能的失效或違背。2.軟件缺陷外部表現(xiàn)的判斷規(guī)則
軟件未實現(xiàn)產(chǎn)品說明書要求的功能。軟件出現(xiàn)產(chǎn)品說明書指明不會出現(xiàn)的錯誤。軟件實現(xiàn)超出產(chǎn)品說明書提到的功能。軟件未實現(xiàn)產(chǎn)品說明書雖未明確指出但應(yīng)該實現(xiàn)的功能。軟件難以理解,不易使用,運行緩慢或用戶認(rèn)為不好。第5條規(guī)則是全面的。如果軟件測試員發(fā)現(xiàn)某些地方不對勁,無論什么原因,都可認(rèn)為是缺陷。1.1.3軟件缺陷
以計算器為例說明判斷規(guī)則。若產(chǎn)品說明書聲稱能夠準(zhǔn)確無誤地進(jìn)行加、減、乘、除運算,當(dāng)你按下(+)鍵,結(jié)果什么反應(yīng)也沒有;根據(jù)第1條規(guī)則,是一個缺陷。假如得到錯誤答案;根據(jù)第1條規(guī)則,同樣是一個缺陷。若產(chǎn)品說明書聲稱永遠(yuǎn)不會崩潰、鎖死或者停止反應(yīng),當(dāng)你任意敲鍵盤,計算器停止接受輸入。根據(jù)第2條規(guī)則,是一個缺陷。若在測試計算器過程中,發(fā)現(xiàn)除了加、減、乘、除之外它還可以求平方根,而產(chǎn)品說明書中沒提到該功能。根據(jù)第3條規(guī)則,是一個缺陷。若在測試計算器過程中,發(fā)現(xiàn)電池電量很少時,會導(dǎo)致計算不正確,但產(chǎn)品說明書未指出該問題。根據(jù)第4條規(guī)則,是一個缺陷。若“=”鍵布置的位置使其極不好按,或在明亮光下顯示屏難以看清。根據(jù)第5條規(guī)則,是一個缺陷。1.1.3軟件缺陷3.軟件缺陷的種類從功能表現(xiàn)形式分,軟件缺陷有三種類型:完全沒有實現(xiàn)的功能。例如用戶要求實現(xiàn)A、B、C三個功能,但是軟件只實現(xiàn)了A、B兩個功能?;緦崿F(xiàn)了用戶需求的功能,運行時出現(xiàn)功能或性能上的問題。例如滿足軟件要求,但運行經(jīng)常報錯、死機,響應(yīng)時間要求為5秒,實際為10秒。實現(xiàn)了用戶不需要的功能。例如用戶要求實現(xiàn)A、B、C三個功能,實際實現(xiàn)了A、B、C、D四個功能。1.1.3軟件缺陷還表現(xiàn)在其他方面。如:特性沒有實現(xiàn)或部分實現(xiàn);設(shè)計不合理;實際結(jié)果和預(yù)期結(jié)果不一致;運行出錯(運行中斷、系統(tǒng)崩潰、界面混亂);數(shù)據(jù)結(jié)果不正確、精度不夠;用戶不能接受的其他問題(存取時間過長、界面不美觀)。1.1.3軟件缺陷4.軟件缺陷的級別軟件測試員發(fā)現(xiàn)的大多數(shù)缺陷是難以覺察的簡單錯誤,不明顯,也不嚴(yán)重;且有些是真正的錯誤,有些不是。一般來說,問題越嚴(yán)重的錯誤,優(yōu)先級越高,越應(yīng)得到及時糾正。軟件公司對缺陷后果的嚴(yán)重程度的定義不盡相同,但一般可以分為4種級別:1.1.3軟件缺陷4.軟件缺陷的級別
致命的:指造成系統(tǒng)或應(yīng)用程序崩潰、死機、懸掛,或造成數(shù)據(jù)丟失、主要功能完全失效等。嚴(yán)重的:指功能或特性沒有實現(xiàn),主要功能部分喪失,次要功能完全喪失,或致命的錯誤聲明。一般的:指雖然不影響系統(tǒng)的基本使用,但沒有很好實現(xiàn)功能,沒有達(dá)到預(yù)期效果。如次要功能喪失,提示信息不太準(zhǔn)確,用戶界面差,操作時間長等。微小的:指對功能幾乎沒有影響,產(chǎn)品及屬性仍可使用,如有個別錯別字、文字排列不整齊等。
除了這4種之外,有時需要“建議”級別來處理測試人員所提出的建議或質(zhì)疑,如建議程序做適當(dāng)?shù)男薷?,來改善程序運行狀態(tài),或?qū)υO(shè)計不合理、不明白的地方提出質(zhì)疑。
1.1.3軟件缺陷輕微:詞語拼寫錯誤中等:誤導(dǎo)或重復(fù)信息使人不悅:被截斷的信息,0.00¥帳單影響使用:有些交易沒有處理嚴(yán)重: 丟失交易非常嚴(yán)重:不正確的交易處理極為嚴(yán)重:經(jīng)常出現(xiàn)“非常嚴(yán)重”的錯誤無法忍受:數(shù)據(jù)庫破壞災(zāi)難性:系統(tǒng)停機容易傳染:擴展到其他系統(tǒng)的系統(tǒng)停機缺陷類型具體可參見軟件異常IEEE標(biāo)準(zhǔn)分類(IEEE,1993)1.1.3軟件缺陷5.軟件缺陷的狀態(tài)
為便于跟蹤和管理軟件的缺陷,可以定義不同的狀態(tài)。軟件缺陷的狀態(tài)一般有3種:激活狀態(tài):問題還沒有解決,測試人員新報的bug,或驗證后bug仍然存在。已修正狀態(tài):開發(fā)人員針對所存在的缺陷,修改程序,認(rèn)為問題已解決,或通過單元測試。關(guān)閉或非激活狀態(tài):測試人員驗證已經(jīng)修正的bug后,確認(rèn)bug不存在后的狀態(tài)。1.1.3軟件缺陷6.軟件缺陷產(chǎn)生的原由
造成軟件缺陷的原由歸納起來有3個方面:技術(shù)問題算法錯誤。語法錯誤。計算方法與精度要求不匹配或取值精度不夠。結(jié)構(gòu)不合理。接口參數(shù)不匹配。
1.1.3軟件缺陷
團(tuán)隊工作問題
與用戶的溝通不夠,對需求不是十分清楚。不同階段的開發(fā)人員對同一問題理解不一致。設(shè)計或編程上的假定或依賴性溝通不充分。軟件本身問題文檔錯誤、內(nèi)容不正確或拼寫錯誤。數(shù)據(jù)考慮不周全,引起強度或負(fù)載不合理。對邊界考慮不周全,如漏掉幾個邊界條件。實時軟件的同步不精確,引起時間不協(xié)調(diào)、不一致沒有考慮系統(tǒng)崩潰后在安全性、可靠性的隱患。硬件或系統(tǒng)軟件上存在的錯誤。軟件開發(fā)標(biāo)準(zhǔn)或過程上的錯誤。1.1.3軟件缺陷7.軟件缺陷的構(gòu)成從按軟件開發(fā)過程來看,不同階段的工作,導(dǎo)致軟件缺陷的差異性很大,如圖所示。需求分析是軟件缺陷出現(xiàn)最多的階段。圖1-1軟件缺陷構(gòu)成示意圖1.1.3軟件缺陷
缺陷放大模型
因此,從需求開始,則制定測試計劃,堅持軟件開發(fā)的階段性技術(shù)評審,才能在開發(fā)過程中盡早發(fā)現(xiàn)和預(yù)防錯誤,把出現(xiàn)的錯誤克服在早期,杜絕隱患,提高軟件質(zhì)量。1.盡早不斷地進(jìn)行軟件測試
IBM的研究結(jié)果表明,缺陷存在放大趨勢。從圖可見,問題發(fā)現(xiàn)越早,解決問題的代價就越小,這是軟件開發(fā)過程中的黃金法則。1.1.4軟件測試的原則2.不可能完全測試對程序完全測試則意味著在測試結(jié)束之后,不會再發(fā)現(xiàn)軟件錯誤。但這是不可能的,主要原因有以下幾點:不可能對程序所有可能輸入的響應(yīng)進(jìn)行測試。不可能對程序所有可能執(zhí)行的路徑進(jìn)行測試。無法找出所有的設(shè)計錯誤。不能采用邏輯來證明程序的正確性。1.1.4軟件測試的原則如果測試一個計算器程序的功能,需要進(jìn)行多少次輸入?不計其數(shù)!整型:從1+1到999999999999999999999999999999+999999999999999999999999999999小數(shù):1.0+0.1,1.0+0.2…等等鍵盤上的任何一種組合乘法和除法運算重復(fù)上面的操作1.1.4軟件測試的原則
由小到大是指軟件測試的粒度。即多個單元組合過渡到集成測試,集成測試過渡到系統(tǒng)測試。虛線是測試階段的發(fā)布基線,隨著測試的逐步深入,范圍的逐步擴大,測試時間、可用資源也隨之增大。3.由小到大增量測試測試過程關(guān)系圖1.1.4軟件測試的原則4.避免程序員測試自己的程序
程序員不會輕易承認(rèn)自己的程序有錯誤。程序員的測試思路有局限性,測試時容易受到編程思路的影響。
多數(shù)程序員沒有嚴(yán)格正規(guī)的職業(yè)訓(xùn)練,缺乏專業(yè)測試人員的意識。
程序員沒有養(yǎng)成錯誤跟蹤和回歸測試的習(xí)慣。由別人測試,會更客觀,更有效。
1.1.4軟件測試的原則5.設(shè)計周密的測試用例。測試用例是測試工作的核心,只有設(shè)計周密細(xì)致的測試用例,才能保證測試工作的質(zhì)量。
1.1.4軟件測試的原則6.注意錯誤集中的現(xiàn)象對錯誤群集的程序段進(jìn)行重點測試,以提高測試投資的效益。軟件缺陷的“扎堆”現(xiàn)象的常見形式:對話框的某個控件功能不起作用,其他控件的功能也可能不起作用。某個文本框不能正確顯示雙字節(jié)字符,其他文本框也可能不支持雙字節(jié)字符。安裝文件某個對話框的“上一步”或“下一步”按鈕被截斷,在其他對話框中這兩個按鈕也可能被截斷。1.1.4軟件測試的原則
7.BUG有效性確認(rèn)有時測試人員提交的BUG并不是真正的BUG,無效BUG的來源如圖所示。一般由A測試人員發(fā)現(xiàn)的BUG,一定要由B測試人員進(jìn)行確認(rèn),如果發(fā)現(xiàn)嚴(yán)重的BUG可以召開評審會進(jìn)行討論和分析。1.1.4軟件測試的原則無效BUG來源構(gòu)成圖1.1.4軟件測試的原則
8.合理安排測試計劃
合理的測試計劃有助于測試工作順利有序地進(jìn)行。測試計劃應(yīng)結(jié)合多種針對性強的測試方法,列出所有可使用資源,建立一個正確的測試目標(biāo)。要有明確規(guī)定,不要隨意解釋。本著嚴(yán)謹(jǐn)、準(zhǔn)確的原則,周到細(xì)致地做好測試前期的準(zhǔn)備工作,避免測試的隨意性。尤其是要盡量科學(xué)合理地安排測試時間。嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護(hù)提供方便。,1.1.4軟件測試的原則錯誤依賴關(guān)系9.回歸測試
錯誤之間存在簡單的依賴或復(fù)雜的多重依賴關(guān)系。(a)圖中:A錯誤依賴于B錯誤的關(guān)閉而關(guān)閉;(b)圖中:A錯誤依賴于B錯誤和C錯誤的同時關(guān)閉而關(guān)閉;(c)圖是(a)和(b)的復(fù)合方式。程序中的錯誤存在著一對多、多對多的復(fù)雜關(guān)系而變得難以處理,且有些依賴關(guān)系處于隱性狀態(tài)。1.1.4軟件測試的原則
10.測試結(jié)果的統(tǒng)計和分析
只有對測試輸出信息進(jìn)行深入地統(tǒng)計、分析和比較,才能正確的鑒別測試輸出的數(shù)據(jù),給出清晰的錯誤分析報告。當(dāng)輸出的信息很龐大時,可以借助專業(yè)的測試工具。1.1.4軟件測試的原則
11.及時更新測試
導(dǎo)致測試失敗的原因有很多,一般有如下幾點:
1、測試團(tuán)隊管理者失職;
2、測試團(tuán)隊中溝通不好;
3、測試團(tuán)隊和項目團(tuán)隊溝通不良;
4、測試過程中,執(zhí)行角色無準(zhǔn)確定義;
5、測試團(tuán)隊缺乏良好的培訓(xùn)。
1.1.4軟件測試的原則
誤區(qū)1調(diào)試和測試是一樣的誤區(qū)2軟件測試在軟件開發(fā)過程中并不重要誤區(qū)3在軟件開發(fā)結(jié)束之后進(jìn)行測試誤區(qū)4過分依賴Beta測試誤區(qū)5過分依賴自動化測試誤區(qū)6測試是可窮盡的誤區(qū)7測試是證明軟件的正確性誤區(qū)8可以忽略測試的設(shè)計
1.1.5軟件測試的誤區(qū)41SQA(SoftwareQualityAssurance):為確保軟件開發(fā)過程和結(jié)果符合預(yù)期要求而建立的一系列規(guī)程,以及依照規(guī)程和計劃采取的一系列活動及其結(jié)果評價。面向管理層,提供正確的信息,工作的對象是產(chǎn)品;促進(jìn)和協(xié)調(diào)過程改進(jìn);預(yù)防問題。軟件測試:使用人工或者自動手段來運行或測定某個系統(tǒng)的過程,檢驗其是否滿足規(guī)定的需求或判定預(yù)期結(jié)果與實際結(jié)果之間的差別。工作的對象是開發(fā)的軟件,尋找缺陷;強調(diào)書寫正式的測試文檔,實現(xiàn)可重復(fù)的結(jié)構(gòu)化軟件測試;發(fā)現(xiàn)問題。1.1.6軟件測試與質(zhì)量保證的關(guān)系
軟件=程序+數(shù)據(jù)+文檔+服務(wù)軟件質(zhì)量:系統(tǒng)、組件或過程滿足明確的需求。----IEEEStandardGlossaryofSoftwareEngineeringTechnology軟件測試:挑毛病,發(fā)現(xiàn)Bug(缺陷)。軟件測試是軟件質(zhì)量保證的手段。1.1.6軟件測試與質(zhì)量保證的關(guān)系1.軟件測試技術(shù)的發(fā)展歷史
起步階段(1957~1971)----驗證為導(dǎo)向在軟件發(fā)展初期,就實施軟件測試,但不是真正意義的軟件測試,更多是調(diào)試。直到1957年,隨著高級語言誕生,程序復(fù)雜性遠(yuǎn)超過以前,軟件測試才與軟件調(diào)試區(qū)別開來。但測試沒有計劃和方法,測試用例的設(shè)計和選取憑經(jīng)驗隨機的,測試目的是證明軟件可以正常運行。另外,由于軟件仍處于次要位置,測試?yán)碚摵头椒ǖ陌l(fā)展比較緩慢,軟件正確性的把握仍然主要依賴于編程人員的技術(shù)水平。1.1.7軟件測試技術(shù)的發(fā)展1.軟件測試技術(shù)的發(fā)展歷史
初級階段(1972~1982)----確認(rèn)為導(dǎo)向
軟件技術(shù)的成熟和完善,軟件測試規(guī)模和復(fù)雜度加大,軟件測試逐漸形成一套體系并走向規(guī)范。隨著計算機處理速度的提高、存儲容量的增加,軟件變得越來越重要。隨著軟件開發(fā)技術(shù)的成熟和完善,軟件規(guī)模越來越大,復(fù)雜度增加,軟件的可靠性面臨著前所未有的危機,主動尋找缺陷給軟件測試帶來新的挑戰(zhàn),也造就了一批批出色的測試人才。1.1.7軟件測試技術(shù)的發(fā)展1.軟件測試技術(shù)的發(fā)展歷史
發(fā)展階段(1983~198?)----質(zhì)量為導(dǎo)向在軟件產(chǎn)業(yè)化發(fā)展的趨勢下,人們對軟件質(zhì)量、成本和進(jìn)度的要求越來越高,質(zhì)量控制已不是傳統(tǒng)的軟件測試(執(zhí)行測試)----基于代碼運行且是軟件開發(fā)的后期進(jìn)行的。大量研究表明,設(shè)計階段引入的錯誤占所有錯誤數(shù)量的50%~65%,規(guī)范軟件開發(fā)過程是質(zhì)量控制的基礎(chǔ)。在整個軟件開發(fā)過程中,測試不再僅是基于程序代碼的開發(fā)活動,而是基于整個軟件生命周期的質(zhì)量控制活動,貫穿于軟件開發(fā)全過程。1.1.7軟件測試技術(shù)的發(fā)展1.軟件測試技術(shù)的發(fā)展歷史
成熟階段(198?~現(xiàn)在)----預(yù)防為導(dǎo)向
1.1.7軟件測試技術(shù)的發(fā)展2.軟件測試的現(xiàn)狀國外現(xiàn)狀軟件測試在軟件公司中占有重要地位軟件測試?yán)碚撗芯颗畈l(fā)展,每年舉辦各種各樣的測試技術(shù)年會,發(fā)表了大量的軟件測試研究論文,引領(lǐng)軟件測試?yán)碚撗芯康膰H潮流軟件測試市場繁榮國內(nèi)現(xiàn)狀我國軟件測試起步于“六五”期間(90),目前國家863、973以及大力支持軟件測試的研究1990年,成立中國軟件評測中心,測試服務(wù)開始發(fā)展軟件測試正在逐步成為一個新興的產(chǎn)業(yè)國家確定“軟件評測師”的職業(yè)資格認(rèn)證;“以測代評”正成為我國科技項目擇優(yōu)支持的一項重要舉措;第三方測試機構(gòu)繁榮發(fā)展1.1.7軟件測試技術(shù)的發(fā)展與一些發(fā)達(dá)國家相比,國內(nèi)測試工作還存在一定的差距。在我國,軟件測試可能算不上一個真正的產(chǎn)業(yè),軟件開發(fā)企業(yè)對軟件測試認(rèn)識淡薄,軟件測試人員與軟件開發(fā)人員比例失調(diào),而在發(fā)達(dá)國家和地區(qū)軟件測試已經(jīng)成了一個產(chǎn)業(yè)。但在軟件測試實現(xiàn)方面并不比國外差,國際上優(yōu)秀的測試工具,我們基本都有,這些工具所體現(xiàn)的思想我們也有深刻的理解,很多大型系統(tǒng)在國內(nèi)都得到了很好的測試。1.1.7軟件測試技術(shù)的發(fā)展1.2軟件測試的依據(jù)與人員組織1.2.1軟件測試的依據(jù)1.2.2軟件測試人員職責(zé)分配1.2.3軟件測試人員必需的素質(zhì)1.2.4軟件測試的經(jīng)驗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)容包括:合同評審需求規(guī)格說明開發(fā)計劃質(zhì)量計劃設(shè)計和實現(xiàn)測試和確認(rèn)驗收復(fù)制、交付和安裝維護(hù)1.2.1軟件測試的依據(jù)512.軟件測試規(guī)范軟件測試規(guī)范就是對軟件測試的流程過程化并對每一個過程元素進(jìn)行明確的界定,形成完整的規(guī)范體系,包括:規(guī)范目的、范圍、文檔結(jié)構(gòu)、詞匯表、參考信息、可追溯性、方針、過程/規(guī)范、指南、模板、檢查表、培訓(xùn)、工具、參考資料等等。1.2.1軟件測試的依據(jù)523.軟件測試國家標(biāo)準(zhǔn)GB/T9386-1988《計算機軟件測試文件編制規(guī)范》GB/T15532-1995《計算機軟件單元測試規(guī)范》GB/T17544-1998《信息技術(shù)軟件包質(zhì)量要求和測試》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ā)者用的過程GB/T18905.4-2002《軟件工程產(chǎn)品質(zhì)量》第4部分需求方用的過程GB/T18905.5-2002《軟件工程產(chǎn)品質(zhì)量》第5部分評價者用的過程GB/T18905.6-2002《軟件工程產(chǎn)品質(zhì)量》第6部分評價模塊文檔編制1.2.1軟件測試的依據(jù)
1.軟件測試的組織結(jié)構(gòu)和人員結(jié)構(gòu)軟件測試在組織結(jié)構(gòu)上一般分為功能測試組、性能測試組和文檔工作組。軟件測試在人員結(jié)構(gòu)上一般需要有測試文檔審核師、測試工程師和操作人員。1.2.2軟件測試人員的職責(zé)分配工程碩士54
2.測試職責(zé)分配系統(tǒng)分析設(shè)計人員軟件開發(fā)人員軟件測試人員配置管理員質(zhì)量保證人員對測試過程進(jìn)行審計對測試文檔及測試代碼等進(jìn)行配置管理提出測試需求;進(jìn)行測試需求跟蹤;進(jìn)行軟件系統(tǒng)可測性分析;確定測試的對象、范圍和方法提供軟件開發(fā)計劃SDP,參與測試計劃的制定和評審,提供軟件功能需求規(guī)格、需求分析、測試建議、響應(yīng)測試需求、參與測試方案的評審;跟蹤解決缺陷問題報告單,參與測試報告的評審。制定測試計劃、方案并組織評審,實現(xiàn)測試用例,代碼和工具等設(shè)計、編寫測試規(guī)程;執(zhí)行測試、反饋并跟蹤缺陷問題報告單,完成測試報告并組織評審,輸出測試案例、總結(jié)等經(jīng)驗文檔1.軟件測試人員必需的基本素質(zhì)三心二意一能力細(xì)心耐心責(zé)任心服務(wù)意識團(tuán)隊意識溝通能力1.2.3軟件測試人員必需的素質(zhì)
2.軟件測試人員必需的知識素養(yǎng)
深入理解軟件測試?yán)碚撜莆崭黝愜浖y試技術(shù)接受專門的測試訓(xùn)練對軟件缺陷警覺性高對缺陷出現(xiàn)的各種情況較熟悉掌握多種計算機語言掌握一般的軟硬件、數(shù)據(jù)庫及網(wǎng)絡(luò)知識對所要測試的軟件的功能、結(jié)構(gòu)、要求有深入的認(rèn)識。1.2.3軟件測試人員必需的素質(zhì)
57(1)心理素質(zhì)最重要開發(fā)人員我不會犯錯---任何人都可能犯錯這種錯誤不能算作錯誤---質(zhì)量是由用戶來評價的發(fā)現(xiàn)我的錯誤是對我工作的否定---是對我的工作的幫助測試人員責(zé)任心不夠,反正測試是不可能發(fā)現(xiàn)所有錯誤的職業(yè)教育+激勵措施沒有創(chuàng)造性、枯燥總結(jié)經(jīng)驗,培養(yǎng)敏銳度,提升個人價值和權(quán)威技術(shù)比開發(fā)人員差,自信心不足代表用戶,決定成功的是用戶滿意1.2.4軟件測試的經(jīng)驗58(2)測試前必須明確預(yù)期的輸出結(jié)果否則實際的輸出結(jié)果很可能成為檢驗的標(biāo)準(zhǔn),測試失去意義(3)必須檢查每一個實際輸出結(jié)果很可笑,但是卻是事實:不認(rèn)真檢查輸出結(jié)果(4)一段程序中存在錯誤的概率與這段程序中已經(jīng)發(fā)現(xiàn)的錯誤數(shù)成正比編碼規(guī)范、需求理解、技術(shù)能力、內(nèi)部耦合性都會導(dǎo)致這種“蟲子窩“現(xiàn)象1.2.4軟件測試的經(jīng)驗工程碩士59(5)可能的情況下,避免測試自己的軟件發(fā)現(xiàn)不了思路錯誤發(fā)現(xiàn)不了環(huán)境錯誤心理因素導(dǎo)致測試可能不夠徹底和全面(6)依照用戶的要求、配置環(huán)境和使用習(xí)慣進(jìn)行測試并評價結(jié)果(7)測試設(shè)計決定了測試的有效性和效率,測試工具只能提高測試效率1.2.4軟件測試的經(jīng)驗工程碩士60(8)注意保留測試設(shè)計,并注意測試設(shè)計的可重用性和說明文檔(9)測試活動要有組織、有計劃、有選擇窮舉測試是不可能的不充分的測試是不負(fù)責(zé)任,過度的測試是浪費資源有計劃的活動能提高效率(10)不要放棄隨機測試的方法測試的不成熟性和藝術(shù)性1.2.4軟件測試的經(jīng)驗
1.軟件測試人員的工作內(nèi)容
根據(jù)軟件需求規(guī)格說明書、設(shè)計說明書、代碼等軟件產(chǎn)物選取恰當(dāng)?shù)妮斎虢M合運行被測試對象輸入數(shù)據(jù)執(zhí)行操作查看輸出結(jié)果是否和預(yù)期的結(jié)果一致,如果一致則認(rèn)為被測對象沒有問題,否則,則認(rèn)為被測對象中可能存在缺陷缺陷修改完畢,驗證缺陷修改,確認(rèn)缺陷是否修改正確,是否引入新問題1.2.5軟件測試人員的工作流程核心工作產(chǎn)品測試用例缺陷報告單其他重要的工作產(chǎn)品測試計劃測試策略測試報告。。。。2.軟件測試人員的工作流程1.2.5軟件測試人員的工作流程
3.軟件測試人員的工作目標(biāo)
G.Myers給出了關(guān)于測試的一些規(guī)則,可以把它看作是測試人員的工作目標(biāo):軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。測試是為了證明程序有錯,而不是證明程序無錯。一個好的測試用例在于他能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤。一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。要強調(diào)的是軟件測試不只是軟件測試人員的工作,也是軟件開發(fā)人員和軟件使用者的工作。1.2.5軟件測試人員的工作流程1.3軟件測試的生命周期與模型1.3.1軟件的開發(fā)模型1.3.2軟件測試的生命周期1.3.3
軟件測試與軟件開發(fā)的關(guān)系
1.經(jīng)典瀑布模型
由美國WinstonRoyce向IEEEWESCON(Royce,Winston1970)提交的一篇名為《管理大規(guī)模軟件系統(tǒng)的開發(fā)》的論文中首次提出的。由于方法的一個階段成瀑布流入下一個階段,所以為“瀑布模型或線性模型”。瀑布模型有很多的變化,但都包括以下的階段:需求分析與定義,系統(tǒng)設(shè)計與軟件設(shè)計,系統(tǒng)實施與單元測試,系統(tǒng)集成與系統(tǒng)測試,系統(tǒng)運行與系統(tǒng)維護(hù),也是軟件開發(fā)的基本過程。需求分析:可行性分析與軟件需求分析軟件需求分析:業(yè)務(wù)需求功能需求非功能需求1.3.1軟件的開發(fā)模型該處測試僅指執(zhí)行測試1.3.1軟件的開發(fā)模型
2.原型模型直觀、形象,更多地遵循了人們認(rèn)識事物的規(guī)律,因而更容易被人們接受。采用模擬的手段,縮短了用戶和系統(tǒng)分析、設(shè)計人員之間的距離。在整個系統(tǒng)開發(fā)過程中反饋是及時的,標(biāo)準(zhǔn)是統(tǒng)一的,可及時地暴露問題,確保系統(tǒng)實現(xiàn)的正確性。充分利用了新一代的軟件工具,使得系統(tǒng)開發(fā)和運行的效率都大大提高。
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)險分析風(fēng)險分析風(fēng)險分析風(fēng)險分析原型1原型2原型3可用原型建模模擬評價軟件需求需求確認(rèn)操作概念需求計劃開發(fā)計劃軟件產(chǎn)品設(shè)計設(shè)計確認(rèn)與驗證集成與測試計劃詳細(xì)設(shè)計編碼單元測試集成測試接收測試實現(xiàn)成本評審制訂下階段計劃確定下階段目標(biāo)和約束條件風(fēng)險分析、構(gòu)造原型開發(fā)、驗證階段軟件產(chǎn)品過程迭代
4.螺旋模型(風(fēng)險驅(qū)動的過程模型,增量模型與爆布模型相結(jié)合)
1.3.1軟件的開發(fā)模型
5.漸進(jìn)模型1.3.1軟件的開發(fā)模型軟件測試的生命周期分為6個階段,前3個階段是引入錯誤時期,也就是開發(fā)過程中的需求規(guī)格說明、設(shè)計、編碼階段,此時極易引入錯誤或者導(dǎo)致開發(fā)過程中其他階段產(chǎn)生錯誤。后3個階段是通過測試發(fā)現(xiàn)錯誤、時期,這需要通過使用一些適當(dāng)?shù)臏y試技術(shù)和方法來共同完成,主要任務(wù)是進(jìn)行缺陷分類、缺陷隔離和解決缺陷。其中在修復(fù)舊缺陷的時候很可能引進(jìn)新的錯誤,導(dǎo)致原來能夠正確執(zhí)行的程序出現(xiàn)新的缺陷。在軟件測試生命周期的每個階段都要完成一些確定的任務(wù),在執(zhí)行每個階段的任務(wù)時,可以采用行之有效的結(jié)構(gòu)分析設(shè)計技術(shù)和適當(dāng)?shù)妮o助工具;在結(jié)束每個階段的任務(wù)時都進(jìn)行嚴(yán)格的技術(shù)審查和管理復(fù)審。最后提交最終軟件配置的一個或幾個成分(文檔或程序)。1.3.2軟件測試的生命周期圖1-2軟件測試生命周期1.3.2軟件測試的生命周期
1.測試與開發(fā)各階段的關(guān)系
軟件開發(fā)過程是一個自頂向下,逐步細(xì)化的過程。首先在軟件計劃階段定義軟件的作用域,進(jìn)行軟件需求分析,建立軟件的數(shù)據(jù)域、功能和性能需求、約束和一些有效性準(zhǔn)則。然后進(jìn)入軟件開發(fā)---軟件設(shè)計和編寫代碼。
測試過程則是依相反的順序安排的自底向上,逐步集成的過程,低一級測試為上一級測試準(zhǔn)備條件。首先對每一個程序模塊進(jìn)行單元測試,消除程序模塊內(nèi)部在邏輯上和功能上的錯誤和缺陷。再對照軟件設(shè)計進(jìn)行集成測試,檢測和排除子系統(tǒng)(或系統(tǒng))結(jié)構(gòu)上的錯誤。隨后再對照需求,進(jìn)行確認(rèn)測試。最后從系統(tǒng)全體出發(fā),運行系統(tǒng),看是否滿足要求。1.3.3軟件測試與軟件開發(fā)的關(guān)系圖1-3軟件測試與軟件開發(fā)過程的關(guān)系1.3.3軟件測試與軟件開發(fā)的關(guān)系
2.測試與開發(fā)的并行性在軟件的需求得到確認(rèn)并通過評審后,概要設(shè)計工作和測試計劃制定設(shè)計工作就要并行進(jìn)行。如果系統(tǒng)模塊已經(jīng)建立,對各個模塊的詳細(xì)設(shè)計、編碼、單元測試等工作又可并行。待每個模塊完成后,可以進(jìn)行集成測試、系統(tǒng)測試。并行流程如圖1-4所示。1.3.3軟件測試與軟件開發(fā)的關(guān)系圖1-4軟件測試與軟件開發(fā)的并行性1.3.3軟件測試與軟件開發(fā)的關(guān)系
3.測試與開發(fā)模型軟件測試不僅僅是執(zhí)行測試,而是一個包含很多復(fù)雜活動的過程,并且這些活動貫穿于整個軟件開發(fā)過程。在軟件開發(fā)過程中,應(yīng)該什么時候進(jìn)行測試,如何更好地把軟件開發(fā)和測試活動集成到一起?這是軟件測試工作人員必須考慮的問題,因為只有這樣,才能提高軟件測試工作的效率,提高軟件產(chǎn)品的質(zhì)量,最大限度地降低軟件開發(fā)與測試的成本,減少重復(fù)勞動。1.3.3軟件測試與軟件開發(fā)的關(guān)系
(1)V模型在傳統(tǒng)開發(fā)過程中,測試不受重視,僅把它作為在需求分析、概要設(shè)計、詳細(xì)設(shè)計及編碼之后的一個階段。在V模型中,描述了一些不同的測試級別,并指出了這些級別所對應(yīng)的軟件生命周期中不同的階段和測試活動和開發(fā)活動的對應(yīng)關(guān)系。這是V模型的主要價值。V模型適用于所有類型的開發(fā)過程,但并不一定適用于開發(fā)和測試過程的所有方面。特別地,V模型并不是瀑布模型(線性關(guān)系)的變形。1.3.3軟件測試與軟件開發(fā)的關(guān)系軟件測試與開發(fā)的V模型1.3.3軟件測試與軟件開發(fā)的關(guān)系
(2)W模型由于各種原因,開發(fā)的每一個環(huán)節(jié)都可能產(chǎn)生錯誤,如果堅持各個階段的技術(shù)評審,就可盡早發(fā)現(xiàn)和預(yù)防錯誤。軟件開發(fā)與測試的W模型,形象地說明了軟件測試與開發(fā)的同步性。應(yīng)用W模型的優(yōu)點在于:每個軟件開發(fā)活動結(jié)束后就可以執(zhí)行相應(yīng)的測試。如在需求分析結(jié)束后,就可以進(jìn)行需求分析測試。1.3.3軟件測試與軟件開發(fā)的關(guān)系W模型示意圖
1.3.3軟件測試與軟件開發(fā)的關(guān)系
(3)H模型
與前兩種模型相比,H模型充分地體現(xiàn)了測試過程。H模型揭示了:軟件測試不僅僅指測試的執(zhí)行,還包括很多其他的活動。軟件測試是一個獨立的流程,貫穿軟件開發(fā)周期,與其它流程并發(fā)進(jìn)行。軟件測試要盡早準(zhǔn)備,盡早執(zhí)行。軟件測試根據(jù)被測物的不同是分層次的,不同層次的測試活動可以是按照某個次序先后進(jìn)行的,但也可能是反復(fù)的。1.3.3軟件測試與軟件開發(fā)的關(guān)系H模型示意圖1.3.3軟件測試與軟件開發(fā)的關(guān)系1.4軟件測試計劃及其相關(guān)文檔1.1.1
軟件測試計劃1.1.2軟件測試計劃的制訂1.1.3開發(fā)、測試及計劃制定的并行關(guān)系1.1.4軟件測試文檔1.1.5軟件測試總結(jié)報告1.1.6軟件生命周期各階段交付的測試文檔1.4.1
軟件測試計劃1.測試計劃的定義軟件測試是一個有組織有計劃的活動,應(yīng)當(dāng)對時間和資源制訂測試計劃,才能在合理的控制下正常進(jìn)行。測試計劃作為測試的起始步驟,是整個軟件測試過程的關(guān)鍵。測試計劃規(guī)定了測試各個階段所要使用的方法策略、測試環(huán)境、測試通過或失敗的準(zhǔn)則等內(nèi)容?!禔NSI/IEEE軟件測試文檔標(biāo)準(zhǔn)829-1983》將測試計劃定義為:“一個敘述了預(yù)定的測試活動的范圍、途徑、資源及進(jìn)度安排的文檔。它確認(rèn)了測試項、被測特征、測試任務(wù)、人員安排,以及任何偶發(fā)事件的風(fēng)險。”
2.測試計劃的目的和作用測試計劃的目的是明確測試活動的意圖,規(guī)范軟件測試內(nèi)容、方法和過程,為有組織地完成測試任務(wù)提供保障。盡管測試的每一個步驟都是獨立的,但是必須要有一個起到框架結(jié)構(gòu)作用的測試計劃。軟件測試計劃是整個測試過程中最重要的部分,為實現(xiàn)可管理且高質(zhì)量的測試過程提供基礎(chǔ)。1.4.1
軟件測試計劃3.測試計劃書測試計劃文檔化即是測試計劃書,分為總體計劃和分級計劃,是可以更新改進(jìn)的文檔。測試計劃書描述了軟件測試預(yù)計達(dá)到的目標(biāo),確定測試過程所要采用的方法策略。從文檔的角度看,測試計劃書是最重要的測試文檔。1.4.1
軟件測試計劃
4.測試計劃的內(nèi)容測試計劃包括測試目的、測試范圍、測試對象、測試策略、測試任務(wù)、測試用例、資源配置、測試結(jié)果分析和度量以及測試風(fēng)險評估等,測試計劃應(yīng)當(dāng)足夠完整但也不應(yīng)當(dāng)太詳盡。實際的測試計劃內(nèi)容因不同的測試對象而靈活變化。1.4.1軟件測試計劃
正規(guī)的測試計劃應(yīng)該包含以下幾個項目(參考樣本)。
(1)測試的基本信息:包括測試目的、背景、測試范圍等。(2)測試的具體目標(biāo):列出軟件需要進(jìn)行的測試部分和不需要進(jìn)行的測試部分。(3)測試的策略:測試人員采用的測試方法,如回歸測試、功能測試、自動測試等。
(4)測試的通過標(biāo)準(zhǔn):測試是否通過的界定標(biāo)準(zhǔn)以及沒有通過情況的處理方法;
(5)停測標(biāo)準(zhǔn):給出每個測試階段停止測試的標(biāo)準(zhǔn)。1.4.1軟件測試計劃
(6)測試用例:詳細(xì)描述測試用例,包括測試值、測試操作過程、測試期待值等。(7)測試的基本支持:測試所需硬件、自動測試軟件等。(8)部門責(zé)任分工:明確所有參與軟件管理、開發(fā)、測試、技術(shù)支持等部門的責(zé)任細(xì)則。(9)測試人力資源分配:列出測試所需人力資源以及軟件測試人員的培訓(xùn)計劃。(10)測試進(jìn)度:制定每一個階段的詳細(xì)測試進(jìn)度安排表。(11)風(fēng)險估計和危機處理:估計測試過程中潛在的風(fēng)險以及面臨危機時的解決辦法。1.4.1軟件測試計劃5.測試計劃的特點一個理想的測試計劃應(yīng)該體現(xiàn)以下幾個特點:檢測主要缺陷時有一個好的選擇;具有靈活性;提供絕大部分代碼的覆蓋率;定義要執(zhí)行測試的種類;易于執(zhí)行、回歸和自動化;沒有測試冗余;明確說明期望的測試結(jié)果;確認(rèn)測試風(fēng)險;當(dāng)缺陷被發(fā)現(xiàn)時提供缺陷核對;文檔化確定測試的需求;明確定義測試目標(biāo);明確定義測試策略;明確定義測試通過標(biāo)準(zhǔn);定義可交付的測試件。1.4.1軟件測試計劃6.測試計劃的應(yīng)用借助軟件測試計劃,參與測試的項目成員,尤其是測試管理人員,明確了測試任務(wù)和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進(jìn)度,應(yīng)對測試過程中的各種變更。一份好的測試計劃需要綜合考慮各種影響測試的因素。測試計劃是軟件測試流程工作的基本依據(jù),測試計劃中所列條目在實際測試中必須一一執(zhí)行。在測試的過程中,若發(fā)現(xiàn)新的測試用例,就要盡早補充到測試計劃中。若預(yù)先制定的測試計劃項目在實際測試中不適用或無法實現(xiàn),那么也要盡快對計劃進(jìn)行修改,使計劃具有可行性。1.4.1軟件測試計劃1.測試計劃制定的工作內(nèi)容測試計劃制定需要完成的主要工作內(nèi)容有:擬定測試計劃、論證在開發(fā)過程中難于管理和控制的因素,明確軟件產(chǎn)品的最重要部分(風(fēng)險評估)。1.4.2測試計劃的制訂
2、測試計劃制定的活動在制定測試計劃過程中,核心活動包括:(1)確定測試策:確定測試的范圍與方法、確定測試標(biāo)準(zhǔn)和質(zhì)量檢查點、確定自動化測試策略。(2)確定測試系統(tǒng)(硬件和軟件)測試架構(gòu):測試用例的組織結(jié)構(gòu);測試工具測試環(huán)境:物理測試設(shè)施,運行的操作系統(tǒng)與計算平臺等。測試配置情況:排列配置的優(yōu)先級,決定哪些配置需要全面測試,哪些可以進(jìn)行部分測試。1.4.2測試計劃的制訂
(3)預(yù)估測試工作量(資源和時間進(jìn)度計劃)對項目進(jìn)行預(yù)估有5個準(zhǔn)備步驟:確定需完成的任務(wù)。確定每項任務(wù)所需的工作量和整個測試過程的工作量。確定完成每項任務(wù)以及整個測試過程所需的時間。為測試工作建立詳細(xì)的時間進(jìn)度計劃和里程碑表。評估時間進(jìn)度風(fēng)險并準(zhǔn)備緩解風(fēng)險計劃。
(4)準(zhǔn)備并復(fù)查測試計劃文檔。
1.4.2測試計劃的制訂測試計劃制訂活動1.4.2測試計劃的制訂軟件開發(fā)過程測試計劃制定需求分析功能設(shè)計詳細(xì)設(shè)計編碼概要測試計劃詳細(xì)測試計劃測試大綱測試用例實施測試結(jié)果分析糾錯質(zhì)量評審產(chǎn)品發(fā)布項目任務(wù)書
軟件開發(fā)、軟件測試與測試計劃制定的并行關(guān)系1.4.3開發(fā)、測試及計劃制定的并行關(guān)系
1.軟件測試文檔的定義測試文檔(TestingDocumentation)記錄和描述了整個測試流程,是測試的產(chǎn)出物,是整個測試活動中非常重要的文件。常見的測試文檔包括測試計劃、測試規(guī)范、測試用例(大綱)、缺陷報告和測試報告等。測試報告內(nèi)容包括產(chǎn)品質(zhì)量和測試過程的評價,測試報告基于測試中的數(shù)據(jù)采集以及對最終測試結(jié)果的分析。測試文檔在測試過程中的作用在于:有助于測試任務(wù)的完成、更好的協(xié)調(diào)測試任務(wù)與測試過程、為測試項目的組織、規(guī)劃與管理提供了一個架構(gòu)。1.4.4測試文檔
2.測試文檔的類型測試文檔一般分為兩類:測試計劃和測試分析報告。測試計劃文檔描述將要進(jìn)行的測試活動的范圍、方法、資源和時間進(jìn)度及測試準(zhǔn)則等。在軟件的需求和設(shè)計階段就要開始制定測試計劃,不能在開始測試的時候才制定測試計劃。測試計劃的編寫要從需求分析階段開始,直到軟件設(shè)計階段結(jié)束時才完成。測試報告是執(zhí)行測試的總結(jié),對測試結(jié)果進(jìn)行分析說明。軟件經(jīng)過測試以后,結(jié)論性的意見如何,軟件的能力如何,存在哪些缺陷和限制等。測試報告既是對軟件質(zhì)量的評價,又是決定該軟件能否交付用戶使用的依據(jù)。1.4.4測試文檔3.軟件測試文檔的規(guī)范《計算機軟件測試文檔編制規(guī)范》國家標(biāo)準(zhǔn)給出了的測試文檔編制建議,具體包括以下幾個內(nèi)容。其中前4項屬于測試計劃類文檔,后3項屬于測試分析報告類文檔。測試計劃:描述測試活動的范圍、方法、資源和進(jìn)度,其中規(guī)定了被測試的對象,被測試的特性、應(yīng)完成的測試任務(wù)、人員職責(zé)及風(fēng)險等。測試設(shè)計規(guī)格說明:詳細(xì)描述測試方法,測試用例設(shè)計以及測試通過的準(zhǔn)則等。1.4.4測試文檔測試用例規(guī)格說明:描述一個完整的測試用例所需要的必備因素,如輸入、預(yù)期結(jié)果、測試執(zhí)行條件以及對環(huán)境的要求、對測試規(guī)程的要求等。測試步驟規(guī)格說明:指明了測試所執(zhí)行活動的次序,規(guī)定了實施測試的具體步驟。它包括測試規(guī)程清單和測試規(guī)程列表兩部分。測試日志:日志是測試小組對測試過程所作的記錄。測試事件報告:說明測試中發(fā)生的一些重要事件。測試總結(jié)報告:對測試活動所作的總結(jié)和結(jié)論。1.4.4測試文檔測試總結(jié)報告主要包括測試結(jié)果統(tǒng)計表、測試問題表和問題統(tǒng)計表、測試進(jìn)度表、測試總結(jié)表等。1.4.5軟件測試總結(jié)報告計劃測試項實際測試項【Y】項【P】項【N】項【N/A】項備注數(shù)量百分比1.測試結(jié)果統(tǒng)計表測試結(jié)果統(tǒng)計表主要是對測試項目進(jìn)行統(tǒng)計,統(tǒng)計計劃測試項和實際測試項的數(shù)量以及測試項通過多少、失敗多少等。測試結(jié)果統(tǒng)計表1.4.5軟件測試總結(jié)報告其中:【Y】表示測試結(jié)果全部通過,【P】表示測試結(jié)果部分通過,【N】表示測試結(jié)果絕大多數(shù)沒通過,【N/A】表示無法測試或測試用例不適合。另外,根據(jù)表可以按照下列兩個公式分別計算測試完成率和覆蓋率,作為測試總結(jié)報告的重要數(shù)據(jù)指標(biāo)。測試完成率=實際測試項數(shù)量/計劃測試項數(shù)量×100%測試覆蓋率=【Y】項的數(shù)量/計劃測試項數(shù)量×100%1.4.5軟件測試總結(jié)報告問題號
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教新課標(biāo)九年級科學(xué)上冊階段測試試卷含答案
- 2025年蘇人新版八年級地理下冊月考試卷
- 2025年人教B版拓展型課程化學(xué)下冊月考試卷含答案
- 二零二五版企業(yè)員工宿舍租賃管理規(guī)范合同2篇
- 2025年度企業(yè)安全生產(chǎn)培訓(xùn)合作協(xié)議合同范本4篇
- 二零二五版新能源項目暖通系統(tǒng)設(shè)計咨詢合同4篇
- 2025年二零二五農(nóng)業(yè)機械化項目設(shè)備采購及安裝合同4篇
- 二零二五版借貸房屋買賣合同違約責(zé)任免除合同4篇
- 2025年農(nóng)業(yè)信息化建設(shè)舊房購置合同書4篇
- 二零二五版影視配音合同范本集4篇
- 幼兒園學(xué)習(xí)使用人民幣教案教案
- 2023年浙江省紹興市中考科學(xué)真題(解析版)
- 語言學(xué)概論全套教學(xué)課件
- 大數(shù)據(jù)與人工智能概論
- 《史記》上冊注音版
- 2018年湖北省武漢市中考數(shù)學(xué)試卷含解析
- 測繪工程產(chǎn)品價格表匯編
- 《腎臟的結(jié)構(gòu)和功能》課件
- 裝飾圖案設(shè)計-裝飾圖案的形式課件
- 護(hù)理學(xué)基礎(chǔ)教案導(dǎo)尿術(shù)catheterization
- ICU護(hù)理工作流程
評論
0/150
提交評論