第1講 軟件測試概述_第1頁
第1講 軟件測試概述_第2頁
第1講 軟件測試概述_第3頁
第1講 軟件測試概述_第4頁
第1講 軟件測試概述_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件測試技術(shù)2011年11.1.1軟件可靠性問題因軟件設(shè)計(jì)故障與因計(jì)算機(jī)硬件設(shè)計(jì)故障而引發(fā)的系統(tǒng)失效的比例大約是:10:1運(yùn)行軟件的駐留故障密度(每千行代碼的故障數(shù)目):

——要求很高的關(guān)鍵財(cái)務(wù)或財(cái)產(chǎn)軟件為:每千行代碼1~10個故障

——關(guān)鍵的生命軟件為:每千行代碼0.01~1個故障IEEE將軟件可靠性定義為:系統(tǒng)在特定環(huán)境下,在給定的時(shí)間內(nèi)無故障運(yùn)行的概率。軟件可靠性是對軟件在設(shè)計(jì)、開發(fā)以及所預(yù)定的環(huán)境下具有能力的置信度的一個度量,是衡量軟件質(zhì)量的主要參數(shù)之一。而軟件測試則是保證軟件質(zhì)量、提高軟件可靠性的最重要手段。21.1.2軟件缺陷與故障1、軟件缺陷和軟件故障案例案例1跨世紀(jì)“千年蟲”問題案例2Windows2000中文輸入法漏洞案例3金山詞霸bug實(shí)例中的軟件問題在軟件工程或軟件測試中都被稱為軟件缺陷或軟件故障。

3軟件缺陷與故障(續(xù))2、軟件缺陷的定義(符合下列規(guī)則的叫軟件缺陷)

(1)軟件未達(dá)到產(chǎn)品說明書中已經(jīng)標(biāo)明的功能;(2)軟件出現(xiàn)了產(chǎn)品說明書中指明不會出現(xiàn)的錯誤;(3)軟件未達(dá)到產(chǎn)品說明書中雖未指出但應(yīng)當(dāng)達(dá)到的目標(biāo);

(4)軟件功能超出了產(chǎn)品說明書中指明的范圍;(5)軟件測試人員認(rèn)為軟件難以理解、不易使用,或者最終用戶認(rèn)為該軟件使用效果不良。4軟件缺陷與故障(續(xù))3、軟件缺陷的特征“看不到”

——軟件的特殊性決定了缺陷不易看到“看到但是抓不到”

——發(fā)現(xiàn)了缺陷,但不易找到問題發(fā)生的原因所在51.1.3軟件缺陷產(chǎn)生的原因

圖1-1軟件缺陷產(chǎn)生的原因分布其他10%軟件產(chǎn)品說明書(需求)56%編寫代碼7%設(shè)計(jì)27%61.2.1軟件測試的定義1、軟件測試的定義

軟件測試是貫穿整個軟件開發(fā)生命周期、對軟件產(chǎn)品(包括階段性產(chǎn)品)進(jìn)行驗(yàn)證和確認(rèn)的活動過程,其目的是盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種問題——與用戶需求、預(yù)先定義的不一致性。 通常對軟件測試的定義有兩種描述:1:軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測試用例,并利用這些測試用例運(yùn)行程序以及發(fā)現(xiàn)錯誤的過程,即執(zhí)行測試步驟。7軟件測試的定義(續(xù))2:軟件測試是一項(xiàng)活動,在這項(xiàng)活動中某個系統(tǒng)或組成的部分將在特定的條件下運(yùn)行,結(jié)果將被觀察和記錄,并對系統(tǒng)或組成部分進(jìn)行評價(jià)。測試活動有兩種結(jié)果:找出缺陷和故障,或顯示軟件執(zhí)行正確。測試是一個或多個測試用例的集合。測試用例:測試用例是為特定的目的而設(shè)計(jì)的一組測試輸入、執(zhí)行條件和預(yù)期的結(jié)果;測試用例是執(zhí)行測試的最小實(shí)體。測試步驟:測試步驟詳細(xì)規(guī)定了如何設(shè)置、執(zhí)行、評估特定的測試用例。8軟件測試的定義(續(xù))軟件生命周期:一個軟件生命周期包括制定計(jì)劃、需求分析定義、軟件設(shè)計(jì)、程序編碼、軟件測試、軟件運(yùn)行、軟件維護(hù)、軟件停用等8個階段。軟件測試的對象:

