軟件質量管理實踐總結


文章版權由作者小小小絲和博客園共有,若轉載請於明顯處標明出處:http://rpc.cnblogs.com/metaweblog/xxxs

目錄
第一章:缺陷綜述
第二章:需求開發與管理
第三章:配置與變更管理
第四章:同行評審
第五章:軟件測試
第六章:QA發現不符合問題的處理
第七章:軟件度量
第八章:缺陷管理 

第一章:缺陷綜述

1. 軟件缺陷的定義:軟件產品在某種程度上不能滿足用戶的需求
2. 軟件缺陷的生命周期:從一個軟件缺陷被發現、報告到這個缺陷被修復、驗證,最后關閉的過程

3. 缺陷產生的原因: 原因很多,例如重技術不重管理、項目監控和計划做得不夠好、不扎實等等
4. 缺陷是誰產生的: 任何人都有可能產生缺陷
5. 缺陷發現的手段: 同行評審、測試、管理評審、 QA發現、項目組內部發現、客戶反饋

第二章:需求開發與管理
1. 需求的概念和層次
① 概念:需求就是以一種清晰、簡潔、一致且無二性的方式,對待開發的各個有意義方面的陳述的集合
② 層次:從應用角度看軟件需求
  A. 業務需求:反映組織機構/客戶對系統產品高層次的目標要求
  B. 用戶需求:用戶使用產品必須完成的任務
  C. 功能需求:開發人員實現軟件功能,使得用戶能夠完成的任務,從而滿足業務需求

2. 需求管理:控制和維持需求的約定;需求追蹤是雙向的,正向由PM主導,其他人輔助,逆向由測試主導


3. 需求驗證:評審為主,一般參與人員為各個技術的專家


第三章:配置與變更管理
1. 概念:一門用來記錄並且控制軟件產品數據的管理學科,是對各類工作產品的內容、版本、變更和發布進行控制
① 忽視軟件配置管理會導致如下現象:
  A. 已經排除的bug,反復出現
  B. 找不到最新修改的源代碼
  C. 找不到原來的編程人員
  D. 發行的版本錯誤
  E. 軟件正常安裝后不能工作
  F. 異地不能正常工作

2. 配置控制委員會CCB:一般項目經理會根據配置控制委員會的建議和批准管理各項活動並且控制它們的進程,一般組成人員:高層經理、項目經理、關鍵的RD、關鍵的QAPPQA代表、 CM代表、 PMCCB的組長不能是項目經理

3. 配置項:一般包含:計算機程序、開發者和用戶的文檔、數據等,每一個配置項需表明:作者、時間、原因、當前狀態、版本號

4. 配置管理活動:
① 內容
  A. 制定配置管理計划
  B. 建立三庫(開發庫、受控庫、發行庫)
  C. 確定配置標識規則
  D. 進行版本管理和發行管理
  E. 實施變更控制
  F. 進行配置審計
  G. 報告配置狀態

5. 變更管理活動
① 發生在開發過程的所有階段,從需求分析到產品開發再到維護
② 變更追蹤:處理變更及新增功能提交、評估、實施、驗證與完成的流程
③ 實施變更管理重要的作用就是對變更進行度量分析
④ 變更申請流程:涉及的變更范圍寫明,通知項目經理——同意后,項目經理填寫變更申請單
提交給CCB審批,告知CM(客戶經理)


第四章:同行評審
1. 同行評審與測試的關系:開發階段,專家對代碼的一個評審,提高代碼質量,減少測試成本,這樣能夠加深開發人員對工作的理解,預防bug,也避免在測試階段大量返工


2. 同行評審的種類:正式評審、技術審查、走查


3. 同行評審的對象:產品需求規格書、用戶界面規范與設計、設計模型、源代碼、測試計划、設計、用例及步驟、項目計划


4. 正式評審的流程:預備會議-審查-評審會-書寫評審報告-返工-跟蹤


