測(cè)試原理與方法-基礎(chǔ)篇._第1頁
測(cè)試原理與方法-基礎(chǔ)篇._第2頁
測(cè)試原理與方法-基礎(chǔ)篇._第3頁
測(cè)試原理與方法-基礎(chǔ)篇._第4頁
測(cè)試原理與方法-基礎(chǔ)篇._第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、測(cè)試原理與方法 基礎(chǔ)篇1內(nèi)容梗概 測(cè)試概念 測(cè)試的目的 測(cè)試的原則 測(cè)試的分類 測(cè)試的方法 測(cè)試用例 用例的設(shè)計(jì)方法2測(cè)試的概念 什么是測(cè)試在IEEE610.12-1990 標(biāo)準(zhǔn)中是這樣定義的:測(cè)試是在特定條件下操作系統(tǒng)或組成,觀察記錄結(jié)果,并對(duì)該系統(tǒng)或組成各方面做出客觀評(píng)價(jià)的過程。它的核心內(nèi)容:測(cè)試是帶著“什么應(yīng)該是”的疑問去比較“是什么”的過程3軟件測(cè)試Software Testing 軟件測(cè)試的經(jīng)典定義:在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤,衡量軟件質(zhì)量,并對(duì)其是否能滿足設(shè)計(jì)要求進(jìn)行評(píng)估的過程。 一種實(shí)際輸出與預(yù)期輸出間的審核或者比較過程 一種用來促進(jìn)鑒定軟件的正確性、完整性、安

2、全性和質(zhì)量的過程 軟件測(cè)試活動(dòng)包括:制定計(jì)劃、分析風(fēng)險(xiǎn)、設(shè)計(jì)和創(chuàng)建測(cè)試用例、關(guān)注測(cè)試執(zhí)行等4軟件測(cè)試的目的5u測(cè)試的目的:利用最少的時(shí)間和付出,系統(tǒng)地揭示不同類型的錯(cuò)誤測(cè)試的目的:利用最少的時(shí)間和付出,系統(tǒng)地揭示不同類型的錯(cuò)誤軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程目的是為了:通過“證明程序有錯(cuò)”,從而排錯(cuò),最終證明軟件功能的實(shí)現(xiàn)符合功能需求定義驗(yàn)證性能方面的表現(xiàn)是否能夠被接受測(cè)試數(shù)據(jù)可以提供全面、周詳?shù)能浖捎眯院唾|(zhì)量方面的評(píng)測(cè)指標(biāo)軟件測(cè)試的原則從用戶的角度出發(fā) 通過軟件測(cè)試充分暴露軟件中存在的問題和缺陷,從而考慮是否可以接受該產(chǎn)品從開發(fā)者的角度出發(fā) 表明軟件產(chǎn)品不存在錯(cuò)誤,已經(jīng)正確地實(shí)現(xiàn)了用

3、戶的需求,確立人們對(duì)軟件質(zhì)量的信心6軟件測(cè)試的特點(diǎn) 測(cè)試是不完全的 測(cè)試具有免疫性 測(cè)試是泛型概念(全程測(cè)試) 80-20 原則 為效益而測(cè)試 缺陷的必然性 軟件測(cè)試必須有預(yù)期結(jié)果 事后分析 7軟件測(cè)試的基本流程圖8軟件配置軟件配置測(cè)試環(huán)境配置測(cè)試環(huán)境配置測(cè)試測(cè)試測(cè)試結(jié)果測(cè)試結(jié)果判斷判斷錯(cuò)誤錯(cuò)誤期望結(jié)果期望結(jié)果錯(cuò)誤率數(shù)據(jù)錯(cuò)誤率數(shù)據(jù)排除程序故障排除程序故障修改修改可靠性模型可靠性模型預(yù)計(jì)可靠度預(yù)計(jì)可靠度軟件測(cè)試的分類 從是否需要運(yùn)行被測(cè)軟件的角度,分為:靜態(tài)測(cè)試動(dòng)態(tài)測(cè)試 從是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度,分為白盒測(cè)試黑盒測(cè)試9靜態(tài)測(cè)試不運(yùn)行被測(cè)程序本身,也不需要對(duì)代碼編譯、鏈接和生成

