版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、回歸測試回歸測試u軟件變化無處不在軟件變化無處不在在軟件生命周期中,存在各種變化在軟件生命周期中,存在各種變化需求、設(shè)計、實現(xiàn)、技術(shù)、軟硬件平臺等需求、設(shè)計、實現(xiàn)、技術(shù)、軟硬件平臺等變化帶來風(fēng)險變化帶來風(fēng)險變化傳播效應(yīng)(變化傳播效應(yīng)(change propagationschange propagations)可能會引)可能會引人新錯誤,有時甚至是致命的錯誤人新錯誤,有時甚至是致命的錯誤回歸測試回歸測試回歸測試是對之前已測試過、經(jīng)過修改了的程回歸測試是對之前已測試過、經(jīng)過修改了的程序進(jìn)行重新測試,以發(fā)現(xiàn)修改帶來的新錯誤或序進(jìn)行重新測試,以發(fā)現(xiàn)修改帶來的新錯誤或者由于更改而發(fā)現(xiàn)之前未發(fā)現(xiàn)的錯誤者
2、由于更改而發(fā)現(xiàn)之前未發(fā)現(xiàn)的錯誤測試目標(biāo)測試目標(biāo)測試變化部分測試變化部分檢測受影響部分檢測受影響部分u測試級別測試級別單元回歸、集成回歸、系統(tǒng)回歸單元回歸、集成回歸、系統(tǒng)回歸回歸測試回歸測試u主要問題主要問題標(biāo)識變化標(biāo)識變化變化影響變化影響受影響的測試用例受影響的測試用例從已有測試包中選擇回歸測試用例從已有測試包中選擇回歸測試用例回歸測試包約簡回歸測試包約簡回歸測試回歸測試u軟件變化類型軟件變化類型需求規(guī)格說明書需求規(guī)格說明書功能的增、刪、改功能的增、刪、改軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)增加組件交互,組件的增、刪、改增加組件交互,組件的增、刪、改高級設(shè)計高級設(shè)計變化狀態(tài)行為,變化組件交互變化狀態(tài)行為,
3、變化組件交互變化數(shù)據(jù)庫、變化數(shù)據(jù)庫、GUIGUI和功能設(shè)計和功能設(shè)計回歸測試回歸測試低級設(shè)計低級設(shè)計變化算法邏輯,變化組件結(jié)構(gòu)變化算法邏輯,變化組件結(jié)構(gòu)組件組件內(nèi)部數(shù)據(jù),控制結(jié)構(gòu)內(nèi)部數(shù)據(jù),控制結(jié)構(gòu)/ /數(shù)據(jù)流,內(nèi)部函數(shù)數(shù)據(jù)流,內(nèi)部函數(shù)組件接口組件接口調(diào)用參數(shù),消息,協(xié)議消息和格式調(diào)用參數(shù),消息,協(xié)議消息和格式技術(shù)技術(shù)/語言語言回歸測試回歸測試u變化影響變化影響需求變化影響設(shè)計、編碼、測試和文檔需求變化影響設(shè)計、編碼、測試和文檔設(shè)計變化影響編碼、測試、關(guān)聯(lián)組件、體系結(jié)設(shè)計變化影響編碼、測試、關(guān)聯(lián)組件、體系結(jié)構(gòu)和組件交互構(gòu)和組件交互實現(xiàn)變化影響測試用例、測試數(shù)據(jù)、測試腳本、實現(xiàn)變化影響測試用例、測
4、試數(shù)據(jù)、測試腳本、測試規(guī)約、代碼等測試規(guī)約、代碼等測試變化影響其它測試和測試文檔測試變化影響其它測試和測試文檔文檔變化影響其它文檔文檔變化影響其它文檔回歸測試回歸測試回歸測試與一般測試的比較回歸測試與一般測試的比較一般測試一般測試回歸測試回歸測試測試計劃測試計劃開發(fā)測試計劃和測試用例開發(fā)測試計劃和測試用例修改測試計劃,選擇、補(bǔ)充修改測試計劃,選擇、補(bǔ)充測試用例測試用例測試范圍測試范圍檢測整個程序檢測整個程序檢測被修改的相關(guān)部分檢測被修改的相關(guān)部分時間分配時間分配產(chǎn)品開發(fā)前預(yù)算產(chǎn)品開發(fā)前預(yù)算沒有預(yù)算沒有預(yù)算完成時間完成時間較多較多較少較少執(zhí)行頻率執(zhí)行頻率頻率高頻率高多次多次回歸測試回歸測試軟件變
5、化分析軟件變化分析變化影響分析變化影響分析定義回歸測試策略定義回歸測試策略建立回歸測試包建立回歸測試包報告測試結(jié)果報告測試結(jié)果運(yùn)行回歸測試運(yùn)行回歸測試u回歸測試過程回歸測試過程回歸測試回歸測試回歸測試回歸測試策略策略(1)全部重新測試)全部重新測試重新執(zhí)行之前的所有測試用例重新執(zhí)行之前的所有測試用例測試用例數(shù)不多或系統(tǒng)大部分被改變時適用測試用例數(shù)不多或系統(tǒng)大部分被改變時適用當(dāng)測試用例很多而系統(tǒng)改動很微小時,很浪費(fèi)當(dāng)測試用例很多而系統(tǒng)改動很微小時,很浪費(fèi)(2)有選擇的重新測試)有選擇的重新測試選擇已有測試包的一個子集選擇已有測試包的一個子集測試用例很多而系統(tǒng)改動很微小時,很有用測試用例很多而系統(tǒng)
6、改動很微小時,很有用測試用例數(shù)目不多或系統(tǒng)更改很多時,不適合測試用例數(shù)目不多或系統(tǒng)更改很多時,不適合回歸測試回歸測試重新確認(rèn)測試用例重新確認(rèn)測試用例l輸入不再有效,丟棄或作為負(fù)測試用例輸入不再有效,丟棄或作為負(fù)測試用例l輸入有效,預(yù)期結(jié)果不再有效,產(chǎn)生新的預(yù)期結(jié)果輸入有效,預(yù)期結(jié)果不再有效,產(chǎn)生新的預(yù)期結(jié)果 l對黑盒測試,如果在功能性需求和測試用例間維護(hù)對黑盒測試,如果在功能性需求和測試用例間維護(hù)一種可回溯性,有效性確認(rèn)效率會高得多一種可回溯性,有效性確認(rèn)效率會高得多l(xiāng)對白盒測試,因為變化會導(dǎo)致設(shè)計、編碼上的修改對白盒測試,因為變化會導(dǎo)致設(shè)計、編碼上的修改,需要生成新的測試用例,或者更改已存在
7、的測試,需要生成新的測試用例,或者更改已存在的測試用例以達(dá)到一定的覆蓋率標(biāo)準(zhǔn)用例以達(dá)到一定的覆蓋率標(biāo)準(zhǔn)回歸測試回歸測試識別錯誤識別錯誤組測試(組測試(Group Testing)l一組模塊單獨運(yùn)行正常,集成時可能失敗一組模塊單獨運(yùn)行正常,集成時可能失敗 l利用軟件不同版本來幫助發(fā)現(xiàn)錯誤的部分利用軟件不同版本來幫助發(fā)現(xiàn)錯誤的部分回歸測試回歸測試組測試示例組測試示例回歸測試回歸測試測試用例選擇測試用例選擇常用選擇算法常用選擇算法選擇所有與某個選擇所有與某個特定模塊相關(guān)的特定模塊相關(guān)的所有測試用例,及所有測試用例,及所有集成測試用例所有集成測試用例依據(jù)可追溯性原理,從需求到代碼,然后再到依據(jù)可追溯性
8、原理,從需求到代碼,然后再到測試用例,都要可追溯測試用例,都要可追溯回歸測試回歸測試u波漪效應(yīng)分析波漪效應(yīng)分析(Ripple Effect Analysis, REA)發(fā)現(xiàn)所有受影響部分和潛在的受影響部分,以保證軟件發(fā)現(xiàn)所有受影響部分和潛在的受影響部分,以保證軟件改變后仍然保持一致性與完整性改變后仍然保持一致性與完整性波漪效應(yīng)分析類型波漪效應(yīng)分析類型(1)需求的波漪效應(yīng)分析)需求的波漪效應(yīng)分析(2)設(shè)計的波漪效應(yīng)分析)設(shè)計的波漪效應(yīng)分析(3)代碼的波漪效應(yīng)分析)代碼的波漪效應(yīng)分析(4)測試用例的波漪效應(yīng)分析)測試用例的波漪效應(yīng)分析(5)階段間的波漪效應(yīng)分析)階段間的波漪效應(yīng)分析回歸測試回歸測試
9、波漪效應(yīng)分析波漪效應(yīng)分析自動化識別自動化識別回歸測試回歸測試基于圖的波漪效應(yīng)分析基于圖的波漪效應(yīng)分析模塊防火墻模塊防火墻變化的模塊,以及所有可能受影響的模塊閉包變化的模塊,以及所有可能受影響的模塊閉包以及相關(guān)的集成鏈以及相關(guān)的集成鏈數(shù)據(jù)防火墻、類防火墻、狀態(tài)數(shù)據(jù)防火墻、類防火墻、狀態(tài)/遷移防火墻等遷移防火墻等回歸測試回歸測試u模塊防火墻示例模塊防火墻示例MainM1M3M2M7M6M5M4M8模塊防火墻:模塊防火墻: M5, M1 和和 Main重測試單元:重測試單元: M5, 重集成測試:重集成測試:2, 3, 41234變化的模塊變化的模塊回歸測試回歸測試代碼波漪效應(yīng)分析代碼波漪效應(yīng)分析(
10、1)字符串匹配或者交叉引用)字符串匹配或者交叉引用不考慮程序執(zhí)行不考慮程序執(zhí)行需要人類智慧來進(jìn)行需要人類智慧來進(jìn)行REAREA操作。大多再工程操作。大多再工程工具都是基于字符串匹配工具都是基于字符串匹配(2)程序切片)程序切片確認(rèn)直接和間接的波及,自動地產(chǎn)生巨大的程序切片確認(rèn)直接和間接的波及,自動地產(chǎn)生巨大的程序切片 回歸測試回歸測試波漪效應(yīng)波漪效應(yīng)直接波漪直接波漪(Direct Ripples )直接被初始的更改影響的元素,它們與更改點有直接的數(shù)據(jù)直接被初始的更改影響的元素,它們與更改點有直接的數(shù)據(jù)或控制依賴或控制依賴誘發(fā)波漪(誘發(fā)波漪(Induced Ripples)由直接波漪和其他誘發(fā)波
11、及引起由直接波漪和其他誘發(fā)波及引起 如果直接波如果直接波漪漪后不需要進(jìn)一步的更改,那么誘發(fā)后不需要進(jìn)一步的更改,那么誘發(fā)波波漪漪就不需要分析。如圖(就不需要分析。如圖(b)回歸測試回歸測試波漪效應(yīng)分析示例波漪效應(yīng)分析示例回歸測試回歸測試控制依賴性控制依賴性由由if-then-else,while,for, 順序型語句和順序型語句和OO的消息傳遞所引起的消息傳遞所引起if-then-else語句的條件改變了,語句的條件改變了,then部分和部分和else部分都因條件改變而被影響部分都因條件改變而被影響 u數(shù)據(jù)的依賴性數(shù)據(jù)的依賴性數(shù)據(jù)操作:數(shù)據(jù)操作:數(shù)據(jù)使用、定義數(shù)據(jù)使用、定義和空間釋放和空間釋放
12、在確認(rèn)數(shù)據(jù)流前需要確認(rèn)執(zhí)行路徑,然后查找在確認(rèn)數(shù)據(jù)流前需要確認(rèn)執(zhí)行路徑,然后查找每一個每一個“定義定義-使用使用”對對控制依賴性確認(rèn)前無法進(jìn)行數(shù)據(jù)依賴的確認(rèn),控制依賴性確認(rèn)前無法進(jìn)行數(shù)據(jù)依賴的確認(rèn),可能會發(fā)現(xiàn)沒必要的數(shù)據(jù)依賴性可能會發(fā)現(xiàn)沒必要的數(shù)據(jù)依賴性回歸測試回歸測試程序切片(程序切片(program slicingprogram slicing)切片標(biāo)準(zhǔn)(切片標(biāo)準(zhǔn)(slicing criteria)說明所關(guān)心的切片語句開始點和一些變量說明所關(guān)心的切片語句開始點和一些變量切片切片一個語句集,影響到切片標(biāo)準(zhǔn)里被定義語句的變量值一個語句集,影響到切片標(biāo)準(zhǔn)里被定義語句的變量值向后程序切片(向后程序
13、切片(backward program slicing)切片中的語句將影響給定切片標(biāo)準(zhǔn)中的變量集切片中的語句將影響給定切片標(biāo)準(zhǔn)中的變量集向前程序切片(向前程序切片(forward program slicing)切片中的語句將受到切片標(biāo)準(zhǔn)中變量集的影響切片中的語句將受到切片標(biāo)準(zhǔn)中變量集的影響 回歸測試回歸測試程序切片示例程序切片示例回歸測試回歸測試程序切片約束程序切片約束程序切片方法往往生成數(shù)量很大的切片集,可程序切片方法往往生成數(shù)量很大的切片集,可以將切片數(shù)量限制在一個比較合理的范圍內(nèi)以將切片數(shù)量限制在一個比較合理的范圍內(nèi)深度限制是將切片中的語句限制在離更改點一深度限制是將切片中的語句限制在
14、離更改點一個特定距離內(nèi)以達(dá)到限制切片數(shù)量個特定距離內(nèi)以達(dá)到限制切片數(shù)量邊界限制是將切片限制在一個特定的模塊或函邊界限制是將切片限制在一個特定的模塊或函數(shù)內(nèi)數(shù)內(nèi) 回歸測試回歸測試回歸測試的花費(fèi)回歸測試的花費(fèi) 為了測試那些新改變的代碼,要生成測試用例為了測試那些新改變的代碼,要生成測試用例對原有的測試用例組進(jìn)行有效性重確認(rèn)對原有的測試用例組進(jìn)行有效性重確認(rèn)執(zhí)行測試用例組執(zhí)行測試用例組比較測試用例的執(zhí)行結(jié)果與預(yù)期結(jié)果比較測試用例的執(zhí)行結(jié)果與預(yù)期結(jié)果回溯失敗,查明導(dǎo)致失敗的模塊或修改回溯失敗,查明導(dǎo)致失敗的模塊或修改回歸測試回歸測試實用性建議實用性建議使用工具使用工具測試執(zhí)行工具、測試結(jié)果比較器、配置
15、工具(跟蹤其測試執(zhí)行工具、測試結(jié)果比較器、配置工具(跟蹤其中的數(shù)據(jù)、控制依賴性)、測試管理工具(跟蹤測試中的數(shù)據(jù)、控制依賴性)、測試管理工具(跟蹤測試現(xiàn)狀)現(xiàn)狀)考慮兩種依賴性考慮兩種依賴性1 1)模塊依賴:軟件中的一個模塊會依賴于其它模塊)模塊依賴:軟件中的一個模塊會依賴于其它模塊,因為要使用其它模塊來完成自己的任務(wù),因為要使用其它模塊來完成自己的任務(wù)2 2)修改依賴:跟蹤程序修改卡()修改依賴:跟蹤程序修改卡(PMCPMC)總結(jié)總結(jié)回歸測試決定修改是否改變了或破壞了現(xiàn)存的功能回歸測試決定修改是否改變了或破壞了現(xiàn)存的功能七個步驟七個步驟提出修改需求,修改軟件工件,選擇測試用例,執(zhí)行測試,識別失提出修改需求,修改軟件工件,選擇測試用例,執(zhí)行測試,識別失敗結(jié)果,確認(rèn)錯誤,和排除錯誤敗結(jié)果,確認(rèn)錯誤,和排除錯誤兩個主要方法:全部重新測試和有選擇的重新測試兩
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026北京市北方工業(yè)大學(xué)招聘高鋼中心實驗室科研助理1人備考題庫及答案詳解(新)
- 2026廣東廣州花山僑韻文旅產(chǎn)業(yè)投資有限公司招聘工作人員22人備考題庫及答案詳解參考
- 2026年上半年云南大學(xué)附屬醫(yī)院招聘人員備考題庫(9人)有完整答案詳解
- 2026廣東廣州市農(nóng)業(yè)科學(xué)院水稻研究所招聘科研輔助人員1人備考題庫及一套完整答案詳解
- 2026年福建省荔城區(qū)教師進(jìn)修學(xué)校公開選聘教研員備考題庫及答案詳解(奪冠系列)
- 2026天津市和平區(qū)選聘區(qū)管國有企業(yè)管理人員6人備考題庫及參考答案詳解
- 2026年1月廣東廣州市天河區(qū)先烈東小學(xué)編外聘用制專任教師招聘1人備考題庫(體育)含答案詳解
- 2026年1月廣東廣州市天河區(qū)龍口中路幼兒園編外人員招聘2人備考題庫及答案詳解(新)
- 2026中石安環(huán)公司寒假實習(xí)生招募備考題庫有答案詳解
- 2026云南玉溪易門康達(dá)醫(yī)院招募見習(xí)人員20人備考題庫及參考答案詳解
- 2025-2026學(xué)年北師大版八年級數(shù)學(xué)上冊期末復(fù)習(xí)卷(含答案)
- 2025年艾滋病培訓(xùn)試題與答案(全文)
- 【二下數(shù)學(xué)】計算每日一練60天(口算豎式脫式應(yīng)用題)
- 殘疾人服務(wù)與權(quán)益保護(hù)手冊(標(biāo)準(zhǔn)版)
- 車隊春節(jié)前安全培訓(xùn)內(nèi)容課件
- 2025年溫州肯恩三位一體筆試英語真題及答案
- 云南師大附中2026屆高三高考適應(yīng)性月考卷(六)歷史試卷(含答案及解析)
- PCR技術(shù)在食品中的應(yīng)用
- 輸液滲漏處理課件
- 教育培訓(xùn)行業(yè)發(fā)展趨勢與機(jī)遇分析
-
評論
0/150
提交評論