第五章:軟件測試
1. 軟件測試的基本問題:軟件測試的概念、對象、目的、原則、方法等
① 軟件測試的概念:廣義指驗證和確認、狹義指檢查代碼和文檔的質量問題
② 軟件測試的對象:程序代碼、開發階段需求文檔
③ 軟件測試的目的:
  A. 從用戶角度看:發現隱藏的錯誤和缺陷
  B. 從開發者的角度看:驗證軟件實現了所有用戶的要求
  C. 從測試的角度看:一是發現錯誤、二是通過錯誤來改進軟件開發過程中存在的缺陷
④ 軟件測試原則:
  A. 程序修改,需要回歸測試
  B. 寫測試用例和執行case的人應該分開………..
⑤ 測試可以發現的缺陷:
  A. 通過調試過程開發人員可以進行缺陷自測
  B. 通過單元測試可以發現代碼中的缺陷
  C. 通過黑河測試可以發現功能測試
  D. 理想狀態下,測試用例設計的足夠完善,可以發現全部的bug

2. 軟件測試的基本方法
① 白盒測試:一直產品內部工作過程的測試活動,通過測試檢測內部操作是否符合設計說明書的
要求
② 白盒測試時窮舉路徑測試,主要的方法:邏輯驅動、基路測試,白盒測試過程應全面了解程序
內部邏輯結構,從檢查程序入手,對所有的邏輯路徑進行測試,得出測試數據
③ 黑盒測試:功能測試

3. 測試工程師的技能:
① 需掌握測試設計的方法,相應的測試思路
② 需了解測試的不同級別、級別的差異、每個級別的重點
③ 需要掌握測試的類型,了解測試需關注的重點、區別和重疊的地方
④ 需掌握系統背景知識,業務知識

4. 軟件測試的過程:單元測試、集成測試、驗收測試

5. 軟件測試的方法:

6. 測試技術專題:
① 測試策略:先按標准步驟來測試,然后進行邊界和破壞性的檢查。測試原則:盡早測試、經常測試、充分測試開發人員要建立質量的意識
② 手工/自動測試的時機:
  自動化測試的時機:項目沒有時間壓力、被測系統是可以自動化測試的、擁有運行測試的硬件
  手工測試的時機:與上相反

測試用例復審:測試用例應該具有重復使用性
何時終止測試:不允許存在ABCbugD不超過50%E允許存在(系統測試)
Web性能測試:驗證軟件系統是否能夠達到用戶提出的性能指標
內存泄漏測試:解決思路,安排有經驗的編程人員進行代碼走查和分析,或者利用專門的測
試工具進行分析
測試風險的管理:需求理解、測試用例覆蓋、需求變更、測試環境等等
代碼移交過程測試
處理不可重復出現的bug:版本信息、環境、人、測試工具、

7. 測試的度量:搜集相關的規模、工作量、進度、成本、質量等數據和信息
① 客戶反饋的缺陷:提現測試的質量
② 模塊缺陷密度
③ 遺留缺陷數
④ 測試用例的有效性


第六章:QA發現的不符合問題的處理
1. QA的擔當的角色:老師(指導項目)、警察(評價開發的過程)、醫生(幫助項目組想辦法解決問題)


2. QA的職責要求:
① 具備一定的知識和技能(有開發經驗)
② 公平公正的素質
③ 自信,較強大的溝通能力

3. QA特別關注的問題
① 項目計划制定不合理
② 維護需求的可追蹤性和一致性容易出問題
③ 配置管理容易出問題

4. QA的誤解:
① 認為QA應該負責產品質量,產品質量應該是由每一個人負責
② 認為QA就是編寫文檔和干零雜的人(開發經驗、管理經驗、項目管理知識、公平公正的素質、較強的溝通能力)
③ 認為QA只會站在組外品頭論足、挑毛病
④ 認為QA就是關心開發過程是否規范,不關心產品質量、不關心技術

5. QA工作的度量
① 投入的工作量占項目總體工作量的比例:QA工作量和配合管理工作量應該占總項目的5%以內
QA發現的不符合問題數量:一個項目發現的bug量太少,得思考代碼質量太好還是QA得能力問題,解決方法:安排另一名QA介入,查看結果,一般QA發現的bug=開發人數,例如80-100人一月,則應發現80-100bug
③ 總結並提供經驗數量


