版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 關(guān)于軟件測(cè)試的一些基本知識(shí) 主要框架:軟件測(cè)試方法:分為兩類(lèi)(1)靜態(tài)測(cè)試:不要求在計(jì)算機(jī)上實(shí)際執(zhí)行所測(cè)程序,主要以一些人工的模擬技術(shù)對(duì)軟件進(jìn)行分析和測(cè)試(2)動(dòng)態(tài)測(cè)試:通過(guò)輸入一組預(yù)先按照一定的測(cè)試準(zhǔn)則構(gòu)造的實(shí)例數(shù)據(jù)動(dòng)態(tài)運(yùn)行程序,而達(dá)到發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程,特點(diǎn)如下: 必須生成測(cè)試數(shù)據(jù)來(lái)運(yùn)行被測(cè)試程序,取得程序運(yùn)行的真實(shí)情況、動(dòng)態(tài)情況,進(jìn)而進(jìn)行分析 測(cè)試質(zhì)量依賴(lài)于測(cè)試數(shù)據(jù) 生成測(cè)試數(shù)據(jù),分析測(cè)試結(jié)果的工作量大,使開(kāi)展測(cè)試工作費(fèi)時(shí)、費(fèi)力、費(fèi)人 動(dòng)態(tài)測(cè)試中涉及多方面工作,人員多,設(shè)備多,數(shù)據(jù)多,要求有較好的管理和工作規(guī)程白盒測(cè)試1 白盒測(cè)試概述1 白盒測(cè)試定義白盒測(cè)試也稱(chēng)結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,
2、按照程序內(nèi)部的結(jié)構(gòu)對(duì)程序進(jìn)行測(cè)試,通過(guò)測(cè)試來(lái)檢查產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,檢查程序中的每條通路是否能按照預(yù)定要求正確工作2 測(cè)試內(nèi)容把測(cè)試對(duì)象看成是一個(gè)打開(kāi)的盒子,測(cè)試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序的所有邏輯路徑進(jìn)行測(cè)試,通過(guò)不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)與預(yù)期的狀態(tài)一致3 測(cè)試基本技術(shù)(1)詞法分析與語(yǔ)法分析(2)靜態(tài)錯(cuò)誤分析(3)程序插樁技術(shù)4 測(cè)試方法(1)代碼檢查法(2)靜態(tài)結(jié)構(gòu)分析法(3)靜態(tài)質(zhì)量度量法(4)邏輯覆蓋法(5)基本路徑測(cè)試法(6)域測(cè)試(7)符號(hào)測(cè)試(8)Z路徑覆蓋(8) 程序變異5黑盒測(cè)試與白盒測(cè)試黑盒測(cè)試白
3、盒測(cè)試不涉及程序結(jié)構(gòu)考查程序邏輯結(jié)構(gòu)用軟件規(guī)格說(shuō)明書(shū)生成測(cè)試用例用程序結(jié)構(gòu)信息生成測(cè)試用例可適用于從單元測(cè)試到系統(tǒng)聯(lián)調(diào)適用于單元測(cè)試和集成測(cè)試某些代碼段得不到測(cè)試對(duì)所有邏輯路徑進(jìn)行測(cè)試二白盒測(cè)試基本技術(shù)1詞法和語(yǔ)法分析(1)獲取信息l 可以獲取軟件組成的重要基本因數(shù),如變量標(biāo)識(shí)符、過(guò)程標(biāo)識(shí)符、常量等l 組合獲取的基本因數(shù),可以得到軟件的基本信息,如:v 標(biāo)號(hào)交叉引用表:列出各模塊中出現(xiàn)的全部標(biāo)號(hào)及標(biāo)號(hào)的屬性,模塊以外的全局、計(jì)算標(biāo)號(hào)v 變量交叉引用表:列出變量定義及引用信息,變量的屬性,變量類(lèi)型(全局、局部)v 子程序、宏和函數(shù)表:列出各個(gè)子程序、宏及函數(shù)的屬性,輸入、輸出參數(shù)信息v 等價(jià)表:
4、列出在等價(jià)語(yǔ)句和等值語(yǔ)句中出現(xiàn)的全部變量和標(biāo)號(hào)v 常數(shù)表:列出全部數(shù)字常數(shù)和字符常數(shù)(2)作用l 直接從表中查出說(shuō)明/使用錯(cuò)誤,如標(biāo)號(hào)交叉引用表、變量交叉引用表l 為用戶(hù)提供輔助信息,如子程序、宏和函數(shù)表、等價(jià)表、常數(shù)表l 用來(lái)做錯(cuò)誤預(yù)測(cè)和程序復(fù)雜度計(jì)算,如操作符和操作數(shù)的統(tǒng)計(jì)表2靜態(tài)錯(cuò)誤分析用于確定在源程序中是否有某類(lèi)錯(cuò)誤或危險(xiǎn)結(jié)構(gòu),包括以下幾種:(1) 類(lèi)型和單位分析對(duì)源程序的類(lèi)型進(jìn)行檢查,為了強(qiáng)化檢查效果,擴(kuò)充一些新的數(shù)據(jù)類(lèi)型,進(jìn)行靜態(tài)預(yù)處理程序,分析程序中的類(lèi)型錯(cuò)誤(2) 引用分析l 對(duì)程序中變量的引用進(jìn)行檢查,發(fā)現(xiàn)引用異常錯(cuò)誤(如變量在定義前被引用,變量定義后未被引用)。l 采用深度
5、優(yōu)選的方法遍歷程序流圖的每一條路徑l 建立引用異常的探測(cè)工具,包括變量定義表和變量引用表(3) 表達(dá)式分析對(duì)表達(dá)式進(jìn)行分析,以發(fā)現(xiàn)和糾正在表達(dá)式出現(xiàn)的錯(cuò)誤,如:l 在表達(dá)式中不正確的使用了括號(hào)造成錯(cuò)誤l 數(shù)組下標(biāo)越界錯(cuò)誤l 除數(shù)為零l 浮點(diǎn)數(shù)計(jì)算的誤差(最復(fù)雜)(4) 接口分析接口一致性是程序的靜態(tài)錯(cuò)誤分析和設(shè)計(jì)分析共同研究的題目,接口分析主要對(duì)下內(nèi)容時(shí)進(jìn)行一致性的分析:l 各模塊之間接口一致性l 模塊與外部數(shù)據(jù)庫(kù)的接口一致性l 形參與實(shí)參在類(lèi)型,數(shù)量,順序,維數(shù),使用上的一致性l 全局變量和公共數(shù)據(jù)區(qū)在使用上的一致性3程序插樁技術(shù)(1) 概述在動(dòng)態(tài)測(cè)試中,是一種基本的測(cè)試手段,有廣泛的應(yīng)用主
6、要借助向程序中插入操作,來(lái)實(shí)現(xiàn)測(cè)試目的的方法(即向源程序中添加一些語(yǔ)句(也稱(chēng)探測(cè)器),實(shí)現(xiàn)對(duì)程序語(yǔ)句的執(zhí)行、變量的變化等情況進(jìn)行檢查)(2) 設(shè)計(jì)時(shí)考慮的問(wèn)題l 明確要探測(cè)哪些信息l 在程序的什么部位設(shè)置探測(cè)點(diǎn)l 需要設(shè)計(jì)多少個(gè)探測(cè)點(diǎn)(3) 探測(cè)點(diǎn)設(shè)置位置(以Fortran為例)l 程序塊的第一個(gè)可執(zhí)行語(yǔ)句之前l(fā) entry語(yǔ)句的前后l 有標(biāo)號(hào)的可執(zhí)行語(yǔ)句處l 循環(huán)語(yǔ)句之后l 條件語(yǔ)句之后l logical if語(yǔ)句之后l call語(yǔ)句之后l go to語(yǔ)句之后(4) 斷言語(yǔ)句在程序中的特定部位插入某些用以判斷變量特性的語(yǔ)句,使得程序執(zhí)行中這些語(yǔ)句得以證實(shí),從而使程序的運(yùn)行特性得到證實(shí),我們把
7、這些插入的語(yǔ)句稱(chēng)為斷言語(yǔ)句。三白盒測(cè)試方法靜態(tài)測(cè)試1 代碼檢查法(1) 目的通過(guò)桌面檢查,代碼審查和走查方式,對(duì)以下內(nèi)容進(jìn)行檢查l 檢查代碼和設(shè)計(jì)的一致性l 代碼對(duì)標(biāo)準(zhǔn)的遵循、可讀性l 代碼邏輯表達(dá)的正確性l 代碼結(jié)構(gòu)的合理性l 程序編寫(xiě)與編寫(xiě)標(biāo)準(zhǔn)的符合性l 程序中不安全、不明確和模糊的部分l 編程風(fēng)格問(wèn)題等(2) 代碼檢查方式方式名稱(chēng)執(zhí)行人員檢查內(nèi)容檢查過(guò)程桌面檢查程序員對(duì)源程序代碼進(jìn)行分析、檢驗(yàn),并補(bǔ)充相關(guān)的文檔,發(fā)現(xiàn)程序中的錯(cuò)誤代碼審查程序員和測(cè)試員組成的審查小組通過(guò)閱讀、討論和爭(zhēng)議,以程序進(jìn)行靜態(tài)分析的過(guò)程第一步:小組成員提前閱讀設(shè)計(jì)規(guī)格書(shū)、程序文本等相關(guān)文檔第二步:召開(kāi)程序?qū)彶闀?huì),開(kāi)
8、發(fā)人員讀程序,審查小組討論、發(fā)現(xiàn)、解決問(wèn)題走查程序員和測(cè)試員組成的審查小組通過(guò)邏輯運(yùn)行程序,發(fā)現(xiàn)問(wèn)題第一步:小組成員提前閱讀設(shè)計(jì)規(guī)格書(shū)、程序文本等相關(guān)文檔第二步:利用測(cè)試用例,使程序邏輯運(yùn)行,記錄程序的蹤跡,發(fā)現(xiàn)、討論、解決問(wèn)題(3) 代碼檢查項(xiàng)目(采用分析技術(shù))l 檢查變量的交叉引用表:檢查未說(shuō)明的變量和違反了類(lèi)型規(guī)定的變量,變量的引用和使用情況l 檢查標(biāo)號(hào)的交叉引用表:驗(yàn)證所有標(biāo)號(hào)的正確性l 檢查子程序、宏、函數(shù):驗(yàn)證每次調(diào)用與所調(diào)用位置是否正確,調(diào)用的子程序、宏、函數(shù)是否存在,參數(shù)是否一致l 等價(jià)性檢查:檢查全部等價(jià)變量的類(lèi)型的一致性l 常量檢查:確認(rèn)常量的取值和數(shù)制、數(shù)據(jù)類(lèi)型l 標(biāo)準(zhǔn)檢
9、:檢查程序中是否違反標(biāo)準(zhǔn)的問(wèn)題l 風(fēng)格檢查:檢查程序的設(shè)計(jì)風(fēng)格l 比較控制流:比較設(shè)計(jì)控制流圖和實(shí)際程序生成的控制流圖的差異l 選擇、激活路徑:在設(shè)計(jì)控制流圖中選擇某條路徑,到實(shí)際的程序中激活這條路徑,如果不能激活,則程序可能有錯(cuò)l 對(duì)照程序的規(guī)格說(shuō)明,詳細(xì)閱讀源代碼,比較實(shí)際的代碼,從差異中發(fā)現(xiàn)程序的問(wèn)題和錯(cuò)誤l 補(bǔ)充文檔根據(jù)以上檢查項(xiàng)目,可以編制代碼規(guī)則,規(guī)范和檢查表等作為測(cè)試用例(4) 編碼規(guī)范程序編寫(xiě)過(guò)程中必須遵守的規(guī)則,規(guī)定代碼的語(yǔ)法格式、語(yǔ)法規(guī)則,如排版、注釋、標(biāo)識(shí)符命名、可讀性、變量、函數(shù)、過(guò)程、可測(cè)性、程序效率、質(zhì)量保證、代碼編輯、編譯、審查、代碼測(cè)試、維護(hù)、宏等各方面的編碼要
10、求(5) 代碼檢查規(guī)則對(duì)程序邏輯結(jié)構(gòu)檢查時(shí),所規(guī)定的規(guī)則,形成(6) 缺陷檢查表主要包括一些容易出錯(cuò)的地方和在以往工作中遇到的典型錯(cuò)誤,形成表格形式重要性 審查項(xiàng) 結(jié)論文件結(jié)構(gòu) 重要 頭文件和定義文件的名稱(chēng)是否合理2 靜態(tài)結(jié)構(gòu)分析法在靜態(tài)結(jié)構(gòu)分析中,測(cè)試者通過(guò)使用測(cè)試工具分析程序源代碼的系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)接口、內(nèi)部控制邏輯等內(nèi)部結(jié)構(gòu),生成函數(shù)調(diào)用關(guān)系圖、模塊控制流圖、內(nèi)部文件調(diào)用關(guān)系圖等各種圖形圖表,清晰地標(biāo)識(shí)整個(gè)軟件的組成結(jié)構(gòu),便于理解,通過(guò)分析這些圖表,檢查軟件有沒(méi)有存在缺陷或錯(cuò)誤;包括控制流分析、數(shù)據(jù)據(jù)流分析、接口分析、表達(dá)式分析(1) 函數(shù)調(diào)用關(guān)系圖:通過(guò)應(yīng)用程序各函數(shù)之間的調(diào)用
11、關(guān)系展示了系統(tǒng)的結(jié)構(gòu)。列出所有函數(shù),用連線(xiàn)表示調(diào)用關(guān)系,作用:l 可以檢查函數(shù)的調(diào)用關(guān)系是否正確l 是否存在孤立的函數(shù)而沒(méi)有被調(diào)用l 明確函數(shù)被調(diào)用的頻繁度,對(duì)調(diào)用頻繁的函數(shù)可以重點(diǎn)檢查(2) 模塊控制流圖:由許多結(jié)點(diǎn)和連接結(jié)點(diǎn)的邊組成的圖形,其中每個(gè)結(jié)點(diǎn)代表一條或多條語(yǔ)句,邊表示控制流向,可以直觀地反映出一個(gè)函數(shù)的內(nèi)部結(jié)構(gòu)。*例子1GIS軟件:存在無(wú)法執(zhí)行的死代碼;有多個(gè)出口,可能沒(méi)有在所有出口進(jìn)行內(nèi)存釋放與回收,有內(nèi)存泄露的可能*例子2MIS軟件:有多個(gè)出口,存在內(nèi)存泄露的可能;有10邏輯判斷結(jié)點(diǎn),易出現(xiàn)邏輯錯(cuò)誤,降低可靠性,可能會(huì)破壞對(duì)CPU操作進(jìn)行優(yōu)化的處理,影響其運(yùn)行性能3 靜態(tài)質(zhì)量
12、度量法(1) 軟件質(zhì)量:根據(jù)ISO/IEC9126 國(guó)際標(biāo)準(zhǔn),包括以下六個(gè)方面:l 功能性(functionality)l 可靠性(reliability)l 可用性(usability)l 有效性(efficiency)l 可維護(hù)性(maintainability)l 輕便性(portability)(2) 質(zhì)量度量模型(從上到下)l 質(zhì)量因素(Factors):與分類(lèi)標(biāo)準(zhǔn)的計(jì)算方式相似,依據(jù)各分類(lèi)標(biāo)準(zhǔn)取值組合權(quán)重方法來(lái)計(jì)算,依據(jù)結(jié)果將軟件質(zhì)量分為四個(gè)等級(jí),與分類(lèi)標(biāo)準(zhǔn)等級(jí)內(nèi)容相同l 分類(lèi)標(biāo)準(zhǔn)(criteria):對(duì)某一軟件質(zhì)量分為不同的分類(lèi)標(biāo)準(zhǔn),每個(gè)分類(lèi)標(biāo)準(zhǔn)由一系列度量規(guī)則組成,每個(gè)規(guī)則分配
13、一個(gè)權(quán)重,每個(gè)分類(lèi)標(biāo)準(zhǔn)的取值由規(guī)則的取值與權(quán)重值計(jì)算得出,依據(jù)結(jié)果將軟件質(zhì)量分為四個(gè)等級(jí):v 優(yōu)秀(excellent):符合本模型框加中的所有規(guī)則(可以接受)v 良好(good):未大量偏離模型框架中的規(guī)則(可以接受)v 一般(fair):違背了模型框架中的大量規(guī)則(可以接受)v 較差(poor):無(wú)法保障正常的軟件可維護(hù)性(不可以接受)l 度量規(guī)則(Metrics):使用代碼行數(shù)、注釋頻度等參數(shù)度量軟件各種行為屬性四 白盒測(cè)試方法動(dòng)態(tài)測(cè)試(即設(shè)計(jì)測(cè)試用例的方法)1 白盒測(cè)試的動(dòng)態(tài)測(cè)試原則根據(jù)程序的控制結(jié)構(gòu)設(shè)計(jì)測(cè)試用例(1) 保證每個(gè)模塊的所有獨(dú)立路徑至少被使用一次(2) 對(duì)所有的邏輯值均測(cè)
14、試true和false(3) 上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)(4) 檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性2 邏輯覆蓋法(1) 概述邏輯覆蓋是通過(guò)對(duì)程序邏輯結(jié)構(gòu)的遍歷實(shí)現(xiàn)程序的覆蓋(2) 分類(lèi)依據(jù)覆蓋源程序語(yǔ)句的詳盡程度語(yǔ)句覆蓋 SC(Statement Coverage) 選擇足夠多的測(cè)試數(shù)據(jù),使被測(cè)程序中每條語(yǔ)句至少執(zhí)行一次 缺點(diǎn):對(duì)程序執(zhí)行邏輯的覆蓋很低判定覆蓋 DC(Decision coverage) 設(shè)計(jì)足夠多的測(cè)試用例,使得程序中的每一個(gè)判定至少獲得一次真值和假值,或者使得程序中的每一個(gè)取真分支或取假分支至少經(jīng)歷一次,因此又稱(chēng)分支覆蓋 可以滿(mǎn)足語(yǔ)句覆蓋 缺點(diǎn):主要對(duì)整個(gè)表達(dá)式最終取值
15、進(jìn)行度量,忽略了表達(dá)式內(nèi)部取值條件覆蓋 CC(Condition Coverage) 設(shè)計(jì)足夠多的測(cè)試用例,使得每一判定語(yǔ)句中每個(gè)邏輯條件的可能值至少滿(mǎn)足一次 不能夠滿(mǎn)足判定覆蓋條件判定組合覆蓋 C/DC(Condition/ Decision Coverage) 設(shè)計(jì)足夠多的測(cè)試用例,使得判定中的每個(gè)條件的所有可能(真/假)至少出現(xiàn)一次,并且每個(gè)判定本身的判定結(jié)果也至少出現(xiàn)一次 缺點(diǎn):沒(méi)有考慮單個(gè)判定對(duì)整體結(jié)果的影響,無(wú)法發(fā)現(xiàn)邏輯錯(cuò)誤多條件覆蓋 MCC (Multiple Condition Coverage) 也稱(chēng)條件組合覆蓋,設(shè)計(jì)足夠多的測(cè)試用例,使得每個(gè)判定中條件的各種可能組合都至少出
16、現(xiàn)一次(以數(shù)軸形式劃分區(qū)域,提取交集,建立最少的測(cè)試用例) 滿(mǎn)足條件覆蓋一定滿(mǎn)足判定覆蓋、條件覆蓋、條件判定組合覆蓋 缺點(diǎn):判定語(yǔ)句較多時(shí),條件組合值比較多修改條件判定覆蓋 MC/DC(Multiple Condition Decision Coverage) 每一個(gè)程序模塊的入口和出口點(diǎn)都要考慮至少要被調(diào)用一次,每個(gè)程序的判定到所有可能的結(jié)果值要至少轉(zhuǎn)換一次 程序的判定被分解為通過(guò)邏輯操作符(and,or)連接的bool條件,每個(gè)條件對(duì)于判定的結(jié)果值是獨(dú)立的練習(xí)1:采用多條件覆蓋方法,對(duì)下程序進(jìn)行白盒測(cè)試用例設(shè)計(jì)if (a 1 )&( b= = 0)x=x/a;if ( a = = 2)|
17、(x 1 )x=x+1;練習(xí) 3 基本路徑覆蓋(1) 概述l 在程序控制流圖的基礎(chǔ)上,通過(guò)分析程序控制流圖的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑的集合,然后據(jù)此設(shè)計(jì)測(cè)試用例l 設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每一條可執(zhí)行語(yǔ)句至少執(zhí)行一次(2) 程序控制流圖l 控制流圖是描述程序控制流的一種方式l 圖形符號(hào):圓圈代表一個(gè)結(jié)點(diǎn) 表示一個(gè)或多個(gè)無(wú)分支的語(yǔ)句或源程序語(yǔ)句l 邊和點(diǎn)圈定的部分叫做區(qū)域。當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的一個(gè)部分也應(yīng)記為一個(gè)區(qū)域l 判斷語(yǔ)句中的條件為復(fù)合條件時(shí),即條件表達(dá)式由一個(gè)或多個(gè)邏輯運(yùn)算符連接的邏輯表達(dá)式(a and b),則需要改變復(fù)合條件的判斷為一系列只有單個(gè)條件的嵌套的判斷
18、圖形符號(hào)圖所示(3) 程序環(huán)路復(fù)雜性l 程序的環(huán)路復(fù)雜性即McCabe復(fù)雜性度量,簡(jiǎn)單的定義為控制流圖的區(qū)域數(shù)l 從程序的環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù),這是確保程序中每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次所必須的測(cè)試用例數(shù)目的上界l 獨(dú)立路徑:包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑l 通常環(huán)路復(fù)雜性可用以下三種方法求得:v 將環(huán)路復(fù)雜性定義為控制流圖中的區(qū)域數(shù)。v 設(shè)E為控制流圖的邊數(shù),N為圖的結(jié)點(diǎn)數(shù),則定義環(huán)路復(fù)雜性為 V(G)EN2。v 若設(shè)P為控制流圖中的判定結(jié)點(diǎn)數(shù),則有 V(G)P1。(4) 基本路徑測(cè)試步驟l 以詳細(xì)設(shè)計(jì)或源代碼為基礎(chǔ),導(dǎo)出程序的控制流圖l 計(jì)算得到控制流
19、圖G的環(huán)路復(fù)雜性v(g)l 確定線(xiàn)性無(wú)關(guān)的路徑的基本集l 生成測(cè)試用例,確?;韭窂郊忻織l路徑的執(zhí)行五 其他白盒測(cè)試方法1 域測(cè)試(1) 概述是一種基于程序結(jié)構(gòu)的測(cè)試方法,基于對(duì)程序輸入空間(域)的分析,選擇適的測(cè)試點(diǎn)進(jìn)行測(cè)試(2) Howden錯(cuò)誤分類(lèi)相對(duì)于程序路徑分類(lèi)l 域錯(cuò)誤:程序的控制流存在錯(cuò)誤,對(duì)于某一特定的輸入可能執(zhí)行的是一條錯(cuò)誤路徑,這種錯(cuò)誤稱(chēng)為路徑錯(cuò)誤,也叫做域錯(cuò)誤l 計(jì)算型錯(cuò)誤:對(duì)于特定輸入執(zhí)行的路徑正確,但賦值語(yǔ)句的錯(cuò)誤導(dǎo)致輸出結(jié)果錯(cuò)誤,稱(chēng)為計(jì)算型錯(cuò)誤l 丟失路徑錯(cuò)誤:由于程序中的某處少了一個(gè)判定謂詞而引起的(3) 測(cè)試?yán)硐虢Y(jié)果:檢驗(yàn)輸入空間的每一個(gè)輸入元素是否都產(chǎn)生正確
20、的結(jié)果(4) 缺點(diǎn)l 為進(jìn)行域測(cè)試對(duì)程序提出的限制過(guò)多l(xiāng) 當(dāng)程序存在很多路徑時(shí),所需的測(cè)試點(diǎn)很多2 符號(hào)測(cè)試(1) 概述l 基本思想是允許程序的輸入不僅僅是具體的數(shù)值數(shù)據(jù),而且包括符號(hào)值,符號(hào)值可以是基本的符號(hào)變量值,也可以是符號(hào)變量值的表達(dá)式。l 符號(hào)測(cè)試執(zhí)行的是代數(shù)運(yùn)算,可以作為普通測(cè)試的一個(gè)擴(kuò)充l 符號(hào)測(cè)試可以看作是程序測(cè)試和程序驗(yàn)證的一個(gè)折衷辦法(2) 測(cè)試?yán)硐肭闆r:程序中僅有有限的幾條執(zhí)行路徑,如果都完成了符號(hào)測(cè)試,就可把握的確認(rèn)程序的正確性了(3) 缺點(diǎn)l 分支問(wèn)題l 二義性問(wèn)題l 大程序問(wèn)題3 Z路徑覆蓋(1) 概述對(duì)循環(huán)機(jī)制進(jìn)行簡(jiǎn)化,減少路徑的數(shù)量,使得覆蓋所有路徑成為可能,簡(jiǎn)
21、化循環(huán)意義下的路徑覆蓋稱(chēng)為Z路徑覆蓋(2) 循環(huán)簡(jiǎn)化:限制循環(huán)次數(shù),只考慮循環(huán)一次或零次情況4 程序變異(1) 概述是一種錯(cuò)誤驅(qū)動(dòng)測(cè)試錯(cuò)誤驅(qū)動(dòng)測(cè)試:指該方法是針對(duì)某類(lèi)特定程序錯(cuò)誤的,即專(zhuān)門(mén)測(cè)試某類(lèi)錯(cuò)誤是否存在錯(cuò)誤驅(qū)動(dòng)測(cè)試分類(lèi):程序強(qiáng)變異和程序弱變異(2) 優(yōu)點(diǎn):便于集中目標(biāo)對(duì)軟件危害最大的可能錯(cuò)誤,提高測(cè)試效率,降低成本六 白盒測(cè)試綜合策略1 白盒測(cè)試中測(cè)試方法的選擇策略(1) 在測(cè)試中,首先盡量使用測(cè)試工作進(jìn)行靜結(jié)構(gòu)分析(2) 采用先靜態(tài)后動(dòng)態(tài)的組合方式,先進(jìn)行靜態(tài)結(jié)構(gòu)分析,代碼檢查和靜態(tài)質(zhì)量度量,然后現(xiàn)進(jìn)行覆蓋測(cè)試(3) 利用靜態(tài)結(jié)構(gòu)分析的結(jié)果,通過(guò)代碼檢查和動(dòng)態(tài)測(cè)試的方法對(duì)結(jié)果進(jìn)一步確認(rèn)
22、,使測(cè)試工作更為有效(4) 覆蓋率測(cè)試是白盒測(cè)試的重點(diǎn),使用基本路徑測(cè)試達(dá)到語(yǔ)句覆蓋標(biāo)準(zhǔn);對(duì)于重點(diǎn)模塊,應(yīng)使用多種覆蓋標(biāo)準(zhǔn)衡量代碼的覆蓋率(5) 不同測(cè)試階段,側(cè)重點(diǎn)不同l 單元測(cè)試:以代碼檢查、邏輯覆蓋l 集成測(cè)試:增加靜構(gòu)結(jié)構(gòu)分析、靜態(tài)質(zhì)量度量l 系統(tǒng)測(cè)試:根據(jù)黑盒測(cè)試結(jié)果,采用白盒測(cè)試2 最少測(cè)試用例數(shù)計(jì)算l 將構(gòu)成循環(huán)操作的重復(fù)型結(jié)構(gòu)用選擇結(jié)構(gòu)代替,因此在N-S圖中只存在順序和分支操作l N-S圖按分支結(jié)構(gòu)分層,整個(gè)程序的最少測(cè)試用例數(shù)為每個(gè)分層中最少測(cè)試用例數(shù)的乘積3 測(cè)試覆蓋標(biāo)準(zhǔn)l Foster的ESTCA覆蓋標(biāo)準(zhǔn)l Woodward等人的層次LCSAJ覆蓋標(biāo)準(zhǔn)黑盒測(cè)試一 黑盒測(cè)試
23、概述1定義l 也稱(chēng)功能測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用l 把程序看成一個(gè)黑盒子,完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性,著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu)l 在程序接口進(jìn)行測(cè)試,只檢查程序功能是否按照需求說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息l 主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試2試圖發(fā)現(xiàn)的錯(cuò)誤類(lèi)型l 功能不正確或遺漏l 界面錯(cuò)誤(輸入能否正確的接受?能否輸出正確的結(jié)果)l 數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤(如數(shù)據(jù)結(jié)構(gòu)定義錯(cuò)誤或外部信息(如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤)l 性能錯(cuò)誤l 初始化和終止錯(cuò)誤3黑盒測(cè)試用例設(shè)計(jì)方法(1) 等價(jià)類(lèi)劃分法:把程序的輸入域劃分成若干部分,然
24、后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)作為測(cè)試用例。每一類(lèi)的代表性數(shù)據(jù)在測(cè)試中的作用等價(jià)于這一類(lèi)的其他值(2) 邊界值分析法:通過(guò)選擇等價(jià)類(lèi)邊界的測(cè)試用例。不僅重視輸入條件邊界,而且也必須考慮輸出域邊界(3) 錯(cuò)誤推測(cè)法:基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性地設(shè)計(jì)測(cè)試用例的方法(4) 因果圖法:從用自然語(yǔ)言書(shū)寫(xiě)的程序規(guī)格說(shuō)明的描述中找出因(輸入條件)和果(輸入或程序狀態(tài)的改變),可以通過(guò)因果圖轉(zhuǎn)換成判定表(5) 判定表驅(qū)動(dòng)法:利用判定表進(jìn)行測(cè)試用例的設(shè)計(jì)(6) 正交試驗(yàn)設(shè)計(jì)法:使用已設(shè)計(jì)好的正交表格來(lái)安排試驗(yàn),并進(jìn)行數(shù)據(jù)分析的一種方法,目的是用最少的測(cè)試用例達(dá)到最高的測(cè)試覆蓋
25、率(7) 功能圖法:用功能圖形象地表示程序的功能說(shuō)明,并機(jī)械地生成功能圖的測(cè)試用例。功能圖模型由狀態(tài)遷移圖和邏輯功能模型構(gòu)成二 黑盒測(cè)試用例設(shè)計(jì)方法1等價(jià)類(lèi)劃分法(1)劃分基礎(chǔ):需求規(guī)格說(shuō)明書(shū)中輸入、輸出要求(2)等價(jià)類(lèi):某個(gè)輸入域的子集合;分為有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)l 有效等價(jià)類(lèi):指對(duì)于程序規(guī)格說(shuō)明書(shū)來(lái)說(shuō)是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價(jià)類(lèi)可以檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明書(shū)中的功能和性能l 無(wú)效等價(jià)類(lèi):與有效等價(jià)的定義恰巧相反(3)劃分等價(jià)類(lèi)原則(6條)序號(hào) 輸入條件(數(shù)據(jù)) 劃分等價(jià)類(lèi)1 規(guī)定了取值范圍值的個(gè)數(shù) 一個(gè)有效等價(jià)類(lèi)兩個(gè)無(wú)效等價(jià)類(lèi)2 規(guī)定了輸入值的集合規(guī)定了“必須如
26、何”的條件 一個(gè)有效等價(jià)類(lèi)一個(gè)無(wú)效等價(jià)類(lèi)3 是一個(gè)布爾量 一個(gè)有效等價(jià)類(lèi)一個(gè)無(wú)效等價(jià)類(lèi)4 輸入數(shù)據(jù)的一組值(n個(gè)),并且程序?qū)γ恳粋€(gè)輸入值分別進(jìn)行處理 n個(gè)有效等價(jià)類(lèi)一個(gè)無(wú)效等價(jià)類(lèi)5 規(guī)定必須遵守的規(guī)則 一個(gè)有效等價(jià)類(lèi)(符合規(guī)則)若干個(gè)無(wú)效等價(jià)類(lèi)6 在確知已劃分的等價(jià)類(lèi)中,各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類(lèi)進(jìn)一步地劃分為更小的等價(jià)類(lèi)(4) 列出等價(jià)類(lèi)表在確定了等價(jià)類(lèi)之后,建立等價(jià)類(lèi)表,列出所有劃分出的等價(jià)類(lèi)輸入條件 有效等價(jià)類(lèi) 無(wú)效等類(lèi) (5) 確定測(cè)試用例步驟l 第一步:為每個(gè)等價(jià)類(lèi)規(guī)定一個(gè)惟一的編號(hào)l 第二步:設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類(lèi)
27、。重復(fù)這一步驟,最后使得所有有效等價(jià)類(lèi)均被測(cè)試用例所覆蓋l 第三步:設(shè)計(jì)一個(gè)新的測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類(lèi)。重復(fù)這一步驟,最后使得所有有效等價(jià)類(lèi)均被測(cè)試用例所覆蓋小結(jié):采用等價(jià)類(lèi)劃分方法設(shè)計(jì)測(cè)試用例,按照劃分等價(jià)類(lèi)、列出等價(jià)列表、確定測(cè)試用例三個(gè)步驟完成,目標(biāo)是把可能的測(cè)試用例組合縮減到仍然足以滿(mǎn)足軟件測(cè)試需求為止。2邊界值分析法(1) 邊界類(lèi)型l 邊界條件:可以在產(chǎn)品說(shuō)明書(shū)中有定義或者在使用軟件過(guò)程中確定l 次邊界條件:在軟件內(nèi)部,也稱(chēng)為內(nèi)部邊界條件l 其他邊界條件:如輸入信息為空(對(duì)于此類(lèi)問(wèn)題應(yīng)建立單獨(dú)的等價(jià)類(lèi)空間)、非法、錯(cuò)誤、不正確和垃圾數(shù)據(jù)(2)邊界值的選擇方法(遵循原則)序
28、號(hào) 輸入條件(數(shù)據(jù)) 輸入邊界值數(shù)據(jù)1 規(guī)定了取值范圍 剛剛達(dá)到這個(gè)范圍剛剛超越這個(gè)范圍2 規(guī)定值的個(gè)數(shù) 最大個(gè)數(shù)、比最大個(gè)數(shù)大1最小個(gè)數(shù)、比最小個(gè)數(shù)少13 根據(jù)規(guī)格說(shuō)明書(shū)的每個(gè)輸出條件,使用 原則1、24 輸入或輸出是個(gè)有序集合 集合的第一個(gè)、最后一個(gè)元素5 程序中使用一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu) 內(nèi)部數(shù)據(jù)結(jié)構(gòu)邊界上的值6 分析規(guī)格說(shuō)明,找出其他可能的邊界(3)例子:l 允許文本輸入1255個(gè)字符:測(cè)試用例1、255、254、0、256l 程序讀寫(xiě)軟盤(pán):測(cè)試用例文件很小、等于軟盤(pán)容量限制之內(nèi)、空、超過(guò)l 程序允許在一張紙上打印多個(gè)頁(yè)面:測(cè)試用例只打印一頁(yè),規(guī)定最大頁(yè),0頁(yè),大于允許最大頁(yè)數(shù)3錯(cuò)誤推測(cè)法基
29、本思想:列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)它們選擇測(cè)試用例4因果圖法側(cè)重于輸入條件的各種組合,各個(gè)輸入情況之間的相互制約關(guān)系(1) 因果圖設(shè)計(jì)方法從用自然語(yǔ)言書(shū)寫(xiě)的程序規(guī)格說(shuō)明的描述中找出因果,通過(guò)因果圖轉(zhuǎn)換成判定表(2) 因果圖導(dǎo)出測(cè)試用例步驟l 第一步:分析程序規(guī)格說(shuō)明的描述中,哪些是原因,哪些是結(jié)果。原因常常是輸入條件或是輸入條件的等價(jià)類(lèi),結(jié)果是輸出條件l 第二步:分析程序規(guī)格說(shuō)明的描述中語(yǔ)義的內(nèi)容,并將其表示成連接各個(gè)原因與各個(gè)結(jié)果的因果圖l 第三步:標(biāo)明約束條件l 第四步:把因果圖轉(zhuǎn)換成判定表l 第五步:為判定表中每一列表示的情況設(shè)計(jì)測(cè)試用例(3) 因果圖基本
30、圖形符號(hào)通常在因果圖中,用Ci 表示原因,Ei表示結(jié)果,各結(jié)點(diǎn)表示狀態(tài),可取值0(狀態(tài)不出現(xiàn)) 或1(某狀態(tài)出現(xiàn))l 恒等:若原因出現(xiàn),則結(jié)果出現(xiàn);若原因不出現(xiàn),則結(jié)果不出現(xiàn)l 非():若原因出現(xiàn),則結(jié)果不出現(xiàn);若原因不出現(xiàn),則結(jié)果出現(xiàn)l 或(V):若幾個(gè)原因中有一個(gè)出現(xiàn),則結(jié)果出現(xiàn);若幾個(gè)原因都不出現(xiàn),則結(jié)果不出現(xiàn);l 與():若幾個(gè)原因都出現(xiàn),結(jié)果才出現(xiàn);若其中有一個(gè)原因不出現(xiàn),則結(jié)果不出現(xiàn)(4) 因果圖的約束符號(hào)從輸入(原因)考慮四種約束l E(互斥):表示兩個(gè)原因不會(huì)同時(shí)成立,兩個(gè)中最多有一個(gè)可能成立l I(包含):表示三個(gè)原因中至少有一個(gè)必須成立l O(惟一):表示兩個(gè)原因中必須有一
31、個(gè),且僅有一個(gè)成立l R(要求):表示兩個(gè)原因,a出現(xiàn)時(shí),b也必須出現(xiàn),a出現(xiàn)時(shí),b不可能不出現(xiàn)從輸出(結(jié)果)考慮一種約束l M(屏蔽):兩個(gè)結(jié)果,a為1時(shí),b必須是0,當(dāng)a為0時(shí),b值不定5判定表驅(qū)動(dòng)法(1) 判定表:是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具(2) 判定表組成l 條件樁:列出了問(wèn)題的所有條件l 動(dòng)作樁:列出了問(wèn)題規(guī)定可能采取的操作l 條件項(xiàng):列出針對(duì)它所列條件的取值,在所有可能情況下的真假值l 動(dòng)作項(xiàng):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作l 規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作注:判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則;(3) 判定表的建立
32、(步驟)l 第一步:確定規(guī)則的個(gè)數(shù)。假如有n個(gè)條件,每個(gè)條件有兩個(gè)取值(0,1),故有2n種規(guī)則l 第二步:列出所有的條件樁和動(dòng)作樁l 第三步:填入條件項(xiàng)l 第四步:填入動(dòng)作項(xiàng)。制定初始判定表l 第五步:簡(jiǎn)化。合并相似規(guī)則或者相同動(dòng)作(4) 適合使用判定表設(shè)計(jì)測(cè)試用例的條件l 規(guī)格說(shuō)明以判定表的形式給出,或很容易轉(zhuǎn)換成判定表l 條件的排列順序不影響執(zhí)行哪些操作l 規(guī)則的排列順序不影響執(zhí)行哪些操作l 當(dāng)某一規(guī)則的條件已經(jīng)滿(mǎn)足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則l 如果某一規(guī)則要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無(wú)關(guān)緊要6正交試驗(yàn)法(1) 概述l 從大量的試驗(yàn)數(shù)據(jù)中挑選適量的、有代表性的點(diǎn),從而
33、合理地安排測(cè)試的一種科學(xué)的試驗(yàn)設(shè)計(jì)方法l 使用已造好的表格“”正交表來(lái)安排試驗(yàn)并進(jìn)行數(shù)據(jù)分析的一種方法l 因子:影響實(shí)現(xiàn)指標(biāo)的條件l 因子的狀態(tài):影響實(shí)現(xiàn)因子的條件(2) 優(yōu)點(diǎn)l 節(jié)省測(cè)試工時(shí)l 可控制生成的測(cè)試用例的數(shù)量l 測(cè)試用例具有一定的覆蓋率(3) 設(shè)計(jì)步驟l 提取功能說(shuō)明,構(gòu)造因子狀態(tài)表。l 加權(quán)篩選,生成因素分析表;l 利用正交表構(gòu)造測(cè)試數(shù)據(jù)集,正交表的推導(dǎo)依據(jù)Galois理論L:代表正交表,L8(27)代表7為因子數(shù),2為因子的水平數(shù),8為此表行的數(shù)目(試驗(yàn)次數(shù))行數(shù)為mn型的正交表中,試驗(yàn)次數(shù)(行數(shù))(每列水平數(shù)1)1例:5個(gè)3水平因子及一個(gè)2水平因子,表示為35*21,試驗(yàn)次
34、數(shù)5*(3-1)+1*(2-1)+112,即L12(35*2)7功能圖法(1) 程序功能說(shuō)明的組成l 動(dòng)態(tài)說(shuō)明:描述輸入數(shù)據(jù)的次序或轉(zhuǎn)移次序l 靜態(tài)說(shuō)明:描述輸入條件和輸出條件之間的對(duì)應(yīng)關(guān)系(2) 功能圖:由狀態(tài)遷移圖和布爾函數(shù)組成,狀態(tài)遷移圖用狀態(tài)和遷移來(lái)表示。一個(gè)狀態(tài)指出數(shù)據(jù)輸入的位置(或時(shí)間),一個(gè)遷移指明狀態(tài)的改變,同時(shí)要依靠判定表或因果圖表示的邏輯功能(3) 功能圖法概述l 用功能圖形象地表示程序的功能說(shuō)明,并機(jī)械地生成功能圖的測(cè)試用例l 功能圖模型由狀態(tài)遷移圖和邏輯功能模型構(gòu)成v 狀態(tài)遷移圖:用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù);由輸入數(shù)據(jù)和當(dāng)前狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài)v 邏輯
35、功能模型:用于表示在狀態(tài)中輸入條件和輸出條件的對(duì)應(yīng)關(guān)系。由輸入數(shù)據(jù)決定輸出數(shù)據(jù)。此模型只適用于描述靜態(tài)說(shuō)明l 功能圖測(cè)試用例由測(cè)試中經(jīng)過(guò)的一系列狀態(tài)和在每個(gè)狀態(tài)中必須依靠輸入/輸出數(shù)據(jù)滿(mǎn)中的一對(duì)條件組成(4) 測(cè)試用例生成方法從狀態(tài)遷移圖中選取測(cè)試用例,用節(jié)點(diǎn)代替狀態(tài),用弧線(xiàn)代替遷移,狀態(tài)圖就可轉(zhuǎn)化成一個(gè)程序的控制流程圖形式(5) 測(cè)試用例生成規(guī)則為了把狀態(tài)遷移(測(cè)試路徑)的測(cè)試用例與邏輯模型(局部測(cè)試用例)的測(cè)試用例組合起來(lái),從功能圖生成實(shí)用的測(cè)試用例,在一個(gè)結(jié)構(gòu)化的狀態(tài)遷移(SST)中,定義3種形式的循環(huán):順序,選擇和重復(fù)(6) 功能圖生成測(cè)試用例步驟l 生成局部測(cè)試用例:在每個(gè)狀態(tài)中,從
36、因果圖生成局部測(cè)試用例。局部測(cè)試用例由原因值(輸入數(shù)據(jù))組合與對(duì)應(yīng)的結(jié)果值(輸出數(shù)據(jù)或狀態(tài))構(gòu)成l 測(cè)試路徑生成:利用上面的規(guī)則生成從初始狀態(tài)到最后狀態(tài)的測(cè)試路徑l 測(cè)試用例合成:合成測(cè)試路徑與功能圖中每個(gè)狀態(tài)的局部測(cè)試用例。結(jié)果是初始狀態(tài)到最后狀態(tài)的一個(gè)狀態(tài)序列,以及每個(gè)狀態(tài)中輸入數(shù)據(jù)與對(duì)應(yīng)輸出數(shù)據(jù)的組合。l 測(cè)試用例的合成算法:采用條件構(gòu)造樹(shù)8場(chǎng)景法(1) 基本流和備選流采用此方法進(jìn)行設(shè)計(jì)時(shí),需要進(jìn)行場(chǎng)景的設(shè)計(jì),在場(chǎng)景中采用基本流和備選流表示經(jīng)過(guò)用例的每條路徑l 基本流:采用直黑線(xiàn)表示,是經(jīng)過(guò)用例的最簡(jiǎn)單的路徑(無(wú)任何差錯(cuò),程序從開(kāi)始直接執(zhí)行到結(jié)束)l 備選流:采用不同顏色表示,一個(gè)備選流
37、可能從基本流開(kāi)始,在某個(gè)特定條件下執(zhí)行,然后重新加入基本流中,也可以起源于另一個(gè)備選流,或終止用例,不在加入到基本流中;(各種錯(cuò)誤情況)(2) 設(shè)計(jì)步驟l 根據(jù)說(shuō)明,描述出程序的基本流及各項(xiàng)備選流l 根據(jù)基本流和各項(xiàng)備選流生成不同的場(chǎng)景l(fā) 對(duì)每一個(gè)場(chǎng)景生成相應(yīng)的測(cè)試用例l 對(duì)生成的所有測(cè)試用例重新復(fù)審,去掉多余的測(cè)試用例,測(cè)試用例確定后,對(duì)每一個(gè)測(cè)試用例確定測(cè)試數(shù)據(jù)值三 黑盒測(cè)試用例設(shè)計(jì)方法的選擇策略1 首先進(jìn)行等價(jià)類(lèi)劃分,包括輸入條件和輸出條件的等價(jià)類(lèi)劃分,將無(wú)限測(cè)試變成有限測(cè)試,這是減少測(cè)試量和提高測(cè)試效率的最有效辦法2 在任何情況下都必須使用邊界值分析方法。此方法設(shè)計(jì)的測(cè)試用例發(fā)現(xiàn)程序錯(cuò)
38、誤的能力最強(qiáng)3 可以用錯(cuò)誤和推測(cè)法追加一些測(cè)試用例4 對(duì)照程序的邏輯,檢查已設(shè)計(jì)的測(cè)試用例的邏輯覆蓋度,如果沒(méi)有達(dá)到要求,應(yīng)在補(bǔ)充5 如果程序的功能說(shuō)明中含有輸入條件的組合情況,一開(kāi)始就可以使用因果圖法和判定表驅(qū)動(dòng)法6 對(duì)于參數(shù)配置類(lèi)的軟件,要用正交試驗(yàn)法選擇較少的組合方式達(dá)到最佳效果7 功能圖法也是很好的測(cè)試用例設(shè)計(jì)方法,我們可以通過(guò)不同時(shí)期條件的有效性設(shè)計(jì)不同的數(shù)據(jù)8 對(duì)于業(yè)務(wù)流清晰的系統(tǒng),可以利用場(chǎng)景法貫空整個(gè)測(cè)試案例過(guò)程,在案例中綜合使用各種方法四 測(cè)試用例的編寫(xiě)1. 測(cè)試用例概述(1) 定義l 將測(cè)試行為具體量化的方法之一l 設(shè)計(jì)一種情況,軟件程序在這種情況下,必須能夠正常運(yùn)行并且達(dá)
39、到程序所設(shè)計(jì)的執(zhí)行結(jié)果l 為達(dá)到最佳的測(cè)試效果或高效的揭露隱藏的錯(cuò)誤而精心設(shè)計(jì)的少量測(cè)試數(shù)據(jù),l 一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤(2) 優(yōu)點(diǎn):l 在開(kāi)始實(shí)施測(cè)試之前設(shè)計(jì)好測(cè)試用例,可以避免盲目測(cè)試并提高測(cè)試效率l 測(cè)試用例的使用令軟件測(cè)試的實(shí)施重點(diǎn)突出、目的明確l 在軟件版本更新后只需修正少部分的測(cè)試用例便可展開(kāi)測(cè)試工作,降低工作強(qiáng)度,縮短項(xiàng)目周期l 功能模塊的通用化和復(fù)用化使軟件易于開(kāi)發(fā),而測(cè)試用例的通用化和復(fù)用化使軟件測(cè)試易于開(kāi)展,并隨著測(cè)試用例的不斷精化其效率也不斷攀升2計(jì)劃測(cè)試用例的目的(3) 計(jì)劃測(cè)試用例,是達(dá)成測(cè)試目標(biāo)的必由之路(4) 組織性:使測(cè)試用例具有組織性,
40、便于全體測(cè)試員和其他項(xiàng)目小組人員有效地審查和使用(5) 重復(fù)性和跟蹤,可以明確測(cè)試過(guò)程中測(cè)試用例的執(zhí)行情況,保證測(cè)試的全面性(6) 計(jì)劃測(cè)試用例,可以避免發(fā)布忽略某些測(cè)試用例的軟件(7) 測(cè)試證實(shí),正確的測(cè)試用例計(jì)劃和跟蹤提供了一種證實(shí)測(cè)試的手段3測(cè)試設(shè)計(jì)說(shuō)明(1) 定義:在測(cè)試計(jì)劃中提煉測(cè)試方法,要明確指出設(shè)計(jì)包含的特性以及相關(guān)的測(cè)試用例和測(cè)試程序,并指定判斷通過(guò)/失敗的規(guī)則(2) 目的;組織和描述針對(duì)具體特性需要進(jìn)行的測(cè)試,注:不給出具體的測(cè)試用例或執(zhí)行測(cè)試的步驟(3) 包含的部分內(nèi)容(來(lái)自ANSI/IEEE829 ANSI 美國(guó)國(guó)家標(biāo)準(zhǔn)化組織)l 標(biāo)識(shí)符:用于引用和定位測(cè)試設(shè)計(jì)說(shuō)明的惟一
41、標(biāo)識(shí)符l 要測(cè)試的特性:對(duì)測(cè)試設(shè)計(jì)說(shuō)明所包含的軟件特性的描述。還將明確出要間接測(cè)試的特性l 方法:描述測(cè)試的通用方法。如果方法在測(cè)試計(jì)劃中描述,在測(cè)試設(shè)計(jì)說(shuō)明中要詳細(xì)描述要使用的技術(shù),并給出如何驗(yàn)證測(cè)試結(jié)果的方法l 測(cè)試用例信息:用于描述所引用的測(cè)試用例的相關(guān)信息。如測(cè)試用例編號(hào)l 通過(guò)/失敗規(guī)則:描述用什么規(guī)則來(lái)判定某項(xiàng)特性的測(cè)試結(jié)果是通過(guò)還是失敗。4測(cè)試用例說(shuō)明(1) 定義(ANSI/IEEE829):編寫(xiě)用于輸入的實(shí)際數(shù)據(jù)和預(yù)期結(jié)果,并明確指出使用具體測(cè)試用例產(chǎn)生的測(cè)試程序的任何限制(2) 包含的內(nèi)容l 標(biāo)識(shí)符:由測(cè)試設(shè)計(jì)過(guò)程說(shuō)明和測(cè)試程序說(shuō)明引用的唯一標(biāo)識(shí)符l 測(cè)試項(xiàng):描述被測(cè)試的詳細(xì)
42、特性、代碼模塊等l 輸入說(shuō)明:列舉執(zhí)行測(cè)試用例的所有輸入內(nèi)容或者條件l 輸出說(shuō)明:描述進(jìn)行測(cè)試用例預(yù)期的結(jié)果l 環(huán)境要求:執(zhí)行測(cè)試用例的軟件、硬件、測(cè)試工具及人員等要求l 特殊要求:描述執(zhí)行測(cè)試用例的特殊要求l 用例之間的依賴(lài)性:注明與其分用例的依賴(lài)關(guān)系或受其他用例的影響5. 測(cè)試程序說(shuō)明(1) 定義:明確指出為實(shí)現(xiàn)相關(guān)測(cè)試設(shè)計(jì)而執(zhí)行具體測(cè)試用例和操作軟件系統(tǒng)的全部步驟,有時(shí)也稱(chēng)為測(cè)試腳本說(shuō)明,即詳細(xì)定義了執(zhí)行測(cè)試用例的每一步操作(2) 包含的內(nèi)容l 標(biāo)識(shí)符:把測(cè)試程序與相關(guān)測(cè)試用例和測(cè)試設(shè)計(jì)相聯(lián)系的惟一標(biāo)識(shí)l 目的:本程序描述的目的以及將要執(zhí)行的測(cè)試用例的引用信息l 特殊要求:執(zhí)行測(cè)試所需的
43、其他程、特殊測(cè)試技術(shù)或者特殊設(shè)備l 程序步驟:執(zhí)行測(cè)試用例的詳細(xì)描述,包括v 日志:指出記錄測(cè)試結(jié)果和現(xiàn)象的方式v 設(shè)置:如何準(zhǔn)備測(cè)試v 啟動(dòng):?jiǎn)?dòng)測(cè)試的步驟v 程序:運(yùn)行測(cè)試的步驟v 衡量標(biāo)準(zhǔn):描述如何判斷結(jié)果v 關(guān)閉:描述因意外原因頁(yè)推遲測(cè)試的步驟v 終止:描述正常停止測(cè)試的步驟v 重置:說(shuō)明如何把環(huán)境恢復(fù)到測(cè)試前的狀態(tài)v 偶然事件:說(shuō)明如何處理計(jì)劃之外的情況在相關(guān)書(shū)籍中看到一個(gè)案例,關(guān)于黑盒測(cè)試用例設(shè)計(jì),大家參與一下吧,題目在論壇中也有測(cè)試用例設(shè)計(jì)練習(xí):1采用因果圖方法設(shè)計(jì)測(cè)試用例某個(gè)軟件的規(guī)格說(shuō)明中包含下面的要求:第一列字符必須是A或B,第二列字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修
44、改。但如果第一列字符不正確,則給出信息L,如果第二列字符不是數(shù)據(jù),則給出信息軟件測(cè)試基本內(nèi)容(轉(zhuǎn)貼)第 1 帖【 2004 5 10 】:軟件測(cè)試的理想模式是什么?Brian Marick :我不認(rèn)為存在什么理想模式。我覺(jué)得讓開(kāi)發(fā)人員承擔(dān)某些測(cè)試也許會(huì)更加有效,而其他測(cè)試則由獨(dú)立測(cè)試組來(lái)進(jìn)行。因?yàn)槿绻惆阉袦y(cè)試都交給獨(dú)立測(cè)試組,他們不可能有時(shí)間把所有測(cè)試都做好。所以,最佳的方式是讓開(kāi)發(fā)人員承擔(dān)一定量的測(cè)試,獨(dú)立測(cè)試組給予他們支持。獨(dú)立測(cè)試組主要承擔(dān)整個(gè)系統(tǒng)的測(cè)試,去尋找開(kāi)發(fā)人員還沒(méi)有發(fā)現(xiàn)的缺陷,如子系統(tǒng)間的交互、運(yùn)行條件、內(nèi)存使用等。如何更有效地開(kāi)展系統(tǒng)測(cè)試呢?讓測(cè)試人員在項(xiàng)目初期就參與進(jìn)去
45、,讓他們看到第一版的系統(tǒng)需求、用戶(hù)手冊(cè)和系統(tǒng)原型,在系統(tǒng)實(shí)現(xiàn)前就對(duì)需求進(jìn)行捕獲和跟蹤。在該過(guò)程中,他們從這些文檔構(gòu)造最初的測(cè)試設(shè)計(jì)。這也可以通過(guò)檢視或評(píng)審的形式進(jìn)行,并且在該過(guò)程中會(huì)發(fā)現(xiàn)一些缺陷。大家都知道,這個(gè)階段,問(wèn)題發(fā)現(xiàn)是非常 “ 便宜 ” 的。這樣,系統(tǒng)測(cè)試工程師在項(xiàng)目早期就介入,產(chǎn)生測(cè)試設(shè)計(jì)及基本的需要測(cè)試的項(xiàng)目列表。這時(shí)不可能產(chǎn)生一個(gè)絕對(duì)完備的測(cè)試設(shè)計(jì),因?yàn)闀?shū)寫(xiě)完整測(cè)試的條件還不成熟,但這卻是構(gòu)建完整測(cè)試的基礎(chǔ)。注: Brian Marick 是 Reliability Software 公司的專(zhuān)職測(cè)試技術(shù)顧問(wèn)。第 2 帖【 2004 5 11 】:測(cè)試經(jīng)理角色定位Johanna
46、Rothman :測(cè)試經(jīng)理服務(wù)于兩種完全不同的客戶(hù):測(cè)試工程師和高層管理者。對(duì)于測(cè)試工程師,測(cè)試經(jīng)理幫助他們開(kāi)發(fā)產(chǎn)品測(cè)試策略,積累產(chǎn)品測(cè)試經(jīng)驗(yàn)并在測(cè)試組內(nèi)充分共享。對(duì)于高層管理者,測(cè)試經(jīng)理搜集盡可能全面的產(chǎn)品信息,供其就產(chǎn)品是否可以發(fā)布進(jìn)行決策。但是有一點(diǎn)是相同的:無(wú)論是對(duì)于測(cè)試工程師還是高層管理者,測(cè)試經(jīng)理將幫助其定義和校驗(yàn)產(chǎn)品發(fā)布標(biāo)準(zhǔn)。產(chǎn)品發(fā)布標(biāo)準(zhǔn)的定義和校驗(yàn):作為一個(gè)測(cè)試經(jīng)理,應(yīng)該找機(jī)會(huì)與市場(chǎng)、開(kāi)發(fā)人員商討產(chǎn)品發(fā)布標(biāo)準(zhǔn),并根據(jù)客戶(hù)的反饋對(duì)該標(biāo)準(zhǔn)進(jìn)行修正和校驗(yàn)。開(kāi)發(fā)部門(mén)的工作是如何達(dá)到公司對(duì)產(chǎn)品的期望,要用客戶(hù)需求為開(kāi)發(fā)人員勾畫(huà)出客戶(hù)眼中的產(chǎn)品以及產(chǎn)品應(yīng)如何工作。一旦產(chǎn)品被清楚地定義,就可
47、以通過(guò)測(cè)試去驗(yàn)證產(chǎn)品在多大程度上滿(mǎn)足了客戶(hù)需求。對(duì)于測(cè)試工程師而言有一點(diǎn)非常重要:將測(cè)試任務(wù)按優(yōu)先級(jí)劃分,使產(chǎn)品發(fā)布標(biāo)準(zhǔn)得以滿(mǎn)足。由于只有極少數(shù)的項(xiàng)目有充足的時(shí)間去完成所有事情,所以告訴測(cè)試工程師關(guān)于 “ 測(cè)什么和何時(shí)測(cè) ” 測(cè)試經(jīng)理的一個(gè)重要職責(zé)。高層管理者需要充分理解產(chǎn)品發(fā)布標(biāo)準(zhǔn),以決定產(chǎn)品是否可以按時(shí)發(fā)布。我不認(rèn)為測(cè)試組有權(quán)利裁決產(chǎn)品是否應(yīng)該被發(fā)布,該權(quán)利在組織高層管理者那里。在有了一個(gè)通過(guò)討論、達(dá)成一致的產(chǎn)品發(fā)布標(biāo)準(zhǔn)后,項(xiàng)目組也可以更清楚地了解和認(rèn)識(shí)產(chǎn)品質(zhì)量。第 3 貼【 2004 5 12 】:測(cè)試的基本原則(美) Roger S. Pressman在設(shè)計(jì)有效測(cè)試用例之前,測(cè)試工程師
48、必需理解軟件測(cè)試的基本原則。這里有一組測(cè)試原則:1 、所有的測(cè)試都應(yīng)追溯到用戶(hù)需求。正如我們所知:軟件測(cè)試的目標(biāo)在于揭示錯(cuò)誤。而最嚴(yán)重的錯(cuò)誤(從用戶(hù)角度來(lái)看)是那些導(dǎo)致程序無(wú)法滿(mǎn)足需求的錯(cuò)誤。2 、應(yīng)該在測(cè)試工作真正開(kāi)始前的較長(zhǎng)時(shí)間內(nèi)就進(jìn)行測(cè)試計(jì)劃。測(cè)試計(jì)劃可以在需求模型一完成就開(kāi)始,詳細(xì)的測(cè)試用例定義可以在設(shè)計(jì)模型被確定后立即開(kāi)始。因此,所有測(cè)試應(yīng)該在任何代碼被產(chǎn)生前就進(jìn)行計(jì)劃和設(shè)計(jì)。3 、 Pareto 原則應(yīng)用于軟件測(cè)試。簡(jiǎn)單地講, Pareto 原則暗示著測(cè)試發(fā)現(xiàn)的錯(cuò)誤中的 80 很可能起源于程序模塊中的 20 。當(dāng)然,問(wèn)題在于如何孤立這些有疑點(diǎn)的模塊并進(jìn)行徹底的測(cè)試。4 、測(cè)試應(yīng)從
49、“ 小規(guī)模 ” 開(kāi)始,逐步轉(zhuǎn)向 “ 大規(guī)模 ” 。最初的測(cè)試通常把焦點(diǎn)放在單個(gè)程序模塊上,進(jìn)一步測(cè)試的焦點(diǎn)則轉(zhuǎn)向在集成的模塊簇中尋找錯(cuò)誤,最后在整個(gè)系統(tǒng)中尋找錯(cuò)誤。5 、窮舉測(cè)試是不可能的。即使是一個(gè)大小適度的程序,其路徑排列的數(shù)量也非常大。因此,在測(cè)試中不可能運(yùn)行路徑的每一種組合。然而,充分覆蓋程序邏輯,并確保程序設(shè)計(jì)中使用的所有條件是有可能的。6 、為了達(dá)到最佳效果,應(yīng)該由獨(dú)立的第三方來(lái)構(gòu)造測(cè)試。 “ 最佳效果 ” 指最有可能發(fā)現(xiàn)錯(cuò)誤的測(cè)試(測(cè)試的主要目標(biāo)),所以創(chuàng)建系統(tǒng)的軟件工程師并不是構(gòu)造軟件測(cè)試的最佳人選。第 4 貼【 2004 5 13 】:什么是 “ 好 ” 的測(cè)試?什么是 “
50、好 ” 的測(cè)試? Kaner , Falk & Nguyen1 、一個(gè)好的測(cè)試發(fā)現(xiàn)錯(cuò)誤的可能性很高為了達(dá)到這個(gè)目標(biāo),測(cè)試者必需理解軟件、并嘗試設(shè)想軟件如何才能失敗,例如:在 GUI (圖形用戶(hù)界面)中有一種潛在的錯(cuò)誤,即錯(cuò)誤識(shí)別鼠標(biāo)位置,那么就應(yīng)該設(shè)計(jì)一個(gè)測(cè)試集來(lái)驗(yàn)證是否存在鼠標(biāo)位置識(shí)別的錯(cuò)誤。2 、一個(gè)好的測(cè)試并不冗余測(cè)試的時(shí)間和資源是有限的,沒(méi)有必要構(gòu)造一個(gè)與其他測(cè)試用例完全相同的測(cè)試,每一個(gè)測(cè)試都應(yīng)該有不同的用途哪怕是細(xì)微的差異。例如,軟件 SafeHome 中有一個(gè)模塊被用來(lái)識(shí)別用戶(hù)密碼以決定是否啟動(dòng)系統(tǒng),為了測(cè)試密碼輸入的錯(cuò)誤,測(cè)試者設(shè)計(jì)了一系列的輸入密碼。在不同的測(cè)試中輸入有效與無(wú)
51、效密碼( 4 個(gè)數(shù)字),然而,每一個(gè)有效 / 無(wú)效密碼將只檢測(cè)一種不同錯(cuò)誤模式,例如一個(gè)將 8080 作為有效密碼的系統(tǒng)將不會(huì)接受非法密碼 1234 ,如果接受 1234 ,將產(chǎn)生錯(cuò)誤,另一個(gè)測(cè)試輸入 1235 ,與 1234 的測(cè)試意圖相同,因此是冗余的,然而,非法輸入 8081 或 8180 就有些細(xì)微的差異,即對(duì)與有效密碼相近但并不相同的密碼應(yīng)該進(jìn)行測(cè)試。3 、一個(gè)好的測(cè)試應(yīng)該是 “ 最佳品種 ”在一組目的相似的測(cè)試中,時(shí)間和資源的限制可能只影響其某個(gè)子集的執(zhí)行,此時(shí),應(yīng)該使用最可能找到所有錯(cuò)誤的測(cè)試。4 、一個(gè)好的測(cè)試既不會(huì)太簡(jiǎn)單,也不會(huì)太復(fù)雜雖然有時(shí)會(huì)將一組測(cè)試組合到一個(gè)測(cè)試用例中,
52、其副作用可能屏蔽錯(cuò)誤,通常每一個(gè)測(cè)試應(yīng)該獨(dú)立執(zhí)行。第 5 貼【 2004 5 14 】:軟件可測(cè)試性Roger S. Pressman理想情況下,軟件工程師在設(shè)計(jì)計(jì)算機(jī)程序、系統(tǒng)或產(chǎn)品時(shí)應(yīng)該考慮可測(cè)試性,這就使得測(cè)試工程師能夠更容易地設(shè)計(jì)有效的測(cè)試用例。什么是 “ 可測(cè)試性 ” ?軟件的可測(cè)試性是指軟件發(fā)現(xiàn)故障并隔離、定位其故障的能力特性,以及在一定的時(shí)間和成本前提下,進(jìn)行測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行的能力。 James Bach 這樣描述可測(cè)試性:軟件可測(cè)試性就是一個(gè)計(jì)算機(jī)程序能夠被測(cè)試的容易程度。以下是一個(gè)常見(jiàn)的軟件可測(cè)試性檢查表: 可操作性 “ 運(yùn)行地越好,被測(cè)試的效率越高。 ” 可觀察性 “ 所
53、看見(jiàn)的,就是所測(cè)試的。 ” 可控制性 “ 對(duì)軟件的控制越好,測(cè)試越能夠被自動(dòng)執(zhí)行與優(yōu)化。 ” 可分解性 “ 通過(guò)控制測(cè)試范圍,能夠更好地分解問(wèn)題,執(zhí)行更靈巧的再測(cè)試。 ” 簡(jiǎn)單性 “ 需要測(cè)試的內(nèi)容越少,測(cè)試的速度越快。 ” 穩(wěn)定性 “ 改變?cè)缴伲瑢?duì)測(cè)試的破壞越小。 ” 易理解性 “ 得到的信息越多,進(jìn)行的測(cè)試越靈巧。 ”第 6 貼【 2004 5 15 】:實(shí)時(shí)系統(tǒng)測(cè)試Roger S. Pressman很多實(shí)時(shí)系統(tǒng)的時(shí)間依賴(lài)性和異步性給測(cè)試帶來(lái)新的困難時(shí)間!測(cè)試用例的設(shè)計(jì)者考慮的不僅是白盒和黑盒測(cè)試用例,而且包括事件處理(如中斷處理)、數(shù)據(jù)的時(shí)間序列以及處理數(shù)據(jù)的任務(wù)(進(jìn)程)的并發(fā)性。很多情
54、況下,提供的測(cè)試數(shù)據(jù)有時(shí)使得實(shí)時(shí)系統(tǒng)在某狀態(tài)下可以正常運(yùn)行,而同樣的數(shù)據(jù)在系統(tǒng)處于不同狀態(tài)時(shí)有時(shí)又會(huì)導(dǎo)致錯(cuò)誤。另外,實(shí)時(shí)系統(tǒng)的軟件和硬件之間的密切關(guān)系也會(huì)導(dǎo)致測(cè)試問(wèn)題,軟件測(cè)試必須考慮硬件故障對(duì)軟件處理的影響,這種故障很難實(shí)時(shí)仿真。由于實(shí)時(shí)系統(tǒng)的特殊性和復(fù)雜性,還沒(méi)有一個(gè)完善的綜合性的測(cè)試用例設(shè)計(jì)方法,但是,大致可以分為以下四個(gè)步驟:1 、任務(wù)測(cè)試。測(cè)試實(shí)時(shí)系統(tǒng)的第一步是獨(dú)立的測(cè)試各個(gè)任務(wù)。對(duì)每一個(gè)任務(wù)設(shè)計(jì)白盒和黑盒測(cè)試用例,并在測(cè)試時(shí)執(zhí)行每個(gè)任務(wù)。任務(wù)測(cè)試能夠發(fā)現(xiàn)邏輯和功能錯(cuò)誤,但是不能發(fā)現(xiàn)時(shí)間和行為錯(cuò)誤。2 、行為測(cè)試。利用 CASE 工具創(chuàng)建軟件模型,就可能仿真實(shí)時(shí)系統(tǒng),并按照外部事件的
55、序列檢查其行為,這些分析活動(dòng)可作為創(chuàng)建實(shí)時(shí)系統(tǒng)時(shí)設(shè)計(jì)測(cè)試用例的基礎(chǔ)。3 、任務(wù)間測(cè)試。在隔離了任務(wù)內(nèi)部和系統(tǒng)行為錯(cuò)誤以后,測(cè)試就要轉(zhuǎn)向時(shí)間相關(guān)的錯(cuò)誤。用不同的數(shù)據(jù)率和處理負(fù)載來(lái)測(cè)試與其他任務(wù)通訊的異步任務(wù),看任務(wù)間的同步是否會(huì)產(chǎn)生錯(cuò)誤。另外,測(cè)試通過(guò)消息隊(duì)列和數(shù)據(jù)存儲(chǔ)進(jìn)行通訊的任務(wù),以發(fā)現(xiàn)這些數(shù)據(jù)存儲(chǔ)區(qū)區(qū)域大小方面的錯(cuò)誤。4 、系統(tǒng)測(cè)試。集成軟件和硬件,并進(jìn)行大范圍的系統(tǒng)測(cè)試,以發(fā)現(xiàn)軟件 / 硬件口間的錯(cuò)誤。第 7 貼【 2004 5 16 】:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、回歸測(cè)試Software Research單元測(cè)試:?jiǎn)卧獪y(cè)試是對(duì)軟件中的基本組成單位進(jìn)行的測(cè)試,如一個(gè)模塊、一個(gè)過(guò)程等等。它是軟件動(dòng)態(tài)測(cè)試的最基本的部分,也是最重要的部分之一,其目的是檢驗(yàn)軟件基本組成單位的正確性。一個(gè)軟件單元的正確性是相對(duì)于該單元的規(guī)約而言的。因此,單元測(cè)試以被測(cè)試單位的規(guī)約為基準(zhǔn)。單元測(cè)試的主要方法有控制流測(cè)試、數(shù)據(jù)流測(cè)試、排錯(cuò)測(cè)試、分域測(cè)試等等。集成測(cè)試:集成測(cè)試是在軟件系統(tǒng)集成過(guò)程中所進(jìn)行的測(cè)試,其主要目的是檢查軟件單位之間的接口是否正確。它根據(jù)集成測(cè)試計(jì)劃,一邊將模塊或其他軟件單位組合成越來(lái)越大的系統(tǒng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《表面工程技術(shù)A》教學(xué)大綱
- 月光曲課件教學(xué)
- 流行性感冒課件
- 2023年水分濕度傳感器項(xiàng)目綜合評(píng)估報(bào)告
- 2024年留置導(dǎo)管項(xiàng)目成效分析報(bào)告
- 2024屆河北省淶水縣波峰中學(xué)高三5月考前適應(yīng)性考試數(shù)學(xué)試題試卷
- 采茶工合同最簡(jiǎn)單三個(gè)步驟
- 補(bǔ)息申請(qǐng)書(shū)的正確格式
- 本合同未盡事項(xiàng)
- 保險(xiǎn)責(zé)任險(xiǎn)協(xié)議書(shū)范本
- 蘇教版五上9、《推敲》課件
- 開(kāi)放大學(xué)管理制度
- 《建筑工程測(cè)量》教學(xué)教案
- 電子工藝復(fù)習(xí)題及答案
- 電廠職業(yè)生涯規(guī)劃
- 書(shū)法專(zhuān)業(yè)職業(yè)生涯規(guī)劃書(shū)
- 《印刷技術(shù)發(fā)展史》課件
- 體育與健康知識(shí)測(cè)試考試題庫(kù)(含答案)
- 家長(zhǎng)會(huì)課件:七年級(jí)家長(zhǎng)會(huì)班主任優(yōu)質(zhì)課件
- (完整版)作文格子紙模板
- 明亞保險(xiǎn)經(jīng)紀(jì)人考試題庫(kù)答案
評(píng)論
0/150
提交評(píng)論