如何減少返工工作量?
提高軟件開發效率的最有效手段就是一次做對,一次做好,不返工,追求交付零缺陷的目標。“對”就是沒有錯誤,符合需求,“好”就是沒有壞味道,易于修改。“做對”保證了產品的外部質量,“做好”保證了產品的內部質量,這樣就可以減少軟件缺陷、需求變更帶來的返工。返工可能發生在生命周期的早期,也可能發生在后期,或者是交付以后,缺陷越早發現,越早解決,返工的工作量越少。有哪些手段可以保證不犯錯,少犯錯,及時糾錯呢?
1、需求階段
需求調研:
要訪談客戶、最終用戶與間接用戶;
要訪談高層、中層與底層的用戶;
要準備好問題單;
采用原型法啟發客戶需求;
需求描述:
用戶故事描述用戶需求;
采用用例法描述功能需求;
當用戶無法提出非功能性需求時,定義定義非功能性需求的缺省值;
需求確認:
采用多種方法確認需求;
采用需求交底、逆向培訓、現場客戶等方法確保需求溝通的一致性;
建立需求溝通的平臺,確保需求的溝通能傳遞到每個相關人員;
在需求階段開始編寫系統測試用例,驗證需求的可測試性;
建立需求與設計、代碼、測試用例之間的跟蹤關系;
用戶、開發、測試人員參與需求的評審;
需求變更:
基于RTM進行需求變更的影響分析;
需求的變更要通知到相關人員;
對于需求的變更采用結對修改的方法;
人員:
對需求人員進行需求工程的專題培訓,要求需求人員掌握需求工程的基本知識,具備基本的技能。
2、設計階段
需求理解:
和需求人員對需求的理解達成一致;
對需求的拆分、細化,功能的設計要得到需求人員的認可;
設計:
要建立設計到需求的跟蹤矩陣,確保設計的完備性;
采用結對設計的方法確保設計的正確性;
需求、設計、開發人員對設計進行技術評審,識別設計中的缺陷;
對設計人員進行培訓、上崗資格認證,要求設計人員掌握架構設計、設計原則、設計模式、數據庫設計、界面設計的方法;
建立評價設計優劣的準則,包括類的設計、算法設計、數據庫設計、界面設計的準則;
對于非功能性需求給出缺省的解決方案;
在設計中采用設計模式提高設計的合理性;
對于界面的設計盡早進行確認;
接口測試要早設計、早實現、早測試;
3、編碼階段
和需求人員對需求的理解達成一致;
和設計人員對設計的理解達成一致;
在寫代碼之前先做了詳細設計,對詳細設計做了評審;
結對編程;
測試驅動的開發;
按照編碼規范進行編碼;
代碼的靜態檢查;
代碼評審;
持續集成;
代碼重構;
編碼人員要掌握常用的設計模式、重構的手法;
4、測試階段
測試人員參與需求評審,需求人員參與測試用例的評審;
建立測試用例與需求之間的映射關系,追求需求場景的覆蓋率;
集成測試用例覆蓋每一個接口的輸入參數的每種等價類;
定義用例編寫規范:
● 用例應覆蓋正常操作、異常操作、邊界條件
● 用例應該覆蓋客戶操作場景的各種等價類
● 每個用例應該詳細描述出輸入、操作步驟、期望的輸出
● 區分不同的專項測試制定用例編寫規范
● 堅持執行失效模式分析
定義質量目標,并努力達成質量目標:
● 每千行代碼的平均測試工作量;
● 每千行代碼測試用例的個數;
● 每千行代碼發現的缺陷個數;
在客戶各種可能的使用環境中進行測試,專人負責測試環境的維護;
針對非功能需求進行測試策略的設計;
先設計測試要點再設計測試用例;
非功能性需求要盡早測試;
先進行冒煙測試,再執行正式的測試;
定義測試結束的量化標準,定義軟件交付的最低標準;
針對共性的需求建立復用用例庫,每次測試時從中挑選用例,然后再補充完善用例;
盡可能模擬客戶的環境進行軟件的測試,應進行測試環境的組合設計。
posted on 2013-04-02 11:35 順其自然EVO 閱讀(243) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