軟件質量和質量保證_第1頁
軟件質量和質量保證_第2頁
軟件質量和質量保證_第3頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件質量與質量保證一、軟件質量的定義軟件質量反映了以下三方面的問題。1軟件需求是度量軟件質量的基礎,不符合需求的軟件就不具備質量。2在各種標準中定義了一些開發準則,用來指導軟件人員用工程化的方法來開發軟件。如果不遵守這些開發準則,軟 件質量就得不到保證。3往往會有一些隱含的需求沒有明確地提出來。如果軟件只滿足那些精確定義了的需求而沒有滿足這些隱含的需求, 軟件質量也不能保證。二、影響軟件質量的因素1影響軟件質量的主要因素2軟件質量討論評價應遵守的原則三、軟件質量保證策略為了在軟件開發過程中保證軟件的質量,主要采取下述措施:1審查2復查和管理復審3測試四、軟件質量保證活動1驗證與確認2開發時期的

2、配置管理五、軟件評審通常,把質量定義為用戶的滿意程度。為使得用戶滿意,有兩個必要條件:(1)設計的規格說明要符合用戶的要求;(2)程序要按照設計規格說明所規定的情況正確執行。設計質量的評審內容程序質量的評審內容1軟件的結構2與運行環境的接口六、軟件質量保證的標準1 ISO 質量保證模型2 ISO 9001 標準七、結構化的軟件測試軟件測試在程序員對每一個模塊的編碼之后先做程序測試,再做單元測試,然后再進行集成(綜合或組裝)測試,系統 測試,驗收(確認)測試,平行測試,人工測試,其中單元測試的一部分己在編碼階段就開始了,測試橫跨開發與測試兩個 階段,又有不同的人員參加,測試工作本身是復雜的。據統

3、計測試工作量要占軟件開發總成本的 40到 50以上。測試的目的是確保軟件的質量,盡量找出軟件錯誤并加以糾正,而不是證明軟件沒有錯。測試的范圍是整個軟件的生存周期,而不限于程序編碼階段。軟件測試的概念和原則1、測試的概念(1)軟件測試軟件測試是對軟件計劃、軟件設計、軟件編碼進行查錯和糾錯的活動(包括代碼執行活動與人工活動)。(2)程序測試程序測試是早已流行的概念。 它是對編碼階段的語法錯、語義錯、 運行錯進行查找的編碼執行活動。 找出編碼中錯誤的 代碼執行活動稱程序測試。 糾正編碼中的錯誤的執行活動稱程序調試。 通過查找編碼錯與糾正編碼錯來保證算法的正確實現。(3)軟件確認與程序確認軟件確認是廣

4、義上的軟件測試, 它是企圖證明程序軟件在給定的外部環境中的邏輯正確性的一系列活動和過程, 指需求 說明書的確認,程序的確認。程序確認又分成靜態確認與動態確認。靜態確認包括,正確性證明,人工分析,靜態分析。動 態分析包括動態確認與動態測試。 靜態分析是不執行程序本身, 分析程序正文可能導致錯誤的異常情況。 可以人工的進行分析, 也可以用測試工具靜態 分析程序來進行,被測試程序的正文做為輸入,經靜態分析程序分析得出分析結果。靜態分析包括結構檢查,流圖分析,符號執行 動態分析是執行被測程序, 從執行結果分析程序可能出現的錯誤。 可以人工設計程序測試用例, 也可以由測試工具動 態分析程序來做檢測與分析

5、。動態測試包括功能測試和結構測試。動態測試的內容包括:單元測試,也稱邏輯測試,模塊測 試,功能測試。組裝測試也稱集成測試,綜合測試,或結構測試,子系統測試。系統測試是軟硬件或子系統的組裝測試。4)各種軟件錯誤的出現比例占整個軟件錯誤27,是需求分析設計不完整而引起的。占整個軟件錯誤16,是總體設計錯誤而引起的。占整個軟件錯誤10,由編碼錯誤引起的。占整個軟件錯誤4,程序員編碼錯誤引起的。占整個軟件錯誤16,由文檔錯和硬件錯所引起的。功能錯,系統錯,數據錯,編碼錯,其它錯,2、測試過程3、測試的原則測試的原則如下:(1)測試前要認定被測試軟件有錯,不要認為軟件設有錯。(2)要預先確定被測試軟件的

