軟件測試基礎(chǔ)_第1頁
軟件測試基礎(chǔ)_第2頁
軟件測試基礎(chǔ)_第3頁
軟件測試基礎(chǔ)_第4頁
軟件測試基礎(chǔ)_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一課時

軟件測試基礎(chǔ)

目錄軟件測試的定義軟件測試的目的軟件測試的原則軟件測試的對象軟件測試的分類軟件的生命周期軟件測試的流程軟件測試的定義軟件?軟件測試的定義軟件是計算機系統(tǒng)中與硬件相互依存的一部分,包括程序、數(shù)據(jù)、與其相關(guān)文檔的完整結(jié)合。

軟件=程序+數(shù)據(jù)+文檔。軟件測試的定義軟件測試就是為了證明程序有錯,而不是證明程序無錯誤(辨證觀點)。測試被定義為“對軟件系統(tǒng)中潛在的各種風(fēng)險進行評估的活動”。(風(fēng)險觀點)軟件測試就是“驗證(Verification)”和“有效性確認(rèn)(Validation)”活動構(gòu)成的整體,即軟件測試V&V。(標(biāo)準(zhǔn)觀點)軟件測試的定義軟件測試就是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程(狹義觀點)。使用人工或自動的手段,來運行或測試軟件系統(tǒng)的過程,目的是檢驗軟件系統(tǒng)是否滿足規(guī)定的需求,并找出與預(yù)期結(jié)果之間的差異。(標(biāo)準(zhǔn)定義IEEE)軟件測試的定義驗證:是為確定某一開發(fā)階段的產(chǎn)品是否滿足在該階段開始時提出的要求而對系統(tǒng)或部件進行評估的過程。

確認(rèn):是在開發(fā)過程中或結(jié)束時,對系統(tǒng)或部件進行評估,以確定其是否滿足需求規(guī)格的過程。綜上所述,要完整理解軟件測試,就要從不同方面去審視軟件測試,概括起來,軟件測試就是貫穿整個軟件開發(fā)生命周期,對軟件產(chǎn)品(包括階段性產(chǎn)品)進行驗證和確認(rèn)的活動過程。軟件測試的目的用戶角度:通過軟件測試發(fā)現(xiàn)隱藏的錯誤和缺陷,考慮是否可以接受該產(chǎn)品。軟件開發(fā)者:表明軟件產(chǎn)品不存在錯誤,驗證軟件實現(xiàn)了所有用戶的需求。測試人員:發(fā)現(xiàn)軟件中的缺陷、降低軟件出錯風(fēng)險、保證產(chǎn)品質(zhì)量。測試的最終目的:盡快盡早地發(fā)現(xiàn)在軟件中的缺陷,通過修正各種錯誤和缺陷提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯誤造成的隱患所帶來的商業(yè)風(fēng)險。軟件測試的原則所有的測試都應(yīng)追溯到用戶需求。程序員應(yīng)當(dāng)避免測試自己編寫的程序應(yīng)當(dāng)徹底檢查每個測試的執(zhí)行結(jié)果。避免測試的隨意性,有嚴(yán)格的測試計劃。窮舉測試是不可能的,應(yīng)終止測試。軟件測試的原則設(shè)計測試用例時,應(yīng)該考慮各種情況。充分注意群集現(xiàn)象(二八定理)。對測試出的錯誤結(jié)果一定要有一個確認(rèn)的過程。程序修改后要回歸測試。應(yīng)避免測試用例用后即棄,妥善保存一切測試過程文檔。軟件測試的原則

小結(jié)軟件測試是為發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。盡量避免編碼人員測試自己的程序。好的測試用例能夠?qū)ξ窗l(fā)現(xiàn)的錯誤高度敏感。成功的測試用例能夠發(fā)現(xiàn)未知的錯誤。成功的測試需要仔細(xì)定義輸入輸出的期望值。成功的測試需要仔細(xì)研究分析測試結(jié)果。軟件測試的對象相符嗎?用戶要求用戶:我要什么?運行結(jié)果計算機:程序運行得到的結(jié)果源程序程序員:我要讓計算機怎么做設(shè)計說明書設(shè)計員:我要讓軟件做什么?

