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