4、可執(zhí)行文件,僅通過分析或檢查源程序的文法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性,找出欠缺和可疑之處。例:不匹配的參數(shù)不適當(dāng)?shù)难h(huán)嵌套和分支嵌套不允許的遞歸未使用過的變量空指針的引用可疑的計(jì)算等等靜態(tài)測(cè)試結(jié)果可用于進(jìn)一步的查錯(cuò),并為測(cè)試用例選取提供指導(dǎo)。10靜態(tài)測(cè)試11p代碼檢查Desk checking 桌面檢查由程序員自己檢查自己編寫的程序,對(duì)源程序代碼進(jìn)行分析,檢驗(yàn),并補(bǔ)充相關(guān)的文檔。檢查項(xiàng)目有:檢查變量的交叉引用表、檢查標(biāo)號(hào)的交叉引用表、檢查子程序、宏、函數(shù)、等值性檢查、常量檢查、標(biāo)準(zhǔn)檢查、風(fēng)格檢查和補(bǔ)充文檔等Inspection 代碼審查通過閱讀、講解、討論和模擬運(yùn)行的方式,對(duì)程序進(jìn)行

5、靜態(tài)分析的過程。根據(jù)軟件設(shè)計(jì)文檔,通過閱讀程序發(fā)現(xiàn)軟件缺陷Walk-Through 代碼走查人們借助于測(cè)試用例的媒介作用,對(duì)程序的邏輯和功能提出各種疑問,結(jié)合問題開展熱烈的討論和爭議,以求發(fā)現(xiàn)更多的問題Review 技術(shù)評(píng)審開發(fā)組、測(cè)試組和相關(guān)人員(產(chǎn)品經(jīng)理等)聯(lián)合進(jìn)行,也是采用講解、提問并使用編碼模板進(jìn)行的查找錯(cuò)誤的活動(dòng)p靜態(tài)分析計(jì)算機(jī)輔助的靜態(tài)分析方法。主要對(duì)程序進(jìn)行控制流分析、數(shù)據(jù)流分析、接口分析和表達(dá)式分析等。靜態(tài)分析的對(duì)象是軟件程序,程序設(shè)計(jì)語言不同,相應(yīng)的靜態(tài)分析工具也就不同。動(dòng)態(tài)測(cè)試通過運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率和健壯性等性能。 構(gòu)造測(cè)試實(shí)例 執(zhí)行

6、程序 分析程序的輸出結(jié)果 12白盒測(cè)試又稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。盒子指的是被測(cè)試的軟件,白盒指的是盒子是可視的,清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。白盒測(cè)試的主要方法:代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測(cè)試法、域測(cè)試、符號(hào)測(cè)試、路徑覆蓋和程序變異。 對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一次; 對(duì)所有的邏輯判定,取 “ 真 ” 與取 “ 假 ” 的兩種情況都至少測(cè)試一次; 在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)

7、行循環(huán)體; 測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等。 13白盒測(cè)試一些明顯且表面的問題能夠輕而易舉地通過黑盒測(cè)試的手段發(fā)現(xiàn),但對(duì)于設(shè)計(jì)上的缺陷和錯(cuò)誤,常規(guī)的黑盒測(cè)試方法往往顯得力不從心,或是需要巨大地投入才能小有收獲。而白盒測(cè)試則可以從代碼級(jí)別對(duì)設(shè)計(jì)問題進(jìn)行檢查 對(duì)邏輯錯(cuò)誤和不正確的假設(shè)條件錯(cuò)誤做原始的排查 發(fā)現(xiàn)關(guān)于執(zhí)行路徑的條件判斷錯(cuò)誤和一些設(shè)計(jì)上的明顯錯(cuò)誤 發(fā)現(xiàn)一些明顯的排版錯(cuò)誤而導(dǎo)致的邏輯判斷上的錯(cuò)誤14白盒測(cè)試方法方法一:基本路徑方法一:基本路徑測(cè)試測(cè)試 畫出程序控制流圖,通過分析控制構(gòu)造的環(huán)路復(fù)雜性,從而設(shè)計(jì)出測(cè)試用例的方法。1.流向圖符號(hào)2.各種復(fù)雜嵌套條件的組合3.導(dǎo)出用例4.圖表矩陣方法二

