版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程第七章測試技術(shù)測試的基本概念1靜態(tài)分析方法4小結(jié)5黑盒測試方法3白盒測試方法2本章學(xué)習(xí)目標(biāo)123掌握基本的白盒測試和黑盒測試方法。了解軟件測試的目標(biāo)、評估準(zhǔn)則、軟件靜態(tài)分析的通用評審過程等及主要類型。理解軟件測試的定義、常用術(shù)語、基本原則和代碼審查。軟件測試的重要性據(jù)推測,由于軟件缺陷而引起的損失額每年高達(dá)595億美元。這一數(shù)字相當(dāng)于美國國內(nèi)生產(chǎn)總值的0.6%。軟件測試是軟件開發(fā)過程中包裝軟件質(zhì)量、提高軟件可靠性的最主要的手段之一,它是在軟件產(chǎn)品在交付之前,對分析、設(shè)計、編碼等開發(fā)工作的最后檢查和復(fù)審。在整個軟件系統(tǒng)的開發(fā)過程中,軟件測試占了其中40~50%的工作量。軟件測試的定義定義1軟件測試在IEEEStandard.610.12中定義如下:在某種指定的條件下對操作系統(tǒng)或組件,觀察或記錄結(jié)果,對系統(tǒng)或組件的某些方面進(jìn)行評估的過程。定義2軟件測試在IEEEStandard.829中定義如下:分析軟件各項目以檢測現(xiàn)有的結(jié)果和應(yīng)有結(jié)果之間的差異(即軟件缺陷),并評估軟件各項目的特征的過程。其他定義其他定義如下:軟件投入運(yùn)行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。軟件測試的對象軟件測試的對象:軟件測試不等于程序測試。軟件測試貫穿于軟件定義和開發(fā)的整個過程。軟件開發(fā)過程中所產(chǎn)生的需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè)計規(guī)格說明以及源程序都是軟件測試的對象。軟件測試的常用術(shù)語1.軟件缺陷至少滿足下列一個條件才稱發(fā)生了一個軟件缺陷:軟件未實現(xiàn)產(chǎn)品說明書要求的功能。軟件出現(xiàn)了產(chǎn)品說明書指明不能出現(xiàn)的錯誤。軟件實現(xiàn)了產(chǎn)品說明書未提到的功能。軟件未實現(xiàn)產(chǎn)品說明書雖未明確提及但應(yīng)該實現(xiàn)的目標(biāo)。軟件難以理解、不易使用、運(yùn)行緩慢或者——從測試員的角度看——最終用戶會認(rèn)為不好。軟件缺陷的定義定義在IEEE729-1983對缺陷有一個標(biāo)準(zhǔn)的定義:從產(chǎn)品內(nèi)部看,缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中存在的錯誤、毛病等各種問題;從產(chǎn)品外部看,缺陷是系統(tǒng)所需要實現(xiàn)的某種功能的失效或違背。軟件測試的常用術(shù)語2.驗證和確認(rèn)驗證(Verification):保證軟件特定開發(fā)階段的輸出已經(jīng)正確完整地實現(xiàn)了規(guī)格說明確認(rèn)(Validation):根據(jù)原始需求檢查開發(fā)結(jié)果的過程稱為確認(rèn)舉例驗證:我們是否正確地完成了產(chǎn)品?確認(rèn):我們是否完成了正確的產(chǎn)品?軟件測試的常用術(shù)語3.測試與質(zhì)量保證軟件測試人員的目標(biāo)是盡早找出軟件缺陷,并確保缺陷得以修復(fù)軟件質(zhì)量保證人員的主要職責(zé)是創(chuàng)建和執(zhí)行改進(jìn)軟件開發(fā)過程并防止軟件缺陷發(fā)生的標(biāo)準(zhǔn)和方法人員職責(zé)上有交叉軟件測試的常用術(shù)語4.質(zhì)量與可靠性功能性(functionality):系統(tǒng)所需具備的能力的所有特征??煽啃裕╮eliability):軟件產(chǎn)品在具體使用中持續(xù)地提供其功能的能力。可用性(usability):軟件著眼于用戶使用方面的特性效率(efficiency):軟件為完成任務(wù)所消耗的資源和所需要的時間??删S護(hù)性(maintainability):軟件著眼于可進(jìn)行指定的修改的特性??梢浦残裕╬ortability):軟件著眼于可從一種使用環(huán)境遷移到另一種使用環(huán)境的特性。軟件測試的常用術(shù)語5.軟件測試與調(diào)試兩者都包含有處理軟件缺陷和查看代碼的過程二者的區(qū)別在于,測試的目標(biāo)是發(fā)現(xiàn)軟件缺陷的存在,調(diào)試的目標(biāo)是定位與修復(fù)缺陷。軟件測試的常用術(shù)語6.測試用例測試用例(testcase)是測試輸入、執(zhí)行條件以及預(yù)期結(jié)果的集合,是為特定的目的開發(fā)的,例如執(zhí)行特定的程序路徑或驗證與指定的需求相符合。軟件測試的目標(biāo)(IEEE1983)確認(rèn)系統(tǒng)滿足其預(yù)期的使用和用戶的需要。確認(rèn)解決了所需解決的問題(如實現(xiàn)商業(yè)規(guī)則和使用合適的系統(tǒng)假定)。為測試的過程建立責(zé)任和可解釋性。便于及早發(fā)現(xiàn)軟件和系統(tǒng)的異常。及早提供軟件和系統(tǒng)的性能的評估。為管理提供真實信息,以決定在當(dāng)前狀態(tài)下發(fā)布產(chǎn)品在商業(yè)上的風(fēng)險鑒別出程序在功能等方面的異常集聚之處。注意:測試用例的設(shè)計應(yīng)盡力發(fā)現(xiàn)系統(tǒng)中的錯誤,而不是“說明程序能正確地執(zhí)行它應(yīng)有的功能”,也不是“表明程序沒有錯誤”。
軟件測試的基本原則窮盡測試是不可能的測試無法顯示潛伏的軟件缺陷測試活動應(yīng)盡早進(jìn)行軟件缺陷具有群聚性注意殺蟲劑現(xiàn)象應(yīng)盡量由獨(dú)立的測試團(tuán)隊進(jìn)行測試軟件測試方法軟件測試方法動態(tài)測試靜態(tài)測試黑盒測試白盒測試在不知道程序內(nèi)部結(jié)構(gòu),只知道程序規(guī)格的情況下采用的測試技術(shù)或策略。在知道程序內(nèi)部結(jié)構(gòu)的情況下采用的測試技術(shù)或策略。黑盒測試方法和白盒測試方法綜合的策略。不實際運(yùn)行程序,而是通過檢查和閱讀等手段來發(fā)現(xiàn)錯誤并評估代碼質(zhì)量的軟件測試技術(shù)。也稱為靜態(tài)分析技術(shù)。實際運(yùn)行程序,并通過觀察程序運(yùn)行的實際結(jié)果來發(fā)現(xiàn)錯誤的軟件測試技術(shù)。白盒測試灰盒測試
靜態(tài)測試與動態(tài)測試1.靜態(tài)測試靜態(tài)測試是采用人工檢測和計算機(jī)輔助靜態(tài)分析的手段對程序進(jìn)行檢測,方法如下:人工測試:是指不依靠計算機(jī)運(yùn)行程序,而靠人工審查程序或評審軟件。計算機(jī)輔助靜態(tài)分析:指利用靜態(tài)分析軟件工具對被測試程序進(jìn)行特性分析,從程序中提取一些信息。2.動態(tài)測試動態(tài)測試與靜態(tài)測試相反,主要是設(shè)計一組輸入數(shù)據(jù),然后通過運(yùn)行程序來發(fā)現(xiàn)錯誤。軟件測試的主要方法黑盒測試黑盒測試指忽略系統(tǒng)或組件的內(nèi)部機(jī)制,僅關(guān)注于那些響應(yīng)所選擇的輸入及相應(yīng)執(zhí)行條件的輸出的測試形式,也稱功能性測試。白盒測試白盒測試指考慮系統(tǒng)或組件的內(nèi)部機(jī)制的測試形式(如分支測試、路徑測試、語句測試等),也稱結(jié)構(gòu)性測試?;液袦y試測試方法兼具備黑盒測試和白盒測試的特性。軟件測試的評估準(zhǔn)則覆蓋率故障插入變異分值覆蓋率給定一個測試需求集合TR和一個測試集合T,覆蓋率可以定義為T滿足的測試需求占TR總數(shù)的比例。100%覆蓋率在實際中是不現(xiàn)實的商用自動化測試工具故障插入故障插入(faultseeding)是一種統(tǒng)計方法,用于評價遺留在一個程序中的故障的數(shù)量和種類。具體而言,在測試前被有意地插入一些故障到程序中,在測試執(zhí)行中,有一部分插入的故障會因測試而顯露出來,但可能一些故障在測試中沒有暴露出來,仍存在于程序中。變異分值該指標(biāo)和變異測試密切相關(guān)。所謂變異測試是一種特殊的測試方法,在這種測試方法中,程序進(jìn)行兩個或更多個變異,然后用同樣的測試用例執(zhí)行測試,可以評估這些測試用例探測程序變異間的差異的能力。也叫玻璃盒測試、結(jié)構(gòu)測試或邏輯驅(qū)動測試,對軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這一方法是把測試對象看作一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,來設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。
白盒測試是在程序內(nèi)部進(jìn)行,主要用于完成軟件內(nèi)部操作的驗證。
白盒測試關(guān)鍵技術(shù):如何設(shè)計測試用例進(jìn)行徹底的測試
白盒測試技術(shù)基于代碼的測試白盒測試局限性:是窮舉路徑測試,貫穿程序獨(dú)立路徑數(shù)是天文數(shù)字,即使每條路徑都經(jīng)過了測試,仍可能有未發(fā)現(xiàn)錯誤。白盒測試的局限性白盒測試技術(shù)分類基于邏輯結(jié)構(gòu)的測試基于控制流圖的測試邏輯覆蓋測試邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計
測試用例的技術(shù)。它屬白盒測試。語句覆蓋分支覆蓋條件覆蓋條件組織覆蓋問題:若AND錯寫為OR,或X>1錯寫為X<1,則錯誤無法由上例測出。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFTestcase:A=2,B=0,X=4.abcde⑴語句覆蓋(Statementcoverage):選擇足夠多的測試數(shù)據(jù),使被測程序中每個語句至少執(zhí)行一次。語句覆蓋⑵判定覆蓋(Branchcoverage):在⑴的基礎(chǔ)上,每個判定的每個分支至少執(zhí)行一次。也成分支覆蓋。Testcases:①A=3,B=0,X=3②A=2,B=1,X=1問題:若X>1錯寫為X<1,仍然無法被測出。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFacbed判定覆蓋⑶條件覆蓋(Conditioncoverage):在⑴的基礎(chǔ)上,使每個判定表達(dá)式的每個條件都取到各種可能的結(jié)果。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFdbace條件覆蓋⑶條件覆蓋(Conditioncoverage):在⑴的基礎(chǔ)上,使每個判定表達(dá)式的每個條件都取到各種可能的結(jié)果。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFdbace真真真真假假假假Testcases:①A=2,B=0,X=4(滿足A>1,B=0;A=2,X>1)②A=1,B=1,X=1(滿足A1,B0;A2,X1)條件覆蓋⑶條件覆蓋(Conditioncoverage):在⑴的基礎(chǔ)上,使每個判定表達(dá)式的每個條件都取到各種可能的結(jié)果。Testcases:①A=2,B=0,X=4(滿足A>1,B=0;A=2,X>1)②A=1,B=1,X=1(滿足A1,B0;A2,X1)問:條件覆蓋?判定覆蓋答:不一定。反例:①A=2,B=0,X=1②A=1,B=1,X=2入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFdbace條件覆蓋(4)條件組合覆蓋:每個判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF全部可能的條件組合為:①A>1,B=0②A>1,B0③A1,B=0④A1,B0⑤A=2,X>1⑥A=2,X
1⑦A
2,X>1⑧A
2,X
1問題:沒有測試到(TF)的情形,沒有覆蓋所有的路徑。ecabd條件組合覆蓋4種覆蓋對比4種覆蓋標(biāo)準(zhǔn)的對比
發(fā)弱現(xiàn)錯誤能力強(qiáng)語句覆蓋每條語句至少執(zhí)行一次判定覆蓋每個判定的每個分支至少執(zhí)行一次條件覆蓋每個判定的每個條件應(yīng)取到各種可能的值條件組合覆蓋每個判定中各條件的每一種組合至少出現(xiàn)一次控制流圖覆蓋測試控制流圖覆蓋測試是將代碼轉(zhuǎn)變?yōu)榭刂屏鲌D,基于其進(jìn)行測試的技術(shù)。節(jié)(結(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《帶著地圖去旅行上》課件
- 2025版智能機(jī)器人研發(fā)團(tuán)隊個人合伙退出合作協(xié)議3篇
- 2024年環(huán)保工程合同協(xié)議書
- 2024棉花季節(jié)性儲備與調(diào)運(yùn)物流服務(wù)合同范本3篇
- 2024標(biāo)準(zhǔn)產(chǎn)品購銷協(xié)議模板適用各行業(yè)版B版
- 《經(jīng)濟(jì)事務(wù)類文書》課件
- 2024年電力工程承攬專項合同一
- 2024年貨運(yùn)代理協(xié)議
- 2024年設(shè)備借款合同(打印版)
- 2024年知識產(chǎn)權(quán)保護(hù)技術(shù)研發(fā)與產(chǎn)業(yè)化合同3篇
- 污泥( 廢水)運(yùn)輸服務(wù)方案(技術(shù)方案)
- 2019北師大版高中英語選修一UNIT 3 單詞短語句子復(fù)習(xí)默寫單
- 大班春季班級工作計劃范文
- 《新媒體導(dǎo)論》(第二版)-課件 第5、6章 新媒體的社交化:社會化媒體的發(fā)展及其應(yīng)用、新媒體的移動化:新時空下的新傳播
- 橋梁檢修通道施工方案
- 英文寫作課件:段落的寫作
- 魯科版(五四制)八年級上冊《第三章 光現(xiàn)象》章節(jié)練習(xí)(含解析)
- 產(chǎn)業(yè)園運(yùn)營合作協(xié)議
- 16J607-建筑節(jié)能門窗
- 理解詞語句子的方法PPT
- 作文開頭與結(jié)尾PPT課件ppt(共42張PPT)
評論
0/150
提交評論