——軟件測試不等于程序測試。

——軟件測試貫串于軟件定義和開發(fā)的整個過程。

——軟件開發(fā)過程中所產(chǎn)生的需求規(guī)格說明、概要設(shè)計(jì)規(guī)格說明、詳細(xì)設(shè)計(jì)規(guī)格說明以及源程序都是軟件測試的對象。9需求規(guī)格說明SRS設(shè)計(jì)規(guī)格說明DS程序軟件測試的對象軟件測試:發(fā)現(xiàn)程序及前期開發(fā)的錯誤測試的對象101.2.2軟件測試的基本理論1、軟件測試的目的(1)測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;不能證明程序的正確性,除非僅處理有限種情況。(2)檢查系統(tǒng)是否滿足需求也是測試的期望目標(biāo)。(3)一個好的測試用例在于發(fā)現(xiàn)了還未曾發(fā)現(xiàn)的錯誤;一次成功的測試則是發(fā)現(xiàn)了錯誤的測試。測試無法說明錯誤不存在,只能說明軟件錯誤已出現(xiàn)。11軟件測試的基本理論(續(xù))2、軟件測試的原則(1)盡早地和及時(shí)地測試;(2)測試用例應(yīng)當(dāng)由測試數(shù)據(jù)和與之對應(yīng)的預(yù)期結(jié)果這兩部分組成;(3)在程序提交測試后,應(yīng)由專門的測試人員進(jìn)行測試;(4)測試用例應(yīng)包括合理的輸入條件和不合理的輸入條件;(5)嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性;(6)應(yīng)對每一個測試結(jié)果做全面的檢查;(7)80-20原則:80%的錯誤聚集在20%的模塊中,經(jīng)常出錯的模塊改錯后還會經(jīng)常出錯(8)保存測試計(jì)劃、測試用例、出錯統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)工作提供充分的資料。12軟件測試的基本理論(續(xù))3、軟件測試的分類軟件測試按照不同的劃分方法,有不同的分類:按照軟件測試用例的設(shè)計(jì)方法而論,軟件測試可以分為白盒測試法和黑盒測試法。按照軟件測試的策略和過程來分類,軟件測試可分為單元測試、集成測試、系統(tǒng)測試、驗(yàn)證測試和確認(rèn)測試。13軟件測試的基本理論(續(xù))4、測試信息流程測試信息流程如圖1-2所示。測試過程中需要三類輸入:軟件配置、測試配置和測試工具。軟件配置測試配置測試工具測試結(jié)果分析改正錯誤可靠性分析回歸測試錯誤測試結(jié)果修正的軟件測試結(jié)果預(yù)測的可靠性預(yù)期結(jié)果圖1-2測試信息流程14軟件測試的基本理論(續(xù))

5、軟件測試的周期性軟件測試的周期性是“測試->改錯->再測試->再改錯”這樣一個循環(huán)過程,如下圖1-3所示。測試周期開發(fā)/改錯改錯測試周期改錯串行方式開發(fā)者:…...開發(fā)者:并行方式測試者:開發(fā)/改錯開發(fā)/改錯最終回歸測試回歸測試1測試周期1……功能凍結(jié)代碼凍結(jié)測試周期2圖1-3軟件測試的周期性151.3軟件開發(fā)與軟件測試的關(guān)系1、測試與開發(fā)各階段的關(guān)系圖1-6