第七章:軟件度量
1. 軟件度量的目的:理解、評價、控制、預測、改進
2. 軟件度量應遵循的方針:
① 根據信息需要和目標檢測測量目標並予以維護
② 軟件度量的方法只是達到目的的手段,而其本身並不是目的
③ 以應用度量結果為中心,並非為了收集數據而手機數據
④ 規定度量元
⑤ 說明如何獲得度量數據,讓開發參與其中
⑥ 規定如何對度量數據進行分析和報告
⑦ 提供度量結果
⑧ 將特定情境中的過程行為相關知識存儲到經驗數據庫中

3. 度量活動:首先確定度量活動的首要目標,度量內容必須由公司的高管層決策、參與與支持
① 度量目標:使用GQM方法,每一個項目都有一系列的目標、每一個目標都有一系列問題、每一個問題都應該有完整、可以量化的滿意答案
② 度量元:軟件度量的內容(對產品濟寧度量時,需要關注的信息對象基本屬性的描述)
③ 度量模型:指關於要度量哪些度量元的需求規格說明,例如:是為了了解發現產品當前的質量情況、是為了了解組織過程的能力等等
④ 基本過程:度量承諾、度量計划、度量實施、度量評估、度量改善、
⑤ 度量方法與采集:GOM、采集數據的人要統一模式、誰負責統計什么一定要明確,適當的時候可以進行自動化的支持來完成數據的精准

4. 資源模型

5. 數據質量:數據的真實性、數據的同步性、數據的有效性、數據的一致性


6. 軟件度量相關問題
① 增加度量正確性的措施
② 軟件過程的性能
③ 度量過程常見的問題:度量過多/少、缺少管理承諾、缺乏度量數據的一致解釋和理解、缺乏度量發面的靈活性、缺乏明確的責任人等等

7. 缺陷度量
① 什么是缺陷度量:對項目過程中產生的缺陷數據進行采集和量化,將分散的缺陷數據統一管理,使其有序而清晰,然后通過采用一系列數學函數,對數據進行處理,分析缺陷密度和趨勢等信息,從而提高產品質量和改進開發過
程。
② 一般來說,在軟件質量保證過程中,需要度量的缺陷數據包括6大類缺陷發現手段發現的所有缺陷。如測試相關的缺陷,需要度量包括測試投入的工作量和成本數據、測試任務完成情況、測試規模數據、測試結果數據(包括缺陷
數據、覆蓋率數據)等。

8. 缺陷度量
① 缺陷度量元:例如每個模塊的各類缺陷數目、缺陷種類等等
② 缺陷密度=已知缺陷數量/產品規模
③ 缺陷密度的用途:用於設定產品質量目標對軟件的質量進行跟蹤和管理

9. 缺陷分析
① 缺陷種類分析
② 缺陷根源分析
③ 缺陷注入-發現矩陣
④ 收斂趨勢分析:前提是研發過程穩定、其質量表現大體一致
⑤ 回歸分析:實在掌握大量觀察數據的基礎上進行分析
⑥ 缺陷排除分析
ODC(正交缺陷分類)缺陷分析:適用場景,需要分析開發者和測試人員相關、與開發階段相關、與顧客滿意程度相關的產品質量的玩不屬性


第八章:缺陷管理
1. 缺陷管理的目標
① 發現的每一個bug都能被解決
② 解決不一定是修正
③ 收集缺陷數據,數據分析


2. 缺陷管理的理念:保證進度、質量的理念、堅持流程、分析的理念、使用工具的理念

3. 缺陷管理的等級

4. 質量控制工具—— 統計技術
① “舊7種工具”:檢查表、分層法、直方圖、散點圖、排列圖、因果圖、控制

② “新7種工具”:關聯圖、系統圖、 KJ發、矩陣圖、分析法、 PDPC法、矢線



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM