軟件測(cè)試方法論.ppt

上傳人:xt****7 文檔編號(hào):15706093 上傳時(shí)間:2020-08-31 格式:PPT 頁(yè)數(shù):132 大?。?.90MB
收藏 版權(quán)申訴 舉報(bào) 下載
軟件測(cè)試方法論.ppt_第1頁(yè)
第1頁(yè) / 共132頁(yè)
軟件測(cè)試方法論.ppt_第2頁(yè)
第2頁(yè) / 共132頁(yè)
軟件測(cè)試方法論.ppt_第3頁(yè)
第3頁(yè) / 共132頁(yè)

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《軟件測(cè)試方法論.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件測(cè)試方法論.ppt(132頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、1,軟件測(cè)試工程師培訓(xùn),軟件測(cè)試方法論,2,主要內(nèi)容,1 軟件測(cè)試方法概述 2 軟件測(cè)試規(guī)范 3 軟件測(cè)試用例設(shè)計(jì)黑盒測(cè)試 4 軟件測(cè)試用例設(shè)計(jì)白盒測(cè)試 5小結(jié),3,1 軟件測(cè)試方法概述,1.1 軟件測(cè)試活動(dòng)及信息流 1.2 測(cè)試方法 1.3 生成測(cè)試用例的信息來(lái)源 1.4 小結(jié),4,1.1 軟件測(cè)試活動(dòng)及信息流,測(cè)試是從大量的測(cè)試用例中選擇有限的測(cè)試用例發(fā)現(xiàn)軟件中的大部分缺陷的一種技術(shù) 好的測(cè)試用例的4個(gè)特性: 檢測(cè)軟件質(zhì)量的有效性,是否能發(fā)現(xiàn)缺陷,或至少可能發(fā)現(xiàn)缺陷; 可仿效的測(cè)試用例可以測(cè)試很多內(nèi)容,因而減少測(cè)試用例的數(shù)量; 經(jīng)濟(jì)性,測(cè)試用例的執(zhí)行、分析和調(diào)試是否經(jīng)濟(jì) 測(cè)試用例的可修改性

2、,每次軟件修改后對(duì)測(cè)試用例的維護(hù)成本,5,測(cè)試活動(dòng),6,測(cè)試活動(dòng),1 測(cè)試條件取決于被測(cè)試驗(yàn)證的項(xiàng)目或事件。如等價(jià)劃分、邊界值分析、因果圖等。測(cè)試條件是被測(cè)環(huán)境的描述,可以用多種方式描述:如簡(jiǎn)單的語(yǔ)言,表格項(xiàng)形式或類似于流圖的圖表形式;標(biāo)識(shí)測(cè)試條件的活動(dòng)最好與開(kāi)發(fā)活動(dòng)(即V模型左邊的活動(dòng))并行開(kāi)展,7,測(cè)試活動(dòng),2 設(shè)計(jì)測(cè)試用例確定“怎樣測(cè)試”。測(cè)試用例(test case)是按一定順序執(zhí)行的與測(cè)試目標(biāo)(test object, 測(cè)試?yán)碛苫蚰康模┫嚓P(guān)的一系列測(cè)試。測(cè)試用例設(shè)計(jì)將產(chǎn)生許多測(cè)試所包括的輸入值、期望結(jié)果及其他任何運(yùn)行測(cè)試的有關(guān)信息,如環(huán)境要求。期望輸出包括應(yīng)輸出或建立的內(nèi)容,應(yīng)修改或

3、更新或應(yīng)刪除的內(nèi)容。期望輸出集可以是一個(gè)很大的集合。,8,測(cè)試活動(dòng),一個(gè)測(cè)試用例,9,測(cè)試活動(dòng),3 開(kāi)發(fā)測(cè)試用例包括準(zhǔn)備測(cè)試腳本、測(cè)試輸入、測(cè)試數(shù)據(jù)以及期望輸出。測(cè)試腳本(test script)是 具有正規(guī)語(yǔ)法的數(shù)據(jù)和指令的集合,在測(cè)試執(zhí)行自動(dòng)工具使用中,通常以文件形式保存;必須先完成測(cè)試用例的先決條件(precondition),然后再執(zhí)行測(cè)試。測(cè)試用例可能要求專門的硬件或軟件,如網(wǎng)絡(luò)環(huán)境或打印機(jī)等;期望輸出可以組成成文件形式用于自動(dòng)工具。對(duì)于手動(dòng)測(cè)試,期望輸出僅僅只是簡(jiǎn)單地記錄在手工測(cè)試過(guò)程或腳本中。設(shè)置用于自動(dòng)比較的期望輸出比設(shè)置用于手工測(cè)試的期望輸出復(fù)雜得多。在自動(dòng)工具中要求每項(xiàng)內(nèi)容

4、都要拼寫正確,而在手工測(cè)試中要求沒(méi)這么嚴(yán)格。 測(cè)試開(kāi)發(fā)的任何工作可以提前進(jìn)行(相對(duì)V模型左邊的活動(dòng)進(jìn)行),以后可以節(jié)省時(shí)間。,10,測(cè)試活動(dòng),4 執(zhí)行測(cè)試用例 對(duì)于手動(dòng)測(cè)試來(lái)講,測(cè)試者按事先準(zhǔn)備好的手工過(guò)程進(jìn)行測(cè)試,測(cè)試者輸入數(shù)據(jù)、觀察輸出、記錄發(fā)現(xiàn)的問(wèn)題。 對(duì)于自動(dòng)測(cè)試,可能只需要啟動(dòng)測(cè)試工具,并告訴工具執(zhí)行哪些測(cè)試用例; 測(cè)試執(zhí)行只能在軟件開(kāi)發(fā)完成后進(jìn)行,即V模型右邊的活動(dòng)。,11,測(cè)試活動(dòng),5 將測(cè)試結(jié)果與期望輸出進(jìn)行比較應(yīng)該對(duì)每次測(cè)試的實(shí)際輸出進(jìn)行分析研究,判斷軟件功能是否正確。該驗(yàn)證可以是非正的測(cè)試者主觀判斷,也可以是將實(shí)際輸出與期望輸出進(jìn)行嚴(yán)格準(zhǔn)確的比較。一些信息比較,如可以在執(zhí)行

5、測(cè)試時(shí)進(jìn)行顯示屏幕上的信息,另一些輸出比較,如修改數(shù)據(jù)庫(kù)記錄,只能在測(cè)試執(zhí)行結(jié)束后進(jìn)行。自動(dòng)測(cè)試一般結(jié)合了這兩種方法。,12,測(cè)試階段的信息流,13,測(cè)試階段的信息流,測(cè)試階段的輸入信息有兩類: 軟件配置:這是測(cè)試的對(duì)象,包括需求說(shuō)明書(shū)、設(shè)計(jì)說(shuō)明書(shū)和被測(cè)的源程序等。 測(cè)試配置:包括測(cè)試計(jì)劃、測(cè)試步驟、測(cè)試用例(測(cè)試數(shù)據(jù)),以及具體實(shí)施測(cè)試的測(cè)試程序、測(cè)試工具等,14,1.2 測(cè)試方法,靜態(tài)方法 動(dòng)態(tài)方法 黑盒測(cè)試 白盒測(cè)試,15,靜態(tài)方法和動(dòng)態(tài)方法,靜態(tài)方法的主要特征是在用計(jì)算機(jī)測(cè)試源程序時(shí),計(jì)算機(jī)并不真正運(yùn)行被測(cè)試的程序,只對(duì)被測(cè)程序進(jìn)行特性分析。因此,靜態(tài)方法常稱為“分析”,靜態(tài)分析是對(duì)被

6、測(cè)程序進(jìn)行特性分析的一些方法的總稱。 動(dòng)態(tài)方法的主要特征是計(jì)算機(jī)必須真正運(yùn)行被測(cè)試的程序,通過(guò)輸入測(cè)試用例,對(duì)其運(yùn)行情況(輸入/輸出的對(duì)應(yīng)關(guān)系)進(jìn)行分析。,16,黑盒測(cè)試,黑盒測(cè)試(Blackbox Testing)又稱功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明的測(cè)試,是一種從用戶觀點(diǎn)出發(fā)的測(cè)試。用這種方法進(jìn)行測(cè)試時(shí),被測(cè)程序被當(dāng)作一個(gè)黑盒,在不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性,測(cè)試者只知道該程序輸入和輸出之間的關(guān)系或程序的功能的情況下,依靠能夠反映這一關(guān)系和程序功能的需求規(guī)格說(shuō)明書(shū)考慮確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性。軟件的黑盒測(cè)試被用來(lái)證實(shí)軟件功能的正確性和可操作性。,17,白盒測(cè)試,白盒測(cè)試(Wh

7、itebox Testing)又稱結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序的測(cè)試。它依賴于對(duì)程序細(xì)節(jié)的嚴(yán)密檢驗(yàn),針對(duì)特定條件和/與循環(huán)集設(shè)計(jì)測(cè)試用例,對(duì)軟件的邏輯路經(jīng)進(jìn)行測(cè)試。在程序的不同點(diǎn)檢驗(yàn)“程序的狀態(tài)”以判定其實(shí)際情況是否和預(yù)期的狀態(tài)相一致。軟件的白盒測(cè)試用來(lái)分析程序的內(nèi)部結(jié)構(gòu)。,18,白盒測(cè)試,白盒測(cè)試要求對(duì)某些程序的結(jié)構(gòu)特性做到一定程度的覆蓋,或者說(shuō)是“基于覆蓋的測(cè)試” 。最為常見(jiàn)的程序結(jié)構(gòu)覆蓋有 : 語(yǔ)句覆蓋:它要求被測(cè)程序的每一可執(zhí)行語(yǔ)句在測(cè)試中盡可能都檢驗(yàn)過(guò),這是最弱的邏輯覆蓋準(zhǔn)則; 分支覆蓋或判定覆蓋:要求程序中所有判定的分支盡可能得到檢驗(yàn); 條件覆蓋:當(dāng)判定式中含有多個(gè)條件時(shí),要求

8、每個(gè)條件的取值均得到檢驗(yàn); 判定條件覆蓋:同時(shí)考慮條件的組合值及判定結(jié)果的檢驗(yàn); 路徑覆蓋:只考慮對(duì)程序路徑的全面檢驗(yàn)。取得測(cè)試覆蓋的方法程序插裝,,19,白盒測(cè)試,既然黑盒測(cè)試是測(cè)試軟件與需求的一致性,為什么還要白盒測(cè)試? 編程是容易發(fā)生邏輯錯(cuò)誤和作出不正確的假設(shè) 如對(duì)執(zhí)行路徑假設(shè)不正確,會(huì)產(chǎn)生設(shè)計(jì)錯(cuò)誤,白盒測(cè)試能發(fā)現(xiàn)這樣的錯(cuò)誤 錄入錯(cuò)誤是隨機(jī)的,20,黑盒測(cè)試與白盒測(cè)試的比較,21,測(cè)試階段與測(cè)試方法,22,1.3測(cè)試信息來(lái)源,基于軟件規(guī)約生成測(cè)試用例 基于軟件設(shè)計(jì)生成測(cè)試用例 基于程序生存測(cè)試用例,23,1.4小結(jié),軟件測(cè)試主要工作就是確定合適的測(cè)試用例; 測(cè)試過(guò)程貫穿在整個(gè)軟件開(kāi)發(fā)活動(dòng)

9、中; 測(cè)試方法: 動(dòng)態(tài)、靜態(tài)、黑盒、白盒等,24,2軟件測(cè)試用例設(shè)計(jì)黑盒測(cè)試,2.0 概述 2.1 等價(jià)類劃分 2.2 因果圖 2.3 邊值分析 2.4 判定表驅(qū)動(dòng)測(cè)試 2.5 正交實(shí)驗(yàn)設(shè)計(jì)法 2.6 自動(dòng)測(cè)試用例生成方法 2.7 小結(jié),25,2.0 概述,這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。 黑盒測(cè)試又叫做功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。,26,黑盒測(cè)試方法是在程序接口上進(jìn)行測(cè)試,主要是為了發(fā)現(xiàn)以下錯(cuò)誤: 是否有不正確或遺漏了的功能? 在接口上,輸入能否正確地接受? 能否輸出正確的結(jié)果?

10、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤? 性能上是否能夠滿足要求? 是否有初始化或終止性錯(cuò)誤?,黑盒測(cè)試目標(biāo),27,用黑盒測(cè)試發(fā)現(xiàn)程序中的錯(cuò)誤,必須在所有可能的輸入條件和輸出條件中確定測(cè)試數(shù)據(jù),來(lái)檢查程序是否都能產(chǎn)生正確的輸出。 但這是不可能的。,28,假設(shè)一個(gè)程序P有輸入量X和Y及輸出量Z。在字長(zhǎng)為32位的計(jì)算機(jī)上運(yùn)行。若X、Y取整數(shù),按黑盒方法進(jìn)行窮舉測(cè)試: 可能采用的 測(cè)試數(shù)據(jù)組: 232232 264 如果測(cè)試一 組數(shù)據(jù)需要1毫秒,一年工作365 24小時(shí),完成所有測(cè)試需5億年。,29,2.1 測(cè)試用例設(shè)計(jì)方法等價(jià)類劃分,選取測(cè)試用例 等價(jià)類劃分的辦法是把程序的輸入域

11、劃分成若干部分,然后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測(cè)試用例。 在分析需求規(guī)格說(shuō)明的基礎(chǔ)上劃分等價(jià)類,列出等價(jià)類表。,30,2.1.1 等價(jià)類,所謂等價(jià)類是指某個(gè)輸入域的集合。它表示,如果用集合中的一個(gè)輸入條件作為測(cè)試數(shù)據(jù)進(jìn)行測(cè)試不能發(fā)現(xiàn)程序中的錯(cuò)誤,那么使用集合中的其它輸入條件進(jìn)行測(cè)試也不可能發(fā)現(xiàn)錯(cuò)誤。也就是說(shuō),對(duì)揭露程序中的錯(cuò)誤來(lái)說(shuō),集合中的每個(gè)輸入條件是等效的。,31,有效等價(jià)類和無(wú)效等價(jià)類,在考慮等價(jià)類時(shí),應(yīng)該注意區(qū)別兩種不同的情況: *有效等價(jià)類:有效等價(jià)類指的是對(duì)程序的規(guī)格說(shuō)明是有意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合。在具體問(wèn)題中,有效等價(jià)類可以有一個(gè),也可以是多個(gè)。 *無(wú)效等價(jià)類

12、:無(wú)效等價(jià)類指對(duì)程序的規(guī)格說(shuō)明是不合理的或無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集合。對(duì)于具體的問(wèn)題,無(wú)效等價(jià)類至少應(yīng)有一個(gè),也可能有多個(gè)。,32,等價(jià)類,輸入條件 有效等價(jià)類 無(wú)效等價(jià)類 輸入條件:項(xiàng)數(shù)可以從1到999 有效等價(jià)類為“1項(xiàng)數(shù)999” 無(wú)效等價(jià)類為“項(xiàng)數(shù)999”,33,2.1.2 經(jīng)典例子,“輸入三個(gè)整數(shù)作為三邊的邊長(zhǎng)構(gòu)成三角形。當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時(shí),分別做計(jì)算” 注意輸入和輸出條件,34,有效等價(jià)類,覆蓋有效等價(jià)類的測(cè)試用例: a b c 覆蓋等價(jià)類號(hào)碼 3 4 5 (1)--(7) 4 4 5 (1)--(7),(8) 4 5

13、 5 (1)--(7),(9) 5 4 5 (1)--(7),(10) 4 4 4 (1)--(7),(11),35,無(wú)效等價(jià)類,36,2. 1.3 問(wèn)題討論,問(wèn)題:給出下面的有效和無(wú)效等價(jià)類 輸入條件:“統(tǒng)計(jì)全國(guó)各省、市、自治區(qū)的人口” 輸入條件:“標(biāo)識(shí)符應(yīng)以字母開(kāi)頭” 輸入條件:長(zhǎng)度為1-20的字符串 輸入條件:數(shù)據(jù)庫(kù)中的值域, CHAR(20), NOT NULL,37,2. 2 測(cè)試方法因果圖,采用因果圖方法(Cause一Effect Graphics)能夠幫助我們按一定步驟,高效率地選擇測(cè)試用例,同時(shí)還能為我們指出,程序規(guī)格說(shuō)明描述中存在著什么問(wèn)題。,3

14、8,2. 2.1因果圖介紹,4種符號(hào)分別表示了規(guī)格說(shuō)明中向4種因果關(guān)系 因果圖中使用了簡(jiǎn)單的邏輯符號(hào),以直線聯(lián)接左右結(jié)點(diǎn)。左結(jié)點(diǎn)表示輸入狀態(tài)(或稱原因),右結(jié)點(diǎn)表示輸出狀態(tài)(或稱結(jié)果)。 Ci表示原因,通常置于圖的左部;ei表示結(jié)果,通常在圖的右部。ci和ei均可取值0或1,0表示某狀態(tài)不出現(xiàn),1表示某狀態(tài)出現(xiàn)。,39,關(guān)系,恒等:若ci是1,則ei也是1;否則ei為0。 非:若ci是1,則ei是0;否則ei是1。 或:若c1或c2或c3是1,則ei是1;否則ei為0?!盎颉笨捎腥我鈧€(gè)輸入。 與:若c1和c2都是1,則ei為1;否則ei為0?!芭c”也可有任意個(gè)輸入。,40,約束,輸入狀態(tài)相互之

15、間還可能存在某些依賴關(guān)系 某些輸入條件本身不可能同時(shí)出現(xiàn)。輸出狀態(tài)之間也往往存在約束,41,輸入條件約束類型,對(duì)于輸入條件的約束有以下4類: E約束(異):a和b中至多有一個(gè)可能為1,即a和b不能同時(shí)為1。 I約束(或):a、b和c中至少有一個(gè)必須是1,即 a、b 和c不能同時(shí)為0。 O約束(唯一);a和b必須有一個(gè),且僅有1個(gè)為1。 R約束(要求):a是1時(shí),b必須是1,即不可能a是1時(shí)b是0。,42,輸出條件約束類型,輸出條件的約束只有: M約束(強(qiáng)制):若結(jié)果a是1,則結(jié)果b強(qiáng)制為0。,43,2. 2.2 步驟,分析程序規(guī)格說(shuō)明的描述中,哪些是原因,哪些是結(jié)果。原因常常是輸入條件或是輸入

16、條件的等價(jià)類。而結(jié)果是輸出條件。 分析程序規(guī)格說(shuō)明的描述中語(yǔ)義的內(nèi)容,并將其表示成連接各個(gè)原因與各個(gè)結(jié)果的“因果圖”。,44,步驟,由于語(yǔ)法或環(huán)境的限制,有些原因和結(jié)果的組合情況是不可能出現(xiàn)的。為表明這些特定的情況,在因果圖上使用若干個(gè)特殊的符號(hào)標(biāo)明約束條件。 把因果圖轉(zhuǎn)換成判定表。 把判定表中每一列表示的情況寫成測(cè)試用例。,45,2. 2.3 例子,軟件規(guī)格說(shuō)明書(shū) “第一列字符必須是A或B,第二列字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改。但如果第一列字符不正確,則給出信息L,如果第二列字符不是數(shù)字,則給出信息M?!?46,原因和結(jié)果,原因: 1第一列字符是A; 2第一列字符是B;

17、 3第二列字符是一數(shù)字。 結(jié)果: 21修改文件; 22 給出信息L; 23給出信息M。,47,因果圖和具有約束的因果圖,11為中間節(jié)點(diǎn); 考慮到原因1和原因2不可能同時(shí)為1,因此在因果圖上施加E約束。,48,判定表,根據(jù)因果圖建立如下的判定表,表中8種情況的左面兩列情況中,原因和原因同時(shí)為1,這是不可能出現(xiàn)的,故應(yīng)排除這兩種情況。表的最下一欄給出了6種情況的測(cè)試用例,這是我們所需要的數(shù)據(jù)。,49,2. 2.4 討論,在較為復(fù)雜的問(wèn)題中,這個(gè)方法常常是十分有效的,它能有力地幫助我們確定測(cè)試用例 如果哪個(gè)開(kāi)發(fā)項(xiàng)目在設(shè)計(jì)階段就采用了判定表,也就不必再畫(huà)因果圖,而是可以直接利用判定表

18、設(shè)計(jì)測(cè)試用例了。,50,2. 3 測(cè)試用例設(shè)計(jì)方法邊值分析,在軟件設(shè)計(jì)和程序編寫中,常常對(duì)于規(guī)格說(shuō)明中的輸入域邊界或輸出域邊界不夠注意,以致形成一些差錯(cuò)。實(shí)踐證明,在設(shè)計(jì)測(cè)試用例時(shí),對(duì)邊界附近的處理必須給予足夠的重視,為檢驗(yàn)邊界附近的處理專門設(shè)計(jì)測(cè)試用例,常常取得良好的測(cè)試效果。,51,2. 2.1 邊值分析遵循的原則,如果輸入條件規(guī)定了取值范圍,或是規(guī)定了值的個(gè)數(shù),應(yīng)以該范圍的邊界內(nèi)及剛剛超出范圍的邊界外的值,或是分別對(duì)最大、最小個(gè)數(shù)及稍小于最小、稍大于最大個(gè)數(shù)作為測(cè)試用例。例如,如果程序的規(guī)格說(shuō)明中規(guī)定:“重量在10公斤至50公斤范圍內(nèi)的郵件,其郵費(fèi)計(jì)算公式為”。作為測(cè)試用例,我們應(yīng)取10

19、及50,還應(yīng)取10.01,49.99,9.99及50.01等。如果另一問(wèn)題規(guī)格說(shuō)明規(guī)定:“某輸入文件可包含1至255個(gè)記錄,”,則測(cè)試用例可取1和255,還應(yīng)取0及256等。,52,遵循以下幾條原則,針對(duì)規(guī)格說(shuō)明的每個(gè)輸出條件使用前面的第(1)條原則。例如,某程序的規(guī)格說(shuō)明要求計(jì)算出“每月保險(xiǎn)金扣除額為0至116525元”,其測(cè)試用例可取000及11652、還可取一001及116526等。如果另一程序?qū)儆谇閳?bào)檢索系統(tǒng),要求每次”最多顯示1條情報(bào)摘要”,這時(shí)我們應(yīng)考慮的測(cè)試用例包括1和4,還應(yīng)包括0和5等。,53,遵循以下幾條原則,如果程序規(guī)格說(shuō)明中提到的輸入或輸出域是個(gè)有序的集合(如順序文件、

20、表格等),就應(yīng)注意選取有序集的第一個(gè)和最后一個(gè)元素作為測(cè)試用例。 分析規(guī)格說(shuō)明,找出其它的可能邊界條件。,54,2. 2.2 例子,某一為學(xué)生考試試卷評(píng)分和成績(jī)統(tǒng)計(jì)的程序,其規(guī)格說(shuō)明指出了對(duì)程序的要求: 程序的輸入文件由80個(gè)字符的一些記錄組成,這些記錄分為三組: 標(biāo)題 這一組只有一個(gè)記錄,其內(nèi)容為輸出報(bào)告的名字。 試卷各題標(biāo)準(zhǔn)答案記錄 每個(gè)記錄均在第80個(gè)字符處標(biāo)以數(shù)字“2”。該組的第一個(gè)記錄的第1至第3個(gè)字符為題目編號(hào)(取值為1一999)。第10至第59個(gè)字符給出第1至第50題的答案(每個(gè)合法字符表示一個(gè)答案)。該組的第2,第3個(gè)記錄相應(yīng)為第51至第100,第101至第150,題

21、的答案。 每個(gè)學(xué)生的答卷描述 該組中每個(gè)記錄的第80個(gè)字符均為數(shù)字“3”。每個(gè)學(xué)生的答卷在若干個(gè)記錄中給出。如甲的首記錄第1至第9字符給出學(xué)生姓名及學(xué)號(hào),第10至第59字符列出的是甲所做的第1至第50題的答案。若試題數(shù)超過(guò)50,則第2,第3紀(jì)錄分別給出他的第51至第100,第101至第150題的解答。然后是學(xué)生乙的答卷記錄。 若學(xué)生最多為200人,輸入數(shù)據(jù)的形式如圖4。15所示。,55,,學(xué)生考卷評(píng)分和成績(jī)統(tǒng)計(jì)程序輸入數(shù)據(jù)的形式,56,,該程序應(yīng)給出4個(gè)輸出報(bào)告,即: 按學(xué)生學(xué)號(hào)排序,每個(gè)學(xué)生的成績(jī)(答對(duì)的百分比)和等級(jí)報(bào)告。 按學(xué)生得分排序,每個(gè)學(xué)生的成績(jī)。 平均分?jǐn)?shù),最

22、高與最低分之差。 按題號(hào)排序,每題學(xué)生答對(duì)的百分比。,57,,,58,2. 4 判定表驅(qū)動(dòng)測(cè)試,在一些數(shù)據(jù)處理問(wèn)題中,某些操作是否實(shí)施依賴于多個(gè)邏輯條件的取值。也即在這些邏輯條件取值的組合所構(gòu)成的多種情況下,分別執(zhí)行不同的操作。處理這類問(wèn)題的一個(gè)非常有力的分析和表達(dá)工具是判定表(Decision Table)。,59,2. 3.1 例子1,一張關(guān)于科技書(shū)閱讀指南的判定驅(qū)動(dòng)表:3個(gè)問(wèn)題8種情況,60,判定表組成,條件樁(Condition Stub) 動(dòng)作樁(Action Stub) 條件項(xiàng)(Condition Entity) 動(dòng)作項(xiàng)(Action Entity),61,規(guī)則及規(guī)則合并,任何一

23、個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則。在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,即條件項(xiàng)和動(dòng)作項(xiàng)有多少列。 化簡(jiǎn) 就是規(guī)則合并有兩條或多條規(guī)則 具有相同的動(dòng)作, 并且其條件項(xiàng)之間 存在著極為相似的關(guān)系,兩條規(guī)則合并成一條 兩條規(guī)則的進(jìn)一步合并,62,一個(gè)規(guī)則合并的例子,一個(gè)規(guī)則合并的例子,63,2. 3.2 例子2,問(wèn)題要求:”對(duì)功率大于50馬力的機(jī)器、維修記錄不全或已運(yùn)行10年以上的機(jī)器,應(yīng)給予優(yōu)先的維修處理” 假定,“維修記錄不全”和“優(yōu)先維修處理”均已在別處有更嚴(yán)格的定義 按5步建立判定表,64,建立判定表的步驟,確

24、定規(guī)則的個(gè)數(shù)。這里有3個(gè)條件,每個(gè)條件有兩個(gè)取值,故應(yīng)有2*2*2=8種規(guī)則。 列出所有的條件茬和動(dòng)作茬。 填人條件項(xiàng)。為防止遺漏可從最后1行條件項(xiàng)開(kāi)始,逐行向上填滿乙如第三行是: Y N Y N Y N Y N第二行是: Y Y N N Y Y N N等等。,65,建立判定表的步驟,填人動(dòng)作樁和動(dòng)作頂。這樣便得到形如圖的初始判定表。,66,建立判定表的步驟,化簡(jiǎn)。合并相似規(guī)則后得到圖。,67,2. 3.3 判定表在功能測(cè)試中的應(yīng)用,一軟件規(guī)格說(shuō)明 (1)當(dāng)條件1和條件2滿足,并且條件3和條件4不滿足,或者當(dāng)條件1、3和條件4滿足時(shí),要執(zhí)行操作1。 (2)在任一個(gè)條件都不滿足時(shí),要執(zhí)行

25、操作2。 (3)在條件1不滿足,而條件4被滿足時(shí),要執(zhí)行操作3。,68,規(guī)則,只給出了16種規(guī)則中的4種,根據(jù)規(guī)格說(shuō)明得到的判定表 默許的規(guī)則,69,2.3.4 判定表的優(yōu)點(diǎn)和缺點(diǎn),優(yōu)點(diǎn):它能把復(fù)雜的問(wèn)題按各種可能的情況一一列舉出來(lái),簡(jiǎn)明而易于理解,也可避免遺漏。 缺點(diǎn):不能表達(dá)重復(fù)執(zhí)行的動(dòng)作,例如循環(huán)結(jié)構(gòu)。 其他??,70,使用判定表設(shè)計(jì)測(cè)試用例的Beizer條件,規(guī)格說(shuō)明以判定表形式給出,或是很容易轉(zhuǎn)換成判定表。 條件的排列順序不會(huì)也不應(yīng)影響執(zhí)行哪些操作。 規(guī)則的排列順序不會(huì)也不應(yīng)影響執(zhí)行哪些操作。 每當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則。 如果某一規(guī)則得到

26、滿足要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無(wú)關(guān)緊要。 B。Beizer提出這5個(gè)必要條件的目的是為了使操作的執(zhí)行完全依賴于條件的組合。其實(shí)對(duì)于某些不滿足這幾條的判定表,同樣可以借以設(shè)計(jì)測(cè)試用例,只不過(guò)尚需增加其它的測(cè)試用例罷了。,71,2.5正交實(shí)驗(yàn)設(shè)計(jì)法,把軟件功能測(cè)試作為實(shí)驗(yàn)的一種,從大量的實(shí)驗(yàn)點(diǎn)中選出適量有代表性的點(diǎn),應(yīng)用依據(jù)伽羅瓦理論導(dǎo)出的“正交表”,合理安排實(shí)驗(yàn)的一種科學(xué)的實(shí)驗(yàn)設(shè)計(jì)方法。 從規(guī)約中找出影響其功能實(shí)現(xiàn)的操作對(duì)象和外部因素作為因子,因子的取值作為狀態(tài),構(gòu)造因素分析表,利用正交表進(jìn)行各因子的專題組合,構(gòu)造有效的測(cè)試數(shù)據(jù)集,并由此建立因果圖。,72,2.6 自動(dòng)測(cè)試用例設(shè)計(jì),一些

27、測(cè)試工具可以進(jìn)行部分測(cè)試用例自動(dòng)化,“測(cè)試輸入生成工具”,該方法也可以用于某些場(chǎng)合,但自動(dòng)工具不可能完全替代智力的測(cè)試活動(dòng); 自動(dòng)方式可以生成大量的測(cè)試用例,但他不區(qū)分哪些測(cè)試是最重要的。這些要求有創(chuàng)造力的智力活動(dòng)只能由測(cè)試人員完成。 所有測(cè)試生成工具依賴于生成測(cè)試的算法,工具比使用相同算法的測(cè)試人員的測(cè)試更徹底、更精確,但人工測(cè)試時(shí)可以考慮附加測(cè)試。,73,三種測(cè)試輸入生成工具,基于代碼測(cè)試輸入生成 基于界面測(cè)試生成 基于規(guī)格說(shuō)明測(cè)試生成,74,基于代碼測(cè)試輸入生成,通過(guò)檢測(cè)軟件代碼結(jié)構(gòu)生成測(cè)試輸入。通過(guò)代碼的路徑由判斷點(diǎn)確定的段組成。自動(dòng)生成每個(gè)路徑段邏輯覆蓋條件的輪廓文件。與覆蓋工具一起

28、使用較好。 只產(chǎn)生測(cè)試輸入,還需要對(duì)測(cè)試輸出進(jìn)行比較,不能判斷軟件產(chǎn)生的輸出是否正確,只是說(shuō)明代碼應(yīng)該做什么。也不能發(fā)現(xiàn)丟失的代碼 另一種方法:可以生成滿足較小變化測(cè)試準(zhǔn)則的測(cè)試。變化測(cè)試(Mutation test)是指代碼或輸入做較小的改變,檢測(cè)系統(tǒng)是否可以正確地處理或測(cè)試稍微改變的版本。該方法可以檢查系統(tǒng)的容錯(cuò)能力和測(cè)試套件的充分性。,75,基于界面測(cè)試生成,用于某些定義好的界面如GUI或Web應(yīng)用生成測(cè)試。如果屏幕含有各種菜單、按鈕及檢查框,則工具生成訪問(wèn)每個(gè)控件的測(cè)試事例。 還可以測(cè)試Internet和Intranet頁(yè)面。工具可激活WWW頁(yè)面的每個(gè)鏈接,然后對(duì)每頁(yè)做相同的測(cè)試;該方

