




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件質量保證軟件質量保證 定義軟件質量和軟件質量保證定義軟件質量和軟件質量保證 解釋軟件開發(fā)各個階段解釋軟件開發(fā)各個階段 SQA 的目標的目標 實現(xiàn)軟件質量保證實現(xiàn)軟件質量保證 建立質量管理體系建立質量管理體系 建立質量計劃建立質量計劃 質量保證質量保證 質量控制的輸入質量控制的輸入 質量控制的手段和技巧質量控制的手段和技巧 世界上不存在沒有缺陷的軟件。世界上不存在沒有缺陷的軟件。 可以通過兩種途徑開發(fā)出沒有錯誤的軟件:可以通過兩種途徑開發(fā)出沒有錯誤的軟件: 在一開始就防止引入錯誤。在一開始就防止引入錯誤。 識別潛藏在代碼中的錯誤,找到并消滅它們。識別潛藏在代碼中的錯誤,找到并消滅它們。 軟件
2、質量是軟件產品滿足使用要求的程軟件質量是軟件產品滿足使用要求的程度。對于軟件質量的衡量,就是高質量度。對于軟件質量的衡量,就是高質量的軟件系統(tǒng)能夠準時地交付給用戶,所的軟件系統(tǒng)能夠準時地交付給用戶,所耗費的成本不超出預算,并且最重要的耗費的成本不超出預算,并且最重要的是,能夠正常地運行。是,能夠正常地運行?!罢5剡\行正常地運行”意味著該軟件必須盡可能沒有缺陷意味著該軟件必須盡可能沒有缺陷(bug)。 理解:理解: 軟件需求是質量度量的基礎,與需求不符就軟件需求是質量度量的基礎,與需求不符就是質量不高是質量不高 完成的成本和完成的時間都應該在計劃范圍完成的成本和完成的時間都應該在計劃范圍內內
3、開發(fā)出的軟件產品應該是可靠的和可維護的開發(fā)出的軟件產品應該是可靠的和可維護的 質量保證是一個活動,它向所有有關的人提質量保證是一個活動,它向所有有關的人提供證據(jù)以確立質量功能正在按需求運行的信供證據(jù)以確立質量功能正在按需求運行的信心。心。 軟件質量保證是一系列系統(tǒng)性的活動,它提軟件質量保證是一系列系統(tǒng)性的活動,它提供開發(fā)出滿足使用要求產品的軟件過程的能供開發(fā)出滿足使用要求產品的軟件過程的能力證據(jù)。力證據(jù)。 需求分析:需求分析: 確??蛻羲蟮南到y(tǒng)是可行的。確??蛻羲蟮南到y(tǒng)是可行的。 確??蛻糁付ǖ男枨蟠_實能夠滿足他的真正確??蛻糁付ǖ男枨蟠_實能夠滿足他的真正要求。要求。 避免開發(fā)者和客戶
4、之間的誤解。避免開發(fā)者和客戶之間的誤解。 向用戶提供為滿足他所提出的需求而實際構建向用戶提供為滿足他所提出的需求而實際構建的適當軟件系統(tǒng)。的適當軟件系統(tǒng)。 軟件規(guī)格說明軟件規(guī)格說明: 通過建立需求跟蹤文檔,確保規(guī)格說明書與通過建立需求跟蹤文檔,確保規(guī)格說明書與系統(tǒng)需求保持一致。系統(tǒng)需求保持一致。 確保規(guī)格說明書能適當?shù)馗倪M系統(tǒng)的靈活性、確保規(guī)格說明書能適當?shù)馗倪M系統(tǒng)的靈活性、可維護性以及性能??删S護性以及性能。 確保已建立了測試策略。確保已建立了測試策略。 確保已建立了現(xiàn)實的開發(fā)進度表,包括確保已建立了現(xiàn)實的開發(fā)進度表,包括預定的評審。預定的評審。 確保已為系統(tǒng)設計了正式的變更規(guī)程。確保已為系
5、統(tǒng)設計了正式的變更規(guī)程。 設計:設計: 確保已建立用于描述設計的標準,并且確保遵確保已建立用于描述設計的標準,并且確保遵循這些標準。循這些標準。 確保適當?shù)乜刂撇⒂梦臋n記錄對設計進行的變確保適當?shù)乜刂撇⒂梦臋n記錄對設計進行的變更。更。 確保在系統(tǒng)設計組件已按照商定的準則得到批確保在系統(tǒng)設計組件已按照商定的準則得到批準之后才開始編碼。準之后才開始編碼。 確保對設計的評審按照進度進行確保對設計的評審按照進度進行。 編碼:編碼: 確保代碼遵循已建立的風格、結構和文檔標準。確保代碼遵循已建立的風格、結構和文檔標準。 確保代碼經(jīng)過適當測試和集成,同時對編碼模確保代碼經(jīng)過適當測試和集成,同時對編碼模塊的修
6、改得到適當?shù)臉俗R。塊的修改得到適當?shù)臉俗R。 查看代碼編寫是否遵循既定的進度。查看代碼編寫是否遵循既定的進度。 確保代碼評審按照進度進行。確保代碼評審按照進度進行。 測試:測試: 確保測試計劃的建立和遵循。確保測試計劃的建立和遵循。 確保創(chuàng)建的測試計劃能夠滿足所有系統(tǒng)規(guī)格說確保創(chuàng)建的測試計劃能夠滿足所有系統(tǒng)規(guī)格說明書的要求。明書的要求。 確保經(jīng)過測試和返工后軟件與規(guī)格說明書保持確保經(jīng)過測試和返工后軟件與規(guī)格說明書保持一致一致。 維護:維護: 確保代碼和文檔的一致性。確保代碼和文檔的一致性。 確保對已建立的變更控制過程進行監(jiān)測,包括確保對已建立的變更控制過程進行監(jiān)測,包括將變更集成到軟件的產品版本
7、中的過程。將變更集成到軟件的產品版本中的過程。 確保對代碼的修改遵循編碼標準,并且要對其確保對代碼的修改遵循編碼標準,并且要對其進行評審,不要破壞整個代碼結構。進行評審,不要破壞整個代碼結構。 質量管理的發(fā)展和趨勢質量管理的發(fā)展和趨勢 質量管理體系質量管理體系 建立質量計劃建立質量計劃 質量保證質量保證 質量控制的輸入質量控制的輸入 質量控制的手段和技巧質量控制的輸出質量控制的手段和技巧質量控制的輸出 質量管理發(fā)展五個階段質量管理發(fā)展五個階段1900手工操作者手工操作者專職檢驗員專職檢驗員1920過程統(tǒng)計技術過程統(tǒng)計技術1931全面質量管理全面質量管理19602000以顧客為中心以顧客為中心階
8、段時間 質量管理發(fā)展趨勢質量管理發(fā)展趨勢由針對以產品生產制造由針對以產品生產制造服務質量管理服務質量管理到行政部門工作質量。到行政部門工作質量。由面向以產品生存周期的由面向以產品生存周期的服務質量管理轉向服務質量管理轉向質量管理質量管理。軟件產業(yè)要經(jīng)歷三個不同時代軟件產業(yè)要經(jīng)歷三個不同時代 結構化生產時代結構化生產時代(70年代中期至年代中期至90年代中期年代中期):結構:結構化分析;結構化設計;結構化程序設計;結構化化分析;結構化設計;結構化程序設計;結構化測試;結構化審查與走查。測試;結構化審查與走查。 以過程為中心的時代以過程為中心的時代(從從80年代中期至年代中期至2010年前后年前后
9、):寓質量和效率于生產過程之中;關于軟件過程的寓質量和效率于生產過程之中;關于軟件過程的主要流派主要流派(ISO 9000,CMM)。 軟件工業(yè)化生產時代軟件工業(yè)化生產時代(1995年開始年開始):基礎技術:基礎技術(軟軟件過程技術,面向對象技術,基于構件的開發(fā)技件過程技術,面向對象技術,基于構件的開發(fā)技術術);主要問題;主要問題(標準化,產業(yè)文化,政策法規(guī)標準化,產業(yè)文化,政策法規(guī));對前途的估計對前途的估計(我國我國2005年可以進入軟件工業(yè)化生年可以進入軟件工業(yè)化生產時代產時代)。 項目質量管理項目質量管理 質量管理需要保證整個項目都要滿足設計時的質量管理需要保證整個項目都要滿足設計時的
10、需要需要 項目質量管理包括了所有的活動,這些活動決項目質量管理包括了所有的活動,這些活動決定了質量策略、質量目標和責任。而這些都需定了質量策略、質量目標和責任。而這些都需要被質量計劃、質量控制、質量保證和質量改要被質量計劃、質量控制、質量保證和質量改進等活動完成。進等活動完成。 三個核心過程三個核心過程: 質量管理質量管理確認質量標準是關于項目目的、項目確認質量標準是關于項目目的、項目管理者、項目使用者這方面決定的管理者、項目使用者這方面決定的 質量保證質量保證評估整個項目滿足相關的質量要求評估整個項目滿足相關的質量要求 質量控制質量控制 監(jiān)控記過符合相應質量標準,可以監(jiān)控記過符合相應質量標準
11、,可以進行檢查,滿足項目管理者以及整個項目組的進行檢查,滿足項目管理者以及整個項目組的要求要求 質量計劃質量計劃 描述相關質量標準并且說明如何滿足相應標準描述相關質量標準并且說明如何滿足相應標準 輸入質量計劃輸入質量計劃 質量策略質量策略 一個組織中有關管理層對于質量的一個組織中有關管理層對于質量的定義和方向定義和方向 范圍描述范圍描述 產品說明產品說明 標準和規(guī)則標準和規(guī)則 其他過程輸出其他過程輸出 其他領域的相關知識其他領域的相關知識 質量計劃的工具和技巧質量計劃的工具和技巧效益成本分析效益成本分析 考慮市場,就意味著減少返考慮市場,就意味著減少返工工; ;成本是與質量管理活動有關的費用成
12、本是與質量管理活動有關的費用基本水平標準基本水平標準 比較實際或者計劃中其他項比較實際或者計劃中其他項目實施中的情況目實施中的情況流程圖流程圖 因果圖因果圖系統(tǒng)或程序流程圖系統(tǒng)或程序流程圖 試驗設計試驗設計 一種分析技巧,有助于鑒定哪些一種分析技巧,有助于鑒定哪些變量對整個項目的成果產生最大的影響變量對整個項目的成果產生最大的影響 質量計劃的輸出質量計劃的輸出質量管理計劃質量管理計劃 說明項目管理小組如何具體說明項目管理小組如何具體執(zhí)行它的質量策略執(zhí)行它的質量策略; ; 操作性定義操作性定義 用非常專業(yè)化的術語描述各項用非常專業(yè)化的術語描述各項操作規(guī)程的含義,以及如何通過質量控制程序操作規(guī)程的
13、含義,以及如何通過質量控制程序對它們進行檢測。對它們進行檢測。審驗單審驗單 用以證明一系列步驟是否已經(jīng)得到用以證明一系列步驟是否已經(jīng)得到貫徹實施貫徹實施對其他程序的輸入對其他程序的輸入 可以在其他領域提出更可以在其他領域提出更長遠的要求長遠的要求 質量保證質量保證 為了提供信用,證明項目將會達到有關質量標為了提供信用,證明項目將會達到有關質量標準,而在質量體系中開展的有計劃、有組織的準,而在質量體系中開展的有計劃、有組織的工作活動工作活動 質量保證的輸入質量保證的輸入 質量管理計劃質量管理計劃 質量控制結果質量控制結果 操作性定義操作性定義 質量保證的手段和技巧質量保證的手段和技巧質量計劃的手
14、段和技巧質量計劃的手段和技巧質量審查質量審查 質量審查是對其他質量管理活動質量審查是對其他質量管理活動的結構性復查的結構性復查 質量保證的輸出質量保證的輸出質量改進質量改進 質量提高包括采取措施提高項目質量提高包括采取措施提高項目的效益和效率,為項目相關人員提供更多的利的效益和效率,為項目相關人員提供更多的利益益 質量控制質量控制 包括監(jiān)控特定的項目成果,以包括監(jiān)控特定的項目成果,以判定它們是否符合有關的質量標準,并找判定它們是否符合有關的質量標準,并找出方法消除造成項目成果不令人滿意的原出方法消除造成項目成果不令人滿意的原因。因。 預防(不讓錯誤進入項目程序)和檢驗(不讓錯誤進入預防(不讓錯
15、誤進入項目程序)和檢驗(不讓錯誤進入客戶手中)客戶手中) 靜態(tài)調查(其結果要么一致,要么不一致)和動態(tài)調查靜態(tài)調查(其結果要么一致,要么不一致)和動態(tài)調查(其結果依據(jù)衡量一致性程度的一種持續(xù)性標準而評估)(其結果依據(jù)衡量一致性程度的一種持續(xù)性標準而評估) 確定因素(非常事件)和隨機因素(正態(tài)過程分布)確定因素(非常事件)和隨機因素(正態(tài)過程分布) 誤差范圍(如果其結果落入誤差范圍所界定的范圍內,誤差范圍(如果其結果落入誤差范圍所界定的范圍內,那么這個結果就是可接受的)和控制界限(如果其成果那么這個結果就是可接受的)和控制界限(如果其成果落入控制界限內。那么該項目也在控制之中。)落入控制界限內。
16、那么該項目也在控制之中。) 質量控制的輸入質量控制的輸入項目成果項目成果 包括程序運行結果和生產結果包括程序運行結果和生產結果質量管理計劃質量管理計劃操作性定義操作性定義審查單審查單 檢驗包括測量、檢查和測試等活動,目的是確檢驗包括測量、檢查和測試等活動,目的是確定項目成果是否與要求相一致定項目成果是否與要求相一致 控制表控制表是根據(jù)時間推移對程序運行結果控制表控制表是根據(jù)時間推移對程序運行結果的一種圖表展示。的一種圖表展示。 排列圖是一種直方圖,由事件發(fā)生的頻率組織排列圖是一種直方圖,由事件發(fā)生的頻率組織而成,用以顯示多少成果是產生于已確定的各種而成,用以顯示多少成果是產生于已確定的各種類型
17、的原因的。如下圖。類型的原因的。如下圖。 抽樣調查統(tǒng)計抽樣調查統(tǒng)計 流程圖流程圖 趨勢分析趨勢分析 質量控制輸出質量控制輸出質量提高質量提高可接受的決定(接受可接受的決定(接受/ /拒絕)拒絕)返工返工 返工是有缺陷的、不符合要求的產品返工是有缺陷的、不符合要求的產品變?yōu)榉弦蠛驮O計規(guī)格的產品的行為。變?yōu)榉弦蠛驮O計規(guī)格的產品的行為。完成后的審驗單完成后的審驗單程序的調整程序的調整指作為質量檢測結果程序的調整程序的調整指作為質量檢測結果而隨時進行的糾錯和預防行為。而隨時進行的糾錯和預防行為。 軟件質量的衡量標準是可以準時地交付給用軟件質量的衡量標準是可以準時地交付給用戶,所耗費的成本不超出
18、預算,并且最重要戶,所耗費的成本不超出預算,并且最重要的是,能夠正常地運行。的是,能夠正常地運行。 SQA 的目標是通過在開發(fā)周期的早期階段發(fā)的目標是通過在開發(fā)周期的早期階段發(fā)現(xiàn)錯誤來降低解決問題的成本?,F(xiàn)錯誤來降低解決問題的成本。 SQA 應用于軟件開發(fā)的每個階段,每個階段應用于軟件開發(fā)的每個階段,每個階段都有其自己的質量標準。都有其自己的質量標準。 實施質量管理中,要注意構建自己的管理體實施質量管理中,要注意構建自己的管理體系,包括:構建質量計劃、建立質量保證、系,包括:構建質量計劃、建立質量保證、建立質量控制等建立質量控制等測試技術測試技術 軟件質量的衡量標準是可以準時地交付給用戶,軟件
19、質量的衡量標準是可以準時地交付給用戶,所耗費的成本不超出預算,并且最重要的是,能所耗費的成本不超出預算,并且最重要的是,能夠正常地運行。夠正常地運行。 SQA 的目標是通過在開發(fā)周期的早期階段發(fā)現(xiàn)錯的目標是通過在開發(fā)周期的早期階段發(fā)現(xiàn)錯誤來降低解決問題的成本。誤來降低解決問題的成本。 SQA 應用于軟件開發(fā)的每個階段,每個階段都有應用于軟件開發(fā)的每個階段,每個階段都有其自己的質量標準。其自己的質量標準。 實施質量管理中,要注意構建自己的管理體系,實施質量管理中,要注意構建自己的管理體系,包括:構建質量計劃、建立質量保證、建立質量包括:構建質量計劃、建立質量保證、建立質量控制等控制等 定義軟件測
20、試定義軟件測試 明確軟件測試的準則明確軟件測試的準則 明確測試的方法明確測試的方法 描述軟件測試的各個階段描述軟件測試的各個階段 描述各種測試階段的測試內容描述各種測試階段的測試內容 軟件測試是軟件工程過程中的關鍵組件。軟件測試是軟件工程過程中的關鍵組件。 軟件測試是軟件質量保證的要素,可以將其軟件測試是軟件質量保證的要素,可以將其描述為一個運行程序以檢測錯誤(如果有)描述為一個運行程序以檢測錯誤(如果有)的過程。的過程。 編程大師說:沒有錯誤的程序世間難求。編程大師說:沒有錯誤的程序世間難求。 (編程之道)(編程之道) 你在學校里學過測試嗎?(讀到博士可能你在學校里學過測試嗎?(讀到博士可能
21、也不懂測試)也不懂測試) 你所在的企業(yè)重視測試嗎?你所在的企業(yè)重視測試嗎? (小公司程序(小公司程序員的技能更加全面)員的技能更加全面) 臨時抱佛腳行嗎?臨時抱佛腳行嗎?你以為有文檔模板就會你以為有文檔模板就會測試了嗎測試了嗎? 如果不懂得有效地進行測試,你不僅得不如果不懂得有效地進行測試,你不僅得不到功勞,也沒人欣賞你的苦勞,你擁有最到功勞,也沒人欣賞你的苦勞,你擁有最多的將只是疲勞。多的將只是疲勞。 職業(yè)軟件工程師應當掌握需求開發(fā)、系統(tǒng)職業(yè)軟件工程師應當掌握需求開發(fā)、系統(tǒng)設計、編程、測試、維護設計、編程、測試、維護 所有技能。所有技能。 測試的目的是為了發(fā)現(xiàn)盡可能多的缺陷,測試的目的是為了
22、發(fā)現(xiàn)盡可能多的缺陷,不是為了說明軟件中沒有缺陷。不是為了說明軟件中沒有缺陷。 推論:成功的測試在于發(fā)現(xiàn)了迄今尚未發(fā)推論:成功的測試在于發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的缺陷。所以測試人員的職責是設計這現(xiàn)的缺陷。所以測試人員的職責是設計這樣的測試用例,它能有效地揭示潛伏在軟樣的測試用例,它能有效地揭示潛伏在軟件里的缺陷件里的缺陷。 千萬不要將千萬不要將“測試測試”與與“演示演示”混為一談。混為一談。例如科研鑒定會。例如科研鑒定會。如果產品通過了嚴格的測試,大家不要不吭如果產品通過了嚴格的測試,大家不要不吭氣,應當好好地宣傳一把氣,應當好好地宣傳一把 。 完全測試程序是不可能的完全測試程序是不可能的 輸入量太大
23、輸入量太大 輸出結果太多輸出結果太多 軟件實現(xiàn)途徑太多軟件實現(xiàn)途徑太多 軟件說明書沒有客觀標準。從不同角度看,軟軟件說明書沒有客觀標準。從不同角度看,軟件缺陷的標準不同。件缺陷的標準不同。 軟件測試是有風險的行為軟件測試是有風險的行為 測試無法顯示潛伏的軟件缺陷測試無法顯示潛伏的軟件缺陷 找到的軟件缺陷越多,就說明軟件缺陷越找到的軟件缺陷越多,就說明軟件缺陷越多多 并非所有軟件缺陷都能修復并非所有軟件缺陷都能修復 軟件測試一項講究條理的技術專業(yè)軟件測試一項講究條理的技術專業(yè) 白盒測試中(有時候稱為開盒測試),軟白盒測試中(有時候稱為開盒測試),軟件測試員可以訪問程序員的代碼,并通過件測試員可以
24、訪問程序員的代碼,并通過檢查代碼來協(xié)助測試可以看到盒子里面。檢查代碼來協(xié)助測試可以看到盒子里面。一般在單元測試中采用白盒測試,用于測一般在單元測試中采用白盒測試,用于測試模塊中所有可能的路徑、執(zhí)行所有循環(huán)試模塊中所有可能的路徑、執(zhí)行所有循環(huán)并測試所有邏輯表達式。并測試所有邏輯表達式。 黑盒測試則側重于軟件的整體功能。黑盒測試則側重于軟件的整體功能。 它不它不基于程序的內部結構而基于系統(tǒng)功能。猶基于程序的內部結構而基于系統(tǒng)功能。猶如一個人站在黑盒子外面,只知道系統(tǒng)輸如一個人站在黑盒子外面,只知道系統(tǒng)輸入一定數(shù)據(jù),得到一定的輸出,而不必清入一定數(shù)據(jù),得到一定的輸出,而不必清楚這個黑盒子中進行了哪些
25、操作和運算。楚這個黑盒子中進行了哪些操作和運算。 靜態(tài)檢查靜態(tài)檢查 確保系統(tǒng)按照組織的標準和過程運行,主要依確保系統(tǒng)按照組織的標準和過程運行,主要依賴于評審和非運行的手段來檢查。通常包括需賴于評審和非運行的手段來檢查。通常包括需求評審、設計評審、代碼走查和代碼檢查。求評審、設計評審、代碼走查和代碼檢查。 動態(tài)檢查動態(tài)檢查 在生命周期中進行測試(運行)。通常包括單在生命周期中進行測試(運行)。通常包括單元測試、集成測試、系統(tǒng)測試、用戶的驗收測元測試、集成測試、系統(tǒng)測試、用戶的驗收測試。試。 審查審查 (Inspection) 軟件的一種基本測試方法,它以一系列典型問軟件的一種基本測試方法,它以一
26、系列典型問題為依據(jù)進行檢測。題為依據(jù)進行檢測。 走查走查 (Walkthrough) 一對一的審查,比審查更加仔細。一對一的審查,比審查更加仔細。 回顧回顧(Review) 以發(fā)現(xiàn)軟件中存在的錯誤和缺陷為目的的一以發(fā)現(xiàn)軟件中存在的錯誤和缺陷為目的的一種軟件測試方法,它是在軟件證實執(zhí)行之前完成。種軟件測試方法,它是在軟件證實執(zhí)行之前完成。測試階段執(zhí)行人靜態(tài)校驗動態(tài)校驗可行性評審可行性評審開發(fā)人員,用戶開發(fā)人員,用戶需求評審需求評審開發(fā)人員,用戶開發(fā)人員,用戶設計評審設計評審開發(fā)人員開發(fā)人員單元測試單元測試開發(fā)人員開發(fā)人員集成測試集成測試開發(fā)人員,用戶開發(fā)人員,用戶系統(tǒng)測試系統(tǒng)測試開發(fā)人員在用戶開
27、發(fā)人員在用戶的協(xié)助下完成的協(xié)助下完成驗收測試驗收測試用戶用戶 對于產品說明書的制定是個很重要的設計對于產品說明書的制定是個很重要的設計階段,產品說明書的質量會直接影響到整階段,產品說明書的質量會直接影響到整個產品開發(fā)。個產品開發(fā)。 測試產品說明書屬于靜態(tài)黑盒子測試。測試產品說明書屬于靜態(tài)黑盒子測試。 測試用例:編寫用于輸入輸入的實際數(shù)制和測試用例:編寫用于輸入輸入的實際數(shù)制和預期結果。測試用例還明確指出使用具體測預期結果。測試用例還明確指出使用具體測試用例產生的測試程序的任何限制試用例產生的測試程序的任何限制 。 使用目的:使用目的: 測試用例應該設計為能夠快速容易地發(fā)現(xiàn)盡測試用例應該設計為能
28、夠快速容易地發(fā)現(xiàn)盡可能多的錯誤。可能多的錯誤。 應該通過使用和產生正確和錯誤的輸入和輸應該通過使用和產生正確和錯誤的輸入和輸出來出來“檢驗檢驗”程序。程序。 其目標是要使用合理范圍內的條件,盡可能其目標是要使用合理范圍內的條件,盡可能全面地測試所有模塊乃至整個系統(tǒng)。全面地測試所有模塊乃至整個系統(tǒng)。 缺陷:最終產品同用戶的期望不一致缺陷:最終產品同用戶的期望不一致 缺陷的分類缺陷的分類 錯誤錯誤 遺漏遺漏 超出需求的部分超出需求的部分 缺陷(未觸發(fā))缺陷(未觸發(fā))VS.錯誤(應首先解決)錯誤(應首先解決) 調試的方法:歸納法、演繹法和回溯法。調試的方法:歸納法、演繹法和回溯法。 常用調試技術使用
29、診斷輸出語句常用調試技術使用診斷輸出語句 (diagnostic output statement)、快照轉儲、快照轉儲 (snapshot dump) 以及跟蹤指令的斷點以及跟蹤指令的斷點 (instruction-dependent breakpoint)。 開發(fā)與測試的開發(fā)與測試的 V V 型關系型關系如果軟件開發(fā)過程采用嚴格的瀑布模型,那么開如果軟件開發(fā)過程采用嚴格的瀑布模型,那么開發(fā)與測試有發(fā)與測試有“V V”型的對應關系型的對應關系 。需求需求開發(fā)開發(fā) 高層高層設計設計詳細詳細設計設計編程編程單元單元測試測試集成集成測試測試系統(tǒng)系統(tǒng)測試測試驗收驗收測試測試 單元測試、集成測試、單元
30、測試、集成測試、系統(tǒng)測試、系統(tǒng)測試、驗收測驗收測試。是試。是“從小到大從小到大”、“由內至外由內至外”、“循序漸進循序漸進”的測試過程,體現(xiàn)了的測試過程,體現(xiàn)了“分而分而治之治之”的思想。的思想。 單元測試的粒度最小,一般由開發(fā)小組采單元測試的粒度最小,一般由開發(fā)小組采用白盒方式來測試,主要測試單元是否符用白盒方式來測試,主要測試單元是否符合合“設計設計”。 集成測試界于單元測試和系統(tǒng)測試之間,集成測試界于單元測試和系統(tǒng)測試之間,起到起到“橋梁作用橋梁作用”,一般由開發(fā)小組采用,一般由開發(fā)小組采用白盒加黑盒的方式來測試,既要驗證白盒加黑盒的方式來測試,既要驗證“設設計計”又要驗證又要驗證“需求
31、需求”。 系統(tǒng)測試的粒度最大,一般由獨立測試小系統(tǒng)測試的粒度最大,一般由獨立測試小組采用黑盒方式來測試,主要測試系統(tǒng)是組采用黑盒方式來測試,主要測試系統(tǒng)是否符合否符合“需求規(guī)格說明書需求規(guī)格說明書”。 驗收測試與系統(tǒng)測試非常相似,主要區(qū)別驗收測試與系統(tǒng)測試非常相似,主要區(qū)別是測試人員不同,驗收測試由用戶執(zhí)行。是測試人員不同,驗收測試由用戶執(zhí)行。 測試內容一般包含測試內容一般包含接口與路徑測試。接口與路徑測試。 功能測試、健壯性測試、性能測試、用戶界面測功能測試、健壯性測試、性能測試、用戶界面測試、安全性測試、壓力測試、可靠性測試、安裝試、安全性測試、壓力測試、可靠性測試、安裝/ /反安裝測試反
32、安裝測試 測試階段測試階段 主要依據(jù)主要依據(jù) 測試人員、測試方式測試人員、測試方式 主要測試內容主要測試內容 單元測試單元測試系統(tǒng)設計系統(tǒng)設計文檔文檔由開發(fā)小組執(zhí)行白盒由開發(fā)小組執(zhí)行白盒測試測試 接口測試、路徑測試接口測試、路徑測試 集成測試集成測試系統(tǒng)設計系統(tǒng)設計文檔文檔需求文檔需求文檔由開發(fā)小組執(zhí)行白盒由開發(fā)小組執(zhí)行白盒測試和黑盒測試測試和黑盒測試 接口測試、路徑測試接口測試、路徑測試功能測試、性能測試功能測試、性能測試 系統(tǒng)測試系統(tǒng)測試需求文檔需求文檔由獨立測試小組執(zhí)行由獨立測試小組執(zhí)行黑盒測試黑盒測試 功能測試、健壯性測試、功能測試、健壯性測試、性能測試、用戶界面測性能測試、用戶界面測
33、試、安全性測試、壓力試、安全性測試、壓力測試、可靠性測試、安測試、可靠性測試、安裝裝/反安裝測試反安裝測試 驗收測試驗收測試需求文檔需求文檔由用戶執(zhí)行黑盒測試由用戶執(zhí)行黑盒測試 接口測試:數(shù)據(jù)一般通過接口輸入和輸出,接口測試:數(shù)據(jù)一般通過接口輸入和輸出,接口測試一般是白盒測試的第一步。接口測試一般是白盒測試的第一步。 輸入?yún)?shù)有輸入?yún)?shù)有“典型值典型值”、“邊界值邊界值”、“異常異常值值” 輸出包括函數(shù)的返回值和輸出參數(shù)。輸出包括函數(shù)的返回值和輸出參數(shù)。 實際輸出與期望的輸出不一致,那么說明程序實際輸出與期望的輸出不一致,那么說明程序有錯誤。有錯誤。 一個函數(shù)體內的語句可能只有十幾條,但一個函
34、數(shù)體內的語句可能只有十幾條,但邏輯路徑可能有成千上萬條。所以應該根邏輯路徑可能有成千上萬條。所以應該根據(jù)經(jīng)驗選擇關鍵的路徑測試。據(jù)經(jīng)驗選擇關鍵的路徑測試。 路徑測試的檢查表路徑測試的檢查表數(shù)據(jù)類型、變量值、邏輯判斷、循環(huán)、內存管數(shù)據(jù)類型、變量值、邏輯判斷、循環(huán)、內存管理、文件理、文件I/OI/O、錯誤處理錯誤處理 預防一些重要的路徑?jīng)]有被測試的措施有:預防一些重要的路徑?jīng)]有被測試的措施有:觀察是否有程序語句從來沒有被執(zhí)行過。觀察是否有程序語句從來沒有被執(zhí)行過。要特別留意函數(shù)體內的錯誤處理程序塊。要特別留意函數(shù)體內的錯誤處理程序塊。 接口與路徑測試用例的參考模板接口與路徑測試用例的參考模板 功能
35、測試的基本方法是構造一些合理輸入功能測試的基本方法是構造一些合理輸入(在需求范圍之內),檢查輸出是否與期(在需求范圍之內),檢查輸出是否與期望的相同。如果兩者不一致,即表明功能望的相同。如果兩者不一致,即表明功能有誤。有誤。 難點在于如何構造有效的輸入。難點在于如何構造有效的輸入。 功能測試的測試方法:等價劃分法和邊界功能測試的測試方法:等價劃分法和邊界值分析法。值分析法。 等價劃分是指把輸入空間劃分為幾個等價劃分是指把輸入空間劃分為幾個“等價區(qū)等價區(qū)間間”,在每個,在每個“等價區(qū)間等價區(qū)間”中只需要測試一中只需要測試一個典型值就可以了。等價劃分法來源于人們個典型值就可以了。等價劃分法來源于人
36、們的直覺與經(jīng)驗,可令測試事半功倍。的直覺與經(jīng)驗,可令測試事半功倍。 “缺陷遺漏在角落里,聚集在邊界上缺陷遺漏在角落里,聚集在邊界上”。邊界。邊界值測試法是對等價劃分法的補充。如果值測試法是對等價劃分法的補充。如果A A和和B B是輸入空間的邊界值,那么除了典型值外還是輸入空間的邊界值,那么除了典型值外還要用要用A A和和B B作為測試用例。作為測試用例。 功能測試功能測試用例的參考模板用例的參考模板 性能測試即測試軟件處理事務的速度,一性能測試即測試軟件處理事務的速度,一是為了檢驗性能是否符合需求,二是為了是為了檢驗性能是否符合需求,二是為了得到某些性能數(shù)據(jù)供人們參考。得到某些性能數(shù)據(jù)供人們參
37、考。 絕對值考慮:如數(shù)據(jù)送輸速率是每秒多少絕對值考慮:如數(shù)據(jù)送輸速率是每秒多少比特。比特。 “相對值相對值”考慮:如某個軟件比另考慮:如某個軟件比另一個軟件快多少倍。一個軟件快多少倍。 性能測試中考慮運行環(huán)境的影響:例如網(wǎng)性能測試中考慮運行環(huán)境的影響:例如網(wǎng)絡環(huán)境、計算機主頻,總線結構和外部設絡環(huán)境、計算機主頻,總線結構和外部設備都可能影響軟件的運行速度。備都可能影響軟件的運行速度。 性能測試的一些注意事項:性能測試的一些注意事項:應當編寫一段程序用于計算時間以及相關數(shù)據(jù)。應當編寫一段程序用于計算時間以及相關數(shù)據(jù)。 應當測試軟件在標準配置和最低配置下的性能。應當測試軟件在標準配置和最低配置下的
38、性能。 應當關閉那些消耗內存、占用應當關閉那些消耗內存、占用CPUCPU的其它應用的其它應用軟件(如殺毒軟件)。軟件(如殺毒軟件)。 應當分檔記錄。例如傳輸文件的容量從應當分檔記錄。例如傳輸文件的容量從100100K K到到1 1M M可以分成若干等級。可以分成若干等級。 同一種輸入情況在不同的時間可能得到不同的同一種輸入情況在不同的時間可能得到不同的性能數(shù)據(jù),可以取其平均值。性能數(shù)據(jù),可以取其平均值。 性能測試性能測試用例的參考模板用例的參考模板 壓力測試也叫負荷測試,即獲取系統(tǒng)能正壓力測試也叫負荷測試,即獲取系統(tǒng)能正常運行的極限狀態(tài)。常運行的極限狀態(tài)。 壓力測試的主要任務是:構造正確的輸入
39、,壓力測試的主要任務是:構造正確的輸入,使勁折騰系統(tǒng)卻讓它剛好不癱瘓。使勁折騰系統(tǒng)卻讓它剛好不癱瘓。 壓力測試的一個變種是敏感測試。在某種壓力測試的一個變種是敏感測試。在某種情況下,微小的輸入變動會導致系統(tǒng)的表情況下,微小的輸入變動會導致系統(tǒng)的表現(xiàn)(如性能)發(fā)生急劇的變化?,F(xiàn)(如性能)發(fā)生急劇的變化。 壓力測試用例的參考模板壓力測試用例的參考模板 健壯性測試健壯性測試 用戶界面測試用戶界面測試 信息安全測試信息安全測試 可靠性測試可靠性測試 安裝和反安裝測試安裝和反安裝測試 問題問題1:有了:有了“黑盒黑盒”測試為什么還要測試為什么還要“白白盒盒”測試?測試? 問題問題2:由于單元測試要寫測試
40、驅動程序,:由于單元測試要寫測試驅動程序,非常麻煩,能否等到整個系統(tǒng)全部開發(fā)完后,非常麻煩,能否等到整個系統(tǒng)全部開發(fā)完后,再集中精力進行一次性地單元測試呢?再集中精力進行一次性地單元測試呢? 問題問題3:如果每個單元都通過了測試,把它:如果每個單元都通過了測試,把它們集成一起難道會有什么不妥嗎?集成測試們集成一起難道會有什么不妥嗎?集成測試是否多此一舉?是否多此一舉? 問題問題4:在集成測試的時候,已經(jīng)對一些子:在集成測試的時候,已經(jīng)對一些子系統(tǒng)進行了功能測試、性能測試等等,那系統(tǒng)進行了功能測試、性能測試等等,那么在系統(tǒng)測試時能否跳過相同內容的測試么在系統(tǒng)測試時能否跳過相同內容的測試? 問題問
41、題5:既然系統(tǒng)測試與驗收測試的內容幾:既然系統(tǒng)測試與驗收測試的內容幾乎是相同的,為什么還要驗收測試?乎是相同的,為什么還要驗收測試? 問題問題6:能否將系統(tǒng)測試和驗收測試:能否將系統(tǒng)測試和驗收測試“合二合二為一為一”? 測試可以將測試描述為一個運行程序以發(fā)現(xiàn)測試可以將測試描述為一個運行程序以發(fā)現(xiàn)錯誤的過程。錯誤的過程。 軟件測試的準則軟件測試的準則:不完全測試、風險測試、不完全測試、風險測試、無法顯示潛伏錯誤、發(fā)現(xiàn)錯誤成線性增長、無法顯示潛伏錯誤、發(fā)現(xiàn)錯誤成線性增長、缺陷不能完全修復、測試有條理規(guī)程缺陷不能完全修復、測試有條理規(guī)程 測試的方法測試的方法:黑盒黑盒/白盒、靜態(tài)白盒、靜態(tài)/動態(tài)動態(tài)
42、 軟件測試的各個階段:單元測試、集成測試、軟件測試的各個階段:單元測試、集成測試、系統(tǒng)測試、驗收測試系統(tǒng)測試、驗收測試 測試的內容包括:接口測試的內容包括:接口/路徑測試、功能測試、路徑測試、功能測試、性能測試、壓力測試、可靠性測試、安全性性能測試、壓力測試、可靠性測試、安全性測試、用戶界面測試、安裝測試、用戶界面測試、安裝/反安裝測試反安裝測試測試工具測試工具 測試可以將測試描述為一個運行程序以發(fā)現(xiàn)測試可以將測試描述為一個運行程序以發(fā)現(xiàn)錯誤的過程。錯誤的過程。 軟件測試的準則軟件測試的準則:不完全測試、風險測試、不完全測試、風險測試、無法顯示潛伏錯誤、發(fā)現(xiàn)錯誤成線性增長、無法顯示潛伏錯誤、發(fā)
43、現(xiàn)錯誤成線性增長、缺陷不能完全修復、測試有條理規(guī)程缺陷不能完全修復、測試有條理規(guī)程 測試的方法測試的方法:黑盒黑盒/白盒、靜態(tài)白盒、靜態(tài)/動態(tài)動態(tài) 軟件測試的各個階段:單元測試、集成測試、軟件測試的各個階段:單元測試、集成測試、系統(tǒng)測試、驗收測試系統(tǒng)測試、驗收測試 測試的內容包括:接口測試的內容包括:接口/路徑測試、功能測試、路徑測試、功能測試、性能測試、壓力測試、可靠性測試、安全性性能測試、壓力測試、可靠性測試、安全性測試、用戶界面測試、安裝測試、用戶界面測試、安裝/反安裝測試反安裝測試 討論測試工具的好處討論測試工具的好處 介紹測試工具的種類及實質介紹測試工具的種類及實質 討論測試工具的局
44、限討論測試工具的局限 介紹市場上比較流行的測試工具介紹市場上比較流行的測試工具: Rational系列和系列和 Panorama工具工具 定義:輔助測試整個過程的工具軟件定義:輔助測試整個過程的工具軟件 單元測試可以有兩種方式單元測試可以有兩種方式自己編寫代碼自己編寫代碼使用單元測試工具使用單元測試工具 整個過程包括:整個過程包括:靜態(tài)分析,測試計劃,測試設計,測試執(zhí)行,靜態(tài)分析,測試計劃,測試設計,測試執(zhí)行,測試缺陷跟蹤,測試報告和質量度量等測試缺陷跟蹤,測試報告和質量度量等 單元測試工具的種類單元測試工具的種類 靜態(tài)分析工具靜態(tài)分析工具 代碼規(guī)范審核工具代碼規(guī)范審核工具 內存和資源檢查工具
45、內存和資源檢查工具 測試數(shù)據(jù)生成工具測試數(shù)據(jù)生成工具 測試框架工具測試框架工具 測試結果比較工具測試結果比較工具 測試度量工具測試度量工具 測試文檔生成和管理工具測試文檔生成和管理工具 自動測試工具自動測試工具好處好處速度和效率速度和效率準確度和精確度準確度和精確度耐性、不休息、可重復耐性、不休息、可重復局限局限對軟件變更,尤其是代碼變更比較敏感對軟件變更,尤其是代碼變更比較敏感先期的測試開發(fā)比較費時先期的測試開發(fā)比較費時有些測試結果無法用工具比較和分析有些測試結果無法用工具比較和分析有些工具的腳本有些工具的腳本/ /代碼會使程序運行環(huán)境不純代碼會使程序運行環(huán)境不純凈凈 測試工具提高測試效率,
46、節(jié)省測試成本測試工具提高測試效率,節(jié)省測試成本 測試設計提高測試效果,同時也可以提高測試測試設計提高測試效果,同時也可以提高測試效率,節(jié)省測試成本效率,節(jié)省測試成本 有些測試單靠手工很難完成有些測試單靠手工很難完成 壓力測試,模擬并發(fā)測試等壓力測試,模擬并發(fā)測試等 多數(shù)的單元測試多數(shù)的單元測試 有些測試使用測試工具更合適有些測試使用測試工具更合適 回歸測試回歸測試 大量測試數(shù)據(jù)的生成、部分測試結果的比較大量測試數(shù)據(jù)的生成、部分測試結果的比較 缺陷管理和測試用例管理缺陷管理和測試用例管理 質量度量質量度量 選擇自動測試工具是一個重要的步驟,所選擇自動測試工具是一個重要的步驟,所以一定要謹慎以一定
47、要謹慎 因為測試工作經(jīng)常會涉及到管理流程和開發(fā)流因為測試工作經(jīng)常會涉及到管理流程和開發(fā)流程的改變、涉及到人員的考評標準,所以它有程的改變、涉及到人員的考評標準,所以它有時會對整個企業(yè)產生影響。時會對整個企業(yè)產生影響。 測試工具應該能夠管理測試過程和測試文測試工具應該能夠管理測試過程和測試文檔,并生成各種測試報告。檔,并生成各種測試報告。 自動測試工具應該允許用戶把自動測試數(shù)自動測試工具應該允許用戶把自動測試數(shù)據(jù)和流程與手工的測試數(shù)據(jù)和流程結合到據(jù)和流程與手工的測試數(shù)據(jù)和流程結合到一起。一起。 自動測試工具應該能夠將業(yè)務需求與測試自動測試工具應該能夠將業(yè)務需求與測試計劃、測試設計和測試結果相關聯(lián)
48、,允許計劃、測試設計和測試結果相關聯(lián),允許最終用戶根據(jù)測試結果來評估應用程序的最終用戶根據(jù)測試結果來評估應用程序的完成情況。完成情況。 自動測試工具中的各功能模塊應該緊密集自動測試工具中的各功能模塊應該緊密集成到一起,共享和重用測試數(shù)據(jù),支持回成到一起,共享和重用測試數(shù)據(jù),支持回歸測試。歸測試。 工具應該可以很容易地利用過去的或者其他人工具應該可以很容易地利用過去的或者其他人員的測試資料。員的測試資料。 工具內部應該使用一致的腳本語言和數(shù)據(jù)格式。工具內部應該使用一致的腳本語言和數(shù)據(jù)格式。 自動測試工具的體系結構和文件格式應該自動測試工具的體系結構和文件格式應該是開放的,可以很容易地與其他技術或
49、工是開放的,可以很容易地與其他技術或工具進行交互和集成。具進行交互和集成。 自動測試工具廠商應該有比較完善的科室自動測試工具廠商應該有比較完善的科室培訓和技術支持機制,能夠為自動測試工培訓和技術支持機制,能夠為自動測試工具的實施提供咨詢和支持。具的實施提供咨詢和支持。 產品背景及功能產品背景及功能 產品術語基礎產品術語基礎 應用原理及環(huán)境應用原理及環(huán)境 工具介紹工具介紹 OO-Test 其它工具請按照上機安排操作其它工具請按照上機安排操作 Panorama-2 C/C+ 是一個軟件測試工具是一個軟件測試工具。 它也用來它也用來 QA 維護環(huán)境維護環(huán)境 它運行在它運行在 Sun OS/Solar
50、is 和和 Windows NT/95 上,上,支持支持 Sun C、C+。 產品背景產品背景集成了集成了8 8個產品個產品/32/32個工具的軟件個工具的軟件包,一般用于:包,一般用于:1 1、新系統(tǒng)開發(fā)、新系統(tǒng)開發(fā)過程中的質量保過程中的質量保證和單元測試;證和單元測試;2 2、舊系統(tǒng)維護、舊系統(tǒng)維護過程中質量保證過程中質量保證與測試與測試3 3、再工程中的、再工程中的系統(tǒng)分析系統(tǒng)分析OO-Test:測試用例生成和管理:1、記錄和生成測試用例2、最小化測試用例集3、測試覆蓋分析OO-Browser:系統(tǒng)結構分析:1、生成系統(tǒng)中類和函數(shù)的繼承/調用關系圖2、實現(xiàn)代碼與關系圖的雙向對應和跳轉3、
51、顯示系統(tǒng)結構測試覆蓋結果OO-Diagrammer:流程結構分析:1、生成控制流程圖、邏輯流程圖、代碼流程圖2、實現(xiàn)代碼與流程圖的雙向對應和跳轉3、顯示流程結構測試覆蓋結果OO-SQA:質量度量分析:1、設定質量度量標準和指標2、生成質量度量數(shù)據(jù)3、顯示質量度量結果OO-Analyzer:系統(tǒng)文檔生成:1、生成100多種設計文檔和質量文檔OO-Playback:GUI測試過程回放:1、捕獲并記錄測試過程2、回放測試過程3、比較回放結果OO-MemoryChecker:內存泄漏和非法使用檢測:1、檢測內存泄漏和非法使用2、記錄錯誤發(fā)生的語句位置3、生成檢測報告OO-DefectTracer:缺陷
52、定位和追溯:1、檢測并記錄缺陷(包括死機)發(fā)生的路徑和語句位置2、生成缺陷定位報告 產品功能應用:產品功能應用: 新系統(tǒng)開發(fā)支持新系統(tǒng)開發(fā)支持 舊系統(tǒng)維護支持舊系統(tǒng)維護支持 系統(tǒng)再工程支持系統(tǒng)再工程支持 其他其他1、設計支持-系統(tǒng)結構/流程結構自動生成與維護-多重復雜性度量及分析-生成復雜性度量報告2、編碼及調試支持-確定編碼順序-保證編碼和設計的雙向對應-生成代碼邏輯結構-顯示測試路徑和頻率-顯示錯誤(尤其是意外中止)的語句位置和執(zhí)行路徑3、測試支持-確定單元測試順序-生成并管理測試用例-執(zhí)行測試用例并顯示結果-測試分析和度量-支持回歸測試-生成質量報告1、復雜性度量支持-多重復雜性度量及分
53、析-生成復雜性度量報告2、代碼修改支持-系統(tǒng)結構/流程結構自動生成與維護、編碼和設計的雙向對應、錯誤定位和追溯-加強代碼理解、避免修改的副作用-幫助代碼靜態(tài)分析技術的實施3、測試支持-確定單元測試順序-生成并管理測試用例-執(zhí)行測試用例并顯示結果-測試分析和度量-支持回歸測試-生成質量報告1、系統(tǒng)設計分析-系統(tǒng)結構/流程結構自動生成與維護,加強設計理解-編碼和設計的雙向對應,加強代碼理解2、系統(tǒng)復雜性分析-多重復雜性度量及分析-生成復雜性度量報告3、系統(tǒng)性能分析-分析模塊執(zhí)行性能和執(zhí)行瓶頸4、文檔報告生成-生成多種系統(tǒng)分析報告和質量報告1、支持工程管理和進度估算-代碼文件和設計文檔的一致性維護-
54、多種度量分析方法2、訓練項目組新進人員-理解系統(tǒng)結構和流程結構-方便閱讀和理解代碼3、支持驗收評估-自動生成設計和編碼文檔-自動生成測試分析報告-自動生成質量度量報告 基本概念基本概念 1、塊,也叫基本段、可視段、塊,也叫基本段、可視段 2、不可視段、不可視段基本不可視段:基本不可視段:if,switch高端循環(huán)邊界高端循環(huán)邊界(執(zhí)行執(zhí)行0次循環(huán)體次循環(huán)體) 低端循環(huán)邊界低端循環(huán)邊界(執(zhí)行執(zhí)行1次循環(huán)體次循環(huán)體) 3、段,也叫標準段、段,也叫標準段包括可視段與基本不可視段包括可視段與基本不可視段 4、增強段、增強段包括可視段和不可視段包括可視段和不可視段 質量保證度量規(guī)范質量保證度量規(guī)范1 1
55、、代碼可讀性度量、代碼可讀性度量2 2、復雜性度量、復雜性度量3 3、測試覆蓋度量、測試覆蓋度量 IEEEIEEE度量標準度量標準1 1、環(huán)形復雜性、環(huán)形復雜性2 2、測試覆蓋度量、測試覆蓋度量1、程序行數(shù)2、代碼行百分比3、注釋行百分比4、空格間隔行百分比1、環(huán)形復雜性2、塊測試復雜性JC03、段測試復雜性JC14、增強段測試復雜性JC1+5、條件段測試復雜性JC26、繼承樹深度DIT7、子類數(shù)目NOC8、類耦合數(shù)目CBO9、類中方法數(shù)目10、類中響應方法數(shù)目RFC 11、使用類中方法的函數(shù)數(shù)目12、類中重用基類代碼行數(shù)13、類中重用基類代碼百分比1、塊測試覆蓋SC02、段測試覆蓋SC13、
56、增強段測試覆蓋SC1+4、J-覆蓋5、條件真覆蓋6、條件假覆蓋7、總條件覆蓋8、分支覆蓋1、定義:-環(huán)形復雜性C-區(qū)域數(shù)目RG-邊數(shù)目E-節(jié)點數(shù)目N-分支節(jié)點數(shù)目SN2、計算公式:-C=RG-C=E-N+2-C=SN+11、原語-程序-功能-數(shù)據(jù)-需求-測試用例2、測試覆蓋TC計算公式:-TC=(測試的需求原語數(shù)目) /(需求原語總數(shù)) * (測試的程序原語數(shù)目) /(程序原語總數(shù)) 使用流程使用流程.mak文件是C/C+編譯文件.hsi文件是Panorama內部使用的輸入緩沖區(qū)文件,用于記載C/C+文件結構信息.dbs文件是Panorama內部使用的數(shù)據(jù)庫文件,用于記載C/C+文件分析和測試
57、結果信息,一般與his文件配合使用 應用原理應用原理 局限性局限性 1、中文顯示問題中文顯示問題 2、使用自己的腳本技術,但這種腳本技、使用自己的腳本技術,但這種腳本技術與其他的測試工具不兼容術與其他的測試工具不兼容 3、需要執(zhí)行、需要執(zhí)行 .mak 文件,而不是編譯文件,而不是編譯 C 程程序后生成的序后生成的 .obj 文件文件 4、僅能處理、僅能處理 C / C+ 程序程序 5、界面不夠友好、界面不夠友好 輸出結果輸出結果 測試用例最小集合測試用例最小集合 測試結果分析數(shù)據(jù)測試結果分析數(shù)據(jù) 作用:作用: 生成并管理測試用例生成并管理測試用例 最小化測試用例集最小化測試用例集 測試結果記錄
58、和分析測試結果記錄和分析 生成并保存測試用例生成并保存測試用例 加載測試用例加載測試用例 執(zhí)行測試用例執(zhí)行測試用例 測試結果分析測試結果分析 測試覆蓋結果測試覆蓋結果 測試用例效率測試用例效率 最小化測試用例集最小化測試用例集 測試工具是輔助測試整個過程的工具軟件。測試工具是輔助測試整個過程的工具軟件。 單元測試工具的種類和優(yōu)勢、缺陷。單元測試工具的種類和優(yōu)勢、缺陷。 健壯的測試工具的引入應該具有一定的設計健壯的測試工具的引入應該具有一定的設計原則。原則。 介紹介紹Panorama產品內容和運行環(huán)境、使用原產品內容和運行環(huán)境、使用原理、各個工具的簡單運用以及缺陷。理、各個工具的簡單運用以及缺陷
59、。測試計劃和單元測試測試計劃和單元測試 測試工具是輔助測試整個過程的工具軟件。測試工具是輔助測試整個過程的工具軟件。 單元測試工具的種類和優(yōu)勢、缺陷。單元測試工具的種類和優(yōu)勢、缺陷。 健壯的測試工具的引入應該具有一定的設計健壯的測試工具的引入應該具有一定的設計原則。原則。 介紹介紹Panorama產品內容和運行環(huán)境、使用原產品內容和運行環(huán)境、使用原理、各個工具的簡單運用以及缺陷。理、各個工具的簡單運用以及缺陷。 計劃測試過程計劃測試過程 制定單元測試說明書制定單元測試說明書 明確測試用例設計技術明確測試用例設計技術 單元測試的測試手段單元測試的測試手段 基本測試過程原則:盡早測試、經(jīng)常測試、基
60、本測試過程原則:盡早測試、經(jīng)常測試、充分測試。充分測試。 開發(fā)過程與測試過程:分析、測試、設計、開發(fā)過程與測試過程:分析、測試、設計、測試、編碼、測試測試、編碼、測試 。 測試計劃應該是按照開發(fā)者的要求并用具測試計劃應該是按照開發(fā)者的要求并用具體例子來描述一個測試計劃的層次結構以體例子來描述一個測試計劃的層次結構以及各個測試計劃相聯(lián)系的標準模版。及各個測試計劃相聯(lián)系的標準模版。 誰執(zhí)行了測試?誰執(zhí)行了測試? 測試什么?測試什么? 什么時候測試?什么時候測試? 怎樣測試?怎樣測試? 測試應進行到何種程度?測試應進行到何種程度? 良好的測試設計由以下的若干個方面組成:良好的測試設計由以下的若干個方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老年照護測試題庫與答案
- 2025年上海金山區(qū)屬國有企業(yè)招聘考試筆試試題1(含答案)
- 老年摔傷護理課件
- 老年急救護理課件
- 老年康復護理課件模板
- 老年人文護理課件
- 老干部工作政策課件
- 老師德育課件
- 出租車企業(yè)車輛運營維護勞動合同
- 銀行財務風險評估合同書63657
- 2025河南省豫地科技集團社會招聘169人筆試參考題庫附帶答案詳解析集合
- 【北京市人社局】2025年北京市人力資源市場薪酬數(shù)據(jù)報告(一季度)
- 2024年09月2024秋季中國工商銀行湖南分行校園招聘620人筆試歷年參考題庫附帶答案詳解
- 牧場物語-礦石鎮(zhèn)的伙伴們-完全攻略
- (高清版)TDT 1068-2022 國土空間生態(tài)保護修復工程實施方案編制規(guī)程
- 2016年煙葉加工、收購、調撥工作總結
- 《髓質海綿腎》課件.ppt
- 書法基礎知識第一課課件
- 共青團委員會選票模板
- 解剖型脛骨髓內釘
- 潮濕環(huán)境相關性皮炎ppt課件
評論
0/150
提交評論