需求說明書分析員:我可以提供什么?

⑤運行正確性輸入正確性

④理解正確性編碼正確性

①理解正確性設(shè)計正確性表達(dá)正確性理解正確性表達(dá)正確性軟件測試的分類單元測試集成測試系統(tǒng)測試驗收測試概念又稱模塊測試,就是對軟件中的最小可測試單元進行檢查和驗證在單元測試基礎(chǔ)上的,將所有模塊按照概要設(shè)計要求組裝成子系統(tǒng)或系統(tǒng)后的測試,重點測試不同模塊的接口部分將整個軟件系統(tǒng)看做一個整體進行測試,包括對功能、性能以及軟件所運行的軟硬件環(huán)境進行測試旨在向未來的用戶展示該軟件系統(tǒng)已能滿足其需求要求測試對象最小模塊,如函數(shù)類等模塊間的接口,如參數(shù)傳遞整個系統(tǒng),包括軟硬件整個系統(tǒng),包括軟硬件測試時機編碼之后,代碼已經(jīng)通過編譯之后在單元測試之后集成測試之后系統(tǒng)測試后期,軟件正式交付用戶使用之前測試人員白盒測試工程師或開發(fā)人員白盒測試工程師或開發(fā)人員黑盒測試工程師用戶和黑盒測試工程師測試依據(jù)1、源程序本身,包括代碼和注釋2、詳細(xì)設(shè)計文檔1、單元測試的模塊2、概要設(shè)計文檔需求規(guī)格說明書需求規(guī)格說明書測試通過標(biāo)準(zhǔn)1、單元測試用例的執(zhí)行率為100%,通過率為95%2、語句的覆蓋率達(dá)100%3、分支的覆蓋率達(dá)85%1、各個單元模塊結(jié)合到一起能夠協(xié)同配合,正常運行2、測試用例的執(zhí)行率為100%,通過率為95%1、系統(tǒng)功能、性能等滿足需求規(guī)格說明書中的要求2、測試用例的執(zhí)行率為100%,通過率為95%1、系統(tǒng)功能、性能等滿足需求規(guī)格說明書中的要求2、測試用例的執(zhí)行率為100%,通過率為95%主要方法控制流測試、數(shù)據(jù)流測試、排錯測試、分域測試等自頂向下測試、自底向上測試功能測試、性能測試、隨機測試等Alpha測試、Beta測試靜態(tài)測試:不實際運行被測軟件,而只是靜態(tài)地檢查程序代碼、界面或文檔中可能存在的錯誤的過程。

靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。它可以由人工進行,充分發(fā)揮人的邏輯思維優(yōu)勢,也可以借助軟件工具自動進行。代碼檢查包括代碼走查、桌面檢查、代碼審查等,主要檢查代碼和設(shè)計的一致性,代碼對標(biāo)準(zhǔn)的遵循、可讀性,代碼的邏輯表達(dá)的正確性,代碼結(jié)構(gòu)的合理性等方面;可以發(fā)現(xiàn)違背程序編寫標(biāo)準(zhǔn)的問題,程序中不安全、不明確和模糊的部分,找出程序中不可移植部分、違背程序編程風(fēng)格的問題,包括變量檢查、命名和類型審查、程序邏輯審查、程序語法檢查和程序結(jié)構(gòu)檢查等內(nèi)容。在實際使用中,代碼檢查比動態(tài)測試更有效率,能快速找到缺陷,發(fā)現(xiàn)30%~70%的邏輯設(shè)計和編碼缺陷;代碼檢查看到的是問題本身而非征兆。但是代碼檢查非常耗費時間,而且代碼檢查需要知識和經(jīng)驗的積累。代碼檢查應(yīng)在編譯和動態(tài)測試之前進行,在檢查前,應(yīng)準(zhǔn)備好需求描述文檔、程序設(shè)計文檔、程序的源代碼清單、代碼編碼標(biāo)準(zhǔn)和代碼缺陷檢查表等。靜態(tài)測試具有的發(fā)現(xiàn)缺陷早、降低返工成本、覆蓋重點和發(fā)現(xiàn)缺陷的概率高的優(yōu)點以及耗時長、不能測試依賴和技術(shù)能力要求高的缺點。