29、法對(duì)于發(fā)現(xiàn)某類缺陷是有效的,可以部分生成期望輸出,即連接存在或斷開(kāi)狀況,但不能判斷連接是否在正確的位置; 該方法可以執(zhí)行部分測(cè)試事例設(shè)計(jì)活動(dòng),產(chǎn)生測(cè)試輸出,對(duì)于檢測(cè)“roll-call”即某個(gè)東西確實(shí)在某處確實(shí)有用。手工測(cè)試非常枯燥,應(yīng)該采用自動(dòng)測(cè)試。,76,基于規(guī)格說(shuō)明測(cè)試生成,在規(guī)格說(shuō)明形式化并可被工具分析的前提下,基于規(guī)格說(shuō)明測(cè)試工具可以生成測(cè)試輸入及期望結(jié)果;如果面向?qū)ο笠?guī)格說(shuō)明足夠嚴(yán)格的話,這種工具還可以進(jìn)行面向?qū)ο笠?guī)格說(shuō)明的測(cè)試。 例如,如果一個(gè)輸入域的允許范圍被嚴(yán)格定義,那么工具可以產(chǎn)生邊界值以及有效等價(jià)類和無(wú)效等價(jià)類的樣值。 某些基于規(guī)格說(shuō)明的工具可以進(jìn)行結(jié)構(gòu)化的英文規(guī)格說(shuō)明或

30、因果圖的測(cè)試,可以發(fā)現(xiàn)一些規(guī)格說(shuō)明的缺陷,如規(guī)格說(shuō)明含混或冗長(zhǎng) 好處是檢查軟件應(yīng)該做什么,而不是軟件做了什么。 從規(guī)格說(shuō)明中推導(dǎo)測(cè)試用例越枯燥,則這類工具的潛力就越大。,77,自動(dòng)測(cè)試用例生成的優(yōu)點(diǎn),自動(dòng)化測(cè)試用例生成用于設(shè)計(jì)的繁瑣部分,如激活每個(gè)菜單項(xiàng)或者從已知的數(shù)據(jù)范圍計(jì)算邊界值; 可以生成針對(duì)源程序的一套完成的測(cè)試用例(代碼、界面和規(guī)格說(shuō)明) 可以發(fā)現(xiàn)某種類型的缺陷,如丟失連接,非工作窗口項(xiàng)或者不符合規(guī)格說(shuō)明的軟件;,78,自動(dòng)測(cè)試用例生成的限制,基于代碼方法不能生成期望輸出 基于界面方法只能產(chǎn)生部分期望輸出 基于代碼和基于界面方法不能發(fā)現(xiàn)規(guī)格說(shuō)明的缺陷; 基于規(guī)格說(shuō)明的方法依賴于規(guī)格說(shuō)

31、明的質(zhì)量; 所有的方法可以產(chǎn)生大量的測(cè)試,而實(shí)際操作起來(lái)比較困難; 測(cè)試前仍需要專家判斷產(chǎn)生的測(cè)試的必要性,并考慮任何工具都無(wú)法產(chǎn)生的測(cè)試;,79,2.7小結(jié),理解和熟練使用4種進(jìn)行測(cè)試用例設(shè)計(jì)的方法:等價(jià)類劃分、因果圖、邊值分析、判定表驅(qū)動(dòng); 自動(dòng)測(cè)試用例設(shè)計(jì)的原理和方法,,80,4、 軟件測(cè)試用例設(shè)計(jì)白盒測(cè)試,3.0 概述 3.1 程序結(jié)構(gòu)分析 3.2 邏輯覆蓋 3.3 路徑分析 3.4 域測(cè)試 3.5 程序插裝 3.6 程序變異 3.7 小結(jié),81,3.0 概述,此方法把測(cè)試對(duì)象看做一個(gè)透明的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行

32、測(cè)試。 通過(guò)在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。,82,軟件人員使用白盒測(cè)試方法,主要想對(duì)程序模塊進(jìn)行如下的檢查: 對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一次; 對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都至少測(cè)試一次; 在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體; 測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等。,83,對(duì)一個(gè)具有多重選擇和循環(huán)嵌套的程序,不同的路徑數(shù)目可能是天文數(shù)字。給出一個(gè)小程序的流程圖,它包括了一個(gè)執(zhí)行20次的循環(huán)。 包含的不同執(zhí)行路徑數(shù)達(dá)520條,對(duì)每一條路徑進(jìn)行測(cè)試需要1毫秒,假定一年工作365 24小時(shí),要想把所有路徑測(cè)

33、試完,需3170年。,84,85,3.1程序結(jié)構(gòu)分析基本路徑測(cè)試,基本路徑測(cè)試方法把覆蓋的路徑數(shù)壓縮到一定限度內(nèi),程序中的循環(huán)體最多只執(zhí)行一次。 它是在程序控制流圖的基礎(chǔ)上,分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,設(shè)計(jì)測(cè)試用例的方法。設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中,程序的每一個(gè)可執(zhí)行語(yǔ)句至少要執(zhí)行一次。,86,3.1.1. 程序的控制流圖,符號(hào)為控制流圖的一個(gè)結(jié)點(diǎn),表示一個(gè)或多個(gè)無(wú)分支的PDL語(yǔ)句或源程序語(yǔ)句。箭頭為邊,表示控制流的方向。,87,在選擇或多分支結(jié)構(gòu)中,分支的匯聚處應(yīng)有一個(gè)匯聚結(jié)點(diǎn)。 邊和結(jié)點(diǎn)圈定的區(qū)域叫做區(qū)域,當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的區(qū)域也應(yīng)記為一個(gè)區(qū)域。 如果判斷中

34、的條件表達(dá)式是由一個(gè)或多個(gè)邏輯運(yùn)算符 (OR, AND, NAND, NOR) 連接的復(fù)合條件表達(dá)式,則需要改為一系列只有單條件的嵌套的判斷。,88,,,89,90,3.1.2. 程序環(huán)路復(fù)雜性,程序的環(huán)路復(fù)雜性給出了程序基本路徑集中的獨(dú)立路徑條數(shù),這是確保程序中每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次所必需的測(cè)試用例數(shù)目的上界。 從控制流圖來(lái)看,一條獨(dú)立路徑是至少包含有一條在其它獨(dú)立路徑中從未有過(guò)的邊的路徑。,91,例如,在圖示的控制流圖中,一組獨(dú)立的路徑是path1:1 - 11path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11path3:1 - 2 - 3 - 6 - 8 -

35、9 - 10 - 1 - 11path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11 路徑 path1,path2,path3,path4組成了控制流圖的一個(gè)基本路徑集。,92,3.1.2. 導(dǎo)出測(cè)試用例,導(dǎo)出測(cè)試用例,確?;韭窂郊械拿恳粭l路徑的執(zhí)行。 根據(jù)判斷結(jié)點(diǎn)給出的條件,選擇適當(dāng)?shù)臄?shù)據(jù)以保證某一條路徑可以被測(cè)試到 用邏輯覆蓋方法。,93,每個(gè)測(cè)試用例執(zhí)行之后,與預(yù)期結(jié)果進(jìn)行比較。如果所有測(cè)試用例都執(zhí)行完畢,則可以確信程序中所有的可執(zhí)行語(yǔ)句至少被執(zhí)行了一次。 必須注意,一些獨(dú)立的路徑(如例中的路徑1),往往不是完全孤立的,有時(shí)它是程序正常的控制流的一部分,這

36、時(shí),這些路徑的測(cè)試可以是另一條路徑測(cè)試的一部分。,94,3.2 邏輯覆蓋,語(yǔ)句覆蓋 判定覆蓋 條件覆蓋,判定條件覆蓋 條件組合覆蓋 路徑覆蓋。,邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計(jì)測(cè)試用例的技術(shù)。它屬白盒測(cè)試。,,95,例,,96,97,98,99,,100,3.2.1語(yǔ)句覆蓋,語(yǔ)句覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得每一可執(zhí)行語(yǔ)句至少執(zhí)行一次。 在圖例中,正好所有的可執(zhí)行語(yǔ)句都在路徑L1上,所以選擇路徑 L1設(shè)計(jì)測(cè)試用例,就可以覆蓋所有的可執(zhí)行語(yǔ)句。,101,測(cè)試用例的設(shè)計(jì)格式如下【輸入的(A, B, X),輸出的(A, B, X)】 為圖例設(shè)計(jì)滿足語(yǔ)句覆蓋的測(cè)試用例是:【(

37、2, 0, 4),(2, 0, 3)】 覆蓋 ace【L1】,,102,3.2.2判定覆蓋,判定覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次。 判定覆蓋又稱為分支覆蓋。 對(duì)于圖例,如果選擇路徑L1和L2,就可得滿足要求的測(cè)試用例:,103,【(2, 0, 4),(2, 0, 3)】覆蓋 ace【L1】【(1, 1, 1),(1, 1, 1)】覆蓋 abd【L2】,104,如果選擇路徑L3和L4,還可得另一組可用的測(cè)試用例:【(2, 1, 1),(2, 1, 2)】覆蓋 abe【L3】【(3, 0, 3),(3, 1, 1)】覆蓋 acd【L4】,

38、,105,3.2.3條件覆蓋,條件覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。 在圖例中,我們事先可對(duì)所有條件的取值加以標(biāo)記。例如, 對(duì)于第一個(gè)判斷: 條件 A1 取真為 ,取假為 條件 B0 取真為 ,取假為,106,對(duì)于第二個(gè)判斷: 條件A2 取真為 ,取假為 條件X1 取真為 ,取假為 測(cè)試用例 覆蓋分支 條件取值 【(2, 0, 4),(2, 0, 3)】L1(c, e) 【(1, 0, 1),(1, 0, 1)】L2(b, d) 【(2, 1, 1),(2, 1, 2)】L3(b, e),107,或 測(cè) 試 用 例覆蓋分支 條

39、件取值 【(1, 0, 3),(1, 0, 4)】 L3(b, e) 【(2, 1, 1),(2, 1, 2)】 L3(b, e),,108,3.2.4判定條件覆蓋,判定條件覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷中的每個(gè)條件的可能取值至少執(zhí)行一次。,109,測(cè) 試 用 例 覆蓋分支 條件取值 【(2, 0, 4),(2, 0, 3)】L1(c, e) 【(1, 1, 1),(1, 1, 1)】L2(b, d),110,,and,or,,,111,3.2.5條件組合覆蓋,條件組合覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得每個(gè)判斷的所有可能的條

