<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 6, comments - 6, trackbacks - 0, articles - 14

    微軟Bug管理

    Posted on 2005-02-17 11:22 zhoulch's blog 閱讀(180) 評論(0)  編輯  收藏 所屬分類: 軟件管理

    微軟Bug管理

    來自:微軟   蔡锫

    一.團隊組織

    1.常見問題

    • 沒有人愿意做測試
    • 覺得養不起那么多測試人員
    • 開發人員不遵循規范,隨心所欲
    • 項目經理事必躬親,分身乏術

    2.微軟團隊模型

    各角色的職責

    角色 職責
    項目經理 編寫功能規范,協調各角色關系
    產品經理 客戶聯系的橋梁,進行需求分析
    用戶教育 讓產品容易使用
    發布經理 保證產品順利發布

    二.項目管理

    1.常見問題

    • 無法決定項目所需的資源(人力和預算)
    • 無法決定項目的進度表
    • 無法控制外包項目的進度和質量

    2.微軟項目管理-- 多里程碑式流程

    • 每個里程碑完成部分功能
    • 便于團隊集中力量完成一個又一個功能
    • 提供多個機會以適應需求的更改

    如何完成一個里程碑

    • 步驟一: 達成共識
    • 基本完成需求調研和分析 (產品經理負責)
    • 確定大方向和長中短期目標
    • 所有角色都參與討論并真正認同結論
    • 產生的文檔:
      • 常見用戶情景:覆蓋80%以上功能
      • Vision:言簡意賅地說明大方向,并有激勵團隊的作用
    • 步驟二: 完成項目計劃
      • 編寫詳細的功能規范(項目經理負責)
      • 在編程前想清楚所有功能流程,并引導用戶明確需求
      • 所有角色都參與審閱功能規范
      • 制訂開發計劃和進度表(開發團隊)
      • 制訂測試計劃和進度表(測試團隊)
      • 分配資源(人力和預算)
      • 形成項目綜合計劃和綜合進度表
      • 產生的文檔:
        功能規范,開發計劃,測試計劃(用例),項目綜合計劃
        開發進度表,測試進度表,綜合進度表
    • 步驟三: 完成功能
    • 開發人員分別完成自己的功能
    • 使用版本控制工具
    • 使程序員及時check out和check in,避免積累大量代碼
    • 及時進行模塊間的整合,及時發現問題(daily build)
    • 對每一項可測試的功能進行測試,無需等待
    • 使用測試用例工具,對功能進行完整和重復的檢驗
    • 使用BMS進行缺陷跟蹤
    • 記錄所有程序問題
    • 實現解決Bug的自動流程
    • 按照綜合進度表不斷檢查進度
       
    • 使用的工具:
      • 版本控制工具 VSS
      • 缺陷跟蹤工具 Raid/BMS
      • 測試用例管理工具
    • 步驟四: 穩定與發布
    • 測試組全面地測試功能,包括性能和穩定性
    • 開發組全力配合解決Bug
    • 使用BMS進行
      • 監測質量情況
      • 預測發布日期
    • 專家會診機制:
      • 決定Bug的優先度
      • 決定哪些Bug可以等到下個里程碑或版本中解決
      • 決定由誰解決某個Bug
         
    • 使用的工具:
      • 版本控制工具 VSS
      • 缺陷跟蹤工具 BMS
      • 測試用例管理工具

    三. 微軟的開發管理經驗:100%以Bug為核心

    1.Bug 及常見類型

    • 功能未實現,和規格說明書不一致
    • 不能工作:死機,沒反應
    • 不兼容
    • 邊界條件
    • 界面、消息、提示不夠準確,不友好
    • 把尚未完成的工作也作為一個Bug
    • 文檔與幫助信息中的缺陷也是Bug

    2.RAID/BMS的基本功能

    • 完整的Bug數據庫
    • 整個產品組的中央記錄和控制
    • 強大的查詢功能,有效地跟蹤項目的狀態
    • 所有的記錄無法刪除,對于每個記錄只能一直添加內容
    • 豐富的報表功能,為產品發布提供判斷標準

    3.Bug 記錄中的有效信息
    • 狀態
    • 負責人
    • 問題種類
    • 嚴重級
    • 優先級
    • 修改時間
    • 登記時間
    • 缺陷來源
    • 解決方案
    • 運行環境
    • 缺陷關聯
    • 附件
    • 附圖
    • 缺陷細節

    4.Bug 的嚴重程度

    1. 死機,數據丟失,主要功能組完全喪失,系統懸掛
    2. 主要功能喪失,導致嚴重的問題,或致命的錯誤聲明
    3. 次要功能喪失, 不太嚴重,如提示信息不太準確
    4. 微小的問題,對功能幾乎沒有影響,產品及屬性仍可使用. 如有個錯別字

    5.激活的Bug數量的趨勢

    • 代碼完成前:很少
    • 代碼完成后:增長很快
    • 接近Beta: 下降
    • 接近RC: 奔向零
    • 產品質量和里程碑的信號
    • 每天新建的Bug 與 修正的 Bug 相比較
    • Active 狀態 Bug 的總數

    四.微軟的一天

    1. 讓我們看看項目中每個角色的一天是如何度過的

    • 開發
    • 測試
    • 項目經理

    注:里程碑的每個階段每個角色的工作有不同側重點,我們以“完成功能”階段為例


    微軟的一天從幾點開始?

    答案:半夜

    為什么?

    因為Daily Build是所有工作的核心,而且是在半夜自動啟動。

    每日構造Daily Build

    • 你知道自己所用Windows的版本號嗎?
    • Daily Build的意義:
      • 模塊得以及時整合
      • 要求程序員及時把最新代碼放入代碼庫
    • 用腳本語言和編譯/鏈接工具實現
    • BVT Build Verification Test
      • 對Build進行驗證
    • Blocking Bug
      • 讓Build無法完成的問題
      • BVT中發現的問題

    2.程序員每天上班前最擔心什么?

    答案:因為自己昨天的代碼check-in,造成Blocking Bug.

    為什么?

    因為每天的Build是所有人當天工作的基礎:
    程序員需要Build驗證與其他模塊的接口
    測試需要Build發現新Bug,并驗證新Build中已解決的Bug

    有Blocking Bug怎么辦?

    解決問題,并對今天的Build打Patch。

    開發人員的正事

    經歷對Build的提心吊膽和爭分奪秒之后,第一件事做什么
    答案:打開缺陷跟蹤工具,查看指定給自己的Bug,解決高優先度的Bug。因為質量重于新功能。

    接下來,開發人員會…

    從版本控制工具中Check out代碼
    修改代碼(解決Bug或實現新功能)
    取得版本工具中最新變化,在本機Build和單元測試
    請開發組同事作Code Review
    Check in代碼



    3.測試人員第一件事做什么?

    答案:打開Raid/BMS,查看指定給自己的Bug,驗證已解決的Bug。

    接下來,測試人員會…

    • 根據測試用例檢驗今天的Build
    • 在Raid/BMS中記錄新發現的Bug

    4.專家會診

    • 參加者:項目經理和開發組長、測試組長
    • 通過Raid/BMS評估每個未解決的Bug
      • 決定Bug優先度
      • 可否等到下個里程碑或版本解決?
      • 誰來解決
    • 預測項目實際進度和發布時間

    缺陷走勢圖

    5.回顧微軟的一天

    • 構造: daily build
    • 開發: 解決blocking bugs, 實現功能, check-out, code review, check-in
    • 測試: BVT, 使用測試用例進行測試
    • 項目經理/組長: 專家會診

    6.微軟的做法解決了那些常見問題?

    質量問題

    • 以前解決過的問題發布時又出現了,需要返工
    • 無法預估發布時間 過早發布,帶來質量和維護問題
    • 測試發現的問題被忘卻或不了了之
    • 無法衡量測試員和開發員的工作
    • 程序中的問題往往在發布后才發現

    文檔管理問題

    • 文檔與程序脫節,文檔成為程序結果的描述
    • 項目組把寫文檔看成負擔

    團隊協調問題

    • 開發人員各自為戰,進行整合時發現模塊銜接中的嚴重問題 需要作大的改動
    • 沒有保管好公司以往的版本和代碼,無法滿足用戶對舊版本的更改要求
    • 開發人員離職對項目帶來很大沖擊,沒有人知道代碼在哪,或無法讀懂

    五.提高軟件管理的步驟

    1. 使用Raid/BMS,將流程管理自動化
    2. 使用測試用例管理工具
    3. 使用文檔管理工具
    4. 使用版本控制工具,進行Daily Build
    5. 建立代碼標準
    6. 建立Code Review機制
    7. 建立專家會診機制
    8. 建立團隊溝通機制
    9. 根據需要調整團隊結構


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费播放一区二区三区| a级毛片毛片免费观看久潮喷| 女人18毛片水真多免费看| 亚洲成av人无码亚洲成av人| 国产AⅤ无码专区亚洲AV| 最近免费中文字幕大全高清大全1| 亚洲中文字幕无码中文| 国产成A人亚洲精V品无码性色| 97人妻无码一区二区精品免费| 污网站在线免费观看| 亚洲第一中文字幕| 日本免费人成视频播放| 久久午夜夜伦鲁鲁片免费无码 | 99视频在线免费| 色欲色香天天天综合网站免费| 极品色天使在线婷婷天堂亚洲 | 国产精品成人免费一区二区| 99久久免费国产特黄| 中文字幕日本人妻久久久免费| 香蕉视频在线观看免费| 亚洲日韩久久综合中文字幕| 91亚洲国产在人线播放午夜| 久久激情亚洲精品无码?V| 成人免费视频试看120秒| 91免费国产自产地址入| 国产免费福利体检区久久| 亚洲6080yy久久无码产自国产| 亚洲一区二区三区免费在线观看 | 91网站免费观看| 成人性生活免费视频| 国产人妖ts在线观看免费视频| 99re免费视频| 毛片免费视频在线观看| 国产三级电影免费观看| 亚洲欧洲日产国码av系列天堂 | 中文字幕视频免费| 好爽…又高潮了毛片免费看| 免费jjzz在在线播放国产| 免费看片A级毛片免费看| 香蕉97超级碰碰碰免费公| 美女内射无套日韩免费播放 |