軟件工程農(nóng)業(yè)計算機科學(xué)技術(shù)_第1頁
軟件工程農(nóng)業(yè)計算機科學(xué)技術(shù)_第2頁
軟件工程農(nóng)業(yè)計算機科學(xué)技術(shù)_第3頁
軟件工程農(nóng)業(yè)計算機科學(xué)技術(shù)_第4頁
軟件工程農(nóng)業(yè)計算機科學(xué)技術(shù)_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE3PAGE3 PAGEPAGE5測試的定義是為發(fā)現(xiàn)程序錯誤而運行程序的過測試(testing)的目的與任目的:發(fā)現(xiàn)程序的錯任務(wù):通過執(zhí)行程序,潛在的錯糾錯(debugging)目的:定位和糾正錯任務(wù):消除軟件故障,保證程序的可靠運測試和糾錯信息程測評錯誤信程測評錯誤信糾改正信測試數(shù) 期望結(jié)PAGE9PAGE9 輸入數(shù)據(jù)的所有組合情況有2483*1014,如果測試徑數(shù)目可能是天文數(shù)字例如一個小程序的流程圖,它包括了一個執(zhí)行20次徑數(shù)達520條,如果對每一條路徑進試需要1毫秒,365×2完,大約需317年GlenMyers給出的軟件測試目的設(shè)計合適的測試用例,用盡可能少的測試用例,來發(fā)現(xiàn)盡可能多的軟件錯誤Davis一組指導(dǎo)軟件測試的本原則所有的測試都應(yīng)可追溯到客戶求應(yīng)該在測試工作真正開始前的長時間就進試計Pareto原則:測試中發(fā)現(xiàn)的80%錯誤可能來自于20%的程序代測試應(yīng)從“小規(guī)?!遍_始,逐轉(zhuǎn)向“大規(guī)模窮舉測試是不可能為了達到最有效的測試,應(yīng)由立的第來承擔測

其他的測試原則在設(shè)計測試用例時,應(yīng)包括合的輸入條件和不合理的輸入條嚴格執(zhí)試計劃,排除測試隨意應(yīng)當對每一個做全面查在規(guī)劃測試時不要設(shè)想程序中會查出錯挑剔抱著為證明程序有錯的目的去測復(fù)雜設(shè)計合適的測試用需要細致和高度技不徹底“程序測試只能證明錯誤的存在,但不能證明錯誤不存在窮舉測試既不可能也不可經(jīng)濟選擇典型的測試用例進行適當?shù)臏y不可隨意提高測試的等 測試用例的設(shè)計是軟件測試的關(guān)鍵設(shè)計盡可能少的測試用例來發(fā)現(xiàn)盡可能多錯設(shè)計最有可能發(fā)現(xiàn)軟件錯誤的測試用例,時避免使用發(fā)現(xiàn)錯誤效果相同的測試用測試用例分為兩類:白盒測試和黑盒測試,也稱白箱測試和黑箱測試白盒測試(又稱為結(jié)構(gòu)測試)象看作一個透明的盒子,測試根據(jù)程序的邏輯結(jié)構(gòu)及有關(guān)信息設(shè)計測程序模塊中的路對所有邏輯判在上下邊界及可操作范圍內(nèi)運行所有循測試數(shù)據(jù)結(jié)構(gòu)的有效性看做一個黑盒子,測試完全不考慮程序的邏輯結(jié)構(gòu)和特性,只依黑盒測試可用于各種測試,主要用不正確或遺漏的功接口錯誤,如輸入/輸出參數(shù)的個數(shù)、類型數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(如外部數(shù)據(jù)庫)錯性能錯初始化和終止錯 主要的覆蓋標準有語句覆判定覆條件覆

判定/條件覆條件組合覆路徑覆邏輯覆蓋測試的5語句覆每條語句至少執(zhí)行一弱||||強每一判定的每個條件覆每一判定的每個條件,分別按“真”判定/同時滿足判定覆蓋和條件覆蓋的要件覆求條件每個判定中所有條件組合都至少執(zhí)合覆行一 s例:子程序測s(y>1)(y>1)tfx=x/if(y>1)and(z=0)then if(y=2)or(x>1)then t(y=2)or(xfx=x+值,并將計算結(jié)t(y=2)or(xfx=x+應(yīng)的流程圖 返返a:(y>1)andc:(y=2)or判定cy=2、當判定a為“真”x>1”實際是“x/y>1”,即當判定a為“假”x>1”路徑1sabcde(L1)是aL1={(y>1)and(z=0)}{(y=2)or=(y>1)and(z=0)and(y=2)or(y>1)and(z=0)and(x>y)=(y=2)and(z=0)(y>1)and(z=0)and(x>y

sasafcfedbc:路徑2sace,其執(zhí)行條件(L2)是a為“f”L2=not{(y>1)and(z=0)}not{(y=2)or={not(y>1)ornot(z=0)}{not(y=2)andnot(x>1)=not(y>1)andnot(y=2)andnot(x>1)ornot(z=0)andnot(y=2)and=(y≤1)and(y≠2)and(x≤(z≠0)and(y≠2)and(x≤

sasafcfedbc:路徑3sacde,其執(zhí)行條件(L3)是a為“f”L3=not{(y>1)and(z=0)}{(y=2)or={not(y>1)ornot(z=0)}{(y=2)or=(y≤1)and(y=2)or(y≤1)(x>1)(z≠0)and(y=2)or(z≠0)

sasafcfedbc:路徑4sabce,其執(zhí)行條件(L4)是a且cL4={(y>1)and(z=0)}not{(y=2)or=(y>1)and(z=0)andnot(y=2)not(x>=(y>1)and(z=0)and(y≠2)and≤

sasafcfedbc:safcfedbsafcfedbL1=(y=2)and(z=0)(y>1)and(z=0)and(x>y測試用例如下

a:c:safcfedbsafcfedb(即判定的每個分支至少經(jīng)過一次sacde(a為“f”且c為“t,即條件L3)和(a為“t”且c為“f,即條件L4)或者,執(zhí)行路徑sabcde(a為“t”且c為“t”

a:條件L1)和sace(a為“f”且c為“f,即條件

acacfttfsafcfedbsafcfedb判定a中各種條件的所有可能結(jié)果:y>1,≤1,z=0,z≠判定c中各種條件的所有可能結(jié)果:y=2,2x>1(或x>y),x1(或x計算機科學(xué)計算機科學(xué)技術(shù)軟件工程(第二版 y≤1,z≠y≠2y>1,y=2,x≤覆蓋的路預(yù)期結(jié)測試數(shù)

a:c: 覆蓋標準,但判定c為“結(jié)actactty>1,z=0,y=2,x>yffy≤1,z≠y≠2,x滿足判定/條件覆定覆蓋、條件覆蓋、語句覆蓋標

satfsatfcfedbc:safsafcfedb①y>1,z=0 ②y>1,z≠③y≤1,z=0;④y≤1,≠⑤⑤⑥x≤1⑦y≠2,⑧≠2,x≤1;

a:c:acttft②y>1,z≠⑥y=2,x≤ft③y≤⑦y≠ff④y≤1,z≠⑧y≠safcsafcfedbc:(y=2)orsafcfedb本safcfedbsabcde(a為“t”且c為L1=(y=2)and(z=0)(y>1)and(z=0)and(x>ysace(a為“f”且c為L2=(y≤1)and(x≤1)(z0andy2andx1)sacde(a為“f”且c為“t”)L3=(y≤1)and(x>1)(z≠0)and(y=2)or(z≠0)andsabce(a為“t”且c為L4=(y>1)and(z=0)and(y≠2)and(x≤actttfftff 其區(qū)域數(shù),然后確定一組獨立的程序執(zhí)行框(對應(yīng)于程序中的條件控制語句)成流圖中的一個結(jié)點,設(shè)計圖中的箭頭(對應(yīng)于程序中的控制轉(zhuǎn)向)成流圖中的一條邊。對于設(shè)計圖中多個箭頭的交匯點可以成┅┅順 二分 多分 While循環(huán)untul循aaborcfty=1aft2cf34t5y=123456x=x=x= x=x=x=

12123456例如,對程序進行基本路徑測試,該程序的功能是:最多輸入N個值(以-9為輸入結(jié)束標志),計算位于給定范圍內(nèi)的那些值(稱為有效輸入值)的平均值,以及輸入值的個數(shù)和有效值的個

賦初total.valid

value[i]-999ftotal.input averagesum/

average=-f

total.valid加value[i]ttvalue[i] tftotal.valid加sum=sum+value[ii加 假設(shè):n=5;minimum= um=100路徑11-2-10-11-測試數(shù)據(jù):value90,-預(yù)期結(jié)果:Average90,total.input1,total.valid=1路徑21-2-10-12-測試數(shù)據(jù):value999預(yù)期結(jié)果:Average999,total.input0,total.valid=0路徑31-2-3-10-11-測試數(shù)據(jù):value1,90,70,-預(yù)期結(jié)果:Average80,total.input5,total.valid=3路徑4:1-2-3-4-5-8-9-2-10-12-測試數(shù)據(jù):value1,-2,-3,-4,-預(yù)期結(jié)果:Average999,total.input4,total.valid=0路徑5:1-2-3-4-5-6-8-9-2-10-12-測試數(shù)據(jù):value=[120,110,101,-預(yù)期結(jié)果:Average999,total.inputtotal.valid=路徑61-2-3-4-5-6-7-8-9-2-10-11-測試數(shù)據(jù):value95,90,70,65,-預(yù)期結(jié)果:Average80,total.input4,total.valid=4 主要的黑盒測試方 據(jù)對軟件中的錯誤都是等效的,測試等價類的某個有效輸入數(shù)據(jù)主要用來檢驗程序是否實現(xiàn)了規(guī)格說明中的功能指不符合規(guī)格說明要求的不合理或類是“0100”,無效等價類是“成績0”等價類(輸入值的個數(shù)等于規(guī)定的個數(shù))3”3”和“輸入邊數(shù)3”(任意一個不允許的值格,則可確定5類(從各個不同的角度此規(guī)則))和一個無效)和一個無效等的,在遇到具體問題時,可參照上述規(guī)則的思想來劃分標識符是由字母開頭,后跟字母或數(shù)字的任意組合構(gòu)成;標識符的字符數(shù)為1~8個;標識符必須先說明后使用;一個說明語句中至少有一個標識符;保留字不能用作變?nèi)牖蜉敵龇秶倪吔缟?,而不是在輸入范圍的。因此針對各種邊界情況設(shè)計測試用例,其程序中錯誤的可邊界值分對應(yīng)輸入最大合格:年月值為35周歲最小合格:年月值為16周恰大于最大合格:年月值比3周歲大月恰小于最小合格年值比1周歲小月月份對應(yīng)輸入最小月份恰小于最小月份序中的錯誤,因此經(jīng)常把邊值分析方法與其它設(shè)計測試用例方法結(jié)合起來使用 錯誤猜測是一種憑和經(jīng)驗推測某依靠和經(jīng)單元測試是針對程序中的模塊或構(gòu)件,主要編集成測試針對集成的軟件系統(tǒng),主要設(shè)計階段軟件測試各階模塊單元測測試報

軟件設(shè)計信

軟件需求信

系統(tǒng)的其它成模塊單測

已組綜 軟 確測 測

的系統(tǒng)模塊單 測 測測試測試 編碼階

測試階

驗收階

單元測試又稱模塊測試,它著重對軟件設(shè)計的最小單(軟件構(gòu)件或模塊)進單元測試根據(jù)設(shè)計描述,對重要的控制路徑進試,單元測試通常采用白盒測試,并且多個構(gòu)件或模塊可以并行進試這里將構(gòu)件或模塊統(tǒng)一稱為模 這些信息包括參數(shù)的個數(shù)、次序、類型等構(gòu)時據(jù)法的整、邊界條件:確保程序單元在極限或嚴格的情況下仍能理路徑進試。錯誤處理部分潛在的錯誤有:報樁模被測模樁模被測模樁模單元測試通常與編碼工作結(jié)合起來模塊本身不是一個獨立的程序,在測試模塊時,必須為(driver)程序和若干個樁(stub)模塊驅(qū)驅(qū)動程驅(qū)動模塊接收測試數(shù)據(jù),調(diào)用被測模塊,把測試數(shù)據(jù)傳塊的返回數(shù)據(jù),并打印相關(guān)結(jié)果。初始化輸出停樁模塊的功能是替代被被測模塊調(diào)用的模塊,它接受被測模塊的調(diào)用,驗證信息,把控制連同模擬結(jié)果返回給被測模塊。初始化打印驗證結(jié)果 主要問題在于數(shù)據(jù)可能在通過接口時全局數(shù)據(jù)結(jié)構(gòu)可能會存在問(作為一個整體)進試。這種測試在發(fā)現(xiàn)錯誤時,很 并對其進試 深度優(yōu)先測試M1、M2、M5、M8、M6、M3、M7、廣度優(yōu)先測試次序M1、M2、M3、M4、M5、M6、M7、然后對主控模塊進試進試反映真實情況;重要數(shù)據(jù)不回將低層模塊組合成能實現(xiàn)軟件特定功能的為每個簇編寫驅(qū)動程序,并對簇進然后沿著程序結(jié)構(gòu)的層次向上組合新的簇有引入新的錯誤重復(fù)第2)步至第4)簇

簇 簇簇 將整個程序結(jié)構(gòu)分解干個簇,對同一層次的簇可并行進試,可提策略的選 集成測試時應(yīng)特別關(guān)注關(guān)鍵模塊(criticalmodule)的測 出問題軟件配置評審也稱軟件審核(audit),其目的是保有階段必需的細節(jié),而且已經(jīng)編排好分類軟件配置主要包括計算機程序(源代碼和可執(zhí)行程序),如果軟件是給許多客戶使用的(α發(fā)者對用戶的“指導(dǎo)下”進試。經(jīng)α測試后的軟ββ測試是由軟件的最終用戶在一個或多個用戶場所進行αβ測試是軟件在一個開發(fā)者不能控制的環(huán)境中的“活的”β(真正的或想象的)問題,并定期把這些問題報告給開發(fā)者,在接到β后著手準備向所有的用戶發(fā)布最終的軟件產(chǎn)品 系統(tǒng)測試是對整個基于計算機的系統(tǒng)進行的一系列測試系統(tǒng)測試的種類很多,每種測試都有不同的目的,它們從不同的角度測試計算機系統(tǒng)是否被正常地集成,并完成相應(yīng)的功能常用的系統(tǒng)測試包括恢復(fù)測試(recovery安 性測試(security壓力測試(stress性能測試(performance恢復(fù)測試是通過各種,強制軟件發(fā)生故障,然后修正錯誤并重新啟動系統(tǒng)如果恢復(fù)是由系統(tǒng)自身來完成的,那么,需測試重新MTTR(metorepair)是否在用戶可以接受安全性測試(也稱安全測試)用來驗證集成在系統(tǒng)中的保護機制能否實際保護系統(tǒng)不受侵入在安全測試過程中,測試者扮演一個試圖系統(tǒng)的角色,采用各種方式系統(tǒng)。例如,截取或碼譯;借助特殊軟件系統(tǒng)“”系統(tǒng),使他人無法;故意導(dǎo)致系統(tǒng)失效,企圖在系統(tǒng)恢復(fù)之機侵入系統(tǒng);通過瀏覽非數(shù)據(jù),從中找出進入系統(tǒng)的等等壓力測試也稱強度測試,它是在一種需要數(shù)量、頻率或容量的方式下執(zhí)行系統(tǒng),其目的是檢查系統(tǒng)對情況的承受程度。例如:當系統(tǒng)的中斷頻率是每秒1或2個時,執(zhí)行每秒10個中斷應(yīng) 發(fā)現(xiàn)盡可能多的錯誤面向?qū)?/p>

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論