40、件取值組合至少執(zhí)行一次。 記 A1, B0 作 A1, B0 作 A1, B0 作 A1, B0 作,112,, A2, X1 作 A2, X1 作 A2, X1 作 A2, X1 作,,113,,測(cè) 試 用 例 覆蓋條件 覆蓋組合 【(2, 0, 4), (2, 0, 3)】(L1) , 【(2, 1, 1), (2, 1, 2)】(L3) , 【(1, 0, 3), (1, 0, 4)】(L3) , 【(1, 1, 1), (1, 1, 1)】(L2) , ,114,3.3 路徑測(cè)試,路徑測(cè)試就是設(shè)計(jì)足夠的測(cè)試用例,覆蓋程

41、序中所有可能的路徑。 測(cè) 試 用 例 通過(guò)路徑 覆蓋條件 【(2, 0, 4), (2, 0, 3)】 ace (L1) 【(1, 1, 1), (1, 1, 1)】 abd (L2) 【(1, 1, 2), (1, 1, 3)】 abe (L3) 【(3, 0, 3), (3, 0, 1)】 acd (L4),,115,3.2.1條件測(cè)試路徑選擇,當(dāng)程序中判定多于一個(gè)時(shí),形成的分支結(jié)構(gòu)可以分為兩類:嵌套型分支結(jié)構(gòu)和連鎖型分支結(jié)構(gòu)。 對(duì)于嵌套型分支結(jié)構(gòu),若有n個(gè)判定語(yǔ)句,需要n+1個(gè)測(cè)試用例; 對(duì)于連鎖型分支結(jié)構(gòu), 若有n個(gè)判定語(yǔ)句,需要有2n個(gè)測(cè)試用例,覆蓋它的2n條路徑

42、。當(dāng)n較大時(shí)將無(wú)法測(cè)試。,116,117,3.2.2循環(huán)測(cè)試路徑選擇,循環(huán)分為4種不同類型: 簡(jiǎn)單循環(huán) 連鎖循環(huán) 嵌套循環(huán) 非結(jié)構(gòu)循環(huán)。,118,119,(1) 簡(jiǎn)單循環(huán), 零次循環(huán):從循環(huán)入口到出口 一次循環(huán):檢查循環(huán)初始值 二次循環(huán):檢查多次循環(huán) m次循環(huán): 檢查在多次循環(huán) 最大次數(shù)循環(huán)、比最大次數(shù)多一次、少一次的循環(huán)。,120,(2) 嵌套循環(huán), 對(duì)最內(nèi)層循環(huán)做簡(jiǎn)單循環(huán)的全部測(cè)試。所有其它層的循環(huán)變量置為最小值; 逐步外推,對(duì)其外面一層循環(huán)進(jìn)行測(cè)試。測(cè)試時(shí)保持所有外層循環(huán)的循環(huán)變量取最小值,所有其它嵌套內(nèi)層循環(huán)的循環(huán)變量取“典型”值。 反復(fù)進(jìn)行,直到所有各層循環(huán)測(cè)試完畢。 對(duì)全部

43、各層循環(huán)同時(shí)取最小循環(huán)次數(shù),或者同時(shí)取最大循環(huán)次數(shù),,121,如果各個(gè)循環(huán)互相獨(dú)立,則可以用與簡(jiǎn)單循環(huán)相同的方法進(jìn)行測(cè)試。但如果幾個(gè)循環(huán)不是互相獨(dú)立的,則需要使用測(cè)試嵌套循環(huán)的辦法來(lái)處理。,(3)連鎖循環(huán),122,(4) 非結(jié)構(gòu)循環(huán),這一類循環(huán)應(yīng)該使用結(jié)構(gòu)化程序設(shè)計(jì)方法重新設(shè)計(jì)測(cè)試用例。,123,3.4 域測(cè)試,基于程序結(jié)構(gòu)的測(cè)試方法 針對(duì)域錯(cuò)誤,對(duì)輸入空間進(jìn)行分析,選擇適當(dāng)?shù)臏y(cè)試點(diǎn),檢驗(yàn)輸入空間中的每個(gè)輸入是否產(chǎn)生正確的結(jié)果。 假設(shè)限制過(guò)多,難以運(yùn)用到實(shí)際中。,124,3.5 符號(hào)測(cè)試,另辟途徑解決測(cè)試用例選擇問(wèn)題。 基于代數(shù)運(yùn)算執(zhí)行測(cè)試,是測(cè)試和驗(yàn)證的折衷方法,125,3.6 程序插裝,借

44、助往被測(cè)程序中插入操作來(lái)實(shí)現(xiàn)測(cè)試目的的方法。,126,3.7 程序變異,是一種錯(cuò)誤驅(qū)動(dòng)測(cè)試,針對(duì)某類特定程序錯(cuò)誤實(shí)現(xiàn)測(cè)試。 程序強(qiáng)變異 程序弱變異,127,3.8 小結(jié),白盒測(cè)試方法分類 基本路徑測(cè)試 邏輯覆蓋測(cè)試 路徑測(cè)試,128,專題小結(jié),軟件測(cè)試用例設(shè)計(jì)黑盒測(cè)試測(cè)試的關(guān)鍵就是確定正確的測(cè)試用例。本部分詳細(xì)介紹幾種軟件測(cè)試用例設(shè)計(jì)方法:等價(jià)類劃分、因果圖、邊值分析、判定表驅(qū)動(dòng)測(cè)試和測(cè)試用例自動(dòng)生成原理和方法。,129,專題小結(jié),軟件測(cè)試用例設(shè)計(jì)白盒測(cè)試 程序結(jié)構(gòu)分析 邏輯覆蓋測(cè)試 路徑,130,專題小結(jié),學(xué)習(xí)要求: 理解軟件開(kāi)發(fā)過(guò)程中每一階段的軟件測(cè)試方法,理解他們的作用和意義。能夠根據(jù)問(wèn)題選擇正確的軟件測(cè)試方法 熟練掌握軟件測(cè)試用例的設(shè)計(jì)方法,將設(shè)計(jì)得到的測(cè)試用例編到軟件測(cè)試用例表中,根據(jù)軟件測(cè)試用例表進(jìn)行軟件測(cè)試、填寫軟件測(cè)試記錄。 結(jié)合實(shí)際的測(cè)試用例設(shè)計(jì)過(guò)程,理解自動(dòng)測(cè)試用例的原理和方法。,131,專題小結(jié),訓(xùn)練: 測(cè)試用例的設(shè)計(jì) 編制軟件測(cè)試用例表,進(jìn)行軟件測(cè)試,132,謝謝!,,

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!