動態(tài)測試:實際運行被測軟件,輸入相應(yīng)的測試數(shù)據(jù),檢查實際輸出結(jié)果和預(yù)期結(jié)果是否相符的過程。測試階段靜態(tài)測試動態(tài)測試可行性評審√需求評審√設(shè)計評審√單元測試√集成測試√系統(tǒng)測試√驗收測試√黑盒測試白盒測試概念又稱為功能測試或數(shù)據(jù)驅(qū)動測試。它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進行測試。它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。又稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。它是知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部工作是否按照規(guī)格說明書的規(guī)定正常進行,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作,而不顧它的功能。測試人員黑盒測試工程師或用戶白盒測試工程師或開發(fā)人員測試依據(jù)需求規(guī)格說明書1、源程序本身,包括代碼和注釋2、詳細(xì)設(shè)計文檔主要方法等價類劃分、邊界值分析、因果圖、錯誤推測等邏輯覆蓋、循環(huán)覆蓋和基本路徑測試應(yīng)用軟件確認(rèn)測試軟件驗證測試功能測試:主要檢查實際軟件的功能是否符合用戶

的需求。功能測試又可細(xì)分為:邏輯功能測試:假設(shè)一個軟件的業(yè)務(wù)流程是,如果

輸入1就走A流程,輸入2,走B流程,

輸入3,退出。那對于測試人員來

說,輸入1到3就是不同的邏輯,你

也可以輸入0,4,來檢驗程序是否

有做保護處理。

界面測試:驗證軟件用戶界面的設(shè)計是否合乎用戶期望或要求。它常常包括菜單,對話框及對話框上所有按鈕,文字,出錯提示,幫助信息等方面的測試。易用性測試:從軟件使用的合理性和方便性等角度對軟件系統(tǒng)進行檢查,來發(fā)現(xiàn)軟件中不方便用戶使用的地方。安裝測試:是驗證軟件能否正常進行安裝和卸載的測試。兼容性測試:是測試軟件在一個特定的硬件/軟件/操作系統(tǒng)/網(wǎng)絡(luò)等環(huán)境下的性能如何。包括向上兼容、向下兼容,軟件兼容和硬件兼容。性能測試:主要是驗證系統(tǒng)的性能指標(biāo)是否滿足需求要求。性能測試又可細(xì)分為:一般性測試:指的是讓被測系統(tǒng)在正常的軟硬件條件下運行,不向其施加任何壓力。穩(wěn)定性測試:也叫可靠性測試,是指連續(xù)運行被測系統(tǒng),檢查系統(tǒng)運行時的穩(wěn)定程度。負(fù)載測試:指讓被測系統(tǒng)在其能忍受的壓力的極限范圍內(nèi)連續(xù)運行,檢查系統(tǒng)運行時的穩(wěn)定性。壓力測試:通常是指持續(xù)不斷地給被測系統(tǒng)增加壓力,直到將被測系統(tǒng)壓垮為止,用來測試系統(tǒng)所能承受的最大壓力?;貧w測試:是在軟件維護階段,重復(fù)執(zhí)行上一個版本測試時的測試用例,對修改后的新版本進行的測試。其目的是檢驗對軟件所做的修改是否正確。冒煙測試:是指在對一個新版本進行系統(tǒng)的大規(guī)模測試之前,先驗證一下軟件的基本功能是否實現(xiàn),是否具備可測性。隨機測試:是指測試中所有的輸入數(shù)據(jù)都是隨機生成的,其目的是模擬用戶的真實操作,并發(fā)現(xiàn)一些邊緣性的錯誤。軟件的生命周期軟件生命周期:即一個軟件從功能確定、設(shè)計、開