軟件測試與軟件開發(fā)過程的關(guān)系需求分析說明書詳細(xì)設(shè)計(jì)說明書源程序代碼單元測試集成測試確認(rèn)測試概要設(shè)計(jì)說明書16軟件開發(fā)與軟件測試的關(guān)系(續(xù))圖1-7軟件測試與軟件開發(fā)的并行性需求分析需求評審概要設(shè)計(jì)詳細(xì)設(shè)計(jì)概要設(shè)計(jì)評審單元測試編碼設(shè)計(jì)走查編碼走查各子模塊有效性測試集成測試測試計(jì)劃測試過程測試評審…………**項(xiàng)目階段任務(wù)的里程碑********2、測試與開發(fā)的并行性17軟件測試過程模型圖1-8軟件測試V模型18軟件測試過程模型圖1-9軟件測試W模型19軟件開發(fā)與軟件測試的關(guān)系(續(xù))圖1-10完整的開發(fā)測試流程項(xiàng)目規(guī)劃項(xiàng)目需求分析項(xiàng)目概要分析項(xiàng)目詳細(xì)分析代碼編寫測試代碼編寫測試需求分析系統(tǒng)測試計(jì)劃集成測試計(jì)劃單元測試計(jì)劃產(chǎn)品發(fā)布系統(tǒng)測試集成測試單元測試3、完整的開發(fā)\測試流程201.4軟件測試過程1.4.1制定測試計(jì)劃1.4.2測試執(zhí)行過程211.4.1制定測試計(jì)劃1、制定計(jì)劃本階段的主要工作內(nèi)容

——對需求規(guī)格說明書的仔細(xì)研究

——將要測試的產(chǎn)品分解成可獨(dú)立測試的單元

——為每個測試單元確定采用的測試技術(shù)

——為測試的下一個階段及其活動制定計(jì)劃制定計(jì)劃包括:(1)概要測試計(jì)劃(2)詳細(xì)測試計(jì)劃22制定測試計(jì)劃(續(xù))2、測試大綱

測試大綱是軟件測試的依據(jù),包括測試項(xiàng)目、測試步驟、測試完成的標(biāo)準(zhǔn)。測試大綱的本質(zhì)

——從測試的角度對被測對象的功能和各種特性的細(xì)化和展開。測試大綱的好處

——保證測試功能不被遺漏,也不被重復(fù)測試

——合理安排測試人員

——使得軟件測試不依賴于個人23制定測試計(jì)劃(續(xù))3、軟件測試報(bào)告軟件測試報(bào)告是軟件測試過程中最重要的文檔,它的內(nèi)容包括:記錄問題發(fā)生的環(huán)境

——如:各種資源的配置情況記錄問題的再現(xiàn)步驟記錄問題性質(zhì)的說明記錄問題的處理進(jìn)程

——問題處理進(jìn)程從一定角度上反映測試的進(jìn)程和被測軟件的質(zhì)量狀況以及改善過程。241.4.2測試執(zhí)行過程1、測試執(zhí)行過程的三個階段(1)初測期

——測試主要功能和關(guān)鍵的執(zhí)行路徑,排除主要障礙。(2)細(xì)測期

——依據(jù)測試計(jì)劃和測試大綱、測試用例,逐一測試大大小小的功能、方方面面的特性、性能、用戶界面、兼容性、可用性等等;預(yù)期可發(fā)現(xiàn)大量不同性質(zhì)、不同嚴(yán)重程度的錯誤和問題。(3)回歸測試期

——系統(tǒng)已達(dá)到穩(wěn)定,在一輪測試中發(fā)現(xiàn)的錯誤已十分有限;復(fù)查已知錯誤的糾正情況,確認(rèn)未引發(fā)任何新的錯誤時(shí),終結(jié)回歸測試。25測試執(zhí)行過程(續(xù))初測期功能凍結(jié)代碼凍結(jié)回歸測試期細(xì)測期02040608010012014016012345678910111213141516171819出錯數(shù)時(shí)間圖1-13三個測試期階段圖示26測試執(zhí)行過程(續(xù))2、集成測試過程中的兩個重要里程碑在集成測試過程中的兩個重要的里程碑是功能凍結(jié)和代碼凍結(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論