8、:控制結(jié)構(gòu)測(cè)試方法二:控制結(jié)構(gòu)測(cè)試條件測(cè)試數(shù)據(jù)流測(cè)試循環(huán)測(cè)試15白盒測(cè)試方法:基本路徑測(cè)試16基本流向圖符號(hào)白盒測(cè)試方法:基本路徑測(cè)試17流向圖組合符號(hào)白盒測(cè)試方法:基本路徑測(cè)試18嵌套流向圖符號(hào)白盒測(cè)試方法:基本路徑測(cè)試19流向圖連接矩陣白盒測(cè)試方法:控制結(jié)構(gòu)測(cè)試定義:關(guān)系式簡單條件:布爾變量和關(guān)系式復(fù)合條件:兩個(gè)或更多的簡單條件和布爾運(yùn)算和符號(hào)等布爾公式:沒有關(guān)系式的條件測(cè)試策略:分支測(cè)試:測(cè)每一個(gè)分支范圍測(cè)試:測(cè)每一個(gè)關(guān)系運(yùn)算分支和關(guān)系運(yùn)算測(cè)試20條件測(cè)試:目的是演練程序模塊中的所有邏輯條件白盒測(cè)試方法:控制結(jié)構(gòu)測(cè)試21數(shù)據(jù)流測(cè)試:按照定義變量的位置和用途選擇測(cè)試路徑白盒測(cè)試方法:控制結(jié)

9、構(gòu)測(cè)試22常見循環(huán)模型Concatenate嵌套的連接的無組織的軟件測(cè)試的分類:黑盒測(cè)試黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。在已知產(chǎn)品所應(yīng)具有的功能,通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試時(shí),把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求說明的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。可以發(fā)現(xiàn)的問題沒實(shí)現(xiàn)或?qū)崿F(xiàn)不正確的功能界面錯(cuò)誤數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)訪問錯(cuò)誤性能錯(cuò)誤等等23常規(guī)黑盒測(cè)試方法介紹功能測(cè)試 (functional testing

10、)系統(tǒng)測(cè)試(System testing)端到端測(cè)試 (end-to-end testing)兼容性測(cè)試 (Compability testing)負(fù)荷試驗(yàn) (load testing)壓力測(cè)試 (stress testing)性能測(cè)試 (performance testing)可用性測(cè)試 (usability testing) 恢復(fù)測(cè)試 (recovery testing) 安全測(cè)試 (security testing) 測(cè)試 (alpha testing) 測(cè)試 (beta testing) 24測(cè)試用例指對(duì)某一功能點(diǎn)如何進(jìn)行測(cè)試的描述。一般多個(gè)測(cè)試用例的集合稱之為測(cè)試用例集,或者測(cè)試規(guī)格

11、。測(cè)試用例應(yīng)該包含的元素: 所屬模塊 相關(guān)需求 用例標(biāo)題 前置條件 步驟 預(yù)期結(jié)果 用例類型 優(yōu)先級(jí)25測(cè)試用例在軟件測(cè)試中的作用 1、指導(dǎo)測(cè)試的實(shí)施2、規(guī)劃測(cè)試數(shù)據(jù)的準(zhǔn)備 3、編寫測(cè)試腳本的設(shè)計(jì)規(guī)格說明書 4、評(píng)估測(cè)試結(jié)果的度量基準(zhǔn) 5、分析缺陷的標(biāo)準(zhǔn) 26黑盒用例的設(shè)計(jì)方法1. 等價(jià)類劃分法2. 邊界值分析法3. 因果圖法4. 對(duì)比測(cè)試法5. 錯(cuò)誤推測(cè)法 6. 邏輯覆蓋法 27等價(jià)類劃分法等價(jià)類劃分:是一種完全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說明來設(shè)計(jì)測(cè)試用例。等價(jià)類是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭示程序中的錯(cuò)誤都是等效的。等價(jià)類合理地假設(shè):某個(gè)等價(jià)類的代表值