發(fā)成功、投入使用,并在使用中不斷的修改、增補和完善,直至被新的替代而停止使用的全過程。軟件生命周期包括軟件開發(fā)的生命周期和軟件測試的生命周期。軟件測試的流程立項需求評審測試計劃測試設(shè)計測試前期準(zhǔn)備測試執(zhí)行測試記錄缺陷管理軟件評估Passed測試項目總結(jié)維護測試NY需求評審需求評審的注意事項:一、注意對需求規(guī)格說明的正確性進行評審

1、是否沖突或者重復(fù)

2、是否清晰、簡潔、無二義性

3、是否有內(nèi)容和語法錯誤

4、是否合理地確定了性能指標(biāo)

5、是否合理地確定了安全性指標(biāo)需求評審二、注意對需求規(guī)格說明的完整性進行評審

1、是否包含了所有已知的客戶需求或系統(tǒng)需求

2、所有需求的詳細(xì)程度是否合適,是否能為設(shè)計提供足夠的基礎(chǔ)

3、是否定義了每個需求的實現(xiàn)優(yōu)先級

4、是否把不確定的需求標(biāo)記為待確定的問題,而不是直接遺棄

5、是否對所有預(yù)期的錯誤條件所產(chǎn)生的系統(tǒng)行為都進行了描述需求評審三、注意對需求的可實施性進行評審

1、是否每個需求都有惟一標(biāo)識

2、是否每個需求都易修改,可跟蹤

3、是否每個需求都是實際的、量化的、邏輯清晰的

4、在現(xiàn)有的資源下,是否能實現(xiàn)所有的需求

5、每個需求在特定的輸入條件下是否給出已知的輸出結(jié)果需求評審測試人員參加“需求評審”活動需要達(dá)到的目標(biāo):

1、充分理解用戶需求

2、確保需求的可測試性測試計劃為什么要編寫測試計劃

1)領(lǐng)導(dǎo)能夠根據(jù)測試計劃做宏觀調(diào)控,進行相應(yīng)資源配置等

2)測試人員能夠了解整個項目測試情況以及項目測試不同階段的所要進行的工作等

3)便于其他人員了解測試人員的工作內(nèi)容,進行有關(guān)配合工作

測試計劃什么時間開始編寫測試計劃盡早開始。原則上應(yīng)該在需求定義完成之后開始編寫測試計劃,對于開發(fā)過程不是十分清晰和穩(wěn)定的項目,測試計劃也可以在總體設(shè)計完成后開始編寫由誰編寫測試計劃具有豐富經(jīng)驗的測試負(fù)責(zé)人測試計劃測試計劃編寫策略

1.明確測試的目標(biāo),增強測試計劃的實用性

2.堅持“5W1H”規(guī)則,明確內(nèi)容與過程

1)why—為什么要進行這些測試

2)what—測試哪些方面,不同階段的工作內(nèi)容

3)who—安排哪些測試人員進行測試

4)when—測試不同階段的起止時間

5)where—給出測試文檔和軟件的存放位置,測試環(huán)境等

6)how—指出測試的方法和工具

3.采用評審和更新機制,保證測試計劃滿足實際需求

4.分別創(chuàng)建測試計劃與測試詳細(xì)規(guī)格、測試用例

測試設(shè)計測試設(shè)計測試用例

是為某個特殊目標(biāo)而編制的一組測試輸入、執(zhí)行條件、測試步驟以及預(yù)期結(jié)果。為什么要寫測試用例1)便于團隊交流2)便于重復(fù)測試3)便于跟蹤統(tǒng)計

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論