6、測試結果。(3)要盡量避免測試自己編寫的程序。(4)測試要兼顧合理輸入與不合理輸入數據。(5)測試要以軟件需求規格說明書為標準。(6)要明確找到的新錯與已找到的舊錯成正比。(7)測試是相對的,不能窮盡所有的測試,要據人力物力安排測試,并選擇好測試用例與測試方法。(8)測試用例留作測試報告與以后的反復測試用,重新驗證糾錯的程序是否有錯。軟件測試技術1. 軟件測試的目標測試的目標:1)測試是為了發現程序中的錯誤而執行程序的過程;(2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案;(3)成功的測試是發現了至今為止尚未發現的錯誤的測試。2. 測試方法按照測試過程是否在實際應用環境中來分,有

7、靜態分析與動態測試。測試方法有分析方法(包括靜態分析法與白盒法)與非分析方法(稱黑盒法)。白盒法是通過分析程序內部的邏輯與執 行路線來設計測試用例,進行測試的方法,白盒法也稱邏輯驅動方法。黑盒法是功能驅動方法,僅根據 I/O 數據條件來設計 測試用例,而不管程序的內部結構與路徑如何。白盒法的具體設計程序測試用例的方法有:語句覆蓋、分支(判定)覆蓋、 條件覆蓋、路徑覆蓋(或條件組合覆蓋),主要目的是提高測試的覆蓋率。黑盒法的具體設計程序測試用例的方法有:等價 類劃分法,邊界值分析法,錯誤推測法,主要目的是設法以最少測試數據子集來盡可能多的測試軟件程序的錯誤。(1)靜態分析技術不執行被測軟件,可對

8、需求分析說明書、軟件設計說明書、源程序做結構檢查、流程分析、符號執行來找出軟件錯誤。(2)動態測試技術當把程序作為一個函數, 輸入的全體稱為函數的定義域, 輸出的全體稱為函數的值域, 函數則描述了輸入的定義域與輸 出值域的關系。這樣動態測試的算法有: 選取定義域中的有效值,或定義域外無效值。 對已選取值決定預期的結果。 用選取值執行程序。 觀察程序行為,記錄執行結果。 將的結果與的結果相比較,不吻合則程序有錯。動態測試既可以采用白盒法對模塊進行邏輯結構的測試, 又可以用黑盒法做功能結枸的測試, 接口的測試, 都是以執行 程序并分析執行結果來查錯的。(3)黑盒測試和白盒測試黑盒測試法黑盒測試法把

9、程序看成一個黑盒子, 完全不考慮程序的內部結構和處理過程。 黑盒測試是在程序接口進行的測試, 它只 檢查程序功能是否能按照規格說明書的規定正常使用, 程序是否能適當地接收輸入數據產生正確的輸出信息, 并且保持外部 信息的完整性。黑盒測試又稱為功能測試。白盒測試法這種方法按照白盒測試法的前提是可以把程序看成裝在一個透明的白盒子里, 也就是完全了解程序的結構和處理過程程序內部的邏輯測試程序,檢驗程序中的每條通路是否都能按預定要求正確工作,白盒測試又稱為結構測試。3. 設計測試方案(1)白盒法句覆蓋判定覆蓋 條件覆蓋 判定/條件覆蓋 條件組合覆蓋 點覆蓋 邊覆蓋 路徑覆蓋這部分是本章的重點,要求掌握

10、句覆蓋、判定覆蓋和條件覆蓋,會做題。(2)黑盒法測試的步驟軟件糾錯技術八、面向對象的軟件測試九、軟件測試計劃與測試分析報告十、軟件維護軟件維護的定義、分類、特點人們稱在軟件運行 /維護階段對軟件產品所進行的修改就是維護。1結構化維護與非結構化維護的對比2維護的代價3維護的問題軟件維護步驟及組織維護步驟需要經歷以下四個步驟。(1)分析和理解程序(2)修改程序(3)重新驗證程序(4)維護組織軟件的可維護性軟件維護的副作用逆向工程和再生工程逆向工程與再生工程是目前預防性維護采用的主要技術, 逆向工程術語源于硬件制造業, 相互競爭的公司為了了解對方 設計和制造工藝的機密, 在得不到設計和制造說明書的情況下,通過拆卸實物獲取信息, 軟件的逆項工程也

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論