版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第7章:實現(xiàn)章:實現(xiàn) 編碼和測試統(tǒng)稱為實現(xiàn)編碼和測試統(tǒng)稱為實現(xiàn)編碼:把軟件設(shè)計結(jié)果翻譯成程序編碼:把軟件設(shè)計結(jié)果翻譯成程序測試:檢測程序并改正錯誤的過程測試:檢測程序并改正錯誤的過程機器語言機器語言幾乎不使用幾乎不使用匯編語言匯編語言特殊場合使用特殊場合使用高級語言高級語言優(yōu)勢明顯、普遍使用優(yōu)勢明顯、普遍使用 (1)程序設(shè)計語言的劃代)程序設(shè)計語言的劃代 劃代劃代語言語言特點特點級別級別1GL機器語言機器語言不直觀,出錯率高、運行效率高不直觀,出錯率高、運行效率高低級低級2GL匯編語言匯編語言比較直觀,出錯率較小比較直觀,出錯率較小與機器碼一樣長與機器碼一樣長特殊情況下使用特殊情況下使用3G
2、LBASICPASCALC、C+等等利用類英語的語句和命令利用類英語的語句和命令一條語句相當于一條語句相當于5-10條機器碼條機器碼要規(guī)定詳細的算法過程要規(guī)定詳細的算法過程高級高級4GL數(shù)據(jù)庫查詢語言數(shù)據(jù)庫查詢語言程序生成器程序生成器圖形語言圖形語言與自然語言接近與自然語言接近一條語句相當于一條語句相當于30-50條機器碼條機器碼非過程化問題定義非過程化問題定義運行開銷大,效率低運行開銷大,效率低 有理想的有理想的模塊化機制模塊化機制 可讀性好可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu) 便于調(diào)試和提高軟件便于調(diào)試和提高軟件可靠性可靠性 編譯時編譯時發(fā)現(xiàn)錯誤能力強發(fā)現(xiàn)錯誤能力強 有良好的有
3、良好的獨立編譯機制獨立編譯機制(2)選擇編程語言的理論標準)選擇編程語言的理論標準 系統(tǒng)用戶的要求系統(tǒng)用戶的要求 可以使用的編譯程序可以使用的編譯程序 可以得到的軟件工具可以得到的軟件工具 工程規(guī)模工程規(guī)模 程序員的知識程序員的知識 軟件可移植性要求軟件可移植性要求 軟件的應(yīng)用領(lǐng)域軟件的應(yīng)用領(lǐng)域(3)主要的實用標準)主要的實用標準良好的編碼風格:程序代碼邏輯清晰,易讀、易理良好的編碼風格:程序代碼邏輯清晰,易讀、易理解、易維護,能高效利用系統(tǒng)資源等方面。解、易維護,能高效利用系統(tǒng)資源等方面。2. 編碼風格編碼風格編碼風格:編碼風格:又稱又稱程序設(shè)計風格程序設(shè)計風格,是程序設(shè)計者在創(chuàng),是程序設(shè)計
4、者在創(chuàng)作中喜歡或習慣使用的表達自己作品的方式。作中喜歡或習慣使用的表達自己作品的方式。清晰第一、強調(diào)效率清晰第一、強調(diào)效率 內(nèi)部文檔、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出、效率內(nèi)部文檔、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出、效率 恰當?shù)那‘數(shù)臉俗R符標識符 適當?shù)倪m當?shù)淖⒔庾⒔?程序的程序的視覺組織視覺組織(1)程序內(nèi)部的文檔)程序內(nèi)部的文檔 數(shù)據(jù)說明的數(shù)據(jù)說明的次序應(yīng)該標準化次序應(yīng)該標準化 多個變量時,應(yīng)按多個變量時,應(yīng)按字母順序字母順序排列排列 復(fù)雜的數(shù)據(jù)結(jié)構(gòu),應(yīng)用注明數(shù)據(jù)結(jié)構(gòu)的方法復(fù)雜的數(shù)據(jù)結(jié)構(gòu),應(yīng)用注明數(shù)據(jù)結(jié)構(gòu)的方法和特點和特點 (2)數(shù)據(jù)說明)數(shù)據(jù)說明 不要為了節(jié)省空間而把多個語句寫在同一行不要為了節(jié)
5、省空間而把多個語句寫在同一行 盡量避免復(fù)雜的條件測試盡量避免復(fù)雜的條件測試 盡量減少對盡量減少對“非非”條件的測試條件的測試 避免大量使用循環(huán)嵌套和條件嵌套避免大量使用循環(huán)嵌套和條件嵌套 利用括號使邏輯表達式或算術(shù)表達式的運算次序利用括號使邏輯表達式或算術(shù)表達式的運算次序清晰直觀清晰直觀 (3)語句構(gòu)造)語句構(gòu)造 輸入數(shù)據(jù)的檢驗輸入數(shù)據(jù)的檢驗 輸入項組合的合法性檢查輸入項組合的合法性檢查 輸入格式要簡單輸入格式要簡單 使用數(shù)據(jù)結(jié)束標記使用數(shù)據(jù)結(jié)束標記 輸入要求明確(可選項、邊界值)輸入要求明確(可選項、邊界值) 輸入格式一致性輸入格式一致性 良好的輸出報表良好的輸出報表 給所有輸出數(shù)據(jù)加標志給
6、所有輸出數(shù)據(jù)加標志 (4)輸入輸出)輸入輸出效率的三個基本原則效率的三個基本原則效率是性能要求(需求分析階段確定)效率是性能要求(需求分析階段確定)良好的設(shè)計能有效的提高效率良好的設(shè)計能有效的提高效率不能犧牲清晰性和可讀性來提高效率不能犧牲清晰性和可讀性來提高效率 (5)效率)效率 運行效率運行效率 輸入輸出效率輸入輸出效率 存儲器效率存儲器效率u 簡化算術(shù)和邏輯的表達式;簡化算術(shù)和邏輯的表達式;u 減小嵌套循環(huán)的深度;減小嵌套循環(huán)的深度;u 避免使用多維數(shù)組;避免使用多維數(shù)組;u 避免使用指針和復(fù)雜的表;避免使用指針和復(fù)雜的表;u 使用執(zhí)行時間短的算術(shù)運算;使用執(zhí)行時間短的算術(shù)運算;u 不要
7、混合使用不同的數(shù)據(jù)類型;不要混合使用不同的數(shù)據(jù)類型;u 盡量使用整數(shù)運算和布爾表達式;盡量使用整數(shù)運算和布爾表達式;u 使用有良好優(yōu)化特性的編譯程序。使用有良好優(yōu)化特性的編譯程序。 提高運行效率途徑提高運行效率途徑u 控制結(jié)構(gòu)的功能域明確固定;控制結(jié)構(gòu)的功能域明確固定;u 盡量使用高級語言盡量使用高級語言(硬件要求苛刻時使用緊縮存(硬件要求苛刻時使用緊縮存儲器特性的編譯程序以及匯編語言);儲器特性的編譯程序以及匯編語言);u 提高執(zhí)行效率的技術(shù)提高執(zhí)行效率的技術(shù)通常也能提高存儲器效率。通常也能提高存儲器效率。 提高存儲效率途徑提高存儲效率途徑關(guān)鍵關(guān)鍵簡單簡單用戶向計算機提供可理解的輸入信息用戶
8、向計算機提供可理解的輸入信息計算機向用戶提供可理解的輸出信息計算機向用戶提供可理解的輸出信息 提高輸入輸出的效率措施提高輸入輸出的效率措施良良好好的的人人機機交交互互關(guān)鍵關(guān)鍵簡單簡單u 輸入輸入/ /輸出有輸出有緩沖緩沖(減少通信次數(shù));(減少通信次數(shù));u 簡單的簡單的輔存輔存訪問方法;訪問方法;u 輔存的輸入輔存的輸入/ /輸出以輸出以塊塊為單位;為單位;u 考慮考慮終端外設(shè)終端外設(shè)的特性,以提高的質(zhì)量和速度;的特性,以提高的質(zhì)量和速度;u 不采用難以理解的不采用難以理解的超高效超高效的輸入的輸入/ /輸出。輸出。19例例1:注釋:注釋/*add amount to total */TOT
9、AL = AMOUNT+TOTAL/*add monthly-sales to annual-total */TOTAL = AMOUNT+TOTAL例例2:視覺組織:視覺組織空格空格 (A17)ANDNOT(B49)ORC (A17) AND NOT (B49) OR C 例例3:視覺組織:視覺組織移行移行與縮進與縮進 IF () THEN IF () THEN ELSE ENDIF ELSE ENDIF例例4:數(shù)據(jù)說明標準化:數(shù)據(jù)說明標準化 INTEGER size,length,width,cost,price INTEGER cost,length,price,size,width例例
10、5:一行一條語句:一行一條語句 FOR I:=1 TO N-1 DO BEGIN T:=I; FOR J:=I+1 TO N DO IF AJAT THEN T:=J; IF TI THEN BEGIN WORK:=AT; AT:=AI; AI:=WORK; END END; FOR I:=1 TO N-1 DO BEGIN T:=I; FOR J:=I+1 TO N DO IF AJAT THEN T:=J; IF TI THEN BEGIN WORK:=AT; AT:=AI; AI:=WORK; END END;例例6:清晰性:清晰性 a1=a1+a2; a2=a1-a2; a1=a1-a
11、2; a0=a2; a2=a1; a1=a0;例例7:避免使用空:避免使用空ELSE和和IFTHEN IF語句語句if (char=a)if (char=z) cout “This is a letter.”;else cout =a & char=z) cout “This is a letter.”;else cout “This is not a letter.”;例例8:少用否定條件:少用否定條件if ( !(char 9) )if (char = 0 & char = 9) 病人生病病人生病打噴嚏、發(fā)高燒、流鼻涕打噴嚏、發(fā)高燒、流鼻涕 醫(yī)生診斷醫(yī)生診斷測血壓、量體溫,是否存測血壓、量
12、體溫,是否存在數(shù)據(jù)異常在數(shù)據(jù)異常 醫(yī)生確定癥狀根源醫(yī)生確定癥狀根源確定病人感冒確定病人感冒 治療與處方治療與處方處方處方 三天后復(fù)診三天后復(fù)診測血壓、量心跳測血壓、量心跳發(fā)現(xiàn)失效觀察錯誤定位缺陷處理缺陷回歸測試測試:測試:為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程1. 軟件測試的目標軟件測試的目標7.2 軟件測試基礎(chǔ)軟件測試基礎(chǔ) 成功的測試:成功的測試:發(fā)現(xiàn)了以前未發(fā)現(xiàn)的錯誤發(fā)現(xiàn)了以前未發(fā)現(xiàn)的錯誤 好的測試方案:好的測試方案:有可能發(fā)現(xiàn)尚未發(fā)現(xiàn)的錯誤有可能發(fā)現(xiàn)尚未發(fā)現(xiàn)的錯誤2. 軟件測試準則軟件測試準則 測試應(yīng)能測試應(yīng)能追溯追溯到用戶需求;到用戶需求; 在測試前就
13、制定出在測試前就制定出測試計劃測試計劃; 把把Pareto原理應(yīng)用到軟件測試中;原理應(yīng)用到軟件測試中; 從從“小規(guī)模小規(guī)模”測試開始,測試開始,逐步進行逐步進行; 第三方第三方測試,效果更佳;測試,效果更佳; 有有用戶參與用戶參與的測試,更完美。的測試,更完美。 測試只能證明缺陷的存在,但絕不能證明缺陷不存在測試只能證明缺陷的存在,但絕不能證明缺陷不存在不可能做窮盡測試不可能做窮盡測試Dijkstra定律定律: 假設(shè)一段接受六個字符密碼的程序,并保證第一假設(shè)一段接受六個字符密碼的程序,并保證第一個字符必須是數(shù)字,其余的是字符數(shù)字型。如果我們個字符必須是數(shù)字,其余的是字符數(shù)字型。如果我們的目標是
14、窮盡測試,那么需要測試多少個輸入數(shù)據(jù)的的目標是窮盡測試,那么需要測試多少個輸入數(shù)據(jù)的組合呢?組合呢? 共有共有1010(62625 5)=9161328320=9161328320假設(shè)每個組合測試時間假設(shè)每個組合測試時間1010秒,測試這些組合將用秒,測試這些組合將用29052905年。年。 早測試,早發(fā)現(xiàn),早解決早測試,早發(fā)現(xiàn),早解決目標目標在用戶發(fā)現(xiàn)缺陷之前找到缺陷在用戶發(fā)現(xiàn)缺陷之前找到缺陷需求階段需求階段設(shè)計階段設(shè)計階段編碼階段編碼階段測試階段測試階段已發(fā)現(xiàn)已發(fā)現(xiàn)的缺陷的缺陷正確的正確的需求需求正確的正確的設(shè)計設(shè)計正確的正確的編碼編碼需求中需求中的缺陷的缺陷需求中需求中的缺陷的缺陷需求中
15、需求中的缺陷的缺陷需求中需求中的缺陷的缺陷設(shè)計中設(shè)計中的缺陷的缺陷設(shè)計中設(shè)計中的缺陷的缺陷設(shè)計中設(shè)計中的缺陷的缺陷代碼中代碼中的缺陷的缺陷代碼中代碼中的缺陷的缺陷沒有發(fā)現(xiàn)沒有發(fā)現(xiàn)的缺陷的缺陷早期階段產(chǎn)生的缺陷傳遞過程早期階段產(chǎn)生的缺陷傳遞過程缺陷對軟件成本的綜合作用缺陷對軟件成本的綜合作用101001000需求需求 設(shè)計設(shè)計 編碼編碼 測試測試 交付后交付后代價代價 3W1H(Why、What、Where、How)同)同樣重要!樣重要! 有缺陷的測試用例比有缺陷的產(chǎn)品更危險!有缺陷的測試用例比有缺陷的產(chǎn)品更危險! 測試用例需要逐步完善;測試用例需要逐步完善; 缺陷的集群中效應(yīng)缺陷的集群中效應(yīng)已
16、發(fā)現(xiàn)的缺陷已發(fā)現(xiàn)的缺陷尚未發(fā)現(xiàn)的缺陷尚未發(fā)現(xiàn)的缺陷缺陷對軟件成本的綜合作用缺陷對軟件成本的綜合作用 缺陷預(yù)防和缺陷檢測間的精心平衡缺陷預(yù)防和缺陷檢測間的精心平衡鐘擺的終結(jié)鐘擺的終結(jié)關(guān)注缺陷預(yù)防關(guān)注缺陷預(yù)防關(guān)注缺陷檢測關(guān)注缺陷檢測最后一分鐘匆忙最后一分鐘匆忙質(zhì)量更依賴測試人員質(zhì)量更依賴測試人員測試者是測試者是“英雄英雄”、“對手對手”占用資源但可得到好的回報占用資源但可得到好的回報質(zhì)量制度化質(zhì)量制度化使質(zhì)量對用戶可見使質(zhì)量對用戶可見不是一個健康的狀態(tài)!不是一個健康的狀態(tài)!沒有標準,缺陷滋生沒有標準,缺陷滋生缺少檢測,缺陷到達用戶缺少檢測,缺陷到達用戶雙刃劍雙刃劍過度注重過程過度注重過程缺少檢測,
17、缺陷到達用戶缺少檢測,缺陷到達用戶 自信的團隊、信任的團隊自信的團隊、信任的團隊 為為“測試測試”而自豪,就會處理好而自豪,就會處理好“所有的一切所有的一切” De Marco、Lister 人件人件黑衣團隊黑衣團隊 職業(yè)測試的最大瓶頸是缺乏自信職業(yè)測試的最大瓶頸是缺乏自信 自動化綜合癥自動化綜合癥 自動化失敗的例子比成功的多自動化失敗的例子比成功的多 重復(fù)的勞動必然導(dǎo)致自動化,對自動化缺乏了解必重復(fù)的勞動必然導(dǎo)致自動化,對自動化缺乏了解必然導(dǎo)致測試的失敗然導(dǎo)致測試的失敗 根據(jù)現(xiàn)有的軟件測試知識,以下哪種產(chǎn)品可根據(jù)現(xiàn)有的軟件測試知識,以下哪種產(chǎn)品可以認為是高質(zhì)量的?對自己的答案進行說明。以認為
18、是高質(zhì)量的?對自己的答案進行說明。請思考:請思考:A產(chǎn)品連續(xù)三個版本分別發(fā)現(xiàn)產(chǎn)品連續(xù)三個版本分別發(fā)現(xiàn)0、79和和21個缺陷。個缺陷。B產(chǎn)品連續(xù)三個版本分別發(fā)現(xiàn)產(chǎn)品連續(xù)三個版本分別發(fā)現(xiàn)85、90和和79個缺陷。個缺陷。(1)定義)定義缺陷(缺陷(Faults)錯誤(錯誤(Errors)失效(失效(Failures)計算機系統(tǒng)或程序中存在的任何破壞正常運行能力計算機系統(tǒng)或程序中存在的任何破壞正常運行能力的的問題、錯誤問題、錯誤,或者隱藏的,或者隱藏的功能缺陷、瑕疵功能缺陷、瑕疵,導(dǎo)致軟件,導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。產(chǎn)品在某種程度上不能滿足用戶的需要。 技術(shù)問題技術(shù)問題 軟件本身軟
19、件本身 團隊協(xié)作問題團隊協(xié)作問題 功能理解功能理解 特性描述特性描述 需求變化需求變化 重視不夠重視不夠 溝通不夠溝通不夠13-6 10 20-70 40-1000Boehm Software Engineering Economic(5 5)測試階段的信息流)測試階段的信息流測試測試評價評價調(diào)試調(diào)試可靠可靠性模性模型型軟件配置軟件配置測試配置測試配置測試測試結(jié)果結(jié)果預(yù)期結(jié)果預(yù)期結(jié)果錯誤錯誤錯誤率數(shù)據(jù)錯誤率數(shù)據(jù)正確正確可靠性預(yù)測可靠性預(yù)測測試階段的信息流測試階段的信息流7.3 軟件測試類型軟件測試類型軟件軟件測試測試是否運行是否運行程序程序 靜態(tài)測試靜態(tài)測試動態(tài)測試動態(tài)測試功能測試功能測試性能
20、測試性能測試邏輯功能測試邏輯功能測試界面測試界面測試易用性測試易用性測試安裝測試安裝測試兼容性測試兼容性測試一般性能測試一般性能測試穩(wěn)定性測試穩(wěn)定性測試負載測試負載測試壓力測試壓力測試其它其它 回歸測試回歸測試冒煙測試冒煙測試隨機測試隨機測試本地化測試本地化測試ALACALAC測試測試階段階段單元測試單元測試集成測試集成測試系統(tǒng)測試系統(tǒng)測試驗收測試驗收測試測試測試測試測試是否查看是否查看源代碼源代碼 白盒測試白盒測試黑盒測試黑盒測試灰盒測試灰盒測試功能測試功能測試 / 基于規(guī)格說明的測試基于規(guī)格說明的測試 / 數(shù)據(jù)驅(qū)動測試數(shù)據(jù)驅(qū)動測試觀點觀點:任何程序都可以看作是從輸入定義域到任何程序都可以看
21、作是從輸入定義域到輸出值域的映射輸出值域的映射,把被測程序看作一個打不開,把被測程序看作一個打不開的黑盒,黑盒里面的內(nèi)容的黑盒,黑盒里面的內(nèi)容(實現(xiàn)實現(xiàn))是完全不知道是完全不知道的,只知道軟件要做什么(功能)。的,只知道軟件要做什么(功能)。黑盒測試黑盒測試的內(nèi)容的內(nèi)容不正確或遺漏了的功能不正確或遺漏了的功能正確地接受輸入數(shù)據(jù)正確地接受輸入數(shù)據(jù)并產(chǎn)生正確地輸出并產(chǎn)生正確地輸出界面出錯和界面美觀問題界面出錯和界面美觀問題安裝中的出現(xiàn)的問題安裝中的出現(xiàn)的問題初始化和終止錯誤問題初始化和終止錯誤問題操作邏輯問題操作邏輯問題 測試用例重用測試用例重用不關(guān)心軟件實現(xiàn)不關(guān)心軟件實現(xiàn)縮短項目開發(fā)時間縮短項目
22、開發(fā)時間用例設(shè)計與軟件實現(xiàn)用例設(shè)計與軟件實現(xiàn)同時進行同時進行常用方法:等價類劃分、邊界值分析、因果圖法、常用方法:等價類劃分、邊界值分析、因果圖法、錯誤推測法、狀態(tài)轉(zhuǎn)換測試、功能圖法等。錯誤推測法、狀態(tài)轉(zhuǎn)換測試、功能圖法等。優(yōu)優(yōu) 點點觀點:觀點:透明的盒子透明的盒子,能夠,能夠了解程序的內(nèi)部結(jié)構(gòu)了解程序的內(nèi)部結(jié)構(gòu)。測試人員利用程序的內(nèi)部邏輯結(jié)構(gòu)和相關(guān)信息,測試人員利用程序的內(nèi)部邏輯結(jié)構(gòu)和相關(guān)信息,對程序的對程序的內(nèi)部結(jié)構(gòu)和路徑內(nèi)部結(jié)構(gòu)和路徑進行測試。進行測試。研究程序的內(nèi)部結(jié)構(gòu),從大量的測試用例中研究程序的內(nèi)部結(jié)構(gòu),從大量的測試用例中挑選挑選盡可能少的測試用例盡可能少的測試用例,來覆蓋程序的內(nèi)
23、部結(jié)構(gòu)。,來覆蓋程序的內(nèi)部結(jié)構(gòu)。結(jié)構(gòu)測試結(jié)構(gòu)測試/ / 透明盒子測試透明盒子測試易于定位錯誤的原因和位置易于定位錯誤的原因和位置即使白盒測試覆蓋了程序中的所有路徑,仍不即使白盒測試覆蓋了程序中的所有路徑,仍不一定能發(fā)現(xiàn)程序中的全部錯誤。這是因為:一定能發(fā)現(xiàn)程序中的全部錯誤。這是因為:靜態(tài)方法靜態(tài)方法代碼檢查法代碼檢查法靜態(tài)結(jié)構(gòu)分析法靜態(tài)結(jié)構(gòu)分析法代碼質(zhì)量度量法代碼質(zhì)量度量法白盒測試方法動態(tài)方法動態(tài)方法邏輯覆蓋法邏輯覆蓋法基本路徑法基本路徑法靜態(tài)結(jié)構(gòu)分析法靜態(tài)結(jié)構(gòu)分析法函數(shù)調(diào)用圖模塊控制流圖內(nèi)部文件調(diào)用圖子程序表宏參數(shù)表函數(shù)參數(shù)表系統(tǒng)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)接口控制邏輯代碼質(zhì)量度量法代碼質(zhì)量度量法根據(jù)根
24、據(jù)ISO/IEC 9126國際標準的定義:國際標準的定義:u功能性(功能性(Functionality)u可靠性(可靠性(Reliability)u可用性可用性 (Usability)u效率效率 (Efficiency)u可維護性可維護性(Maintainability)u可移植性(可移植性(Portability) 構(gòu)造軟件的靜態(tài)質(zhì)量度量模型,通過量化的數(shù)據(jù)構(gòu)造軟件的靜態(tài)質(zhì)量度量模型,通過量化的數(shù)據(jù)評估被測程序的質(zhì)量。評估被測程序的質(zhì)量。u1999年,美國洛克希德年,美國洛克希德-馬丁馬丁公司發(fā)表了灰盒測試法公司發(fā)表了灰盒測試法的論文,提出了灰盒測試法。的論文,提出了灰盒測試法。u單純從名稱
25、上來看,灰盒測試是介于黑盒測試與白單純從名稱上來看,灰盒測試是介于黑盒測試與白盒測試之間的一種測試方式盒測試之間的一種測試方式。u灰盒測試是基于程序運行時的外部表現(xiàn)同時又結(jié)合灰盒測試是基于程序運行時的外部表現(xiàn)同時又結(jié)合程序內(nèi)部邏輯結(jié)構(gòu)來設(shè)計用例。程序內(nèi)部邏輯結(jié)構(gòu)來設(shè)計用例。52 灰盒測試與黑盒測試的區(qū)別灰盒測試與黑盒測試的區(qū)別u黑盒只要關(guān)心系統(tǒng)的邊界,黑盒只要關(guān)心系統(tǒng)的邊界,不不關(guān)心模塊間協(xié)作關(guān)心模塊間協(xié)作;u灰盒灰盒既既關(guān)心系統(tǒng)的邊界,關(guān)心系統(tǒng)的邊界,更更關(guān)心模塊間協(xié)作。關(guān)心模塊間協(xié)作。 灰盒測試與白盒測試的區(qū)別灰盒測試與白盒測試的區(qū)別u白盒需要深入地了解內(nèi)部模塊的實現(xiàn)細節(jié)白盒需要深入地了解
26、內(nèi)部模塊的實現(xiàn)細節(jié);u灰盒對內(nèi)部灰盒對內(nèi)部 模塊依然把它當成一個黑盒來看待。模塊依然把它當成一個黑盒來看待。53 優(yōu)點優(yōu)點u能夠進行基于能夠進行基于需求需求的覆蓋測試和基于的覆蓋測試和基于程序路徑程序路徑覆覆蓋的測試;蓋的測試;u能夠保證設(shè)計的能夠保證設(shè)計的黑盒測試用例的完整性黑盒測試用例的完整性,防止遺,防止遺漏軟件的一些不常用的功能或功能組合;漏軟件的一些不常用的功能或功能組合;u能夠能夠避免由于避免由于需求不詳細或設(shè)計不完整需求不詳細或設(shè)計不完整對測試造對測試造成的影響。成的影響。 缺點缺點 投入的時間比黑盒測試大概多投入的時間比黑盒測試大概多20-40的時間;的時間; 對測試人員的要求
27、比黑盒測試高對測試人員的要求比黑盒測試高; 不如白盒測試深入不如白盒測試深入; 不適用于簡單的系統(tǒng)不適用于簡單的系統(tǒng)。階段階段軟件軟件測試測試是否運行是否運行程序程序 是否查看是否查看源代碼源代碼 其它其它 單元測試單元測試集成測試集成測試系統(tǒng)測試系統(tǒng)測試驗收測試驗收測試靜態(tài)測試靜態(tài)測試動態(tài)測試動態(tài)測試白盒測試白盒測試黑盒測試黑盒測試回歸測試回歸測試冒煙測試冒煙測試隨機測試隨機測試功能測試功能測試性能測試性能測試邏輯功能測試邏輯功能測試界面測試界面測試易用性測試易用性測試安裝測試安裝測試兼容性測試兼容性測試一般性能測試一般性能測試穩(wěn)定性測試穩(wěn)定性測試負載測試負載測試壓力測試壓力測試本地化測試本
28、地化測試ALACALAC測試測試測試測試測試測試灰盒測試灰盒測試階段測試階段測試系統(tǒng)測試系統(tǒng)測試 集成測試集成測試 驗收測試驗收測試 測試測試測試測試方法:方法:白盒測試方法白盒測試方法內(nèi)容:運行結(jié)果正確性、容錯處理、邊界值處理等。內(nèi)容:運行結(jié)果正確性、容錯處理、邊界值處理等。 測試用例設(shè)計:白盒測試工程師或開發(fā)人員測試用例設(shè)計:白盒測試工程師或開發(fā)人員測試對象:測試對象:程序(包括注釋)、文檔程序(包括注釋)、文檔 程序必須通過所有單元測試用例程序必須通過所有單元測試用例語句的覆蓋率達到語句的覆蓋率達到100%分支的覆蓋率達到分支的覆蓋率達到85%將通過測試的單元模塊組裝成系統(tǒng)或子系統(tǒng),將通
29、過測試的單元模塊組裝成系統(tǒng)或子系統(tǒng),再進行測試再進行測試方法:白盒測試方法、黑盒測試方法方法:白盒測試方法、黑盒測試方法內(nèi)容:模塊間的接口,單元模塊間的協(xié)同配內(nèi)容:模塊間的接口,單元模塊間的協(xié)同配合合 對象:對象:單元測試的模塊、單元測試的模塊、概要設(shè)計概要設(shè)計文檔文檔 系統(tǒng)測試是測試的重點系統(tǒng)測試是測試的重點方法:黑盒測試方法方法:黑盒測試方法內(nèi)容:軟件的功能、性能、運行的軟硬件環(huán)內(nèi)容:軟件的功能、性能、運行的軟硬件環(huán)境。境。對象:對象:系統(tǒng)需求規(guī)格說明書系統(tǒng)需求規(guī)格說明書、文檔、系、文檔、系統(tǒng)統(tǒng)驗收測試是指按照驗收測試是指按照項目任務(wù)書或合同、供需雙方約定的驗項目任務(wù)書或合同、供需雙方約定
30、的驗收依據(jù)文檔收依據(jù)文檔進行的對整個系統(tǒng)的測試與評審,用戶決定是進行的對整個系統(tǒng)的測試與評審,用戶決定是接收接收或拒收或拒收系統(tǒng)。系統(tǒng)。驗收測試又分為驗收測試又分為測試和測試和測試測試測試指的是由用戶、測試人員、開發(fā)人員等共同參與的內(nèi)測試指的是由用戶、測試人員、開發(fā)人員等共同參與的內(nèi)部測試部測試 。測試指的是內(nèi)測后的公測,即完全交給最終用戶測試測試指的是內(nèi)測后的公測,即完全交給最終用戶測試 。 階段階段軟件軟件測試測試是否運行是否運行程序程序 是否查看是否查看源代碼源代碼 其它其它 單元測試單元測試集成測試集成測試系統(tǒng)測試系統(tǒng)測試驗收測試驗收測試靜態(tài)測試靜態(tài)測試動態(tài)測試動態(tài)測試白盒測試白盒測試
31、黑盒測試黑盒測試回歸測試回歸測試冒煙測試冒煙測試隨機測試隨機測試功能測試功能測試性能測試性能測試邏輯功能測試邏輯功能測試界面測試界面測試易用性測試易用性測試安裝測試安裝測試兼容性測試兼容性測試一般性能測試一般性能測試穩(wěn)定性測試穩(wěn)定性測試負載測試負載測試壓力測試壓力測試本地化測試本地化測試ALACALAC測試測試測試測試測試測試灰盒測試灰盒測試定義:通過自動化測試工具模擬定義:通過自動化測試工具模擬正常、峰正常、峰值、異常負載值、異常負載等條件對系統(tǒng)各項性能進行測試。等條件對系統(tǒng)各項性能進行測試。目的:驗證用戶提出的目的:驗證用戶提出的性能指標性能指標,發(fā)現(xiàn)系,發(fā)現(xiàn)系統(tǒng)存在的統(tǒng)存在的性能瓶頸性能
32、瓶頸,優(yōu)化系統(tǒng)優(yōu)化系統(tǒng)。性能測試性能測試穩(wěn)定性測試穩(wěn)定性測試 負載測試負載測試 壓力測試壓力測試 壓力負載測試壓力負載測試 客戶端發(fā)出請求到得到客戶端發(fā)出請求到得到 響應(yīng)的整個過程所經(jīng)歷的時響應(yīng)的整個過程所經(jīng)歷的時間間響應(yīng)時間響應(yīng)時間 響應(yīng)時間響應(yīng)時間=網(wǎng)絡(luò)傳輸時間網(wǎng)絡(luò)傳輸時間2+服務(wù)器處理時間服務(wù)器處理時間+客戶端顯示時間客戶端顯示時間單位時間內(nèi)流經(jīng)被測系統(tǒng)的數(shù)據(jù)流量(單位時間內(nèi)流經(jīng)被測系統(tǒng)的數(shù)據(jù)流量(b/sb/s););單位時間內(nèi)系統(tǒng)處理的客戶請求的數(shù)量;單位時間內(nèi)系統(tǒng)處理的客戶請求的數(shù)量;吞吐量吞吐量軟件系統(tǒng)的性能承載能力軟件系統(tǒng)的性能承載能力l 并發(fā):指在某一給定時間內(nèi),某個特定點上進
33、行會并發(fā):指在某一給定時間內(nèi),某個特定點上進行會話操作的用戶數(shù)(陸續(xù)交替執(zhí)行)。話操作的用戶數(shù)(陸續(xù)交替執(zhí)行)。l 并行:用戶同時運行,操作步驟相同。并行:用戶同時運行,操作步驟相同。并發(fā)并發(fā)并行與并發(fā)的模擬?并行與并發(fā)的模擬?指系統(tǒng)各種資源的使用程度指系統(tǒng)各種資源的使用程度如:服務(wù)器的如:服務(wù)器的CPUCPU利用率、內(nèi)存利用率、磁利用率、內(nèi)存利用率、磁盤利用率、網(wǎng)絡(luò)帶寬利用率等。盤利用率、網(wǎng)絡(luò)帶寬利用率等。資源利用率資源利用率滿足系統(tǒng)的性能指標情況下,滿足系統(tǒng)的性能指標情況下,系統(tǒng)所能夠承受系統(tǒng)所能夠承受的最大負載量的最大負載量。通常是指持續(xù)不斷的給被測系統(tǒng)增加壓力,直通常是指持續(xù)不斷的給被
34、測系統(tǒng)增加壓力,直到將被測系統(tǒng)壓垮為止。到將被測系統(tǒng)壓垮為止。系統(tǒng)所能承受的最大壓力系統(tǒng)所能承受的最大壓力并發(fā)性能測試并發(fā)性能測試 逐漸增加負載,直到系統(tǒng)的瓶頸或者不能接逐漸增加負載,直到系統(tǒng)的瓶頸或者不能接收的性能點,通過綜合分析來確定系統(tǒng)并發(fā)收的性能點,通過綜合分析來確定系統(tǒng)并發(fā)性能的過程。性能的過程。目的:考察客戶端應(yīng)用性能目的:考察客戶端應(yīng)用性能入口:客戶端入口:客戶端負載測試負載測試+壓力測試壓力測試疲勞強度測試疲勞強度測試 在系統(tǒng)穩(wěn)定運行情況下能夠支持的最大并發(fā)在系統(tǒng)穩(wěn)定運行情況下能夠支持的最大并發(fā)用戶數(shù)或者日常運行用戶數(shù),持續(xù)執(zhí)行一段用戶數(shù)或者日常運行用戶數(shù),持續(xù)執(zhí)行一段時間業(yè)務(wù)
35、,通過綜合分析各項指標來確定系時間業(yè)務(wù),通過綜合分析各項指標來確定系統(tǒng)處理最大工作量強度性能的過程。統(tǒng)處理最大工作量強度性能的過程。原則:系統(tǒng)長期不間斷運行原則:系統(tǒng)長期不間斷運行大數(shù)據(jù)量測試大數(shù)據(jù)量測試 獨立的數(shù)據(jù)量測試獨立的數(shù)據(jù)量測試 針對某些系統(tǒng)存儲、傳輸、統(tǒng)計、查詢等業(yè)務(wù)進針對某些系統(tǒng)存儲、傳輸、統(tǒng)計、查詢等業(yè)務(wù)進行大數(shù)據(jù)量測試。行大數(shù)據(jù)量測試。 綜合數(shù)據(jù)量測試綜合數(shù)據(jù)量測試 壓力測試負載測試相結(jié)合的綜合測試方案。壓力測試負載測試相結(jié)合的綜合測試方案。階段階段軟件軟件測試測試是否運行是否運行程序程序 是否查看是否查看源代碼源代碼 其它其它 單元測試單元測試集成測試集成測試系統(tǒng)測試系統(tǒng)測試驗收測試驗收測試靜態(tài)測試靜態(tài)測試動態(tài)測試動態(tài)測試白盒測試白盒測試黑盒測試黑盒測試回歸測試回歸測試冒煙測試冒煙測試隨機測試隨機測試功能測試功能測試性能測試性能測試邏輯功能測試邏輯功能測試界面測試界面測試易用性測試易用性測試安裝測試安裝測試兼容性測試兼容性測試一般性能測試一般性能測試穩(wěn)定性測試穩(wěn)定性測試負載測試負載測試壓力測試壓力測試本地化測試本地化測試ALACALAC測試測試測試測試測試測試灰盒測試灰盒測試回歸測試回歸測試其它測試其它測試冒煙測試冒煙測試
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化療的護理小講課
- 浙教版(2023)小學(xué)信息技術(shù)三年級上冊第13課《分解問題步驟》說課稿及反思
- 企業(yè)客戶管理基礎(chǔ)知識
- 一體機培訓(xùn)課件
- 淄博鋼質(zhì)卷簾門施工方案
- 平邑2015年元旦競賽試題
- 模板安裝施工方案
- 平行線的性質(zhì)(中考題)
- 五鐘演講稿勵志故事
- 平行四邊形單元測試題(華師大版含答案)
- 昌樂二中271高效課堂培訓(xùn)與評價ppt課件
- 顫?。ㄅ两鹕。┲嗅t(yī)護理常規(guī)
- 豬場名詞及指標講義
- 果膠項目商業(yè)計劃書(模板范本)
- 旋挖鉆成孔掏渣筒沉渣處理施工工藝
- T∕CHTS 10040-2021 公路無機結(jié)合料穩(wěn)定粒料基層振動法施工技術(shù)指南
- 集團后備人才培養(yǎng)方案
- 腦卒中偏癱患者早期康復(fù)護理現(xiàn)狀(一)
- 國家開放大學(xué)電大本科《機電控制工程基礎(chǔ)》2023-2024期末試題及答案(試卷代號:1116)
- 個體診所藥品清單
- 急救技術(shù)-洗胃術(shù) (2)
評論
0/150
提交評論