12、,與該等價(jià)類的其他值,對(duì)于測(cè)試來說是等價(jià)的。因此,可以把全部的輸入數(shù)據(jù)劃分成若干的等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)來進(jìn)行測(cè)試。這樣就能以較少的具有代表性的數(shù)據(jù)進(jìn)行測(cè)試,而取得較好的測(cè)試效果。28邊界值分析法 對(duì)取值范圍兩邊的值進(jìn)行檢查 例:變量的取值范圍定義為1100,那我們對(duì)于其邊界值得檢查即為0,1,n(1100之間數(shù)值的等價(jià)類), 100,101(100的等價(jià)類)29因果圖法提供一種簡明的邏輯關(guān)系表示和相對(duì)應(yīng)的響應(yīng)30因果圖法31因果關(guān)系圖的簡化符號(hào)因果關(guān)系圖的簡化符號(hào)比較法排查版本問題的方法:用同樣的測(cè)試數(shù)據(jù)對(duì)不同版本的輸出結(jié)果進(jìn)行比較很多版本平行測(cè)試實(shí)時(shí)的比對(duì)測(cè)試結(jié)果排查軟件還是硬

13、件問題的方法:不同的硬件相同的軟件比較相同的硬件不同的軟件比較測(cè)試排查32黑盒用例設(shè)計(jì)的常規(guī)策略 用邊界值分析法和等價(jià)分類法提出基本的測(cè)試用例; 用猜測(cè)法補(bǔ)充新的測(cè)試用例; 如果在程序的功能說明中含有輸入條件的組合,宜在一開始就用因果圖法,然后再按以上1、2兩步進(jìn)行。 33軟件生存期模型34瀑布模型n各項(xiàng)活動(dòng)按自上而下,相互銜接的固定次序,如同瀑布逐級(jí)下落。各項(xiàng)活動(dòng)按自上而下,相互銜接的固定次序,如同瀑布逐級(jí)下落。每項(xiàng)活動(dòng)均處于一個(gè)質(zhì)量環(huán)(輸入每項(xiàng)活動(dòng)均處于一個(gè)質(zhì)量環(huán)(輸入- -處理處理- -輸出輸出- -評(píng)審)中。評(píng)審)中。35需求定義需求定義系統(tǒng)與軟件設(shè)計(jì)系統(tǒng)與軟件設(shè)計(jì)集成與系統(tǒng)測(cè)試集成與

14、系統(tǒng)測(cè)試實(shí)現(xiàn)與單元測(cè)試實(shí)現(xiàn)與單元測(cè)試運(yùn)行與維護(hù)運(yùn)行與維護(hù)快速原型模型特點(diǎn) 快速開發(fā)工具 循環(huán) 低成本種類 漸進(jìn)型 拋棄型36需求分析原型開發(fā)最終系統(tǒng)設(shè)計(jì)原型評(píng)價(jià)最終系統(tǒng)實(shí)現(xiàn)用戶反饋演化模型37客戶評(píng)價(jià)原型客戶評(píng)價(jià)原型快速設(shè)計(jì)快速設(shè)計(jì)停止停止開始開始螺旋模型38螺旋模型n螺旋模型將瀑布模型與演化模型結(jié)合起來,并且加入兩種模型均忽略了的風(fēng)險(xiǎn)分析。n螺旋模型沿著螺線旋轉(zhuǎn),自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更完善的一個(gè)新版本。 u制定計(jì)劃 確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制條件;u風(fēng)險(xiǎn)分析 分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn);u實(shí)施工程 實(shí)施軟件開發(fā)u客戶評(píng)估 評(píng)價(jià)開發(fā),提出修正建議。39增量模

