版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程學(xué)科研究生課程 軟件質(zhì)量保證與測試1.導(dǎo)言2.特征描述3.假設(shè)前提4.測試方法5.測試套件(Test Suites)結(jié)構(gòu)6.測試環(huán)境7.測試執(zhí)行策略8.測試工作量估計(jì)9.安排進(jìn)度和測試?yán)锍瘫?Test Milestone)1.導(dǎo)言2.特征描述3.假設(shè)前提4.測試方法5.測試套件(Test Suites)結(jié)構(gòu)6.測試環(huán)境7.測試執(zhí)行策略8.測試工作量估計(jì)9.安排進(jìn)度和測試?yán)锍瘫?Test Milestone)測試計(jì)劃的結(jié)構(gòu)和目標(biāo)1.導(dǎo)言2.特征描述3.假設(shè)前提4.測試方法5.測試套件(Test Suites)結(jié)構(gòu)6.測試環(huán)境7.測試執(zhí)行策略8.測試工作量估計(jì)9.安排進(jìn)度和測試?yán)锍瘫?Te
2、st Milestone)總結(jié)被測試的系統(tǒng)特征1.導(dǎo)言2.特征描述3.假設(shè)前提4.測試方法5.測試套件(Test Suites)結(jié)構(gòu)6.測試環(huán)境7.測試執(zhí)行策略8.測試工作量估計(jì)9.安排進(jìn)度和測試?yán)锍瘫?Test Milestone)由于各種原因,測試計(jì)劃中沒有進(jìn)行設(shè)計(jì)的測試用例部分1.導(dǎo)言2.特征描述3.假設(shè)前提4.測試方法5.測試套件(Test Suites)結(jié)構(gòu)6.測試環(huán)境7.測試執(zhí)行策略8.測試工作量估計(jì)9.安排進(jìn)度和測試?yán)锍瘫?Test Milestone)識(shí)別出測試分類1.導(dǎo)言2.特征描述3.假設(shè)前提4.測試方法5.測試套件(Test Suites)結(jié)構(gòu)6.測試環(huán)境7.測試執(zhí)行策略
3、8.測試工作量估計(jì)9.安排進(jìn)度和測試?yán)锍瘫?Test Milestone)基于測試方法部分識(shí)別出的測試分類,在測試套件結(jié)構(gòu)中列出詳細(xì)測試組和下屬組1.導(dǎo)言2.特征描述3.假設(shè)前提4.測試方法5.測試套件(Test Suites)結(jié)構(gòu)6.測試環(huán)境7.測試執(zhí)行策略8.測試工作量估計(jì)9.安排進(jìn)度和測試?yán)锍瘫?Test Milestone)計(jì)劃并設(shè)計(jì)測試環(huán)境(也測試平臺(tái)或測試實(shí)驗(yàn)室)1.導(dǎo)言2.特征描述3.假設(shè)前提4.測試方法5.測試套件(Test Suites)結(jié)構(gòu)6.測試環(huán)境7.測試執(zhí)行策略8.測試工作量估計(jì)9.安排進(jìn)度和測試?yán)锍瘫?Test Milestone)有用而高效的執(zhí)行策略必須考慮測試執(zhí)
4、行、缺陷檢查和缺陷修復(fù)該策略清晰地定義了開始系統(tǒng)測試的進(jìn)入條件如何安排測試用例執(zhí)行的先后次序何時(shí)從一個(gè)測試周期過渡到下一個(gè)何時(shí)重新執(zhí)行失敗的測試用例何時(shí)暫停一個(gè)測試周期和啟動(dòng)原因分析如何為回歸測試的最終測試周期選擇測試用例的子集測試周期由6個(gè)參數(shù)表示目標(biāo):假設(shè)測試執(zhí)行(測試優(yōu)先級(jí)排序)重做和延長標(biāo)準(zhǔn)行動(dòng)退出條件(周期的結(jié)束)涉及5個(gè)功能交叉組:營銷硬件軟件技術(shù)發(fā)布和系統(tǒng)測試每個(gè)組有一到多個(gè)條件項(xiàng),當(dāng)所有條件項(xiàng)都滿足是,系統(tǒng)測試才開始應(yīng)用回歸測試的概念基于以下幾點(diǎn)選擇:測試用例之前的執(zhí)行結(jié)果測試用例的成員屬性:基本要素、功能性、健壯性、互操作性、可擴(kuò)展性、性能、負(fù)載、穩(wěn)定性測試用例與已經(jīng)修改的軟
5、件組件的關(guān)聯(lián)性第一個(gè)測試周期原理:允許最大數(shù)量的測試用例完全執(zhí)行而不被阻塞第二個(gè)測試周期原理:前一次測試中失敗的測試用例在本次測試周期中要盡早執(zhí)行第三個(gè)測試周期原理:與第二個(gè)測試周期相似測試工作量一人一天創(chuàng)建的測試用例數(shù)量一人一天執(zhí)行的測試用例數(shù)量測試用例數(shù)量估計(jì)基于測試組類別的估計(jì)基于功能點(diǎn)的估計(jì)通過分析需求文檔來估算資源,這種方法學(xué)最早由A.J. Albrecht提出一個(gè)系統(tǒng)的功能點(diǎn)由軟件生成的輸入、輸出、主文件、查詢這些數(shù)量的加權(quán)總和UFP= WFNIxNI + WFNOxNO + WFNQxNQ + WFNLxNL + WFNExNEUFP:未經(jīng)調(diào)整功能點(diǎn)數(shù)NI :外部輸入類型數(shù)NO:
6、外部輸出類型數(shù)NQ:外部查詢類型數(shù)NF:內(nèi)部邏輯文件類型數(shù)NE:外部接口文件類型數(shù)WF : 加權(quán)因子經(jīng)驗(yàn)公式來計(jì)算一個(gè)系統(tǒng)的功能點(diǎn)FP FP = UFP x (0.65 + 0.01 x PCA)PCA:復(fù)雜度調(diào)整因子,由14種會(huì)影響一個(gè)項(xiàng)目的必需開發(fā)工作量的因子的評(píng)級(jí)總和構(gòu)成,每種因子會(huì)指定一個(gè)0 5之間的評(píng)級(jí)因此, FP的值通過PCA在正負(fù)35%的范圍內(nèi)波動(dòng)測試用例數(shù)量通過下面兩種方式估計(jì)間接方式Caper Jones給出了一個(gè)功能點(diǎn)和軟件代碼行數(shù)LOC間的關(guān)系Hitachi Software經(jīng)過30年的研究結(jié)果,給出了沒10 15行代碼需要一個(gè)測試用例這樣一個(gè)標(biāo)準(zhǔn)直接方式Caper Jo
7、nes給出了如下關(guān)系:測試用例數(shù)量總和 = (FP) 1.2為測試項(xiàng)目制定日程表和里程碑的重要性測試項(xiàng)目管理面臨的問題:時(shí)間vs質(zhì)量測試工作量的估計(jì)和時(shí)間安排要反復(fù)進(jìn)行以確保它們是可靠的用甘特(Gantt)圖來表示項(xiàng)目的時(shí)間表,包括各個(gè)任務(wù)的持續(xù)時(shí)間、任務(wù)依賴關(guān)系和他們的順序例如: 常見的項(xiàng)目管理工具M(jìn)S Project等自動(dòng)化測試的優(yōu)點(diǎn):提高測試工程師的生產(chǎn)力回歸測試的覆蓋測試用例的可重用性一致性測試減少測試間隔降低軟件維護(hù)成本提高測試效率評(píng)估自動(dòng)化測試準(zhǔn)備就緒的先決條件:系統(tǒng)穩(wěn)定,功能定義良好需要自動(dòng)化執(zhí)行的測試用例定義良好測試工具和基礎(chǔ)設(shè)施已到位測試人員已具有自動(dòng)化測試的成功經(jīng)驗(yàn)分配了充
8、足的預(yù)算用于采購軟件工具好的自動(dòng)化測試?yán)糜?jì)算機(jī)的能力利用計(jì)算機(jī)的能力去執(zhí)行人力無法有效執(zhí)行的測試 軟件發(fā)布前或維護(hù)時(shí),可能需要執(zhí)行上百次、上千次、甚至百萬次的測試自動(dòng)化測試不是測試工程師的替代品不是測試工程師的替代品 能思考的人執(zhí)行測試的作用遠(yuǎn)遠(yuǎn)超過機(jī)器有效地利用,自動(dòng)化測試會(huì)節(jié)省大量的時(shí)間和開支選取windows自帶軟件或web站點(diǎn)為例組織學(xué)生討論 為確保軟件質(zhì)量需要進(jìn)行哪些測試? 哪些測試可以交由工具完成? 哪些測試必須由工具完成?需要適用機(jī)器和軟件工具機(jī)器和軟件工具 用軟件把已存在的手工測試過程自動(dòng)化模擬人工操作 設(shè)置測試環(huán)境 控制測試的執(zhí)行過程完成對(duì)被測試軟件的輸入 自動(dòng)執(zhí)行對(duì)輸出結(jié)
9、果結(jié)果進(jìn)行檢驗(yàn)檢驗(yàn) 比較實(shí)際結(jié)果和預(yù)期結(jié)果記錄測試結(jié)果測試結(jié)果 生成測試結(jié)果報(bào)告階段一:手工測試階段二:硬編碼測試自動(dòng)化階段三:測試庫和框架階段四:數(shù)據(jù)驅(qū)動(dòng)測試階段五:基于模型的測試手工測試的原因 有一些測試很難自動(dòng)化 有些測試只需測試一次或有限次 產(chǎn)品功能變更頻繁 調(diào)整自動(dòng)測試耗費(fèi)大量成本手工測試可以是 仔細(xì)計(jì)劃的:系統(tǒng)性的、覆蓋關(guān)鍵場景 隨機(jī)的:嘗試不同的變量,測試未被計(jì)劃的場景不可輕視手工測試 容易進(jìn)行,在特定情況下有效且高效手工測試的局限 只可能用于端到端的測試,不能用于不能用于APIAPI測試測試 本質(zhì)上不可重復(fù) 如果要重復(fù)執(zhí)行,代價(jià)較大, 如果發(fā)生人事變動(dòng),還要重新培訓(xùn)比如 記錄和
10、回放用戶界面測試 直接使用目標(biāo)API取樣測試優(yōu)點(diǎn) 容易并且快速自動(dòng)化局限性 脆弱:只在有限幾種環(huán)境下可以工作,極小的變更都會(huì)導(dǎo)極小的變更都會(huì)導(dǎo)致無法工作致無法工作 維護(hù):產(chǎn)品做了極小變更都會(huì)導(dǎo)致對(duì)自動(dòng)化腳本的極大變更適用的場景 測試自動(dòng)化概念驗(yàn)證 用于測試那種一旦完成就不輕易改變的功能測試那種一旦完成就不輕易改變的功能建構(gòu)一個(gè)測試庫/測試框架(Test Harness) 常見任務(wù)使用庫優(yōu)勢 更多的代碼共享和重用 更強(qiáng)健的測試代碼 更低的維護(hù)和改進(jìn)成本 編寫額外測試代碼更快 更適應(yīng)變化基于不同類型的數(shù)據(jù)輸入,編寫一次測試代碼,就可以覆蓋不同的測試場景 容易增加新的測試用例而不用編寫新代碼 絕大部
11、分或者全部測試用例及其衍生場景,都可以使用數(shù)據(jù)來描述(例如,參數(shù)、文件、數(shù)據(jù)庫) 更大的適應(yīng)性和擴(kuò)展性、更低的維護(hù)成本 局限 需要花時(shí)間來理解測試代碼部署配置系統(tǒng)的自動(dòng)化工具針對(duì)某個(gè)場景的自動(dòng)化工具簡單多次重復(fù)的測試手工測試無法實(shí)現(xiàn)的場景(API測試)高頻率執(zhí)行的回歸測試需要精確數(shù)據(jù)的測試測試開發(fā)標(biāo)準(zhǔn)測試維護(hù)標(biāo)準(zhǔn)測試執(zhí)行標(biāo)準(zhǔn)測試結(jié)果標(biāo)準(zhǔn)測試管理標(biāo)準(zhǔn)GUI測試能力標(biāo)準(zhǔn)供應(yīng)商資格標(biāo)準(zhǔn)定價(jià)標(biāo)準(zhǔn)波動(dòng)?。簻y試用例穩(wěn)定了重復(fù)性:如回歸測試高風(fēng)險(xiǎn)易于實(shí)現(xiàn)自動(dòng)化手工難以執(zhí)行繁瑣耗時(shí)很多非功能測試都適合自動(dòng)化 API自動(dòng)化測試 性能測試 負(fù)載測試 壓力測試 安全性測試 國際化/本地化測試用于度量軟件系統(tǒng)對(duì)用戶各
12、種操作的響應(yīng)時(shí)間 度量產(chǎn)品在受限環(huán)境下的性能常見任務(wù) 定義性能目標(biāo)、建立性能基準(zhǔn),不斷進(jìn)行系統(tǒng)調(diào)優(yōu) 驗(yàn)證穩(wěn)定性和可靠性,預(yù)知高并發(fā)下系統(tǒng)運(yùn)行情況 決定硬件和軟件采購計(jì)劃模擬許多用戶同時(shí)訪問一臺(tái)服務(wù)器的情況負(fù)載測試可用于 冒煙測試:確定在短時(shí)間內(nèi)負(fù)載較小時(shí)應(yīng)用程序如何執(zhí)行 壓力測試:確定在較長時(shí)間內(nèi)負(fù)載較大時(shí)應(yīng)用程序是否能成功運(yùn)行 容量測試:確定在各種容量下應(yīng)用程序如何執(zhí)行壓力測試是性能測試的一種專門形式 目的是使應(yīng)用程序產(chǎn)生故障 通過增加處理負(fù)載使其性能降低 直到由于資源飽和或發(fā)生錯(cuò)誤而使應(yīng)用程序開始出問題壓力測試在強(qiáng)負(fù)載(大數(shù)據(jù)量、大量并發(fā)用戶等)下的測試,查看應(yīng)用系統(tǒng)的某項(xiàng)功能隱患、系統(tǒng)是
13、否具有良好的容錯(cuò)能力和可恢復(fù)性能力 并發(fā)性能 疲勞強(qiáng)度 大數(shù)據(jù)量關(guān)鍵業(yè)務(wù)應(yīng)用必須應(yīng)用此測試關(guān)鍵業(yè)務(wù)應(yīng)用必須應(yīng)用此測試查找應(yīng)用程序或系統(tǒng)的潛在軟肋 避免被利用來對(duì)系統(tǒng)進(jìn)行攻擊作用 提升客戶滿意度 降低安全風(fēng)險(xiǎn)微軟安全性測試的經(jīng)驗(yàn)總結(jié) 不要使用“系統(tǒng)管理員”權(quán)限來運(yùn)行測試 在一個(gè)安全的文件系統(tǒng)上進(jìn)行測試 不修改任何在注冊(cè)表HKLM下的條目和%programfiles%目錄下的文件 不使用明文存儲(chǔ)或發(fā)送機(jī)密信息微軟安全性測試的經(jīng)驗(yàn)總結(jié) 使用壞數(shù)據(jù)來挑戰(zhàn)應(yīng)用極限 在有2個(gè)或者2個(gè)以上處理器的計(jì)算機(jī)上進(jìn)行測試 盡可能利用工具 多分析源代碼威脅建模(Threat modeling) Review(微軟的一
14、個(gè)威脅模型工具) SDL Threat Modeling Tool靜態(tài)分析(Static analysis) prefix,prefast,fxcop,BadApi運(yùn)行時(shí)分析(動(dòng)態(tài)分析,Runtime analysis) AppVerifier攻擊表面分析(Attack surface analysis) XRAY滲透性攻擊(Penetration) fuzzing, elevation of privileges國際化模型 i18N internationalization model比如 在windows系統(tǒng)通過修改“區(qū)域設(shè)置”中的默認(rèn)習(xí)俗設(shè)置來達(dá)成包括修改 數(shù)字格式、貨幣格式 時(shí)間格式、
15、日期格式 日歷格式、字符集1.決定使用自動(dòng)化測試2.取得測試工具3.測試計(jì)劃、設(shè)計(jì)與開發(fā) 計(jì)劃、feature、測試用例、測試工具、應(yīng)用framework或自己寫工具4. 執(zhí)行并管理測試 執(zhí)行、調(diào)用目標(biāo)應(yīng)用程序執(zhí)行預(yù)定義操作 取得結(jié)果(截屏、取控件值) 比照結(jié)果 結(jié)論與報(bào)告 跟蹤Bug&新build流程 測試狀態(tài)跟蹤5. 測試活動(dòng)的審查和評(píng)估簡單化:測試用例應(yīng)有一個(gè)單一的目標(biāo),測試步驟不超過10-15(不包括設(shè)置和清除步驟)模塊化健壯性和可靠性可重復(fù)使用:避免硬編碼可維護(hù)有記錄獨(dú)立自足:數(shù)據(jù)值獨(dú)立失敗獨(dú)立最終狀態(tài)獨(dú)立1)簡單的自動(dòng)化測試只需要啟動(dòng)一個(gè)程序或一段腳本2)大型的自動(dòng)化測試則
16、依賴復(fù)雜的構(gòu)造框架(framework)確保一輪測試(test pass)產(chǎn)生格式一致、通用的測試報(bào)告3) 構(gòu)造完好的自動(dòng)化測試系統(tǒng)應(yīng)該使得完成整個(gè)測試套件的執(zhí)行就像是按一下按鈕 Test Harness + Automation Framework + Set of Tools = Infrastructure (基礎(chǔ)設(shè)施 ) 測試用例例 Test Cases自動(dòng)化框架 Automation Framework測試框架/工具 Test Harness /Tools1) 用于測試軟件的自動(dòng)化工具 包含軟件和測試數(shù)據(jù)(數(shù)據(jù)經(jīng)過配置) 測試一個(gè)程序單元 控制測試在不同的條件下運(yùn)行 監(jiān)控行為和輸出
17、2) 一般特點(diǎn) 結(jié)構(gòu)化 自我文檔化 自動(dòng)并可重復(fù)執(zhí)行 基于已知數(shù)據(jù) 被設(shè)計(jì)為可測試正常和異常的行為 尤其適合于在不同機(jī)器上進(jìn)行測試的實(shí)現(xiàn) 3) 一般結(jié)構(gòu):測試執(zhí)行引擎+測試腳本儲(chǔ)存庫 Test Harness 的目標(biāo) 測試過程自動(dòng)化。 執(zhí)行測試用例。 生成相關(guān)的測試報(bào)告. Test Harness的組成部分 TCM (Test Case management)測試用例管理 測試代碼框架 UI庫 測試代碼結(jié)構(gòu) 報(bào)告系統(tǒng) 測試用例執(zhí)行引擎 自動(dòng)化測試設(shè)計(jì)-測試框架的典型執(zhí)行過程 自動(dòng)執(zhí)行測試用例(測試用例)保存數(shù)據(jù) 確定附加的數(shù)據(jù)傳遞正常 順序執(zhí)行 隨機(jī)執(zhí)行 指定順序(取決于Test Harnes
18、s或者數(shù)據(jù) 包括測試狀態(tài) 到文件、調(diào)試器或其他位置自動(dòng)化測試設(shè)計(jì)-自動(dòng)化框架1)測試腳本的基礎(chǔ)代碼(Libraries)2)測試的規(guī)范3)測試慣例的集合自動(dòng)化框架的實(shí)例1)UI Libraries -Windows UI Library -Web UI Library2)日志(Logging)3)錯(cuò)誤處理自動(dòng)化框架-日志目標(biāo)(Logging)1)測試日志應(yīng)該易于診斷 -在不需要使用或參考debugger、產(chǎn)品源代碼、測試源代碼 -這并不代表產(chǎn)品或測試的源代碼不能在問題解決前被引用 -僅從執(zhí)行情況的記錄中,測試員應(yīng)該有能力判定并區(qū)分錯(cuò)誤的原因 -為區(qū)分一個(gè)錯(cuò)誤異常,測試和產(chǎn)品代碼必須了解的信息都應(yīng)該在log內(nèi)出現(xiàn)2)測試日志
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度承包山地造林種植與生態(tài)移民安置合同范本3篇
- 二零二四年度SAPHelpPortal用戶體驗(yàn)優(yōu)化合同-提升系統(tǒng)交互效率2篇
- 2024物業(yè)公司承擔(dān)住宅小區(qū)垃圾清運(yùn)的合同
- 2025年度留置車輛處置借款合同4篇
- 2025年grc構(gòu)件生產(chǎn)線投資建設(shè)與運(yùn)營合同3篇
- 年度PAPTFE競爭策略分析報(bào)告
- 年度童書產(chǎn)業(yè)分析報(bào)告
- 2024-2025學(xué)年新教材高中語文基礎(chǔ)過關(guān)訓(xùn)練15諫逐客書含解析部編版必修下冊(cè)
- 二零二五版白糖倉儲(chǔ)物流服務(wù)合同范本2篇
- 2025年理療項(xiàng)目合作協(xié)議范本:特色理療項(xiàng)目合作框架協(xié)議3篇
- 骨科手術(shù)后患者營養(yǎng)情況及營養(yǎng)不良的原因分析,骨傷科論文
- GB/T 24474.1-2020乘運(yùn)質(zhì)量測量第1部分:電梯
- GB/T 12684-2006工業(yè)硼化物分析方法
- 定崗定編定員實(shí)施方案(一)
- 高血壓患者用藥的注意事項(xiàng)講義課件
- 特種作業(yè)安全監(jiān)護(hù)人員培訓(xùn)課件
- (完整)第15章-合成生物學(xué)ppt
- 太平洋戰(zhàn)爭課件
- 封條模板A4打印版
- T∕CGCC 7-2017 焙烤食品用糖漿
- 貨代操作流程及規(guī)范
評(píng)論
0/150
提交評(píng)論