




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件測(cè)試相關(guān)技術(shù)
——貫穿于軟件生命周期過程中的各種活動(dòng)2009-12-12/41什么是測(cè)試?G.Myers(1979):測(cè)試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯(cuò)誤好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試G.Myers(2004):貫穿于整個(gè)軟件生命周期的活動(dòng)對(duì)軟件產(chǎn)品的質(zhì)量進(jìn)行驗(yàn)證和確認(rèn)盡快、盡早地發(fā)現(xiàn)缺陷和問題2009-12-13/41代碼執(zhí)行測(cè)試測(cè)試信息測(cè)試驅(qū)動(dòng)的缺陷定位輸入級(jí)缺陷定位代碼級(jí)缺陷定位缺陷信息代碼修正軟件變更信息可信性度量(可靠性/可靠安全性…)測(cè)試用例測(cè)試用例生成和優(yōu)化缺陷預(yù)測(cè)信息基于結(jié)構(gòu)化度量的缺陷預(yù)測(cè)可信性度量信息>閾值?結(jié)束NoYes測(cè)試用例生成2009-12-14/41擬采用的技術(shù)測(cè)試用例生成組合測(cè)試蛻變測(cè)試自適應(yīng)隨機(jī)測(cè)試演化測(cè)試輔助:符號(hào)執(zhí)行缺陷定位輸入級(jí):deltadebugging代碼級(jí):基于spectra的方法回歸測(cè)試中的優(yōu)化問題測(cè)試用例優(yōu)化:優(yōu)先級(jí)測(cè)試用例約簡(jiǎn)2009-12-15/41代碼執(zhí)行測(cè)試測(cè)試信息測(cè)試驅(qū)動(dòng)的缺陷定位輸入級(jí)缺陷定位代碼級(jí)缺陷定位缺陷信息代碼修正軟件變更信息可信性度量(可靠性/可靠安全性…)測(cè)試用例測(cè)試用例生成和優(yōu)化缺陷預(yù)測(cè)信息基于結(jié)構(gòu)化度量的缺陷預(yù)測(cè)可信性度量信息>閾值?結(jié)束NoYes測(cè)試用例生成2009-12-16/41測(cè)試用例生成軟件測(cè)試:一個(gè)為了發(fā)現(xiàn)錯(cuò)誤而運(yùn)行程序的過程
(什么樣的測(cè)試用例可以誘發(fā)錯(cuò)誤?)測(cè)試用例集的生成:根據(jù)給定的測(cè)試標(biāo)準(zhǔn)進(jìn)行抽樣
(選取何種測(cè)試標(biāo)準(zhǔn)?)2009-12-17/41組合測(cè)試組合測(cè)試(Combinatorialtesting)
檢測(cè)因素間的交互作用何為因素間的相互作用?例:NextDay輸入:當(dāng)前日期(年-月-日)輸出:輸入日期的下一天(年-月-日)2009-12-012009-12-022009-12-312010-01-012009-02-282009-03-012009-12-18/41SOA不同服務(wù)間的相互作用2009-12-19/41組合測(cè)試固定力度組合測(cè)試(N維組合測(cè)試)ClassAClassBClassCClassDA1A2B1B2C1C2D1D2D3ClassAClassBClassCClassDA1B1C1D1A1B1C2D2A1B2C1D3A2B1C2D3A2B2C1D2A2B2C2D12維組合測(cè)試用例集對(duì)復(fù)雜的因素間交互關(guān)系進(jìn)行等概率的抽樣2009-12-110/41組合測(cè)試可變力度組合測(cè)試交互關(guān)系:R={{classA,classB,classC},{classA,classD},{classC,classD}}ClassAClassBClassCClassDA1B1C1D1A1B1C2D2A1B2C1D3A1B2C2D3A2B1C1D2A2B1C2D1A2B2C1D2A2B2C2D1可變力度組合測(cè)試用例集考慮已知的特定交互關(guān)系2009-12-111/41組合測(cè)試關(guān)鍵問題組合力度的選定(固定力度/可變力度)固定力度:N=?可變力度:交互關(guān)系如何獲取?組合測(cè)試用例集的生成算法小規(guī)模測(cè)試用例集的生成:NP-C根據(jù)測(cè)試資源選取輸入輸出關(guān)系,Slicing分析設(shè)計(jì)信息,如UML重點(diǎn)研究2009-12-112/41蛻變測(cè)試一條測(cè)試用例是否通過?
(判斷運(yùn)行結(jié)果是否等于預(yù)期結(jié)果)例:sin(x)輸入:任意實(shí)數(shù)輸出:[-1,1]一般輸入下,如何測(cè)試?特殊輸入:sin(0
),sin(30
),sin(45
),sin(90
),…一般輸入:sin(11
),sin(13
),sin(22
),sin(79
),…2009-12-113/41蛻變測(cè)試Oracle問題考慮函數(shù)f的內(nèi)在關(guān)系輸入之間的關(guān)系R輸出之間的關(guān)系Rf蛻變關(guān)系MR=(R,Rf)蛻變測(cè)試(Metamorphictesting)f(x)=sin(x):1y=x+360
->sin(x)=sin(y)2y=180-x->sin(x)=sin(y)3y=90-x->(sin(x))^2+(sin(y))^2=12009-12-114/41蛻變測(cè)試蛻變測(cè)試的基本流程構(gòu)造蛻變關(guān)系MR生成原始測(cè)試用例根據(jù)R,在原始測(cè)試用例的基礎(chǔ)上生成衍生測(cè)試用例檢查原始和衍生測(cè)試用例的輸出是否滿足Rf,從而得出測(cè)試結(jié)果關(guān)鍵問題:蛻變關(guān)系的構(gòu)造sin(11
)sin(371
),sin(169
),sin(89
)2009-12-115/41蛻變測(cè)試用途任何面臨oracle問題的軟件測(cè)試注意的幾點(diǎn)初始測(cè)試用例的生成:隨機(jī)生成的效果較好衍生測(cè)試用例的生成:優(yōu)先選擇重要的蛻變關(guān)系測(cè)試過程可迭代2009-12-116/41隨機(jī)測(cè)試隨機(jī)測(cè)試(Randomtesting)
如果缺陷聚集出現(xiàn)…..2009-12-117/41自適應(yīng)隨機(jī)測(cè)試自適應(yīng)隨機(jī)測(cè)試(AdaptiveRandomTesting)>d1>d2>d2>d3>d3>d32009-12-118/41自適應(yīng)隨機(jī)測(cè)試存在的問題距離如何定義?
…測(cè)試用例的分布
ARTwithenlargedinputdomain2009-12-119/41代碼執(zhí)行測(cè)試測(cè)試信息測(cè)試驅(qū)動(dòng)的缺陷定位輸入級(jí)缺陷定位代碼級(jí)缺陷定位缺陷信息代碼修正軟件變更信息可信性度量(可靠性/可靠安全性…)測(cè)試用例測(cè)試用例生成和優(yōu)化缺陷預(yù)測(cè)信息基于結(jié)構(gòu)化度量的缺陷預(yù)測(cè)可信性度量信息>閾值?結(jié)束NoYes測(cè)試用例生成2009-12-120/41演化測(cè)試白盒測(cè)試中的問題:給定程序結(jié)構(gòu)的覆蓋語句路徑分支…可考慮的方法黑盒測(cè)試:無效手工/自動(dòng)設(shè)計(jì):效率低難度大演化測(cè)試(Evolutionarytesting)2009-12-121/41演化測(cè)試特定測(cè)試用例的生成過程->動(dòng)態(tài)優(yōu)化的過程元啟發(fā)式搜索方法
(MetaheuristicSearchTechniques)遺傳算法模擬退火算法…2009-12-122/41演化測(cè)試遺傳算法動(dòng)態(tài)優(yōu)化->生物種群進(jìn)化測(cè)試用例->生物個(gè)體群體搜索(populationsearch)進(jìn)化速度快收斂不穩(wěn)定2009-12-123/41演化測(cè)試模擬退火算法動(dòng)態(tài)優(yōu)化->晶體冷卻單點(diǎn)搜索(individualsearch)收斂穩(wěn)定速度緩慢模擬晶體降溫時(shí)原子的運(yùn)動(dòng)規(guī)律根據(jù)Metropolis準(zhǔn)則,當(dāng)高溫晶體溫度降至T時(shí),其內(nèi)部原子趨于平衡的概率為exp{-ΔE/(kT)},其中E為晶體的內(nèi)能,k為Boltzmann常數(shù)高溫下可接受與當(dāng)前狀態(tài)能量差較大的新狀態(tài),而在低溫下基本只接受與當(dāng)前能量差較小的新狀態(tài),而且當(dāng)溫度趨于零時(shí),就不能接受比當(dāng)前狀態(tài)能量高的新狀態(tài)2009-12-124/41演化測(cè)試使用遺傳算法的演化測(cè)試如何應(yīng)用?編解碼選擇算子雜交算子變異算子存活算子評(píng)估2009-12-125/41演化測(cè)試找不到最優(yōu)解!怎么辦?進(jìn)化陷入局部最優(yōu)解
(種群的早熟與退化)迷失進(jìn)化方向
(程序中的flag變量問題)?2009-12-126/41符號(hào)執(zhí)行語句覆蓋率100%,是否可行?如何尋找(判斷)不可執(zhí)行語句?
intx,y;1:if(x>y){2:x=x+y;3:y=x-y;4:x=x-y;5:if(x>y)foo1();6:elsefoo2();}2009-12-127/41符號(hào)執(zhí)行嘗試符號(hào)執(zhí)行(Symbolicexecution)使用符號(hào)值代替具體的數(shù)據(jù)作為輸入在執(zhí)行過程中收集和路徑約束條件并進(jìn)行求解
intx,y;1:if(x>y){2:x=x+y;3:y=x-y;4:x=x-y;5:if(x>y)foo1();6:elsefoo2();}x:X,y:Y(x>y?)x:X,y:Y(X>Y)x:X,y:Y(X<Y)x:X+Y,y:Y(X>Y)x:X+Y,y:X(X>Y)x:Y,y:X(X>Y)x:Y,y:X(X>Y)&(Y>X)x:Y,y:X(X>Y)&(Y<=X)2009-12-128/41符號(hào)執(zhí)行記錄執(zhí)行的狀態(tài),包括:程序變量的符號(hào)值路徑條件(PC:PathCondition)程序標(biāo)記(后面執(zhí)行什么)路徑條件非常重要積累了路徑的約束條件符號(hào)執(zhí)行樹刻畫程序符號(hào)執(zhí)行過程中的執(zhí)行路徑可輔助測(cè)試用例的生成2009-12-129/41代碼執(zhí)行測(cè)試測(cè)試信息測(cè)試驅(qū)動(dòng)的缺陷定位輸入級(jí)缺陷定位代碼級(jí)缺陷定位缺陷信息代碼修正軟件變更信息可信性度量(可靠性/可靠安全性…)測(cè)試用例測(cè)試用例生成和優(yōu)化缺陷預(yù)測(cè)信息基于結(jié)構(gòu)化度量的缺陷預(yù)測(cè)可信性度量信息>閾值?結(jié)束NoYes測(cè)試用例生成2009-12-130/41缺陷定位缺陷定位(Faultlocation)黑盒:輸入級(jí)白盒:代碼級(jí)2009-12-131/41輸入級(jí)缺陷定位尋找誘發(fā)故障的測(cè)試用例的共性和規(guī)律DeltaDebugging思想Failed:test1=(v1,v2,…,vn)
Passed:test2=(v1’,v2’,…,vn’)
test’1=(v1’,v2,…,vn)test’1=(v1,v2’,…,vn’)test’2=(v1,v2’,…,vn)ORtest’2=(v1’,v2,…,vn’)……
test’n=(v1,v2,…,
vn’)test’n=(v1’,v2,’…,
vn)schema=(…,vx,…)2009-12-132/41代碼級(jí)缺陷定位尋找存在錯(cuò)誤的程序結(jié)構(gòu)基于Spectra的缺陷定位PathfragmentcoveragebranchcoveragestatementcoveragePathspectradataflowcoveragedynamicinvariantscallsequencecoveragetimespectra2009-12-133/41代碼級(jí)缺陷定位最危險(xiǎn)的語句最安全的語句2009-12-134/41代碼執(zhí)行測(cè)試測(cè)試信息測(cè)試驅(qū)動(dòng)的缺陷定位輸入級(jí)缺陷定位代碼級(jí)缺陷定位缺陷信息代碼修正軟件變更信息可信性度量(可靠性/可靠安全性…)測(cè)試用例測(cè)試用例生成和優(yōu)化缺陷預(yù)測(cè)信息基于結(jié)構(gòu)化度量的缺陷預(yù)測(cè)可信性度量信息>閾值?結(jié)束NoYes測(cè)試用例生成2009-12-135/41測(cè)試用例優(yōu)化回歸測(cè)試的特點(diǎn)已被運(yùn)行過的測(cè)試用例集合測(cè)試信息(是否通過、覆蓋率、資源消耗)測(cè)試目標(biāo)發(fā)生變化利用已有信息對(duì)測(cè)試過程進(jìn)行優(yōu)化測(cè)試用例約簡(jiǎn)測(cè)試用例優(yōu)先級(jí)2009-12-136/41測(cè)試用例約簡(jiǎn)測(cè)試用例約簡(jiǎn)(Testreduction)能夠滿足給定的測(cè)試需求所需測(cè)試用例的總開銷盡可能少Fault-basedtesting:假設(shè)可能出現(xiàn)的故障,針對(duì)故障設(shè)計(jì)測(cè)試用例Boolean-specifi
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市配送公司兼職貨運(yùn)司機(jī)服務(wù)協(xié)議
- 《變遷:家鄉(xiāng)的足跡》課件-(獲獎(jiǎng)?wù)n件)
- 醫(yī)學(xué)臨床試驗(yàn)質(zhì)量控制合作協(xié)議
- 網(wǎng)絡(luò)游戲IP改編影視作品版權(quán)授權(quán)合同
- 數(shù)據(jù)中心綠色環(huán)保建設(shè)與節(jié)能改造合同
- 企業(yè)生產(chǎn)安全培訓(xùn)課件
- 《醫(yī)療人文關(guān)懷》課件
- 《內(nèi)分泌系統(tǒng)》課件
- 《慢性疼痛與管理》課件
- 《醫(yī)療急救知識(shí)》課件
- 美世-崗位管理
- 京東考試答案
- 跨越架施工方案
- 古書院礦1.2Mt新井設(shè)計(jì)(機(jī)械CAD圖紙)
- 財(cái)產(chǎn)和行為稅納稅申報(bào)表
- 人民幣全版(錢幣)教學(xué)打印版word版
- 貝氏體鋼軌超高周疲勞行為的研究課件
- 人員能力矩陣圖
- 多智能體系統(tǒng)教材課件匯總完整版ppt全套課件最全教學(xué)教程整本書電子教案全書教案課件合集
- 購物中心租金修正測(cè)算
- 冀教版八年級(jí)下冊(cè)nit 5 Buying and Selling Lesson 30 A Cookie Sale課件(共13張PPT)
評(píng)論
0/150
提交評(píng)論