15、型n把軟件產(chǎn)品分解成一系列的增量構(gòu)件,在增量開發(fā)迭代中逐步加入。 n每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。n增量開發(fā)方法的新演進(jìn)版本叫做 “極限程序設(shè)計(jì)(eXtreme Programming)”。 40定義定義基本需求基本需求將需求賦予將需求賦予增量構(gòu)件增量構(gòu)件設(shè)計(jì)系統(tǒng)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)體系結(jié)構(gòu)開發(fā)開發(fā)增量構(gòu)件增量構(gòu)件確認(rèn)確認(rèn)增量構(gòu)件增量構(gòu)件集成集成增量構(gòu)件增量構(gòu)件確認(rèn)系統(tǒng)確認(rèn)系統(tǒng)噴泉模型41需求階段需求階段分析階段分析階段設(shè)計(jì)階段設(shè)計(jì)階段編程階段編程階段集成與測(cè)試階段集成與測(cè)試階段維護(hù)與演進(jìn)階段維護(hù)與演進(jìn)階段噴泉模型n體現(xiàn)了迭代和無間隙的特性。n系統(tǒng)某個(gè)部分常常重復(fù)工作多

16、次,相關(guān)對(duì)象在每次迭代中隨之加入演進(jìn)的軟件成分。n無間隙是指在各項(xiàng)開發(fā)活動(dòng),即分析、設(shè)計(jì)和編碼之間不存在明顯的邊界。n噴泉模型是對(duì)象驅(qū)動(dòng)的過程。42智能模型43用戶要求用戶要求需求分析需求分析概要設(shè)計(jì)概要設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)程序編碼程序編碼測(cè)試測(cè)試維護(hù)維護(hù)支持需求支持需求 分析的分析的專家系統(tǒng)專家系統(tǒng)支持軟件支持軟件 設(shè)計(jì)的設(shè)計(jì)的專家系統(tǒng)專家系統(tǒng) 支持測(cè)試支持測(cè)試的專家系統(tǒng)的專家系統(tǒng) 支持維護(hù)支持維護(hù)的專家系統(tǒng)的專家系統(tǒng)智能模型n智能模型是基于知識(shí)的軟件開發(fā)模型,它把瀑布模型和專家系統(tǒng)綜合在一起。n該模型在各個(gè)開發(fā)階段都利用了相應(yīng)的專家系統(tǒng)來幫助軟件人員完成開發(fā)工作。n為此,建立了各個(gè)階段的知

17、識(shí)庫,將模型、相應(yīng)領(lǐng)域知識(shí)和軟件工程知識(shí)分別存入數(shù)據(jù)庫。以軟件工程知識(shí)為基礎(chǔ)的生成規(guī)則構(gòu)成的專家系統(tǒng)與包含應(yīng)用領(lǐng)域知識(shí)規(guī)則的其他專家系統(tǒng)相結(jié)合,構(gòu)成該應(yīng)用領(lǐng)域的開發(fā)系統(tǒng)。 44構(gòu)件集成模型45構(gòu)件集成模型特點(diǎn)面向?qū)ο蠡跇?gòu)件庫融合螺旋模型特征支持軟件開發(fā)的迭代方法 軟件重用46V 模型47迭代式開發(fā)模型48迭代模型和瀑布模型區(qū)別49由于瀑布模型的 軟件開發(fā)模型軟件對(duì)比模型模型名稱名稱瀑布模型瀑布模型 模形模形 迭代開發(fā)模型迭代開發(fā)模型 優(yōu)點(diǎn)優(yōu)點(diǎn)清楚地標(biāo)識(shí)出了軟件開發(fā)的階段。它采用自頂向下逐步求精的方式把整個(gè)開發(fā)過程分成不同的階段,每個(gè)階段的工作都很明確,因此便于控制開發(fā)過程。當(dāng)所有的階段都完成之后,該軟件的開發(fā)過程也隨之結(jié)束。 V模型的價(jià)值在于它非常明確地標(biāo)明了測(cè)試過程中存在的不同級(jí)別,并且清楚地描述了這些測(cè)試階段和開發(fā)過程期間各階段的對(duì)應(yīng)關(guān)系迭代和瀑布的最大的差別就在于風(fēng)險(xiǎn)的暴露時(shí)間上,迭代開發(fā)模型 可以更早的暴露風(fēng)險(xiǎn),以達(dá)到降低項(xiàng)目成本的目的缺點(diǎn)缺點(diǎn)不適合需求模糊的系統(tǒng)5

溫馨提示

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